用于使用局部条件码寄存器以加速管线处理器中的条件指令执行的系统和方法技术方案

技术编号:4569665 阅读:372 留言:0更新日期:2012-04-11 18:40
本发明专利技术揭示一种在具有多个管线的管线处理器内执行条件指令的方法,所述处理器具有与第一管线相关联的第一条件码寄存器和与第二管线相关联的第二条件码寄存器。所述方法将最近的条件码值保存到所述第一条件码寄存器或所述第二条件码寄存器。所述方法进一步设置指示所述第二条件码寄存器是否具有所述最近的条件码值的指示符,且基于所述指示符而从所述第一或第二条件码寄存器中检索所述最近的条件码值。所述方法使用所述最近的条件码值来确定是否应执行所述条件指令。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术大体上涉及计算机系统,且更明确地说,涉及用于使用局部条件码寄存器来 加速条件指令执行的方法和系统。处理器管线由许多级组成,其中每一级执行与指令相关的特定功能。每一级被称作 管级或管段。所述级连接在一起而形成管线。指令在管线的一端处进入且在另一端处离 开。指令以流的形式循序地流动通过管线级。所述级经布置以使得若干级可同时处理若 干指令。在不同的管线级处同时处理多个指令允许处理器比一次处理一个指令更快地处 理指令,因而改进处理器的执行速度。在处理器内,可存在多个处理指令的管线。个别管线可执行独特的处理器功能。举 例来说,处理器可具有一个用于执行整数指令的管线和另一用于执行浮点或向量指令的 管线。通过基于指令的功能性而分离管线,处理器可在执行指令时更有效地利用其资源。可在个别管线中处理的某些示范性指令可为条件指令。如所属领域的技术人员所了 解,条件指令是在满足或不满足条件的情况下将执行或不执行的指令。为了执行条件指 令,条件码寄存器用于保存最近的条件码值,其可用于后续条件指令的处理。可在处理 器内的任何管线中执行条件指令。通常,在先前的ARM (高级RISC机器)处理器中,仅存在一个含有条件码值的用 于支持多个管线的可存取或可读取条件码寄存器。此条件码寄存器在物理上与仅一个管 线一起定位,但耦合到其它管线。仅具有一个可读取存取的条件码寄存器影响了处理器 的执行,尤其是当在其它远程定位的管线中执行条件指令时。说明当在不具有局部条件 码寄存器的管线中执行条件指令时的效率影响。当条件指令试图执行时,保存在条件码 寄存器中的条件码值被发送到不具有局部条件码寄存器的管线中的请求的条件指令。然 而,当条件指令请求条件码值时,条件码值可能正根据先前指令进行更新。在新的条件 码值正被写入条件码寄存器中时,请求的条件指令可能停止,直到新的条件码值可用为 止。在完成条件码寄存器的更新之后,读取新的条件码值并将其发送回到不具有局部条 件码寄存器的管线中的请求的条件指令。因此,在不具有局部条件码寄存器的管线中的5条件码值检索过程可能花费若干处理器循环来完成。如果在不具有局部条件码寄存器的 管线中执行改变条件码值的指令且后续的条件指令在相同管线中执行,则接收条件码值 的过程中的延迟可能增加。在此例子中,后续的条件指令可能必须等待新的条件码值更 新,然后其可被读取并被发送回到那个管线。
技术实现思路
因此,业界中需要一种通过创建条件码寄存器的局部复本以供在管线中的每一者中 使用来加速条件指令在处理器内的多个管线中的执行的方式。将条件码寄存器的局部复 本提供给多个管线加速了条件指令在管线中的执行,并允许处理器更有效地利用其资 源,因此增加了处理器的效率。本专利技术认识到此需要并揭示了此类处理器。本专利技术揭示一种在具有多个管线的管线处理器内执行条件指令的方法,所述管线处 理器具有与第一管线相关联的第一条件码寄存器和与第二管线相关联的第二条件码寄 存器。所述方法将最近的条件码值保存到所述第一条件码寄存器或所述第二条件码寄存 器。所述方法进一步设置指示所述第二条件码寄存器是否具有所述最近的条件码值的指 示符,且基于所述指示符而从所述第一或第二条件码寄存器中检索所述最近的条件码 值。所述方法响应于所述所检索的最近的条件码值而确定是否应执行所述条件指令。本专利技术揭示另外一种在具有多个管线的管线处理器内执行条件指令的方法,所述管 线处理器具有与第一管线相关联的第一条件码寄存器和与第二管线相关联的第二条件 码寄存器。所述方法将最近的条件码值保存到所述第一条件码寄存器或所述第二条件码 寄存器。所述方法进一步当在管线处理器内的发布级中处理设置条件码的指令时,响应 于所述指令而设置指示符,其中所述条件码指示符指示第二管线是否具有保存在第二条 件码寄存器中的最近的条件码值。所述方法基于所述指示符而从所述第一或第二条件码 寄存器中检索所述最近的条件码值,并响应于所述所检索的最近的条件码值而确定是否 应执行所述条件指令。本专利技术揭示一种具有用于执行指令的多个管线的管线处理器。所述管线处理器具有 经配置以接受最近的条件码值的第一条件码寄存器,所述第一条件码寄存器与第一管线 相关联。所述管线处理器还具有经配置以接受最近的条件码值的第二条件码寄存器。所 述第二条件码寄存器与第二管线相关联。所述管线处理器具有经配置以指示所述第二条 件码寄存器是否具有所述最近的条件码值的指示符,其中所述处理器经配置以基于所述 指示符而检索所述最近的条件码值,并响应于所述所检索的最近的条件码值而确定是否 执行条件指令。从以下详细描述和附图中将明了对本专利技术的更完整的理解以及本专利技术的其它特征 和优点。 附图说明图1展示使用本专利技术的实施例的处理器的高级逻辑硬件框图。 图2显示图1的CPU的上部管线的更详细的框图。 图3显示图1的CPU的下部管线的更详细的框图。 图4展示由图1的处理器执行的示范性指令群组。图5展示当通过图1的处理器的各个级来执行图4的示范性指令群组时所述示范性 指令群组的时序图。图6展示说明示范性指令流通过图1的处理器的上部和下部管线的流程图。 具体实施例方式下文结合附图所陈述的详细描述既定作为对本专利技术的各种实施例的描述,且不希望 表示其中可实践本专利技术的仅有实施例。所述详细描述包含特定细节以用于提供对本专利技术的彻底理解的目的。然而,所属领域的技术人员将明白,可在没有这些特定细节的情况 下实践本专利技术。在某些例子中,以框图形式展示众所周知的结构和组件,以便避免混淆 本专利技术的概念。可仅出于便利和清楚起见而使用縮写和其它描述性术语,且其不希望限 制本专利技术的范围。图i展示利用本专利技术的一个实施例的超标量处理器ioo的高级视图,如下文所描述。处理器100具有中央处理单元(CPU) 102,其经由专用高速总线104耦合到指令高速 缓冲存储器106。所述指令高速缓冲存储器106还经由通用总线IIO耦合到存储器108。 所述CPU 102具有耦合到下部管线160和165的上部管线150。 CPU 102控制将指令从 存储器114加载到指令高速缓冲存储器106中。 一旦指令高速缓冲存储器106加载有指 令,CPU102便能够经由高速总线104对其进行存取。从指令高速缓冲存储器106将指 令获取到上部管线150中。在所述指令被在上部管线150中处理之后,将所述指令发送 到下部管线160或165以用于进一步处理。在一个示范性实施例中,下部管线160可为 整数管线,且下部管线165可为浮点/向量管线。指令以顺序程序次序离开上部管线150。在离开上部管线150之后,可在下部管线 160或165中重新布置所述指令以用于更有效的处理。在上部管线150中对指令执行的 某些示范性处理功能包含获取指令、对准指令、解码指令、将指令发布到下部管线160 或165等。在下部管线160和165内,指令处理可包含跟踪指令、执行指令、记录指令结果等。下部管线160和165可含有各种执行单元(EU) 130,例如算术逻辑单元、浮点单 元、存储单元、加载单元等。举例来说,EU130可具有算术逻辑单元以用于执行较广范 围的算术功能,例如整数加法、整数减法、整数乘法、逐位逻辑运算(例如,与、非、 或、异或)、位移位等。或者,E本文档来自技高网
...

