[发明专利]一种实现读指令执行的方法及装置有效
申请号: | 201110321857.X | 申请日: | 2011-10-20 |
公开(公告)号: | CN102364431A | 公开(公告)日: | 2012-02-29 |
发明(设计)人: | 程旭;张栚滈;王箫音;佟冬;易江芳;陆俊林;王克义 | 申请(专利权)人: | 北京北大众志微系统科技有限责任公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 栗若木;王漪 |
地址: | 100080 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 指令 执行 方法 装置 | ||
技术领域
本发明涉及现代微处理器及其应用系统的设计,尤其涉及超标量处理器 实现读指令执行的方法及装置。
背景技术
随着集成电路制造工艺的飞速发展,处理器与存储器之间的性能差距逐 渐拉大,从而使得访存延迟,尤其是读指令访存延迟,逐渐成为现代超标量 处理器性能提升的主要瓶颈。在传统超标量处理器中,通过访存指令之间数 据前递(Forwarding)完成的读指令仅占所有读指令的15%,通常它们访存 所占用的时间在一个处理器时钟周期内;其它读指令均通过访问一级(最靠 近处理器的高速数据缓存级)或者更低一级高速数据缓存来得到所需数据。 这些高速数据缓存的访问时间均会超过一个处理器时钟周期,而且随着线延 迟的不断增加,这些高速数据缓存的访问时间将进一步增加。
现有的读指令重执行技术(LRE,Load Re-Execution)是一种典型的针 对读指令队列(Load Queue)的优化技术,它消除了读指令队列的相联查找 逻辑所面临的麻烦。该技术完全依靠读指令在按序提交前的重执行来保证单 处理器和多处理器的存储顺序要求,因此只需要使用简单的先进先出队列 (FIFO)保存读指令的相关信息。读指令的这两次执行分别称为预读 (premature load)和重读(replay load)。当两次执行结果相同时,存储相关 被正确地保持;否则意味着发生了存储顺序违例或存储同一性违例,需要采 取恢复措施。该技术将复杂度从流水线中的时序关键部件转移到流水线后端, 故解决了复杂度处于流水线中时序关键部件所面临的诸多问题。
过多的读指令重执行会带来严重的性能损失。通过基于写指令序列 Bloom过滤器(SSBF,Store Sequence Bloom Filter)的读指令重执行过滤技 术,可以有效地降低需要重新执行的Load指令数目。该技术通过SSBF追踪 所有最近提交(commit)的写指令序列号(SSN,Store Sequence Number, 亦可称写指令顺序标识)来判断读指令是否需要重执行,亦即当执行一条读 指令时,通过访问SSBF获取最近提交的具有与该读指令相同访存地址的 SSN,记为SSNnvul,当提交该读指令时,该读指令将再次访问SSBF并得 到SSNfilter,并判断SSNnvul是否小于SSNfilter,如果不小于,则说明该读 指令执行时得到的数据不正确,需要重新执行读指令。
读指令重执行的关键在于,在读指令的两次执行中,重执行将保证该指 令执行的正确性,因此第一次执行完全可以进行推测式或者预测式执行,甚 至不执行,从而为优化读指令执行阶段的性能同时简化实现结构带来了可能。
由此,为了进一步提高读指令的执行性能,需要提供一种通过推测式的 大范围访存数据前递实现读指令执行的方法及装置,使得读指令执行性能得 到优化及结构得到简化。
发明内容
本发明所要解决的技术问题是提供一种实现读指令执行的方法及装置, 能够实现读指令执行性能的优化。
为了解决上述技术问题,本发明提供了一种实现读指令执行的方法,其 特征在于,包括:
在写指令的执行阶段,采用多路组相联的活跃写指令窗口的组内相应的 路记录写指令的信息,并将该组的所有路中最旧的写指令记录替换出。
进一步地,该方法还包括:
在写指令进入过滤流水级时,采用多路组相联的写指令序列Bloom过滤 器中相应的组内相应的路记录写指令的信息,并将该组的所有路中最旧的写 指令记录替换出。
进一步地,
多路组相联的活跃写指令窗口的组内相应的路记录的所述写指令的信息 至少包含:写指令顺序标识、地址标签以及写数据;多路组相联的写指令序 列Bloom过滤器的组内相应的路记录的写指令的信息至少包含:写指令顺序 标识及地址标签。
进一步地,在写指令的执行阶段之前还包括:
为每个写指令分配一个计数器,作为写指令唯一的顺序标识;当写指令 进入指令重命名流水级时,将相应的计数器当前的计数值赋值给该写指令的 写指令顺序标识,并将该计数器加一单位增量。
进一步地,采用多路组相联的活跃写指令窗口的组内相应的路记录写指 令的信息,并将该组的所有路中最旧的写指令记录替换出,具体包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京北大众志微系统科技有限责任公司,未经北京北大众志微系统科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110321857.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:离合器齿圈
- 下一篇:转轴定位装置及安装有该装置的光伏支架