发明名称 |
一种指令缓存锁实现方法 |
摘要 |
一种指令缓存锁实现方法,所述方法包括如下步骤: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号 |