微处理器融合搬运/算术逻辑运算/条件跳跃指令的制作方法

文档序号:6423042阅读:150来源:国知局

专利名称::微处理器融合搬运/算术逻辑运算/条件跳跃指令的制作方法
技术领域
:本发明涉及微处理器指令的转译,特别是涉及在转译过程中可融合一些宏指令的微处理器。
背景技术
:许多近代的微处理器都具有使用者可视的架构(有时被称为宏观架构(macroarchitecture)),亦即指令集和程序工程师可能用的资源(resource)及一明显可区隔的微观架构(microarchitecture)。宏指令是微处理器架构指令集中的指令。相对地,微运算指令(micro-op)是微观架构下的微观指令集(microinstructionset)中的指令。微处理器执行单元实际执行的是微运算指令而不是宏指令。指令转译器转译宏指令成一个或更多个微运算指令114,而这些微运算指令将被送到执行单元去执行。微处理器可以处理程序宏指令的指令处理量(throughput)或速率,大约就是指令转译器转译宏指令成一个或多个微运算指令的函数,这点对超大纯量(superscaler)和/或非循顺序(out-of-order)执行微处理器而言更是如此。
发明内容本发明提供一种微处理器,用以接收该微处理器的指令集架构的第一及第二相邻宏指令,其中第一宏指令命令微处理器从微处理器第二结构性寄存器去搬运一第一运算元到微处理器的一第一结构性寄存器,其中第二宏指令则是命令微处理器使用在第二结构性寄存器内的第一运算元及微处理器的第三结构性寄存器内的一第二运算元去执行一算术/逻辑运算以产生一运算结果,然后载入该运算结果到第一结构性寄存器内。微处理器包含一执行单元及一指令转译器。指令转译器用以同时转译第一及第二相邻宏指令成为单一微运算指令以供该执行单元执行;上述的单一微运算指令是命令该执行单元使用在该第二结构性寄存器内的第一运算元及第三结构性寄存器内的第二运算元去执行该算术/逻辑运算以产生运算结果,然后载入该运算结果到第一结构性寄存器内。本发明还揭示一种处理微处理器的指令集架构的第一及第二相邻宏指令的方法,其中上述第一宏指令命令该微处理器从微处理器第二结构性寄存器去搬运一第一运算元到该微处理器的一第一结构性寄存器,其中上述的第二宏指令命令该微处理器使用在该第二结构性寄存器内的第一运算元及该微处理器的第三结构性寄存器内的一第二运算元去执行一算术/逻辑运算以产生一运算结果,然后载入该运算结果到该第一结构性寄存器内。本发明的方法包含同时转译该第一及第二相邻宏指令成单一微运算指令以供该微处理器的一执行单元执行;上述的单一微运算指令命令该执行单元使用在第二结构性寄存器内的第一运算元及第三结构性寄存器内的第二运算元去产生运算结果,然后载入该运算结果到第一结构性寄存器内。图1是描绘依据本发明的微处理器的方块图。图2是说明ROB的一字段的方块图。图3是依据本发明的功能方块图,其描绘x86MOV型宏指令和x86ALU型宏指令及其被图1中的指令转译器所融合成为ALU微运算指令的功能方块图。图4描绘一流程图,为图1的微处理器执行宏指令融合及其被转译为微运算指令的执行方块图。图5是描绘本发明的微处理器的功能方块图。图6是依据本发明实施例,描绘x86MOV型宏指令、x86ALU型宏指令、以及x86JCC型宏指令被图5中的指令转译器所融合成为ALU/JCC微运算指令的功能方块图。图7描绘一流程图,为图5的微处理器执行宏指令融合及其被转译为微运算指令的执行方块图。附图符号说明100微处理器102指令高速缓存103撷取单元107指令指标寄存器105控制寄存器108指令转译器112微码单元114微运算指令116寄存器配置表IM执行单元148结构性寄存器202结果字段204已完成标志206例外标志208NSIP字段212已融合标志302运算码(opcode)字段304来源字段306目的字段312运算码字段314来源字段316来源/目的字段322运算码字段306地址来源字段312运算码(opcode)字段322运算码字段325来源B字段3来源A字段404,408,414,418,424,428,434,438图4流程图步骤704,708,714,718,724,728,734,738图7流程图步骤128重排序缓冲器(ROB)具体实施例方式请参考图1,其显示本发明微处理器100的方块图。微处理器100包含一指令高速缓存102及一指令撷取单元103,用以从指令高速缓存102撷取宏指令104。指令高速缓存102包含一指令指标寄存器107(architecturalinstructionpointer)。当一指令集的指令引退(retied)时,指令指标寄存器107就被指令流中的下一指令的地址所更新。在所提取的指令不属于有分支的情况下,指令流中的下一指令的地址就是下个顺序的指令;在所提取的指令属于有分支的情况下,指令流中的下一指令的地址就是依分支指令所分派的目标地址。大部分时间下,撷取单元103所提供的提取地址给指令高速缓存102不同于指令指标寄存器107的值,这是因为微处理器100的管线特性(pipelinednature)以及因为微处理器包含一分支预测器(branchpredictor),其预先所给的分支指令所分派的目标地址的时间,必须早于管线中指令被引退的时间。宏指令104是由微处理器100的指令集架构所指定。在本发明实施例中,微处理器100的指令集架构大致符合了x86的架构(请参考IA-3》,而宏指令104是来自x86的架构。一处理器被称为是一x86架构处理器,若它可以正确地执行一些应用程序的主要部分,并且这些应用程序是设计给x86处理器执行的话。一应用程序能正确地执行即是指能获得预期的运算结果,特别是指当微处理器100执行x86指令集并且包含x86使用者可视的寄存器集(registerset)之时。微处理器100也包含指令转译器108,用以转译宏指令104成为微运算指令114,以被微处理器100的执行单元IM所执行。以下将对指令转译器108进一步说明。微处理器100也包含一微码单元112,其包含一微码存储器,用以储存微码或微码程序(microcoderoutine)和微顺序器(microsequencer),用以从微码存储器指令提取微码,而微码也是微运算指令114。微处理器100也包含一寄存器配置表(registerallocationtable(RAT)116,用以依程序指令顺序,从指令转译器108及微码单元112中接收微运算指令114,寄存器配置表(RAT)116是一个产生及维护微运算指令114依附信息的配置表。寄存器配置表116耦接于一些个执行单元1及一微处理器100的重排序缓冲器ROB(Reorderbuffer)128。这些执行单元1执行微运算指令114,特别是对被选上的MOV及ALU宏指令104进行融合时,由这些执行单元1其中之一执行由指令转译器108所产生的ALU微运算指令114(如图3所示)。微处理器100还包含一结构性寄存器148及非结构性寄存器(未图示)的数据。在本发明实施例中,结构性寄存器148包括熟知的X86EFLAGS(标志)寄存器。ROB1是一环形队列(queue)或阵列的字段(entry),其结构详述于图2。每一ROB1字段432为不同的微运算指令114储存信息。寄存器配置表116也在每一微运算指令114被分派到保留站(未图示)之前,在ROB1中配置一字段给它,而保留站也是微运算指令114等待分派至执行单元IM前的储存处。因此,ROB1维护着微运算指令114在程序中的顺序,其使得ROB128可依据微运算指令114及它们所对应的宏指令104被转译的顺序来进行指令的引退。本发明的优点是指令转译器108可用以融合两个宏指令104成为单一微运算指令114。亦即,当指令转译器108检测到它接收到二个相邻宏指令104,而且该两个二个相邻宏指令104是宏指令104流的一指定型时,指令转译器108能够解码和转译该两个相邻宏指令104成为单一微运算指令114,例如一个ALU微运算指令114,用以执行两个融合宏指令104所指示的功能。更特别的是,指令转译器108融合两个相邻近的宏指令104中的第一个是一寄存器搬运(MOV)型宏指令,而第二个则是一个寄存器的算术-逻辑单元(ALU)型宏指令。寄存器搬(MOV)型宏指令的例子是M0VAPSXMM1,XMM2指令,这个指令命令微处理器100从XMMl寄存器搬运算元至XMM2寄存器。(ALU)型宏指令的例子是x86ADDPSXMMl,XMM3指令,这个指令命令微处理器100去加总XMMl寄存器及XMM3寄存器内的值,再将运算结果放回XMMl寄存器内。虽然上文仅以MOV型宏指令及ALU型宏指令为实例做说明,但应了解,还有许许多多的MOV型宏指令及ALU型宏指令存在,且在将来还有新的宏指令被产生,但本发明的实施例仍可应用其中。传统的指令转译器可转译如上所述的两个宏指令104成两个不同的微运算指令114。更特别的是,传统的指令转译器108可转译寄存器MOV型宏指令成为一第二微运算指令114。不过,本发明的指令转译器108将两个宏指令104融合成单一的ALU微运算指令114的好处是可以增加每个时钟周期下的指令数量或是微处理器100的处理量,因为微处理器100可以较少的资源去处理两个相邻寄存器M0V/ALU宏指令。例如,因为在指令转译器108处理后会少1个微运算指令114被分派到微处理器100的管线中,于是每一寄存器配置表116、保留站及ROB1都能少消耗了一个字段,这样即可有效增加执行非循序微处理器100的预视(Iookahead)能力,于是可利用指令层级平行(instruction-levelparallelism)的机制。此外,由于执行单元124少占用一个执行序列(slot),该执行序列就可以用于执行其它的微运算指令114。在指令转译器108内宏指令的融合也是有优点的,因为它可以使指令转译器108在每一时钟周期中消耗更多的宏指令104,于是可以每一时钟周期中发出有限数量的微运算指令114。还有,比起指令转译器108必须等一额外的时钟周期才能转译条件跳跃宏指令的情况来说,在相同时钟周期中能同时转译两个宏指令的能力,可允许指令转译器108能看到(see)以及很快地转译下一宏指令,这点对于下一个宏指令是分支宏指令的情形是更加重要的。更进一步的说,有能力在一时钟周期内引退两个宏指令也可增加处理量。最后,一个较小的指令转译器108要比较大的指令转译器108具有能以更小、更快且较低电耗的处理潜力。微处理器100也包含一控制寄存器105,其包含一位,该位可以依据在此描绘的融合特征,去命令指令转译器108是否执行融合的操作。请参考图2的功能方块图,其更详细的描绘图1中的ROB128的字段232,其包含一结果字段202以储存微运算指令114的一运算结果、一完成标志204、例外标志206、一下一顺序指令指标字段(NSIP;nextsequentialinstructionpointer)208、一已融合标志212。当一执行单元IM检测到一微运算指令114导致一例外条件时,执行单元IM会在配置给微运算指令114的字段232设定例外标志(exc^tflag)206o当微运算指令114准备引退时,若ROB1检测到例外标志206被设定,ROB1就采取必要动作,例如禁止以微运算指令114的运算结果更新微处理器100的结构状态、和/或引发一例外处理器(exceptionhandler),例如微码单元112,这部份将在后文再详加描述。已融合标志212用以指示微运算指令114是否被指令转译器108经由融合两个宏指令104所转译而来。NSIP字段208所持有的是下一顺序指令指标。NSIP是宏指令104被转译为微运算指令114之后的下一顺位指令的存储器地址。NSIP随微运算指令114的执行向下递增。在融合宏指令104的情况下,NSIP字段208所持有的是上一个融合宏指令104被转译为微运算指令114后的下一顺序指令。有关NSIP字段208的进一步细节描述请参见图4的方块434及图7的方块734。请参考图3,其描绘x86寄存器MOV型宏指令及寄存器ALU型宏指令的功能方块图、以及其依据本发明图1中的指令转译器108融合成一个ALU微运算指令114的情形。寄存器MOV型宏指令104包含一运算码(opcode)字段302、来源字段304及一目的字段306。来源字段304指定待搬运的数据运算元来源寄存器、目的字段306指派要将来源寄存器的数据运算元搬去的目的寄存器。寄存器ALU宏指令104包含一运算码(opcode)字段312、一来源字段314及一来源/目的字段316。来源字段314指派运算码内所指派的算术/逻辑运算的第一数据运算元的来源寄存器。ALU微运算指令114包含一运算码字段322、一来源A字段324、来源B字段325及一目的字段326。指令转译器108传送寄存器MOV宏指令104的值到ALU微运算指令114的来源字段324。指令转译器108传送来源/目的字段316的值到ALU微运算指令114的目的字段326。请参考图4的流程图,其说明了图1的微处理器100执行指令融合及执行微运算指令114转译的结果。流程开始于方块404。于方块404中,指令转译器108从指令高速缓存102接收了x86MOV型的宏指令104和相邻的x86ALU型宏指令104。特别的是,寄存器MOV宏指令104指定第一寄存器(通常是REGY)给来源字段304并指定第二寄存器(通常是REGX)给目的字段306。此外,寄存器ALU宏指令104指定第三寄存器(通常是REGZ)给来源/目的字段316,并由寄存器MOV宏指令104所指定的目的字段306做为其来源/目的字段316。本申请发明人了解到寄存器MOV宏指令104及寄存器ALU宏指令104的结合,可有效率的执行ALU运算在REGY及REGZ上、然后将运算结果放回REGX的操作之中。因此,利用微处理器100微架构下的ALU指令,便能获得搭配(accommodate)两个来源运算元和一个第三目的运算元、以及使得指令转译器108融合成两个适当的寄存器-指定MOV型宏指令及ALU型宏指令成单一的ALU微运算指令114的好处。应注意的是,指定”加(add)”以外的ALU运算的ALU宏指令104,也以能通过本发明的方法被融合。流程接着到方块408。于方块408中,指令转译器108转译于方块404中所接收的宏指令104成为单一ALU微运算指令114,如图3所示。此外,指令转译器108也计算上一个融合宏指令104的NSIP,亦即在ALU宏指令104之后的宏指令104的存储器地址。接着前进到方块414。于方块414中,寄存器配置表116接收了ALU微运算指令114并计算它的依附性,并且在ROB128内为它配置了一字段232。寄存器配置表116设定已融合标志212以指示它是从已融合的宏指令104转译来的。此外,寄存器配置表116以方块408所计算的NSIP填入字段232的NSIP字段208。最后,寄存器配置表116分派ALU微运算指令114给保留站以提供给执行单元1执行。接着前进到方块418。于方块418中,执行单元IM对来源A字段3M及来源B字段325的运算元,执行ALU微运算指令114所指定的ALU运算以得到一运算结果。执行单元IM提供该运算结果给ROB128以储存在结果字段202中(下一个字段是目的字段326,其为遇到例外条件时,在方块434用来指定目的寄存器的字段)。依据ALU操作的运算结果,执行单元IM也产生一立即的EFLAGS结果。最后,执行单元IM设定已完成标志204。流程推进至方块424。于方块似4中,ROB检测到ALU微运算指令是ROB1中最旧的已完成微运算指令114。亦即,ROB1检测到字段232已是ROB1的顶端,且已完成标志204被设定。流程推进至方块428。于方块428中,ROB128判断ALU微运算指令114是否导致一个例外条件。亦即,ROB128将判断配置给ALU微运算指令114的ROB字段232中的例外标志206是否被设定。如果是,则流程进到438,否则流程推进至方块434。于方块434中,ROB1将引退寄存器MOV及寄存器ALU宏指令104,这部份的操作还包含以ALU微运算指令114的字段232中的结果字段202的值来更新REGX(该寄存器是ALU微运算指令114的目的字段3所指定)。此外,ROB1弓丨退ALU微运算指令114也包含利用在方块418所产生的立即值,来更新结构性EFLAGS寄存器。最后,ROB1引退ALU微运算指令114时,亦包含运用NSIP字段208的值来更新结构性指令指标寄存器107。在一实施例中,ROB1是在同一时钟周期中引退这两个宏指令104,流程结束于方块434。于方块438中,因为一个例外状况已被检测,ROB128就不用ALU微运算指令114的运算结果更新微处理器100的结构状态,而是由ROB128引发微码单元112内的一例外处理器。例外处理器命令撷取单元103清除(flush)在微处理器100管线内,所有比ALU微运算指令114更新(newer)的指令。例外处理器也在图1中的控制寄存器105设定了一个融合关闭的位,并致使撷取单元103分支回到第一已融合的宏指令104,亦即回到x86寄存器MOV宏指令104。这将使指令转译器108重新转译寄存器MOV宏指令104及寄存器ALU宏指令104。不过,现阶段的指令转译器108不要融合该两个x86指令成单一微运算指令,而是以传统的方式转译成两个不同的微运算指令114。亦即,指令转译器108转译寄存器MOV宏指令成一寄存器MOV微运算指令114、以及转译寄存器ALU宏指令成一寄存器ALU微运算指令114。于是,寄存器配置表116将不在ROB配置给两个微运算指令114的字段232内设定已融合标志212,而寄存器配置表116会用寄存器ALU宏指令104的存储器地址来填入传统寄存器MOV微运算指令114的NSIP字段208,并且以寄存器ALU宏指令104的下一宏指令104的存储器地址填入传统寄存器ALU微运算指令114的NSIP字段208。因此,当两个宏指令104被转译成两个微运算指令114时,ROB128就能据此判断两个宏指令104的那一个导致例外状况,而微处理器100便能适当的处理此例外情形。在一实施例中,例外处理器写入控制寄存器105内的融合关闭的位的操作,会产生一脉冲给指令转译器108,使得指令转译器108不会去融合下一个它所遇到的宏指令104(亦即不会对寄存器MOV宏指令104、随后跟着寄存器ALU宏指令104的状况进行融合),而是在之后的适当情形下才重新启动指令融合的操作。流程结束于438。请参考图5的方块图,其描绘本发明的微处理器100的结构。图5的方块图中的微处理器100与图1的方块图中的微处理器100有些相似,但是图5中的微处理器100是用以融合三个宏指令104成为单一微运算指令114,亦即当指令转译器108检测到从宏指令流所接收到指定的三个相邻宏指令104时,指令转译器108能解码及转译三个相邻接的宏指令104成为单一微运算指令114,亦即是一个ALU/JCC微运算指令114,用以执行三个已融合的宏指令104所指示、或是共同完成的功能。特别是,指令转译器108所融合的三个相邻接的宏指令104,其中第一个是寄存器搬运(MOV)型宏指令104,一如图1中所述;第二个是寄存器算术/逻辑(ALU)型宏指令104,也是如图1中所述;再一个则是条件跳跃宏指令(JCC)型宏指令。JCC的一例是x86Jcc指令,如JNE(跳若不等的话)、JZ(跳若是0)等等,其在条件是真时命令微处理器100跳到一目标地址(它的偏离值是从指令本身的地址由Jcc指令所指定),否则去提取顺序的下一指令。上述的JCC型宏指令并不限定于此,应当了解还有许许多多的条件跳跃型宏指令存在,且在将来还有新创的,但本发明实施例仍可应用其中。传统的指令转译器108也可转译上述的三个相邻宏指令104成为三个不同的微运算指令114。特别是,传统的指令转译器108可转译寄存器MOV宏指令104成第一微运算指令114、转译寄存器ALU宏指令104成第二微运算指令114、转译寄存器JCC宏指令104成第三微运算指令114。不过,本发明所揭示的指令转译器108可以融合三个相邻宏指令104成为单一ALU/JCC微运算指令114是有其优点的,因为它可增加每个时钟周期下的指令、或是微处理器100的处理量,因为微处理器100可以用较少的资源去处理三个相邻M0V/ALU/JCC的宏指令104。例如,因为在指令转译器108转译之后,将是少于2的微运算指令114被分派到微处理器100的管线中,而寄存器配置表116、保留站、以及ROB1都少消耗二个字段,其可以使有效增加非循序微处理器100的预视(Iookahead)能力,于是可利用指令层级平行(instruction-levelparallelism)的机制。此外,由于少占用执行单元124中的二个执行序列,这些执行序列就可以空出来执行其它的微运算指令。宏指令的融合在指令转译器108内是有优点的,因为指令转译器108可以在相同时钟周期下转译三个宏指令,这样便能让指令转译器108在每一时钟周期中发出限量的微运算指令114。还有,有能力在一时钟周期中转译三个宏指令,比起指令转译器108必须等一额外的时钟周才能转译第三个宏指令来说,可以使指令转译器108能看到(see)以及很快地转译下一宏指令,这对于下一个是分支宏指令的情形是更形言重要的。更进一步的说,有能力在一时钟周期内引退三个宏指令也可增加处理量。最后,一个较小(narrower)的指令转译器108要比较宽(wider)的指令转译器108具有能以更小、更快且较低电耗的处理的潜力。请参考图6的功能方块图,其更详细的描绘图1中的x86寄存器MOV宏指令104、x86寄存器ALU宏指令104、以及x86寄存器JCC宏指令104,以及本发明中,它们被图5的指令转译器108融合成一ALU/JCC微运算指令114的情形。寄存器MOV宏指令104和寄存器ALU宏指令104类似于图3所述。JCC宏指令104包含一运算码字段632和一偏离码字段634。偏离码字段634指定一偏离值,其是在运算码字段632所指定的条件满足时,撷取单元103需转换控制权并计算目标地址时使用之。寄存器ALU/JCC微运算指令114包含一运算码(opcode)字段322、一来源A字段324、一来源B字段325及一目的字段326。类似于图3所述寄存器ALU微运算指令114,其内容被指令转译器108以和图3所描绘的方式所填入,这部份将如图6所示。不过,ALU/JCC微运算指令114并不仅指定一ALU操作,并且也依据ALU操作的立即的EFLAGS结果,命令执行单元1去执行一条件跳跃,以下将有更详细的描绘。ALU/JCC微运算指令114也包含一偏离码字段628,而指令转译器108将传送JCC宏指令104的偏离码字段634内的值至此字段,如图6所示。请参考图7的流程图,其说明了图5的微处理器100执行宏指令融合及执行已转译的微运算指令114的结果。流程开始于方块704。于方块704中,指令转译器108从指令高速缓存102接收了x86MOV型的宏指令104、相邻的x86ALU型宏指令104、与相邻的x86寄存器JCC宏指令104。寄存器MOV宏指令104和寄存器ALU宏指令104和图4方块404类似,亦即寄存器MOV宏指令104指定第一寄存器(如REGY)给来源字段304并指定第二寄存器(如REGX)给目的字段306;而寄存器ALU宏指令104指定第三寄存器(如REGZ)给来源字段314,并指定第一寄存器(如REGY)为其来源/目的字段316。本申请发明人了解到寄存器MOV宏指令104及寄存器ALU宏指令104的结合,可有效率的执行ALU运算在REGY及REGZ上、然后将结果放回REGX的操作中。此外,它们提供了ALU/JCC微运算指令114,用以命令执行单元IM去执行一ALU运算以产生立即EFLAGS结果,并以该立即EFLAGS结果去执行一条件跳跃。因此利用微处理器10的微架构下的ALU指令,搭配(accommodate)两个来源运算元和一个第三目的运算元时,可使指令转译器108适当地融合三个寄存器-指定MOV型宏指令及ALU型宏指令及JCC宏指令104成为单一ALU/JCC微运算指令114。流程接着到方块708。于方块708中,指令转译器108转译于方块704中所接收的ALU/JCC微运算指令114成为单一ALU微运算指令114,如图6所示。此外,指令转译器108也计算上一个已融合宏指令104的NSIP,亦即在JCC宏指令104之后的宏指令104的存储器地址。接着前进到方块714。于方块714中,寄存器配置表116接收了ALU/JCC微运算指令114并且计算它的依附性,并在ROB1内为它配置了一字段232。寄存器配置表116也设定已融合标志212以指示它是从已融合的宏指令104转译来的。此外,寄存器配置表116以方块708所计算的NSIP填入寄存器配置表116的字段232中的NSIP字段208。最后,寄存器配置表116分派ALU/JCC微运算指令114给保留站以提供给执行单元IM执行。接着前进到方块718。于方块718中,执行单元IM对ALU/JCC微运算指令114中的来源A字段3M及来源B字段的运算元执行由ALU/JCC微运算指令114所指定的ALU运算,并将运算结果送往ROB128以储存在结果字段202中(下一个字段是目的字段326,其为遇到例外条件时,在方块434用来指定目的寄存器的字段)。执行单元IM亦依据ALU运算的结果产生一立即的EFLAGS结果,而执行单元IM也依据立即的EFLAGS结果,来执行ALU/JCC微运算指令114中的条件跳跃部分。亦即,执行单元IM判断立即的EFLAGS结果是否满足指定的条件并解出跳跃的正确目标地址。若条件满足,执行单元1以信号通知撷取单元103开始进行目标地址提取的动作。在一实施例中,微处理器100包含一分支预测器(branchpredictor)(未图示),用以预测条件分支指令(例如已融合JCC宏指令104)的方向与目标地址。在实施例中,执行单元124以它的方向和目标地址与预测的方向及目标地址作比较,并在预测不正确时由执行单元124以信号通知撷取单元103更正错误。最后,执行单元IM设定完成标志204,如图5所示。流程推进至方块724。于方块724中,ROB检测到ALU微运算指令是ROB128中最旧的已完成微运算指令114,亦即ROB128检测到ALU/JCC微运算指令114的字段232已在ROB128的顶端,且已完成标志204已被设定。流程推进至方块728。于方块728中,ROB128判断ALU/JCC微运算指令114是否已导致一个例外条件,亦即ROB128将会判断配置给ALU/JCC微运算指令114的ROB字段232的例外标志206是否被设定。如果是,则流程进到738,否则流程推进至方块734。于方块734中,ROB1引退寄存器MOV宏指令104、寄存器ALU宏指令104、以及寄存器JCC宏指令104,并以ALU/JCC微运算指令114的字段232中结果字段202的值来更新REGX(该寄存器是由ALU/JCC微运算指令114的目的字段326所指定)。此外,ROB128引退ALU/JCC微运算指令114,并以在方块718所产生的立即值来更新结构性EFLAGS寄存器。最后,引退ALU/JCC微运算指令114并包含更新结构性指令指标寄存器107的操作。若ALU/JCC微运算指令114不被采用(亦即在方块718所计算的立即的EFLAGS结果,不符合ALU/JCC微运算指令114所指定的条件),则结构性的指令指标寄存器107被储存在ALU/JCC微运算指令114的NSIP字段208中的值所更新,否则结构性的指令指标寄存器107将以方块718中所计算的目标地址所更新。在一实施例中,ROB1是在同一时钟周期中引退三个宏指令104。流程结束于方块734。于方块738中,因为一个例外状况已被检测,ROB128就不用ALU/JCC微运算指令114的运算结果更新微处理器100的结构状态,而是由ROB128引发微码单元112内的一例外处理器。例外处理器使撷取单元103清除(flush)在微处理器100管线内,所有比ALU/JCC微运算指令114还要新(newer)的指令。例外处理器也在图5中的控制寄存器105设定一个融合关闭的位,并且致使撷取单元103去分支回到(branchback)第一个已融合的宏指令104,亦即回到x86寄存器MOV宏指令104。这将致使指令转译器108重新转译(re-translate)寄存器MOV宏指令104、寄存器ALU宏指令104、及JCC宏指令104。不过,现阶段的指令转译器108将不会融合该3个x86指令成单一微运算指令,而是以传统的方式转译成3个不同的微运算指令114。亦即,指令转译器108转译寄存器MOV宏指令成一寄存器MOV微运算指令114、转译寄存器ALU宏指令成一寄存器ALU微运算指令114、以及转译JCC宏指令成一寄存器JCC微运算指令114。结果,寄存器配置表116将不在配置给三个微运算指令114的ROB字段232内设定已融合标志212,而寄存器配置表116将以习知的方式,用寄存器ALU微运算指令104的存储器地址填入寄存器MOV微运算指令114的NSIP字段208、以JCC宏指令104的存储器地址填入寄存器ALU微运算指令114的NSIP字段208、并以寄存器JCC宏指令1045之后的下一宏指令104的存储器地址填入JCC宏指令104的NSIP字段208。因此,当3个宏指令104再被转译成微运算指令114时,ROB1就能据以判断3个宏指令104的那一个导致例外状况,而微处理器100便能适当的加以处理。流程结束于方块738。在一实施例中,微处理器100可以包含同时以图1至图4所描绘的方式、以及图5至图7所描绘来进行融合宏指令的操作。本发明虽以较佳实例阐明如上,然其并非用以限定本发明精神与发明实体仅止于上述实施例。本领域的技术人员应可轻易了解并利用各种变化来产生相同的功效。因此,在不脱离本发明的精神与范畴内所作的修改,均应包含在本发明的权利要求内。例如,软件可使功能、制造、模块化,模拟,描绘和/或装置的测试及在此所抽描述的方法。这些都可使用一般的程序语言像C,C++,硬件描绘语言(HDL)包含VerilogHDL,VHDL等等,或其它的有效程序语言。可以用各种储存媒体如磁带、半导体、磁盘、光盘片(⑶-ROM,DVD-ROM)有线网络、无线网络,或其它通讯媒体。在此所描绘的装置和方法也可包含半导体知识产权的核心,如微处理器核心(嵌入于HDL)及转成硬件(集成电路产品)。此外,在此所描绘的装置和方法也可包含硬件及软件的结合。因此,本发明并不限于以上描绘的实施例,而是依据于本发明的权利要求及其等效。本发明也可实施于一般目的计算机的一微处理器。最后,本发明虽以较佳实例阐明如上,然其并非用以限定本发明精神与发明实体仅止于上述实施例。本领域的技术人员应可轻易了解并利用其它元件或方式来产生相同的功效。因此,在不脱离本发明的精神与范畴内所作的修改,均应包含在本发明的权利要求的范围内。权利要求1.一种微处理器用以接收该微处理器的指令集架构的第一及第二相邻宏指令,其中上述的第一宏指令命令该微处理器从该微处理器第二结构性寄存器去搬运一第一运算元到该微处理器的一第一结构性寄存器,其中上述的第二宏指令命令该微处理器使用在该第二结构性寄存器内的该第一运算元及该微处理器的第三结构性寄存器内的一第二运算元去执行一算术/逻辑运算以产生一运算结果,然后载入该运算结果到该第一结构性寄存器内,该微处理器至少包含一个执行单元;及一指令转译器,用以同时转译该第一及第二相邻宏指令成单一微运算指令以供该执行单元执行;其中该单一微运算指令命令该执行单元使用在该第二结构性寄存器内的该第一运算元及该第三结构性寄存器内的该第二运算元去执行该算术/逻辑运算以产生该运算结果,然后载入该运算结果到该第一结构性寄存器内。2.如权利要求1所述的微处理器,还包含一引退单元,用以在一时钟周期内引退该第一及第二宏指令。3.如权利要求1所述的微处理器,还包含一重排序缓冲器,每一该重排序缓冲器的字段都与一不同的微运算指令相关,每一该重排序缓冲器的该字段用以保持一下一顺位指令指标;其中因应于该指令转译器同时转译该第一及第二相邻宏指令成该单一微运算指令,该微处理器以紧随该第二宏指令之后的一宏指令的存储器地址填入与该单一微运算指令相关的该字段中。4.如权利要求3所述的微处理器,还包含该微处理器的一结构性指令指标寄存器;一引退单元,利用从与该单一微运算指令相关的该字段中的紧随该第二宏指令之后的该宏指令的存储器地址,用以更新该结构性指令指标。5.如权利要求1所述的微处理器,其中上述若该单一微运算指令造成了一个例外条件,该微处理器就使该指令转译器再重新转译该第一及第二相邻宏指令成为超过一个的微运算指令,并且造成该执行单元去执行该超过一个的微运算指令;其中上述的超过一个的微运算指令的第一个微运算指令命令该执行单元去从该微处理器第二结构性寄存器搬运一第一运算元到该微处理器的一第一结构性寄存器;其中上述的超过一个的微运算指令的第二个微运算指令命令该执行单元使用该微处理器的该第二结构性寄存器的该第一运算元,该微处理器的该第三结构性寄存器的该第二运算元以执行算术/逻辑运算以产生该运算结果,并且将该运算结果载回到该微处理器的该第一结构性寄存器。6.如权利要求5所述的微处理器,还包含微码单元,因应于该例外条件,用以使该指令转译器重新转译该第一及第二相邻宏指令成为该超过一个的微运算指令并执行该超过一个的微运算指令。7.如权利要求5所述的微处理器,还包含一重排序缓冲器,每一该重排序缓冲器的字段都与一不同的微运算指令相关,每一该重排序缓冲器的该字段具有一标志;其中因应于该指令转译器同时转译该第一及第二相邻宏指令成该单一微运算指令,该微处理器以紧随该第二宏指令之后的一宏指令的存储器地址填入与该单一微运算指令相关的该字段中。其中因应于该指令转译器重新转译该第一及第二相邻宏指令成该超过一个微运算指令,该微处理器以该第二宏指令的存储器地址填入与该超过一个微运算指令中的第一个微指令相关的字段,并以紧跟随该第二宏指令的存储器地址之后的一宏指令的地址填入该超过一个微运算指令中的第二个微运算指令的字段。8.如权利要求7所述的微处理器,还包含一微处理器的结构性指令指标器;及一引退单元,其中若该单一微运算指令没有造成该例外条件时,该引退单元就在同一个时钟周期下同时引退该第一及第二宏指令,并以紧跟随该第二宏指令的存储器地址之后的一宏指令的地址去更新该结构性指令指标器。9.如权利要求8所述的微处理器,其中若该超过一个微运算指令的该第一个微运算指令没有造成该例外条件时,该引退单元就引退该第一宏指令,并且以该第二宏指令的存储器地址去更新该结构性指令指标器;若该超过一个微运算指令的第二个微运算指令没有造成该例外条件时,该引退单元就引退该第二宏指令,并且以紧随该第二宏指令之后的一宏指令的存储器地址去更新该结构性指令指标器。10.如权利要求5所述的微处理器,还包含一重排序缓冲器,每一该重排序缓冲器的字段都与一不同的微运算指令相关,每一该重排序缓冲器的该字段具有一标志;其中因应于该指令转译器同时转译该第一及第二相邻宏指令成该单一微运算指令,该微处理器利用一第一预设值来设定相关于该单一微运算指令的字段所具有的该标志;其中因应于该指令转译器重新转译该第一及第二相邻宏指令,该微处理器利用不同于该第一预设值的第二预设值,用以设定相关于该超过一个的微运算指令中的第一个微运算指令及第二个微运算指令的字段所具有的该标志。11.一种微处理器处理该微处理器的指令集架构的第一及第二相邻宏指令的方法,其中上述的第一宏指令命令该微处理器从该微处理器的第二结构性寄存器去搬运一第一运算元到该微处理器的一第一结构性寄存器,其中上述的第二宏指令命令该微处理器使用在该第二结构性寄存器内的该第一运算元及该微处理器的第三结构性寄存器内的一第二运算元去执行一算术/逻辑运算以产生一运算结果,然后载入该运算结果到该第一结构性寄存器内,该方法至少包含同时转译该第一及第二相邻宏指令成为一单一微运算指令以供该微处理器的一执行单元执行;其中该单一微运算指令命令该执行单元使用在该第二结构性寄存器内的该第一运算元及该第三结构性寄存器内的该第二运算元去产生该运算结果,然后载入该运算结果到该第一结构性寄存器内。12.如权利要求11所述的方法,还包含在一时钟周期内引退该第一及第二宏指令。13.如权利要求12所述的方法,其中上述微处理器包含一重排序缓冲器,每一该重排序缓冲器的字段都与一不同的微运算指令相关,每一该重排序缓冲器的字段具有一标志,用以保持一下一顺位指令指标,该方法还包含因应于同时转译该第一及第二相邻宏指令成为该单一微运算指令,利用紧随该第二宏指令后的一宏指令的存储器地址,用以填入相关于该单一微运算指令的该字段。14.如权利要求13所述的方法,其中上述微处理器包含一微处理器的结构性指令指标寄存器,该方法至少包含利用与该单一微运算指令相关的该字段内的紧随该第二宏指令后的一宏指令的存储器地址,用以更新该结构性指令指标寄存器。15.如权利要求11所述的方法,还包含若上述该单一微运算指令造成一例外条件时,重新转译该第一及第二相邻宏指令成为超过一个微运算指令,并使该执行单元去执行该超过一个的微运算指令;其中上述的超过一个微运算指令中的第一个微运算指令从该第二结构性寄存器去搬运一第一运算元到该第一结构性寄存器;其中上述的超过一个微运算指令中的第二个微运算指令命令该执行单元使用该第二结构性寄存器的该第一运算元及该第三结构性寄存器的该第二运算元去执行该算术/逻辑运算用以产生该运算结果。16.如权利要求15所述的方法,还包含引发该微处理器的微码,以因应于该例外条件;其中上述的微码使得重新转译该第一及第二相邻宏指令成为该超过一个微运算指令,并使该执行单元去执行该超过一个微运算指令。17.如权利要求15所述的方法,其中上述的微处理器包含一重排序缓冲器,每一该重排序缓冲器的字段都与一不同的微运算指令相关,每一该重排序缓冲器的字段具有一标志,用以保持一下一顺位的指令指标,该方法还包含因应于该指令转译器同时转译该第一及第二相邻宏指令成该单一微运算指令的步骤,该微处理器以紧随该第二宏指令之后的一宏指令的存储器地址填入与该单一微运算指令相关的该字段中;及因应于该指令转译器重新转译该第一及第二相邻宏指令成该超过一个微运算指令的步骤,该微处理器以该第二宏指令的存储器地址填入与该超过一个微运算指令中的第一个微指令相关的字段,并以紧跟随该第二宏指令的存储器地址之后的一宏指令的地址填入该超过一个微运算指令中的第二个微运算指令的字段。18.如权利要求17所述的方法,其中上述的微处理器包含一结构的指令指标器及一引退单元,该方法包含在同一个时钟周期下同时引退该第一及第二宏指令,并在该单一微运算指令没有造成例外条件时,以紧随该第二宏指令后的该宏指令的存储器地址去更新一结构性指令指标寄存器。19.如权利要求18所述的方法,还包含引退该第一宏指令,并在该超过一个微运算指令的第一个微运算指令没有造成该例外条件时,以该第二宏指令后的存储器地址去更新该结构性指令指标寄存器;及引退该第二宏指令,并在该超过一个微运算指令的第二个微运算指令没有造成该例外条件时,以紧随该第二宏指令后的该宏指令的存储器地址去更新结构性指令指标寄存器。20.如权利要求15所述的方法,其中该微处理器包含一重排序缓冲器,每一该重排序缓冲器的字段都与一不同的微运算指令相关,每一该重排序缓冲器的字段具有一标志,用以保持一下一顺位指令指标,该方法还包含;因应于该指令转译器同时转译该第一及第二相邻宏指令成该单一微运算指令,该微处理器利用一第一预设值来设定相关于该单一微运算指令的字段所具有的该标志;及其中因应于该指令转译器重新转译该第一及第二相邻宏指令,该微处理器利用不同于该第一预设值的第二预设值,用以设定相关于该超过一个的微运算指令中的第一个微运算指令及第二个微运算指令的字段所具有的该标志。21.一种计算机程序产品,记录于至少一种计算机可读的媒体内以供电脑使用,该计算机程序产品至少包含一计算机可读的程序码,记录于该媒体内,以供指定一微处理器去接收该微处理器的指令集架构的第一及第二相邻宏指令,其中上述的第一宏指令命令该微处理器从该微处理器的一第二结构性寄存器去搬运运一第一运算元到该微处理器的一第一结构性寄存器,其中上述的第二宏指令命令该微处理器使用在该第二结构性寄存器内的该第一运算元及该微处理器的第三结构性寄存器内的一第二运算元去执行一算术/逻辑运算以产生一运算结果,然后载入该运算结果到该第一结构性寄存器内,该计算机可读的程序码至少包含第一程序码以指定一执行单元;及第二程序码以指定一指令转译器,用以同时转译该第一及第二相邻宏指令成为一单一微运算指令以供该执行单元执行;其中上述的单一微运算指令命令该执行单元利用在该第二结构性寄存器内的该第一运算元及该微处理器的第三结构性寄存器内的一第二运算元去执行一算术/逻辑运算以产生一运算结果,然后载入该运算结果到该第一结构性寄存器内。22.如权利要求21所述的计算机程序产品,其中上述的至少一种计算机可读的媒体是选自磁带、盘片、或其它磁性储存媒体、光学储存媒体、电子储存媒体、有线网络、无线网络,或其它通讯媒体。23.一种微处理器,用以接收该微处理器的指令集架构的第一、第二、及第三相邻宏指令,其中上述的第一宏指令命令该微处理器从该微处理器第二结构性寄存器去搬运一第一运算元到该微处理器的一第一结构性寄存器,其中上述的第二宏指令命令该微处理器使用在该第二结构性寄存器内的该第一运算元及该微处理器的第三结构性寄存器内的一第二运算元去执行一算术/逻辑运算以产生一运算结果,然后载入该运算结果到该第一结构性寄存器内,其中上述的第三宏指令在更新码满足一由该第三宏指令所指定的条件时,命令该微处理器跳到一目标地址,否则执行下一顺序指令,该微处理器至少包含一个执行单元;及一指令转译器,用以同时转译该第一、第二及第三相邻宏指令成单一微运算指令以供该执行单元执行;其中该单一微运算指令命令该执行单元使用在该第二结构性寄存器内的该第一运算元及该第三结构性寄存器内的该第二运算元去执行该算术/逻辑运算以产生该运算结果,然后载入该运算结果到该第一结构性寄存器内,然后依据该运算结果更新该条件码,并在该更新码满足由该第三宏指令所指定的该条件时命令该微处理器跳到该目标地址,否则执行下一顺序指令。24.如权利要求23所述的微处理器,还包含一引退单元,用以在一时钟周期内引退该第一、第二及第三宏指令。25.如权利要求23所述的微处理器,还包含一重排序缓冲器,每一该重排序缓冲器的字段都与一不同的微运算指令相关,每一该重排序缓冲器的该字段用以持有一下一顺位指令指标;其中因应于该指令转译器同时转译该第一、第二及第三相邻宏指令成该单一微运算指令,该微处理器以紧随该第三宏指令之后的一宏指令的存储器地址填入与该单一微运算指令相关的该字段中。26.如权利要求25所述的微处理器,还包含该微处理器的一结构性指令指标寄存器;一引退单元,利用从与该单一微运算指令相关的该字段中的紧随该第三宏指令之后的该宏指令的存储器地址,用以更新该结构性指令指标。27.如权利要求23所述的微处理器,其中上述若该单一微运算指令造成了一个例外条件,该微处理器就使该指令转译器再重新转译该第一、第二及第三相邻宏指令成为超过一个的微运算指令,并且造成该执行单元去执行该超过一个的微运算指令;其中上述的超过一个的微运算指令的第一个微运算指令命令该执行单元去从该微处理器第二结构性寄存器搬运一第一运算元到该微处理器的一第一结构性寄存器;其中上述的超过一个的微运算指令的第二个微运算指令命令该执行单元使用该微处理器的该第二结构性寄存器的该第一运算元,该微处理器的该第三结构性寄存器的该第二运算元以执行算术/逻辑运算以产生该运算结果,并且将该运算结果载回到该微处理器的该第一结构性寄存器;及其中上述的超过一个的微运算指令的第三个微运算指令在该更新码满足由该第三宏指令所指定的该条件时命令该执行单元跳到该目标地址,否则执行该下一顺序指令。28.如权利要求27所述的微处理器,还包含微码单元,因应于该例外条件,用以使该指令转译器重新转译该第一、第二及第三相邻宏指令成为该超过一个的微运算指令并执行该超过一个的微运算指令。29.如权利要求27所述的微处理器,还包含一重排序缓冲器,每一该重排序缓冲器的字段都与一不同的微运算指令相关,每一该重排序缓冲器的该字段具有一标志,用以持有一下一顺位指令指标;其中因应于该指令转译器同时转译该第一、第二及第三相邻宏指令成该单一微运算指令,该微处理器以紧随该第三宏指令之后的一宏指令的存储器地址填入与该单一微运算指令相关的该字段中;其中因应于该指令转译器重新转译该第一、第二及第三相邻宏指令成该超过一个微运算指令,该微处理器以该第二宏指令的存储器地址填入与该超过一个微运算指令中的第一个微指令相关的字段,并以紧跟随该第二宏指令的存储器地址之后的一宏指令的地址填入该超过一个微运算指令中的第二个微运算指令的字段,以及用紧跟在该第三宏指令之后的一宏指令的存储器地址填入该超过一个微运算指令中的第三个微运算指令的字段。30.如权利要求四所述的微处理器,还包含一微处理器的结构性指令指标器;及一引退单元,其中若该单一微运算指令没有造成该例外条件时,该引退单元就在同一个时钟周期下同时引退该第一、第二及第三宏指令,并以紧跟随该第三宏指令的存储器地址之后的一宏指令的地址去更新该结构性指令指标器。31.如权利要求30所述的微处理器,其中若该超过一个微运算指令的该第一个微运算指令没有造成该例外条件时,该引退单元就引退该第一宏指令,并且以该第二宏指令的存储器地址去更新该结构性指令指标器;若该超过一个微运算指令的该第二个微运算指令没有造成该例外条件时,该引退单元就引退该第一宏指令,并且以该第三宏指令的存储器地址去更新该结构性指令指标器;及若该超过一个微运算指令的第三个微运算指令没有造成该例外条件时,该引退单元就引退该第三宏指令,并且以紧随该第二宏指令之后的一宏指令的存储器地址去更新该结构性指令指标器。32.如权利要求27所述的微处理器,还包含一重排序缓冲器,每一该重排序缓冲器的字段都与一不同的微运算指令相关,每一该重排序缓冲器的该字段具有一标志;其中因应于该指令转译器同时转译该第一、第二及第三相邻宏指令成为该单一微运算指令,该微处理器利用一第一预设值来设定相关于该单一微运算指令的字段所具有的该标志;其中因应于该指令转译器重新转译该第一、第二及第三相邻宏指令,该微处理器利用不同于该第一预设值的第二预设值,用以设定相关于该超过一个的微运算指令中的第一个微运算指令、第二个微运算指令及第三个微运算指令的字段所具有的该标志。33.一种微处理器处理该微处理器的指令集架构的第一、第二及第三相邻宏指令的方法,其中上述的第一宏指令命令该微处理器从该微处理器的第二结构性寄存器去搬运一第一运算元到该微处理器的一第一结构性寄存器,其中上述的第二宏指令命令该微处理器使用在该第二结构性寄存器内的该第一运算元及该微处理器的第三结构性寄存器内的一第二运算元去执行一算术/逻辑运算以产生一运算结果,然后载入该运算结果到该第一结构性寄存器内,其中上述的第三宏指令在更新码满足一由该第三宏指令所指定的条件时,命令该微处理器跳到一目标地址,否则执行下一顺序指令,该方法至少包含同时转译该第一、第二及第三相邻宏指令成为一单一微运算指令以供该微处理器的一执行单元执行;其中该单一微运算指令命令该执行单元使用在该第二结构性寄存器内的该第一运算元及该第三结构性寄存器内的该第二运算元去产生该运算结果,然后载入该运算结果到该第一结构性寄存器内,然后依据该运算结果更新该条件码,并在该更新码满足由该第三宏指令所指定的该条件时命令该微处理器跳到该目标地址,否则执行下一顺序指令。34.如权利要求33所述的方法,还包含在一时钟周期内引退该第一、第二及第三宏指令。35.如权利要求33所述的方法,其中上述微处理器包含一重排序缓冲器,每一该重排序缓冲器的字段都与一不同的微运算指令相关,每一该重排序缓冲器的字段具有一标志,用以保持一下一顺位指令指标,该方法还包含因应于同时转译该第一、第二及第三相邻宏指令成为该单一微运算指令,利用紧随该第三宏指令后的一宏指令的存储器地址,用以填入相关于该单一微运算指令的该字段。36.如权利要求35所述的方法,其中上述微处理器包含一微处理器的结构性指令指标寄存器,该方法至少包含利用与该单一微运算指令相关的该字段内的紧随该第三宏指令后的一宏指令的存储器地址,用以更新该结构性指令指标寄存器。37.如权利要求33所述的方法,还包含若上述该单一微运算指令造成一例外条件时,重新转译该第一、第二及第三相邻宏指令成为超过一个微运算指令,并使该执行单元去执行该超过一个的微运算指令;其中上述的超过一个微运算指令中的第一个微运算指令是从该第二结构性寄存器去搬运一第一运算元到该第一结构性寄存器;其中上述的超过一个微运算指令中的第二个微运算指令命令该执行单元使用该第二结构性寄存器的该第一运算元及该第三结构性寄存器的该第二运算元去执行该算术/逻辑运算用以产生该运算结果;及其中上述的超过一个的微运算指令的第三个微运算指令是在该更新码满足由该第三宏指令所指定的该条件时命令该执行单元跳到该目标地址,否则执行该下一顺序指令。38.如权利要求37所述的方法,还包含引发该微处理器的微码,以因应于该例外条件;其中上述的微码使得重新转译该第一、第二及第三相邻宏指令成为该超过一个微运算指令,并使该执行单元去执行该超过一个微运算指令。39.如权利要求37所述的方法,其中上述的微处理器包含一重排序缓冲器,每一该重排序缓冲器的字段都与一不同的微运算指令相关,每一该重排序缓冲器的字段具有一标志,用以保持一下一顺位的指令指标,该方法还包含因应于该指令转译器同时转译该第一、第二及第三相邻宏指令成该单一微运算指令的步骤,该微处理器以紧随该第三宏指令之后的一宏指令的存储器地址填入与该单一微运算指令相关的该字段中;及因应于该指令转译器重新转译该第一、第二及第三相邻宏指令成该超过一个微运算指令的步骤,该微处理器以该第二宏指令的存储器地址填入与该超过一个微运算指令中的第一个微指令相关的字段、以该第三宏指令的存储器地址填入与该超过一个微运算指令中的第二个微指令相关的字段、并以紧跟随该第三宏指令的存储器地址之后的一宏指令的地址填入该超过一个微运算指令中的第三个微运算指令的字段。40.如权利要求39所述的方法,还包含在同一个时钟周期下同时引退该第一、第二及第三宏指令,并在该单一微运算指令没有造成例外条件时,以紧随该第三宏指令后的该宏指令的存储器地址去更新一结构性指令指标寄存器。41.如权利要求40所述的方法,还包含引退该第一宏指令,并在该超过一个微运算指令的第一个微运算指令没有造成该例外条件时,以该第二宏指令后的存储器地址去更新该结构性指令指标寄存器;引退该第二宏指令,并在该超过一个微运算指令的第二个微运算指令没有造成该例外条件时,以该第三宏指令后的存储器地址去更新该结构性指令指标寄存器;及引退该第三宏指令,并在该超过一个微运算指令的第三个微运算指令没有造成该例外条件时,以紧随该第三宏指令后的该宏指令的存储器地址去更新结构性指令指标寄存器。42.如权利要求37所述的方法,其中该微处理器包含一重排序缓冲器,每一该重排序缓冲器的字段都与一不同的微运算指令相关,每一该重排序缓冲器的字段具有一标志,该方法还包含;因应于该指令转译器同时转译该第一、第二及第三相邻宏指令成该单一微运算指令,该微处理器利用一第一预设值来设定相关于该单一微运算指令的字段所具有的该标志;及其中因应于该指令转译器重新转译该第一、第二及第三相邻宏指令,该微处理器利用不同于该第一预设值的第二预设值,用以设定相关于该超过一个的微运算指令中的第一个微运算指令、第二个微运算指令及第三个微运算指令的字段所具有的该标志。全文摘要一种微处理器融合搬运/算术逻辑运算/条件跳跃指令。该微处理器用以接收微处理器的指令集架构的第一及第二宏指令,第一宏指令命令微处理器从其第二结构性寄存器搬运第一运算元到第一结构性寄存器,第二宏指令命令微处理器使用在第二结构性寄存器内的第一运算元及微处理器的第三结构性寄存器内的第二运算元去执行一算术/逻辑运算以产生一运算结果,载入运算结果到第一结构性寄存器。指令转译器转译第一及第二相邻宏指令成为单一微运算指令以供一执行单元执行;单一微运算指令命令执行单元使用在第二结构性寄存器内的第一运算元及第三结构性寄存器内的第二运算元去执行算术/逻辑运算以产生运算结果,然后载入该运算结果到第一结构性寄存器内。文档编号G06F9/30GK102193775SQ20111010455公开日2011年9月21日申请日期2011年4月26日优先权日2010年4月27日发明者泰瑞.派克斯申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1