[发明专利]可以跟踪不按序操作期间异常的数据处理系统及方法无效
申请号: | 98122696.5 | 申请日: | 1998-11-25 |
公开(公告)号: | CN1226027A | 公开(公告)日: | 1999-08-18 |
发明(设计)人: | 里查德·埃德蒙德·福来;道格·库克·恩古叶;阿尔伯特·托马斯·威廉姆斯 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 | 代理人: | 于静 |
地址: | 美国*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 可以 跟踪 按序 操作 期间 异常 数据处理系统 方法 | ||
本发明和1998年2月17日提交的美国专利申请序列号09/024,804有关,该申请是本文的参考资料。
本发明一般地涉及数据处理系统,并且具体地涉及一种进行不按序执行的数据处理系统。
随着研制出以更高的速度执行更多数量指令的计算机,已经研制出许多类型的体系结构以便优化处理。例如,精简指令集计算机(RISC)执行指令中在更大的并行性下采用较少的指令,以保证要比更为传统的数据处理系统提供结果更快地得到计算结果。除了提供增多的指令并行执行外,一些数据处理系统实施不按序指令执行以提高处理机的性能。通过动态地允许在指令流中尚未解决数据相关的指令之前执行后面的不具有数据相关的已调度指令,不按序指令执行可提高处理机性能。在一些数据处理系统中,指令被更名,并且通过在指令完成时刻对执行重排序,指令顺序表(也称为重排序缓冲器)简化了不按序执行。
重排序缓冲器也用于允许推测(speculative)指令执行。从而,支持推测指令执行的数据处理系统可在增添相对很少的硬件下适用于不按序执行。所增添的硬件中的一部分包括用来确定应该发出指令的时间及次序的逻辑。因为必须检验相关性以及指令在其执行流水线中的状态从而确定发出指令的时间,这种发布逻辑电路可以是非常复杂的。若未恰当地设计该发布逻辑电路,这种发布逻辑电路可成为数据处理系统中的关键路径并且限制指令的执行频率,从而限制了可从不按序发布得到的性能提高。
通过动态地允许在指令流中尚未解决数据相关的指令之前调度执行后面的不具有数据相关的指令,许多现有技术系统所实现的不按序指令执行提高了处理机性能。寄存器文件更名、结构式部件(例如可由软件访问的寄存器)的更名选择位组以及指令顺序表(重排序缓冲器)等通过在指令完成时刻对指令执行重排序便利了不按序执行。有关这些结构的更多信息,请参见“用于开发多运算器的一种有效算法”(R.M.Tomasulo,IBM JOURNAL,Jan.1967,PP.25-33)。请注意,这些部件也用于实现推测指令执行。从而,支持推测指令执行的系统体系可以通过增添相对“很少”的硬件以及在少量的开销支出下适用于不按序执行。这样,在不需要对推测指令执行体系结构修改下,寄存器文件更名能支持不按序执行。
但是,在仅包括着一个结构式整数异常寄存器(XER)的处理机中必须一次只执行一条改变或使用这种寄存器的指令。在这种情况下,只有当完成更新指令并且这种结构式寄存器接着成为有效时,才能解决数据相关。使用或改变XER内容的定点指令是这种指令的代表。XER含有报告及决定整数指令执行的数据值,从而,当存在着多于一条需要更新或使用XER的指令时,则必须根据软件程序按次序地执行这些指令,从而可在定点操作中产生瓶颈。上面所讨论的方法是不足的,不能简单地修改成允许不按序地执行用来更新或使用XER的指令。由于XER包含粘性状态数据值,常规的更名方法不能用来实现使用或更新XER的不按序指令。粘性状态数据是由执行指令设置的数据值,在由软件复位前其保持不变。这样,技术上需要一种允许各条需更新或使用XER的指令不按序执行的更名设备和方法,从而提高指令执行的并行性并且提高处理机性能。
通过本发明解决上述需求。因此,在第一形式下,提供一种提高数据处理机中指令执行并行性的方法。该方法包括把指令标识符写到第一数据存储缓冲器的步骤。当和指令标识符对应的指令结束执行时,把因此而产生的一个或多个执行条件数据值写入到第二数据存储缓冲器。响应下一条指令,利用存储在第一数据存储缓冲器中的指令标识符,从第二数据存储缓冲器检索执行条件数据值组。
此外,在第二形式下,提供一种用于提高指令执行并行性的数据处理设备。该数据处理设备包括容纳指令标识符的第一数据存储缓冲器。用于访问第一数据存储缓冲器的电路和该缓冲器连接,并且和容纳一个或多个执行条件数据值组的第二数据存储缓冲器连接,每组执行条件数据值是响应一条和上述指令标识符的一个相关的指令生成的。和第二数据存储缓冲器以及和访问第一数据存储缓冲器连接的电路从第二数据存储缓冲器检索一组执行条件数据值。
最后,在第三种形式下,提供一种数据处理系统,它包括一个用于和多条指令通信的输入电路。一个条件逻辑电路响应该多条指令中的一条或数条生成一组或多组条件异常值。更名逻辑电路是和该条件逻辑电路连接的电路,更名逻辑电路包括包括一个用于容纳该一组和多组执行异常值的数据存储缓冲器。该数据处理系统还包括一个和更名逻辑电路连接的异常寄存器,该异常寄存器接收容纳在第一数据存储缓冲器中的一组或多组执行条件值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/98122696.5/2.html,转载请声明来源钻瓜专利网。