发明名称 步长自适应的Cache预取方法及其系统
摘要 本发明公开了一种步长自适应的Cache预取方法及其系统,该方法包括:设置预取表,并根据失效地址计算索引值,计算出两个预测地址并与索引值进行比较,若任一个与索引值相同,则认为命中预取表,否则为失效地址分配一个新表项;若命中预取表且预取表中已预取数据时,返回已预取的数据给Cache;再更新预取表;若命中预取表,则判断预取表中的命中项是否满足预取条件如满足,则触发预取操作。该系统包括,预取表、用于转换索引值的地址转换部件、用于计算出两种预测地址的加法器、用于将两种预测地址与索引值进行比较的比较器以及用于判断是否进行预取操作并更新预取表的更新控制逻辑部件。本发明具有可移植性强、预取正确率高等优点。
申请公布号 CN102214146B 申请公布日期 2013.04.10
申请号 CN201110213360.6 申请日期 2011.07.28
申请人 中国人民解放军国防科学技术大学 发明人 郭阳;靳强;鲁建壮;陈书明;胡春媚;刘蓬侠;李勇;余再祥;许邦建;吴虎成;罗恒;唐涛;刘祥远
分类号 G06F12/08(2006.01)I 主分类号 G06F12/08(2006.01)I
代理机构 湖南兆弘专利事务所 43008 代理人 周长清
主权项 一种步长自适应的Cache预取方法,其特征在于包括以下步骤:(1)设置预取表:设置一预取表,在所述预取表中存储有失效地址,记录在PA域中;(2)查询预取表:当发生Cache失效时首先查询预取表,首先用失效地址的高位作为索引值;根据预取表中存储的条目的内容通过加法计算得到两个预测地址,将所述两个预测地址分别与索引值进行比较,若任一个预测地址与索引值相同,则判断命中预取表,转步骤(4);否则判断未命中预取表,转步骤(3);(3)分配新表项:若未命中预取表时,则在预取表中为该失效地址分配一个新表项;转步骤(5);(4)返回数据:若命中预取表且预取表中已预取数据时,返回已预取的数据给Cache;否则不返回数据;若没有预取数据需要返回,则继续进行访存操作取回所需的数据;转步骤(5);(5)更新预取表:对预取表的信息进行更新;(6)进行预取:若命中预取表,则判断预取表中的命中项是否满足预取条件,如满足,则触发预取操作,进行预取;所述索引值具体是指所述上一次发生Cache失效时的访存地址被屏蔽掉地址的低n位,其中n=log2(Cache line size)。
地址 410073 湖南省长沙市开福区砚瓦池正街47号中国人民解放军国防科学技术大学计算机学院微电子与微处理器研究所