[发明专利]处理器中指令的预测执行无效
申请号: | 01121184.9 | 申请日: | 2001-06-13 |
公开(公告)号: | CN1329303A | 公开(公告)日: | 2002-01-02 |
发明(设计)人: | 奈杰尔·彼德·托法姆 | 申请(专利权)人: | 斯罗扬有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 | 代理人: | 于静 |
地址: | 英国*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 处理器 指令 预测 执行 | ||
本发明涉及处理器中指令的预测执行。具体地,本发明涉及微处理器流水线循环中灵活的指令排序和循环控制。
在高性能计算中,对于预测指令执行的需求源于目标机器(例如微处理器)通常需要高速率指令执行的软件流水线循环环境。执行时间经常被应用程序内的循环结构占用。为了允许进行高速指令执行,处理器可以包含多个单执行单元,其中每个单元均能够以彼此并行的方式执行一或多个指令。
多个这样的执行单元可用于提供由多个单独级段构成的软件流水线。各个软件流水线级段与具体执行单元没有固定的物理对应关系。实际上,当编译应用程序中的一个循环结构时,由不同执行单元根据一个软件流水线调度计划预定执行构成一个单次循环迭代的机器指令。这个调度计划被分成连续的级段并且以这样的方式调度指令的执行,即允许不同执行单元在连续迭代的起始之间的一个选定循环起始间隔内重叠执行多个迭代。因而,当一次迭代i的第一个级段结束并且该迭代进入第二个级段时,从下一个迭代i+1的第一个级段开始执行迭代i+1。因而,迭代i+1的第一个级段中的指令的执行与迭代i的第二个级段中的指令的执行是并行的。
在这种软件流水线循环中,在一个部分完成状态下通常总存在一个循环的若干个迭代。因此,各个执行单元可以处理来自从一个循环到下一个循环的不同迭代的指令,并且执行单元总是可以处理来自不同迭代的相应指令。各个循环内计算的各个数值也可以有若干个在线副本。为了区分这些数值并且识别其与当前迭代的对应关系,必须在循环执行中精心选定的时刻上改变一个寄存器中保持的各个数值的名称。编译器已知这些重命名指针,并且编译器还根据计算各个数值的迭代确定各个指令内访问各个数值所需的寄存器的名称。
利用这种软件流水线方案,在执行软件流水线循环中的某些时刻可能存在一个以规则间隔启动的新迭代。在其它时间可能存在某些以规则间隔启动的迭代和以规则间隔结束的其它迭代,并且在其它时间可以只存在即将完成的迭代。这种由若干执行单元并行执行若干个重叠软件流水线循环的方案需要精心控制这些软件流水线循环的启动和停止。这种控制必须发生在运行时刻,因而重要的是为保证有效和正确的操作而建立的控制机制绝不向已经处于时间要求非常严格的活动状态的处理器提出过多的时间要求。所以期望控制软件流水线循环中指令排序所用的时间尽可能地少。
根据本发明的第一个方面,提供了一个能够以预测方式执行指令的处理器,其中包含:一系列预测寄存器,每个寄存器均可在至少第一和第二状态之间切换并且均可被分配给一或多个预测执行的指令;保存分别对应于上述系列的上述预测寄存器的控制信息项的控制信息保存装置;和多个分别对应于上述预测寄存器的操作单元,上述操作单元均具有一个第一控制输入和一个第二控制输入,其中第一控制输入被连接到上述控制信息保存装置以便接收对应于其单元自身的对应预测寄存器的控制信息项,而第二控制输入也被连接到上述控制信息保存装置以便接收对应于另一个上述预测寄存器的控制信息项,并且上述操作单元可以执行一个状态确定操作,其中根据接收的控制信息项确定其自身的上述预测寄存器的上述状态,上述多个操作单元可以彼此并行操作以便分别执行这种状态确定操作。
根据本发明的第二个方面,提供了一个能够以预测方式执行指令的处理器,其中包含:一系列预测寄存器,每个寄存器均可在至少第一和第二状态之间切换并且均可被分配给一或多个预测执行的指令;将上述系列的一或多个预测寄存器指定成各自的移位寄存器的移位寄存器指定装置;和与上述预测寄存器相连以便执行一个移位操作的移位装置,在上述移位操作中,对于被移位寄存器指定装置指定成移位寄存器的各个预测寄存器,上述系列以前的寄存器的状态被传送到有关的寄存器中,不对上述系列中任何未指定成这种移位寄存器的寄存器执行这种传送。
现在参照附图,其中:
图1示出了一个实现本发明的处理器的各个部分;
图2图解了一个简单指令循环的示例性符号数据流图;
图3示出了一个对应于图2的符号数据流图的内部编译器树形结构表示;
图4是一个服从模数调度约束的指令调度表的表格;
图5示出了一个包含静态和动态寻址区域的示例性寄存器文件;
图6A和6B示出了一个表格,上述表格图解了一个循环的若干次迭代的虚拟,逻辑和物理寄存器数量之间的关系;
图7示出了一个循环的若干次迭代的示例性编译指令序列;
图8示出了当在运行时刻把逻辑寄存器映射到物理寄存器之后图7的序列的一个例子;
图9示出了根据取指槽口(issue slot)划分图7的序列的例子;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于斯罗扬有限公司,未经斯罗扬有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/01121184.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:其放电管基本在一个平面内弯曲的荧光灯
- 下一篇:接收设备