在信息处理系统的处理器中发布指令的方法及设备技术方案

技术编号:2843780 阅读:236 留言:0更新日期:2012-04-11 18:40
一种信息处理系统,包括不按照程序顺序发布指令的处理器。所述处理器包括发布队列,即使该队列中的一些指令对于发布未就绪,该队列也可以使指令朝向发布而前进。发布队列包括存储元件主阵列和连接于其的存储元件辅阵列。当主阵列的特定行包括对于发布未就绪的指令时,对于该指令,发生停顿情况。然而,为了防止整个发布队列和处理器停顿,主阵列另一行中的对于发布就绪的指令可以绕过包括该停顿或对于发布未就绪的指令的行。为了实现这种绕过,发布队列将对于发布就绪的指令移动到辅阵列的发布行,以便发布到适当的执行单元。因此,尽管存在停顿指令,但向执行单元的无序指令发布继续。

【技术实现步骤摘要】

本公开内容涉及信息处理系统,更具体地,涉及在信息处理系统的处理器中发布指令。
技术介绍
传统的信息处理系统中的处理器可以包括数个管线级(pipeline stage),来提高处理器的有效吞吐量。举例来说,处理器可以包括提取级,用于从存储器提取指令;解码级,用于将指令解码成操作码和操作数;以及,具有各种执行单元的执行级,用于执行已解码的指令。管线使得处理器能够通过并行执行这些处理器操作来获得更高的效率。举例来说,当提取级提取下一指令时,解码级可解码已提取指令。类似地,当解码级解码另一指令时,执行级中的执行单元可以执行已解码指令。最简单的处理器按程序顺序处理指令,即处理器在程序中遇到指令的顺序。处理器设计者通过设计无序(000)执行指令的处理器来提高处理器效率。设计者发现,假如已处理的指令不依赖于尚未可用的结果,如来自较早指令的结果,处理器可以不按程序的顺序处理指令。换句话说,假如指令不呈现相依关系,处理器可以无序(000)执行指令。为使得处理器能够无序(000)执行指令,处理器可以在解码级和执行级之间包括发布队列。发布队列起缓冲器作用,其有效地将构成处理器执行级的执行单元与解码级相解耦。发布队列包括确定哪些指令被发送到各种执行单元以及那些指令被发送到执行单元的顺序的逻辑。当处理器的发布队列遇到一条或多条呈现与其他指令的相依关系的指令时,该队列可能停顿。换句话说,发布队列等待处理器解决这些相依关系。一旦处理器解决了该相依关系,发布队列可以继续发布指令到执行单元,并且执行继续。不幸的是,当发布队列呈现停顿,直到处理器解决了导致停顿的相依关系为止时,处理器损失了宝贵的时间。一些现代处理器可以允许多条指令停顿;然而,它们一般不扩展(scale)到高频操作或扩展到大发布队列。所需要的是一种以可扩展方式解决上述处理器低效率问题的方法及设备。
技术实现思路
相应地,在一个实施例中,公开了一种用于操作处理器的方法,其中,指令提取器从存储器提取指令,从而提供已提取指令。所述方法还包括,由解码器解码已提取指令。解码器提供已解码指令到发布队列,该发布队列包括存储元件主阵列,其连接到存储元件辅阵列。所述方法还包括,由主阵列将已解码指令存储到包括在主阵列内的存储元件行和列的矩阵中,以便无序发布到执行单元。所述方法还包括,由发布队列确定主阵列是否被主阵列一行中对于发布未就绪的第一指令所停顿。在那种情况下,发布队列搜索主阵列的其他行,以定位对于发布就绪的第二指令。所述方法还包括,通过发布队列将第二指令转发到辅阵列以便发布到执行单元,而第一指令保留在主阵列中,从而绕过第一指令。在另一实施例中,公开了一种处理器,其包括提取级,被适配成从存储器提取指令来提供已提取指令。所述处理器还包括解码器,其连接到提取级,用于解码已提取指令。所述处理器还包括多个执行单元。所述处理器还包括发布队列,连接于解码器与所述多个执行单元之间。所述发布队列包括存储元件主阵列,其存储等待由执行单元无序执行的指令。所述发布队列还包括存储元件辅阵列,其连接到存储元件主阵列。所述发布队列确定主阵列是否被主阵列一行中对于发布未就绪的第一指令所停顿。在那种情况下,发布队列搜索主阵列的其他行,以定位对于发布就绪的第二指令。所述发布队列通过将第二指令转发到辅阵列以便发布到执行单元,而所述第一指令保留在主阵列中,从而绕过第一指令。附图说明附图仅仅图示本专利技术的示例性实施例,因而并不限制本专利技术的范围,因为本专利技术的概念适用于其他等效实施例。图1示出了所公开处理器的一个实施例的框图。图2示出了图1中的处理器的发布队列的框图。图3示出了所公开处理器中的发布控制状态机的框图。图4A为描述所公开处理器的优先级状态机中的处理流程的流程图。图4B为包括年龄控制(age control)信息的发布队列的框图。图5为描述所公开处理器的插入控制状态机中的处理流程的流程图。图6为描述所公开处理器的底端行发布控制状态机中的处理流程的流程图。图7为描述所公开处理器的上层行压缩及副(side)发布状态机中的处理流程的流程图。图8为描述所公开处理器的就绪状态机中的处理流程的流程图。图9为所公开处理器的发布队列的框图,其被标记以示出指令插入、压缩及发布。图10为采用所公开处理器的信息处理系统的框图。具体实施例方式所公开处理器从存储器提取指令并解码那些指令。已解码指令分成两类,即“对于发布就绪”指令和“对于发布未就绪”指令。特定指令可能对于发布未就绪的原因包括1)该指令呈现相依关系,即,该指令在执行之前需要前面已发布指令的结果;2)该指令是“上下文同步指令”,即,该指令必须等待所有前面的指令执行完毕;3)存在“管线忙”的情况,即,该指令必须等待,因为处理器在前面执行了非管线指令;4)存在资源忙的情况,即,该指令需要不可用的资源,如已满的执行单元中的载入或存储队列。发布队列阻止对于发布尚未就绪的已解码指令到执行单元。当指令由于等待解决相依关系或其他原因停顿在发布队列中时,队列逻辑利用这个时间来更深地搜索发布队列,以定位任何无相依关系的、可以无序发布的指令。以这种方式,在已停顿指令等待相依关系的解决或其他阻止发布的原因的解决的同时,有用的处理器工作继续。处理器的发布队列包括按照行和列排列的指令存储位置阵列。发布队列包括行R1、行R2、…RN,其中N为发布队列的深度。发布队列发布指令到适当的执行单元以便执行。发布队列的输出包括发布点,从该点,对于发布就绪的指令发布到能够执行由该指令规定的功能的执行单元。如果行R1包括对于发布未就绪的指令,如呈现相依关系的指令,则行R1不能越过该发布点而前进。这种情况停顿发布队列的行R1。然而,当发布队列以这种方式停顿时,发布队列逻辑可以在行R(1+1)即行R2中更深地搜索可发布的、无相依关系的指令。如果发布队列逻辑在行R2中找到这样的无相依关系的指令,则该无相依关系的指令绕过该无相依关系指令的已停顿行R1。以这种方式,处理器可以在较旧的、有相依关系的指令停顿的同时执行有用的工作。在一个实施例中,处理器从行R1、R2、…RN递归重复上述结构,其中N代表发布队列的深度。换句话说,处理器逐一地递归配置行。如果行RN包括无相依关系的指令,即对于发布就绪的指令,则发布队列逻辑使那个指令前进到前一行R(N-1)。以这种方式,该指令可以朝向发生导致发布队列更深搜索的停顿的行R,逐行地前进。当前进的指令到达行R1时,发布队列逻辑使得该指令发布到适当的执行单元。图1示出了处理器100的框图,其连接到存储器105。处理器100包括L2接口110,其连接到存储器105,以接收来自其的指令和数据。存储器105存储按程序顺序组织的指令。提取级115连接到L2接口110,使得处理器100能够从存储器105提取指令。更具体地,提取级115包括连接到L2接口110的提取单元120、以及L1指令高速缓存125。预解码单元130将L2接口110连接到L1指令高速缓存125,以预解码通过提取单元120的、来自存储器105的指令。L1指令高速缓存125连接到预解码单元130和调度单元135,如图所示。调度单元135通过多路复用器(MUX)145直接地、或者可选地通过微码单元150和MUX 145连接到解码器140,如本文档来自技高网
...

