[发明专利]缓存预测执行的处理器与装置及方法有效
申请号: | 201210260724.0 | 申请日: | 2012-07-25 |
公开(公告)号: | CN102841857A | 公开(公告)日: | 2012-12-26 |
发明(设计)人: | 刘道福;陈云霁;郭崎;胡伟武 | 申请(专利权)人: | 龙芯中科技术有限公司 |
主分类号: | G06F12/08 | 分类号: | G06F12/08 |
代理公司: | 北京远大卓悦知识产权代理事务所(普通合伙) 11369 | 代理人: | 史霞 |
地址: | 100190 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 缓存 预测 执行 处理器 装置 方法 | ||
技术领域
本发明涉及实现一种计算机处理器技术领域,尤其是一种当发生缓存(Cache)块无效时的缓存预测执行的处理器与装置及方法。
背景技术
随着处理器内部主频的提高以及结构的优化,处理器的运算性能越来越高,但是,主存的访问速度却没有同步的增长速度,于是出现了访存墙(Memory Wall)的问题。为了解决该问题,现代处理器一般都是通过增加多级缓存(Cache)来缓和问题。
在多核处理器中,各个处理器核一般都有其私有缓存(Cache),这会导致不同处理器核中私有缓存(cache)数据备份不一致的问题。为了解决该问题,现代处理器都支持各种缓存(Cache)一致性协议,这些协议的基本思想和实现都是,当一个处理器核对一地址发生写时,会发送无效请求(invalidate)给所有含有相同缓存(Cache)的处理器核,将对应其他处理器核上的对应缓存块(又称缓存行,Cache Line)的状态位置为无效(invalid)。之后,当发生访问该无效的缓存块的访存请求时,需要从上一级缓存或主存取回最新的值,对应指令才能继续执行。
但是,这种方法存在一个伪共享的问题,为了节省缓存(Cache)空间,提高缓存(Cache)利用率,现代处理器核的缓存块(Cache Line)一般都是256位,或者512位,而实际的访存操作,往往才访问8位,16位或者32位的数据。而由于无效是按缓存块为单位进行无效的,导致即使修改了整个缓存块的1位数据,整个缓存块都会无效,以后其他处理器即使访问该缓存块的其他部分数据,也必须从上一级缓存或者主存取回来,指令才能继续执行,大大浪费时间和效率,降低处理器的性能。
发明内容
本发明的目的在于提供一种缓存(Cache)预测执行的处理器与装置及方法,其有效地降低了处理器的平均访存延时,提高了处理器的性能。
为实现本发明目的而提供的一种缓存预测执行的处理器,包括多级缓存,以及主存储器,还包括缓存预测执行装置;
所述缓存预测执行装置,包括缓存命中比较单元,预测执行单元,预测执行回滚提交单元;以及预测数据块寄存器,处理器预测执行位,指令预测执行位;其中:
所述缓存命中比较单元,用于将发起访存的指令的访存地址的低位对应的缓存块的标签(Tag)和TLB出来的高位地址比较,根据比较结果置位处理器预测执行位,决定处理器是否进入预测执行模式,并在进入预测执行模式后启动预测执行单元,置位所述发起访存的指令的指令预测执行位有效;
所述预测执行单元,用于当发生缓存预测时,进行预测执行,根据后续指令与所述发起访存的指令的依赖关系,决定是否将对应的后续指令的指令预测执行位置有效(1),并发射访存指令及其后续指令,并在预测执行的同时,控制所述访存部件向上一级缓存或者内部存储器取回所述发起访存的指令的访存结果;
所述预测执行回滚提交单元,用于在所述访存部件取回访存结果返回后,通过和预测的数据块进行比较,决定是否回滚或者提交,并将处理器预测执行位和指令预测执行位置无效;
所述预测数据块寄存器,用于存储引起预测执行的访存所访问的数据的位置;
所述处理器预测执行位,用于表示整个处理器是否处于预测执行状态,用于控制预测执行单元是否工作;
所述指令预测执行位,对应于所述处理器执行的指令,用于表示该指令是否属于预测执行指令。
为实现本发明目的还提供一种缓存预测执行装置,包括缓存命中比较单元,预测执行单元,预测执行回滚提交单元;以及预测数据块寄存器,处理器预测执行位,指令预测执行位;其中:
所述缓存命中比较单元,用于将发起访存的指令的访存地址的低位对应的缓存块的标签(TAG)和TLB出来的高位地址比较,根据比较结果置位处理器预测执行位,决定处理器是否进入预测执行模式,并在进入预测执行模式后启动预测执行单元,置位所述发起访存的指令的指令预测执行位有效;
所述预测执行单元,用于当发生缓存预测时,进行预测执行,根据后续指令与所述发起访存的指令的依赖关系,决定是否将对应的后续指令的指令预测执行位置有效,并发射访存指令及其后续指令,并在预测执行的同时,控制所述访存部件向上一级缓存或者内部存储器取回所述发起访存的指令的访存结果;
所述预测执行回滚提交单元,用于在所述访存部件取回访存结果返回后,通过和预测的数据块进行比较,决定是否回滚或者提交,并将处理器预测执行位和指令预测执行位置无效;
所述预测数据块寄存器,用于存储引起预测执行的访存所访问的数据的位置;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于龙芯中科技术有限公司,未经龙芯中科技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210260724.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:实心管坯穿孔机的毛管顶升机构
- 下一篇:一种提取纯化烟草蔗糖四酯的方法