减少DRAMCache缺失访问的方法、装置和系统的制作方法

文档序号:9524149阅读:549来源:国知局
减少DRAM Cache缺失访问的方法、装置和系统的制作方法
【技术领域】
[0001]本发明涉及计算机存储技术领域,尤其涉及一种减少DRAM Cache缺失访问的方法、装置和系统。
【背景技术】
[0002]随着3D堆叠(3D_stacked)技术的发展,使传统的动态随机存取存储器(DynamicRandom Access Memory,缩写:DRAM)可以被集成到处理器中。最有前景的应用是将DRAM作为高速缓冲存储器(Cache),置于静态随机存储器(Static Random Access Memory,缩写SRAM)缓存Cache和内存(Core)之间,如图1所示,图1为存储层次结构示意图。和SRAM相比,DRAM Cache可以提供更大的存储容量和带宽,从而提高系统性能。由于DRAM Cache的访存延迟比片外内存的访存延迟小,所以在DRAM Cache命中时可以减少访存延迟,但在DRAM Cache缺失时却比没有DRAM Cache的系统访问延迟要长。因此,减少对DRAM Cache缺失时的访问可以提高系统性能,同时也可以降低系统能耗。
[0003]Cache存储两种信息,标志位(tag)和数据,在传统的基于SRAM的Cache中,tag和数据存储在两个不同结构的阵列中,在DRAM Cache中,也有将tag放在基于SRAM的阵列中,如图2a所示,如果DRAM的一行大小为2KB,则可以存放32个大小为64B的数据块,与这32个数据块对应的32个tags存储在SRAM中,该结构对于500MB的DRAM Cache需要48MB的SRAM存放tag,这是不切实际的。所以最近的研究提出将tag和数据一起存储在DRAM中,如图2b所示,将DRAM行中的3个块用于存放29个tags,剩下的存放29个数据块。该方法虽然解决了大容量SRAM tag结构问题,但同时又带来了两个新问题:首先,该方法增加了对DRAM Cache的访问延时,在DRAM Cache命中时,需要对DRAM Cache进行两次访问,一次是读出tag,一次是读出数据;其次,与没有DRAM Cache结构的系统相比,在DRAM Cache缺失时多一次读tag的访问,增加了总的访存延时。
[0004]传统Cache的访问模式是串行的访问模式(Serial Access Model,缩写:SAM),如图3a所示,图3a是Cache的SAM访问模式,图3a中,Cache的访问和内存的访问是串行的,该模式下,先访问Cache,如果Cache缺失再访问内存。图3b是另一种Cache访问模式,即Cache的并行访问模式(Parallel Access Model,缩写:PAM),在该模式下,Cache的访问和内存访问是并行进行的,但Cache比内存的优先级高,在PAM模式下,无论Cache是否命中都会对内存进行访问。
[0005]为了减少缺失情况下对DRAM Cache的访问,在图2b结构的基础上,现有技术一提出了一个硬件数据结构MissMap,如图4所示,图4为MissMap结构示意图,在图4中,每个MissMap的条目由两部分组成,用于存储物理页号的标志位(Page tag)和用于记录当前页中的Cache块是否存在的位向量(Bit vector)。为了准确的跟踪DRAM Cache的内容,MissMap中存储了所有DRAM Cache物理页号以及物理页中对应的Cache块信息,当每次有新的Cache块插入DRAM Cache时,MissMap中与该Cache块对应的物理页的相应bit位会被置位;相反地,当每次有Cache块从DRAM Cache被替换出去时,MissMap中对应的物理页的相应bit位被复位,这样MissMap就可以保持与当前DRAM Cache的内容一致的记录。处理器可以通过查找MissMap中一个Cache块对应的bit位数值来判断该Cache块是否在DRAM Cache中,如果要访问的Cache块在MissMap中对应的bit位为0,说明此Cache块不在DRAM Cache中,那么直接发起对内存的访问,而无需对DRAM Cache进行访问。MissMap结构可以使处理器在不访问DRAM Cache的情况下就可以正确判断出对DRAM Cache的访问是缺失还是命中。
[0006]MissMap结构虽然可以使处理器在不访问DRAM Cache的情况下就可以正确判断出对DRAM Cache的访问是缺失还是命中,但该方法的缺点是面积开销太大。MissMap结构类似于一个Cache结构,为了准确的跟踪DRAM Cache的内容,MissMap要存储DRAM Cache中所有的物理页信息,比如,对于一个500MB的DRAM Cache需要一个2MB的MissMap。
[0007]PAM模式与SAM模式相比,优点是减少了 Cache缺失时对Cache进行访问的延迟,但PAM模式无论Cache是否命中都对内存进行访问增加了带宽。因此,现有技术二提出了动态访存模式(Dynamic Access Model,缩写:DAM),如图5所不,DAM将SAM和PAM两种模式相结合,利用SAM模式降低带宽,利用PAM模式减少延迟。该技术提出了一个3bit的饱和计数器作为访存预测器,根据预测结果来对两种模式进行动态选择。该计数器对二级缓存(L2Cache)缺失时是引起一个内存访问还是一个DRAM Cache命中进行记录,如果命中就减一,如果缺失就加一。当计数器的最高位(Most Significant Bit,缩写:MSB)为1时,L2Cache缺失时采用PAM模式;如果MSB为0,L2Cache缺失时采用SAM模式。
[0008]现有技术二采用基于历史的全局预测,通过加入一个饱和计数器来对DRAM Cache最近的访问进行计数,通过计数结果对接下来的DRAM Cache访问进行预测,但是仅仅通过一个全局计数器进行预测,预测准确度比较低。如果将DRAM Cache命中预测为缺失,则采用PAM模式,对性能影响不大,但如果误将DRAM Cache缺失预测为命中,则增加了 DRAM Cache缺失时对DRAM Cache进行访问的延时,降低了系统性能。
[0009]因此,现有技术中,在进行DRAM Cache缺失访问时,存在着面积开销太大,预测准确度比较低的问题。