【技术保护点】
一种在具有多个管线的管线处理器内执行条件指令的方法,所述管线处理器具有与第一管线相关联的第一条件码寄存器和与第二管线相关联的第二条件码寄存器,所述方法包括: 将最近的条件码值保存到所述第一条件码寄存器或所述第二条件码寄存器; 设 置指示所述第二条件码寄存器是否具有所述最近的条件码值的指示符; 基于所述指示符而从所述第一或第二条件码寄存器中检索所述最近的条件码值;以及 响应于所述所检索的最近的条件码值而确定是否应执行所述条件指令。

【技术特征摘要】
【国外来华专利技术】US 2007-5-3 11/743,6981.一种在具有多个管线的管线处理器内执行条件指令的方法,所述管线处理器具有与第一管线相关联的第一条件码寄存器和与第二管线相关联的第二条件码寄存器,所述方法包括将最近的条件码值保存到所述第一条件码寄存器或所述第二条件码寄存器;设置指示所述第二条件码寄存器是否具有所述最近的条件码值的指示符;基于所述指示符而从所述第一或第二条件码寄存器中检索所述最近的条件码值;以及响应于所述所检索的最近的条件码值而确定是否应执行所述条件指令。2. 根据权利要求l所述的方法,其中所述第一管线执行整数指令。3. 根据权利要求1所述的方法,其中所述第二管线执行浮点指令。4. 根据权利要求1所述的方法,其中所述第一条件码寄存器是全局条件码寄存器。5. 根据权利要求1所述的方法,其中所述第二条件码寄存器是局部条件码寄存器。6. 根据权利要求l所述的方法,其中所述条件码值含有负、零、进位和溢出条件位。7. 根据权利要求1所述的方法,其中所述指示符是单一状态位。8. —种在具有多个管线的管线处理器内执行条件指令的方法,所述管线处理器具有与 第一管线相关联的第一条件码寄存器和与第二管线相关联的第二条件码寄存器,所 述方法包括将最近的条件码值保存到所述第一条件码寄存器或所述第二条件码寄存器; 当在所述处理器内的发布级中处理设置条件码的指令时,响应于所述指令而设置指示符,其中所述条件码指示符指示所述第二条件码寄存器是否具有所述最近的条件码值;基于所述指示符而从所述第一或第二条件码寄存器中检索所述最近的条件...

【专利技术属性】
技术研发人员:博胡斯拉夫雷赫利克
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:US[美国]

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

1