【技术保护点】
一种操作处理器的方法,包括:由指令提取单元从存储器提取指令,从而提供已提取指令; 由解码器解码已提取指令,解码器将已解码指令提供到发布队列,所述发布队列包括存储元件主阵列和存储元件辅阵列;由主阵列将已解码指令存储到包 括在主阵列中的存储元件行和列的矩阵中,以便无序发布到执行单元;由发布队列确定,主阵列是否被主阵列一行中的对于发布未就绪的第一指令所停顿,发布队列搜索主阵列的其他行,以定位对于发布就绪的第二指令;以及通过发布队列将第二指令转发 到辅阵列以便发布到执行单元,而第一指令保留在主阵列中,从而绕过第一指令。

【技术特征摘要】
US 2005-9-27 11/236,8351.一种操作处理器的方法,包括由指令提取单元从存储器提取指令,从而提供已提取指令;由解码器解码已提取指令,解码器将已解码指令提供到发布队列,所述发布队列包括存储元件主阵列和存储元件辅阵列;由主阵列将已解码指令存储到包括在主阵列中的存储元件行和列的矩阵中,以便无序发布到执行单元;由发布队列确定,主阵列是否被主阵列一行中的对于发布未就绪的第一指令所停顿,发布队列搜索主阵列的其他行,以定位对于发布就绪的第二指令;以及通过发布队列将第二指令转发到辅阵列以便发布到执行单元,而第一指令保留在主阵列中,从而绕过第一指令。2.如权利要求1所述的方法,其中,辅阵列包括按照行和列排列的多个存储元件,所述辅阵列包括发布行,所述方法还包括由发布行将对于发布就绪的指令提供到执行单元的步骤。3.如权利要求2所述的方法,其中,绕过步骤还包括,发布行将第二指令提供到执行单元。4.如权利要求2所述的方法,其中,主阵列的第一行连接到辅阵列的发布行,所述方法还包括,由主阵列的第一行将对于发布就绪的指令提供到辅阵列的发布行。5.如权利要求4所述的方法,还包括,由发布队列向主阵列驻入多条指令,其中一些指令是对于发布就绪的,而其他指令是对于发布未就绪的,发布队列首先驻入主阵列的第一行,然后驻入其的其他行。6.如权利要求5所述的方法,还包括,由发布队列将主阵列的第一行中的、对于发布就绪的指令发送到辅阵列的发布行,从而在主阵列的第一行中留下空闲存储元件。7.如权利要求6所述的方法,还包括,由发布队列从主阵列的第二行中的存储元件发送指令到主阵列的第一行中的空闲存储元件。8.如权利要求7所述的方法,还包括,由发布队列将主阵列的第一行中的先前空闲的存储元件内的指令发送到辅阵列的发布行,以便发布到执行单元。9.如权利要求7所述的方法,还包括,由发布队列将主阵列的第三行中的指令发送到主阵列的第二行中的空闲存储元件。10.一种处理器,包括提取级,被适配成从存储器提取指令,以提供已提取指令;解码器,连接到提取级,用于解码已提取指令;多个执行单元;以及发布队列,连接于解码器与所述多个执行单元之间,所述发布队列包括存储元件主阵列,其存储等待由执行单元无序执行的指令,所述发布队列还包括存储元件辅阵列,其连接到存储元件主阵列,所述发布队列确定主阵列是否被主阵列一行中的对于发布未就绪的第一指令所停顿,所述发布队列搜索主阵列的其他行来定位对于发布就绪的第二指令,所述发布队列通过将第二指令转发到辅阵列以便发布到执行单元,而...

【专利技术属性】
技术研发人员:乔纳森J德门特克里斯托弗M阿伯内西库尔特A费斯特戴维希皮
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

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

1