【技术实现步骤摘要】
面向片上堆叠内存的异构内存管理系统及方法
[0001]本专利技术涉及计算机体系结构的
,具体地,涉及面向片上堆叠内存的异构内存管理系统及方法。
技术介绍
[0002]芯片堆叠或片上内存的出现在一定程度上弥补了CPU与内存间的性能差距大的问题(“内存墙”问题)。内存带宽和延迟的优化能为内存密集型应用带来很大程度的性能提升。
[0003]3D堆叠技术可用于提升内存带宽。特别地,可将3D堆叠DRAM和处理器封装在同一个Package内,能够更显著地提升内存带宽。这种“近”内存通常容量有限,需要使用更大的“远”内存,如带宽更低的片外DRAM,作为补充。如何最好地利用所述近内存的高带宽和远内存的大容量从而得到最优的系统性能,仍是一个待深入研究的问题。目前有两种主要的解决方案,即使用片上堆叠DRAM和片外DRAM作为混合的统一编址内存的系统,同时支持两种介质间的数据迁移,称为PoM模式;或是将片外DRAM作为主存,将芯片堆叠DRAM作为DRAM Cache使用。
[0004]通常来说,DRAM Cache方式仅将数据从远内存加载至近内存;作为对比,PoM模式在两种内存之间进行数据交换。因而两种方式之间有如下区别。首先,Cache方式从内存系统中移出了近内存的容量,而PoM模式中近内存的容量是统一地址空间中的一部分;这可能会对内存占用敏感应用有较大影响。第二,数据交换导致两倍的拷贝开销;为了降低开销,PoM模式仅迁移未来重用可能性大的数据。相应地,PoM需要考察时间维度上的数据访问模式,预测通过迁移至近内存能 ...
【技术保护点】
【技术特征摘要】
1.一种面向片上堆叠内存的异构内存管理系统,其特征在于,包括:模块M1:元数据管理模块追踪记录迁移的内存数据页\块并能够根据请求地址返回中继地址;模块M2:控制逻辑模块统计分析访存请求并预测热页,决定何时触发数据迁移;模块M3:数据驱动模块确定待传输的数据,执行数据的迁移或交换;所述元数据管理模块、控制逻辑模块和数据驱动模块集成在异构内存控制器中。2.根据权利要求1所述的面向片上堆叠内存的异构内存管理系统,其特征在于,所述模块M1包括如下模块:模块M1.1:分页重映射表存储与数据缓存和交换相关的地址信息,记录片上堆叠内存页的模式和系统内页的分配情况;模块M1.2:标签阵列Tag Array记录片上堆叠内存在DRAM Cache模式下的缓存信息。3.根据权利要求2所述的面向片上堆叠内存的异构内存管理系统,其特征在于,所述模块M1.1包括如下模块:模块M1.1.1:重映射标签位组Remapping tag
‑
bits分页重映射表的tag
‑
bits对于一个页映射组中的页唯一,存储页从DRAM迁移至PoM的地址变化,识别在任意时刻一个页映射到堆叠DRAM或是片外DRAM;模块M1.1.2:分配位向量Alloc Bit Vector,ABV记录异构内存系统的页是否被分配;对于每个页映射组,ABV指示对应的页当前是否已经被操作系统分配,如果一个页已被分配,ABV中相应的比特位设置为1,否则位设置为0,即表示页空闲;模块M1.1.3:模式位Mode Bit指示一个页映射组当前的处理模式,即记录片上堆叠内存页是作为DRAM Cache还是PoM使用;模式位设置为0时,页映射组处于部分内存PoM模式,设置为1时处于DRAM Cache模式。4.根据权利要求2所述的面向片上堆叠内存的异构内存管理系统,其特征在于,所述模块M1.2包括如下模块:模块M1.2.1:有效位向量Valid Bit Vector,VBV指明一个Cache Line是否包含有效信息,即堆叠DRAM页中的块是否被占用;模块M1.2.2:脏位向量Dirty Bit Vector,DBV,DBV中的每个比特位指示当前堆叠DRAM页中的一个Cache Line是否是脏的,如果为脏置为1;因而,DBV指明当发生堆叠DRAM页\块逐出时,页\块中的数据是否需要写回;模块M1.2.3:缓存标签位组Caching tag
‑
bits对堆叠DRAM页中的每个Cache Line设置tag
‑
bits,记录该Cache Line缓存映射到片外DRAM的页号和块号。5.根据权利要求1所述的面向片上堆叠内存的异构内存管理系统,其特征在于,所述模块M2包括如下模块:模块M2.1:活动追踪单元包含用于统计内存请求的结构,由不同页映射组中的计数器构成,监控映射组中页的热度,作为将最频繁访问的片外DRAM页与相对应的芯片堆叠DRAM页交换的依据;模块M2.2:迁移触发单元决定数据迁移是否发生,使用基于时间间隔和基于阈值方式结合的触发机制,在固定的时间间隔内检查是否满足预先设定的阈值标准。6.一种面向片上堆叠内存的异构内存管理方法,其特征在于,所述方法应用如权利要
求1
‑
5任一项所述的面向片上堆叠内存的异构内存管理系统,所述方法包括如下步骤:步骤S1:收到访存请求时,访问元数据,处理和转发访存请求;步骤S2:在异构内存系统中分配数据页;步骤S3:在异构内存系统中释放数据页;步骤S4:确认和执行数据迁移操作。7.根据权利要求6所述的面向片上堆叠内存的异构内存管理方法,其特征在于,所述步骤S1包括如下步骤:步...
【专利技术属性】
技术研发人员:陈纬栋,黄林鹏,郑圣安,花一帆,尹吉,
申请(专利权)人:上海交通大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。