发明名称 一种指令缓存锁实现方法
摘要 一种指令缓存锁实现方法,所述方法包括如下步骤:1)程序概要分析,预先运行一段程序,记录包括内存块访问顺序和引用次数、重复访问的时间间隔、命中次数;2)选择内存块锁入缓存,对每个内存块设置一个访问计数器和LRU计数器,访问计数器记录内存块的访问次数,将每个内存块中的访问计数器和LRU计数器分别分配权重N1、N2,按照N1*访问次数+N2*(LRU计数器的极限值-LRU值)进行统计,如果统计值超过阈值M,则将该内存块锁在缓存中,N1+N2=1。本发明锁在指令缓存中的内存块只有在锁被解除时才能被替换,大大提高缓存命中率,减少低级存储器的访问,减少了平均内存访问延迟。
申请公布号 CN101989236B 申请公布日期 2012.05.09
申请号 CN201010531799.9 申请日期 2010.11.04
申请人 浙江大学 发明人 陈天洲;虞保忠;乐金明;马建良;乔福明
分类号 G06F12/08(2006.01)I;G06F9/38(2006.01)I 主分类号 G06F12/08(2006.01)I
代理机构 杭州宇信知识产权代理事务所(普通合伙) 33231 代理人 张宇娟
主权项 一种指令缓存锁实现方法,其特征在于所述方法包括如下步骤:1)程序概要分析预先运行一段程序,记录包括内存块访问顺序和引用次数、重复访问的时间间隔、命中次数;2)选择内存块锁入缓存程序开始运行时,对每个内存块设置一个访问计数器和LRU计数器,访问计数器记录内存块的访问次数,对每个内存块中的访问计数器和LRU计数器分别分配权重N1、N2,根据步骤1)记录的内存块命中次数,按照N1*访问次数+N2*(LRU计数器的极限值‑LRU值)进行统计,如果统计值超过阈值M,则将该内存块锁在缓存中,并满足锁入缓存中内存块总数不超过缓存空间容量,N1+N2=1;如果锁入缓存中的内存块命中次数小于阈值A,则调高LRU计数器的权重;如果锁入缓存中内存块命中次数超过阈值A,则调高内存块访问计数器的权重。
地址 310027 浙江省杭州市西湖区浙大路38号