[发明专利]实现现代处理器间接转移预测的装置及方法有效
申请号: | 201110221833.7 | 申请日: | 2011-08-04 |
公开(公告)号: | CN102306093A | 公开(公告)日: | 2012-01-04 |
发明(设计)人: | 程旭;谢子超;宋天宝;黄明凯;史秦青;陆俊林;佟冬 | 申请(专利权)人: | 北京北大众志微系统科技有限责任公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 栗若木;王漪 |
地址: | 100080 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 实现 现代 处理器 间接 转移 预测 装置 方法 | ||
1.一种实现现代处理器间接转移预测的装置,其特征在于,包括方向预测器、组-路指针寄存器以及分支目标缓冲器,其中:
方向预测器,用于在预测间接转移指令方向的同时选择模式历史记录的第一次访问索引和第二次访问索引,并通过该模式历史记录生成及输出相应的组-路指针;
组-路指针寄存器,用于保存所述模式历史记录输出的所述组-路指针;
分支目标缓冲器,用于建立子块和分配项,所述子块为每一间接转移指令分配通过所述组-路指针索引的目标地址项;所述分配项用于记录每一间接转移指令目标地址项的使用情况。
2.按照权利要求1所述的装置,其特征在于,
所述模式历史记录生成的组-路指针为4位,通过每一表项的2个记录项分别保存生成的2位的组指针和2位的路指针并输出;
所述组-路指针寄存器保存所述模式历史记录输出的4位组-路指针。
3.按照权利要求2所述的装置,其特征在于,还包括一移位器和一索引寄存器,所述方向预测器还包括一全局历史寄存器和一异或器;其中:
所述异或器,用于获取所述全局历史寄存器之值与程序计数器之值的异或值,作为所述模式历史记录的第一次访问索引;通过所述移位器将所述异或值左移一位的值作为所述模式历史记录的第二次访问索引。
4.按照权利要求3所述的装置,其特征在于,所述方向预测器还包括第一多选器,其中:
所述分支目标缓冲器在预测的第一周期通过所述程序计数器被访问时,如果访问命中,则输出所述分配项;如果访问未命中,则通过预测程序中止并暂停流水线,直到所述间接转移完成;
所述方向预测器在预测的第一周期通过第一多选器选择第一次访问索引,所述模式历史记录据第一次访问索引的索引结果作为所述组-路指针中的路指针获取,将该路指针与假设为0的组指针构成4位临时的组-路指针,分别通过2个记录项保存所述4位临时的组-路指针并输出;
所述组-路指针寄存器保存所述模式历史记录输出的所述4位临时的组-路指针。
5.按照权利要求4所述的装置,其特征在于,
所述分支目标缓冲器的子块在预测的第二周期通过所述程序计数器作为标签被访问时,如果访问命中,即所述标签和间接转移指令的地址匹配,则从所述组-路指针寄存器获取所述临时的组-路指针,将通过该临时的组-路指针索引的目标地址项所存储的目标地址作为预测的间接转移指令的目标地址发射到流水线和指令缓存中;
所述方向预测器在预测的第二周期通过第一多选器选择第二次访问索引,所述模式历史记录据第二次访问索引的索引结果作为组-路指针中的组指针获取,将该组指针与上一周期获取的所述路指针组合成4位完整的组-路指针,通过2个记录项项保存组合成的所述4位完整的组-路指针并输出;
组-路指针寄存器保存所述模式历史记录输出的所述4位完整的组-路指针。
6.按照权利要求5所述的装置,其特征在于,
所述分支目标缓冲器的子块在预测的第三周期通过所述程序计数器作为标签被访问时,如果访问命中,则从所述组-路指针寄存器获取所述完整的组-路指针,将通过该完整的组-路指针索引的目标地址项所存储的目标地址作为预测的间接转移指令的目标地址发射到流水线和指令缓存中;如果上一周期已发射所述目标地址,则之前发射的目标地址将被新发射的所述目标地址取代;如果访问未命中,则继续使用最近的已被发射的目标地址进行预测。
7.按照权利要求6所述的装置,其特征在于,
所述分支目标缓冲器的子块通过所述完整的组-路指针被访问时,若所述组-路指针中的所述组指针仍为0,则将所述分支目标缓冲器当前的访问位置作为该组-路指针指向的目标地址发射到流水线和指令缓存中。
8.按照权利要求1至7任一项所述的装置,其特征在于,还包括一训练循环计数器和第二多选器,其中:
训练循环计数器,用于输出循环计数值;
第二多选器,用于在预测时选择所述模式历史记录生成的组-路指针输出,在出现预测错误时选择训练循环计数器输出的循环计数值作为更新的组-路指针输出;
所述组-路指针寄存器保存第二多选器选择输出的由所述模式历史记录生成的组-路指针或所述更新的组-路指针。
所述分支目标缓冲器将所述分配项作为遍历间接转移指令全部已分配的目标地址项的依据,遍历情况用于作为更新分配项或组-路指针的依据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京北大众志微系统科技有限责任公司,未经北京北大众志微系统科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110221833.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种加热块机构
- 下一篇:采用精馏和吸收分离低碳烯烃混合气体的方法