可以跟踪不按序操作期间异常的数据处理系统及方法技术方案

技术编号:2888054 阅读:245 留言:0更新日期:2012-04-11 18:40
实现一种用于整数异常寄存器(XER)更名的设备及方法。在具有流水线结构的中央处理机(CPU)中,利用XER更名机制可以不按序地执行使用或更新XER的整数指令。任何更新XER的指令具有一个存储在某寄存器中的相关指令标识符(ⅡD)。使用该XER中的数据的后继指令利用该存储的ⅡD判定何时通过执行和该ⅡD对应的指令更新了该XER数据。执行每条更新XER数据的指令时,把数据存储在一个XER更名缓冲器中。(*该技术在2018年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术和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的指令不按序执行的更名设备和方法,从而提高指令执行的并行性并且提高处理机性能。通过本专利技术解决上述需求。因此,在第一形式下,提供一种提高数据处理机中指令执行并行性的方法。该方法包括把指令标识符写到第一数据存储缓冲器的步骤。当和指令标识符对应的指令结束执行时,把因此而产生的一个或多个执行条件数据值写入到第二数据存储缓冲器。响应下一条指令,利用存储在第一数据存储缓冲器中的指令标识符,从第二数据存储缓冲器检索执行条件数据值组。此外,在第二形式下,提供一种用于提高指令执行并行性的数据处理设备。该数据处理设备包括容纳指令标识符的第一数据存储缓冲器。用于访问第一数据存储缓冲器的电路和该缓冲器连接,并且和容纳一个或多个执行条件数据值组的第二数据存储缓冲器连接,每组执行条件数据值是响应一条和上述指令标识符的一个相关的指令生成的。和第二数据存储缓冲器以及和访问第一数据存储缓冲器连接的电路从第二数据存储缓冲器检索一组执行条件数据值。最后,在第三种形式下,提供一种数据处理系统,它包括一个用于和多条指令通信的输入电路。一个条件逻辑电路响应该多条指令中的一条或数条生成一组或多组条件异常值。更名逻辑电路是和该条件逻辑电路连接的电路,更名逻辑电路包括包括一个用于容纳该一组和多组执行异常值的数据存储缓冲器。该数据处理系统还包括一个和更名逻辑电路连接的异常寄存器,该异常寄存器接收容纳在第一数据存储缓冲器中的一组或多组执行条件值。从下述连带着附图的详细说明会更清晰地理解这些和其它的特性和优点。重要的是,这些附图不是用来显示本专利技术的仅有形式的。为了更完整地理解本专利技术以及它的优点,现连同附图一并介绍下述说明。附图是附图说明图1以方块图形式示出根据本专利技术的一种实施方式的数据处理系统;图2以方块图形式示出根据本专利技术的一种实施方式的一种中央处理机;图3以方块图形式示出根据本专利技术的一种实施方式实现的不按序XER更名设备;图4以流程图形式示出根据本专利技术的一种实施方式的一种XER更新执行方法;以及图5以流程图形式示出根据本专利技术的一种实施方式的不按序XER使用。本专利技术提供一种XER更名机制,该机制支持在其中对多于一条需要更新或使用XER的指令进行不按序整数部件指令执行。本专利技术还允许同时执行所有需要更新或使用XER的指令。将相继地详细说明本专利技术的操作。不过在讨论之前,先提供对本专利技术的各部件的连接的讨论。在下述说明中,为对本专利技术提供充分的了解,叙述了一些具体细节,例如特定字或字节的长度。但是,对于熟练的技术人员,很清楚本专利技术的实施并不要求这些具体细节。在其它的例子中,为了避免不必要的细节会使本专利技术难以理解,用方块图的形式示出周知的电路。在大部分中,略掉涉及到时序考虑等的细节,因为这些细节对于得到本专利技术的完整理解不是必需的并且是在普通技术人员的有关技术范围之内的。现谈谈附图,各图中所描述的部件不必表示其扩缩规模,并且用相同的参照数字在若干图中表示相同的或类似的部件。首先参看图1,其示出可用于本专利技术的数据处理系统100的一种示例。该系统具有一个中央处理机(CPU)110,例如一台按照“ThePowerPC ArchitectureA Specification for a New Family of Risk(RISC)Processors”(1994年第二版,Cathy May等编著)的PowerPC微处理机(“PowerPC”是IBM公司的商标),该资料作为本文的参考文献。在IBM公司的“PowerPC 604 Risk微处理机用户手册”中说明PowerPC微处理机的更具体实现,该手册也作为本文的参考文献。本专利技术的XER更名机制包含在CPU 110。通过系统总线112,CPU 110和各种其它部件连接。只读存储器(“ROM”)116和系统总线112连接并且包含基本输入/输出系统(“BIOS”),BIOS控制数据处理系统100的某些基本功能。随机存取存储器(“RAM”)114、I/O适配器118以及通信适配器134也和系统总线112连接。I/O适配器118可能是一个小型计算机系统接口(“SCSI”)适配器,它和盘存储器120通信。通信适配器134使总线11本文档来自技高网...

【技术保护点】
在数据处理机中,一种提高指令执行并行性的方法包括步骤: 把指令标识符写入到第一数据存储部件; 当对应于所述指令标识符的指令完成执行时,把一个或多个执行条件数据值写入到第二数据存储部件,所述第二数据存储部件具有一个或多个存储单元;以及 利用所述指令标识符得到所述一个或多个执行条件数据值。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:里查德埃德蒙德福来道格库克恩古叶阿尔伯特托马斯威廉姆斯
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1