【发明内容】

[0010]本发明的目的是解决进行DRAM Cache缺失访问时,存在着面积开销太大,预测准确度比较低的问题。
[0011]第一方面,本发明实施例提供了一种DRAM Cache缺失访问的方法,所述方法包括:
[0012]MissMap接收全局预测结果为DRAM Cache命中时,处理器发出的请求信息,其中,所述请求信息包括L2Cache缺失的访问地址对应的物理页和Cache块信息,所述Cache块信息指向Cache块;
[0013]所述MissMap查询所述物理页与本地预存的物理页是否相等,当所述物理页与预存的物理页相等时,查询所述Cache块对应的位向量中的状态,并根据所述Cache块对应的位向量中的状态,对所述请求信息进行处理,其中,所述预存的物理页为最近最常访问的物理页。
[0014]优选地,所述方法之前还包括:
[0015]饱和计数器对处理器发出的请求信息进行判断,当所述请求信息的类型为L2Cache缺失引起的内存访问时,所述饱和计数器加1,当所述请求信息的类型为L2Cache缺失引起的DRAM Cache命中时,所述饱和计数器减1,当所述饱和计数器的MSB为1时,所述处理器采用PAM模式对内存进行访问。
[0016]优选地,以比特表示所述位向量中的状态,所述根据所述Cache块对应的位向量中的状态,对所述请求信息进行处理具体包括:
[0017]如果所述MissMap查询到所述Cache块对应的比特位为1,则判定所述Cache块在所述DRAM Cache中,所述处理器采用SAM模式对DRAM Cache进行访问;或者
[0018]如果所述MissMap查询到所述Cache块对应的比特位为0,则判定所述Cache块不在所述DRAM Cache中,所述处理器采用PAM模式对DRAM Cache进行访问,其中,所述Cache块和比特位——对应。
[0019]优选地,所述MissMap利用近期最少使用算法LRU获取最近最常访问的物理页。
[0020]第二方面,本发明实施例提供了一种减少DRAM Cache缺失访问的装置,所述装置包括:接收单元,处理单元;
[0021]所述接收单元,用于接收全局预测结果为DRAM Cache命中时,处理器发送的请求信息
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1