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

文档序号:9524149阅读:来源:国知局
,并将所述请求信息发送给所述处理单元,其中,所述请求信息包括L2Cache缺失的访问地址对应的物理页和Cache块信息,所述Cache块信息指向Cache块;
[0022]所述处理单元,用于接收所述接收单元发送的请求信息,查询所述物理页与本地预存的物理页是否相等,当所述物理页与预存的物理页相等时,查询所述Cache块对应的位向量中的状态,并根据所述Cache块对应的位向量中的状态,对所述请求信息进行处理,其中,所述预存的物理页为最近最常访问的物理页。
[0023]优选地,以比特表示所述位向量中的状态,所述处理单元具体用于:
[0024]如果查询到所述Cache块对应的比特位为1,则判定所述Cache块在所述DRAMCache中,所述处理器采用SAM模式对DRAM Cache进行访问;或者
[0025]如果查询到所述Cache块对应的比特位为0,则判定所述Cache块不在所述DRAMCache中,所述处理器采用PAM模式对DRAM Cache进行访问,其中,所述Cache块和比特位--对应。
[0026]第三方面,本发明实施例提供了一种减少DRAM Cache缺失访问的系统,所述系统包括如权利要求任一项所述的装置以及全局预测器。
[0027]优选地,所述饱和计数器是3bit饱和计数器。
[0028]本发明通过减少DRAM Cache缺失访问的方法,MissMap接收全局预测结果为DRAMCache命中时,处理器发出的请求信息,其中,所述请求信息包括L2Cache缺失的访问地址对应的物理页和Cache块信息,所述Cache块信息指向Cache块;MissMap查询所述物理页与本地预存的物理页是否相等,当所述物理页与预存的物理页相等时,查询所述Cache块对应的位向量中的状态,并根据所述Cache块对应的位向量中的状态,对所述请求信息进行处理,其中,所述预存的物理页为最近最常访问的物理页,本发明以较小的硬件开销减少缺失情况下对DRAM Cache的访问,在全局预测的基础上,通过MissMap进一步预测看是否命中,这样就减少了误将缺失预测为命中的情况,减少了缺失时对DRAM Cache的访问,因此,本发明可以提高性能并减少能耗。
【附图说明】
[0029]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0030]图1为图1为现有技术中存储层次结构示意图;
[0031 ] 图2a为现有技术中基于SRAM的Cache存储不意图;
[0032]图2b为现有技术中基于DRAM的Cache存储不意图;
[0033]图3a为现有技术中SAM访问模式示意图;
[0034]图3b为现有技术中PAM访问模式示意图;
[0035]图4为现有技术中MissMap结构示意图;
[0036]图5为现有技术中DAM模式示意图;
[0037]图6为本发明实施例一提供的减少DRAM Cache缺失访问的结构的示意图;
[0038]图7为本发明实施例一提供的减少DRAM Cache缺失访问的方法流程图;
[0039]图8为本发明实施例二提供的减少DRAM Cache缺失访问的装置示意图。
【具体实施方式】
[0040]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0041]为便于对本发明的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
[0042]图7为本发明实施例一提供的减少DRAM Cache缺失访问的方法流程图,如图7所示,本实施例的主体是MissMap,本发明的减少DRAM Cache缺失访问的方法包括:
[0043]S710, MissMap接收全局预测结果为DRAM Cache命中时,处理器发出的请求信息,其中,所述请求信息包括L2Cache缺失的访问地址对应的物理页和Cache块信息,所述Cache块信息指向Cache块;
[0044]具体地,如图6所示,图6为本发明实施例一提供的减少DRAM Cache缺失访问的结构的示意图,处理器发出请求信息,所述请求信息包括L2Cache缺失的访问地址对应的物理页和Cache块信息,该物理页指向DRAM中的一行,Cache块信息指向这一行中所要访问的Cache块,饱和计数器对请求信息进行判断,其中,该饱和计数器可以是3bit的饱和计数器,其作为全局预测器,当所述请求信息的类型为L2Cache缺失引起内存访问时,所述饱和计数器加1,当所述请求信息的类型为L2Cache缺失引起DRAM Cache命中时,所述饱和计数器减1,当所述饱和计数器的MSB为1时,所述处理器采用PAM模式对内存进行访问。
[0045]当饱和计数器的MSB为0时,说明全局预测结果为DRAM Cache命中,此时,MissMap接收处理器发送的请求信息,进行下一步S720的处理。
[0046]S720,MissMap查询所述物理页与本地预存的物理页是否相等,当所述物理页与预存的物理页相等时,查询所述Cache块对应的位向量中的状态,并根据查询结果对所述请求信息进行处理,其中,所述预存的物理页为最近最常访问的物理页。
[0047]具体地,MissMap可以是硬件数据结构,其包括最近最常被访问的物理页(page),以及该物理页所对应的位向量(Block Presence Vector)的状态,其中,每个物理页对应的Cache块(block)有几个,则该位向量就有几比特,比如,该Cache块可以是32个,32个Cache块中的每一个对应一比特(bit)位,该比特位用于指示该Cache块是否存在,如果该Cache块存在,则其比特位为1,如果该Cache块不存在,则其比特位为0,因为MissMap中存储的是最近最常被访问的物理页,因此,其只存储了部分DRAM Cache的物理页以及该物理页所对应的Cache块的位向量的状态,本发明利用访存具有空间局部性的特点,只将最近最常访问的页存储到MissMap中,并只对这些页对应的Cache块信息进行记录,而不是存储和记录DRAM Cache所有的页,因此,大大减少了面积开销。
[0048]当每次有新的Cache块插入DRAM Cache, MissMap中与该Cache块对应的物理页的相应比特位会被置位;相反地,当每次有Cache块从DRAM Cache被替换出去时,MissMap中对应的物理页的相应比特位被复位,其中,MissMap可以利用近期最少使用算法(LeastRecently Used,缩写:LRU),替换掉最近不常用的物理页,从而获取到最近最常用的物理页,并用V表示物理页是否有效,比如,可以以V = 1表示物理页有效,以V = 0表示物理页无效。
[0049]当MissMap接收到处理器发出的请求信息时,该请求信息携带有L2Cache缺失的访问地址对应的物理页以及Cache块信息,该Cache块信息指向要访问的Cache块,其中,该物理页可以以物理页号进行区分,首先,MissMap判断该物理页号是否与本地预存的物理页号相等,如果该物理页号与本地预存的物理页号相等,则将要访问的Cache块定位到DRAM中的一行,接着,继续判断在这一行中,Cache块信息指向的Cache块所对应的比特位是否为1,当比特位为1时,进一步的说明了要访问的地址中的Cache块在DRAM Cache中,此时,可以使得处理器采用SAM方式,访问DRAM Cache。
[0050]如果比特位为0,则说明Cache块不在DRAM Cache中,此时,处理器采用PAM方式,访问 DRAM Cache ο
[0051]应用本发明实施例提供的减少DRAM Cache缺失访问的方法,MissMap接收全局预测结果为DRAM Cache命中时,处理器发出的请求信息,其中,所述请求信息包括L2Cache缺失的访问地址对应的物理页和Cache块信息,所述Cache块信息指向Cache块,MissMap查询所述物理页与本地预存的物理页是否相等,当所述物理页与预存的物理页相等时,查询所述Cache块对应的位向量中的状态,并根据
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1