拥有带快慢重放路径的重放体系结构的处理器的制作方法

文档序号:6643920阅读:172来源:国知局
专利名称:拥有带快慢重放路径的重放体系结构的处理器的制作方法
对相关申请的交叉引用本申请是中请编号09/222,805的后继部分,该申请于12/30/98提交,而它又是申请编号08/746,547的后继部分,该申请于11/23/96被提出,现在是美国专利号5,966,544。本中请和上面确定的申请都被转让给了加利福尼亚州圣克拉拉的Intel公司。
背景技术
1.发明领域本发明通常与处理器领域有关,尤其与用于促进数据预测操作的有快和慢重放路径的重放体系结构有关。
2.背景信息

图1显示了美国专利号5,966,544中所公开的处理器100的一种实施方案的框图。图1中所示的处理器100包括以第一时钟频率(I/O时钟)操作的I/O环111、以第二时钟频率(例如慢时钟)操作的延迟-容许执行核心121、以第三时钟频率(例如,中等时钟)操作的延迟-不容许执行子-核心131以及以第四时钟频率(例如,快时钟)操作的延迟-关键(latency-critical)执行子-核心141。图1中所示的处理器100还包括时间乘和/或除单元110、102和130,像先前的申请中所讲的一样,它们可被配置用来给处理器100的子-核心的不同部分提供适当的计时。先前的申请中讲授这里什么最适当的特定部分是执行核心可以包括两个或多个以不同时钟速率操作的部分(子-核心)。
在操作中,I/O环111通过以I/O时钟频率执行不同的I/O操作和计算机系统中的其它部分(未显示)通信,所执行的操作如存储器读和写。例如,处理器100可以I/O时钟频率在I/O环111上执行I/O操作以从外部存储设备读入数据。不同的执行子-核心121、131和141能够根据输入指令和/或输入数据以它们各自的时钟频率执行不同的功能或操作。例如,延迟-容许执行子-核心121可以在输入数据上完成执行操作以产生第一个结果。延迟-不容许子-核心131可以在第一个结果上完成执行操作以产生第二个结果。同样,延迟-临界执行子-核心141可以在第二个结果上完成另一个执行操作以产生第三个结果。由不同的执行子-核心执行的不同操作包括算术操作、逻辑操作和其它操作等等。本领域的技术人员应该理解并懂得执行这些不同操作的顺序不必要按照多个执行子-核心的层次顺序。例如,输入数据可以立即直接进入最内层的子-核心,在那里获得的结果可以从最内层子-核心到任意其它子-核心或回到I/O环111以便写回。另外,像在先前的申请中所公开并讲授的那样,可以把片上高速缓冲存储器结构分割到处理器100的两个或更多部分。同样,根据片上高速缓冲存储器中所存储的数据的一个特征以一种时钟频率执行特定的操作和/功能,同时还可以根据存储在片上高速缓冲存储器中的数据的另一个特征以不同的时钟频率执行其它操作和/或功能。例如,可以在一个子-核心中以一种时钟频率执行关于片上高速缓冲存储器的路线预测器未命中,同时在另一个子-核心上以不同的频率执行TLB命中/未命中检测和/或页未命中检测。同样,在执行过程中可以比其它错误和状态更早地检测到特定的错误和状态。
图2描绘了先前的申请中所公开的处理器200的一种实施方案的框图,它包括一般的重放结构来促进数据预测操作。在这个实施方案中,处理器200包括调度器231,它耦合到复用器241以提供从指令高速缓冲存储器(I-cache)211接收到的指令给执行核心251以便执行。执行核心251可以在执行从复用器241接收到的不同指令当中执行数据预测。图2中所示的处理器200包括检查器单元281,以在确定数据检测出错时把执行过的指令的副本发回到执行核心251重新执行(重放)。然而,在这个一般重放结构中,检查器单元281位于执行核心251、TLB和标记逻辑261以及高速缓冲存储器命中/未命中逻辑271之后。可能在这个检查器定位允许检测之前已经知道不正确地执行了一些指令(即,因为数据预测错误)。准确地说,在一些情况下能够更早地检测到特定的错误和状态,甚至可以在TLB/TAG逻辑261和命中/未命中逻辑271被执行之前,这些错误和状态指出这些情况中的数据预测是错误的。不幸的是,因为检查器单元281的当前定位,因为错误的数据预测而被错误执行的相应指令在它们到达检查器281之前不会被送回到执行核心251重新执行或重放。因而,在知道已经因为错误的数据预测而不正确地执行了一条指令的时间直到相应的指令被送回重新执行的时间之间有一个不必要的延迟。因而,系统性能没有被优化到和让这些被不正确执行的指令在进程中较早地重新执行或重放本应该有的程度。
发明概述根据本发明的一个方面,所提供的微处理器包括执行核心、第一重放机制和第二重放机制。执行核心在执行第一条指令中进行数据预测。第一重放机制用来在检测到指示数据预测错误的第一类型的错误时通过第一重放路径重放第一条指令。第二重放机制用来在检测到指示数据预测错误的第二类型的指令时通过第二重放路径重放第一条指令。
附图概述参考附图将更完整地理解本发明的特征和优点,附图中图1是包括以不同频率操作的多个子-核心的处理器的一种实施方案的框图;图2显示了有一般重放结构的处理器的一种实施方案的框图;图3描绘了其中实现了本发明的讲授的处理器流水线的一种实施方案的框图;图4显示了有第一和第二重放机制的处理器的一种实施方案的框图;图5显示了有第一和第二重放机制的处理器的一种实施方案更详细的框图;图6显示了依照本发明的讲授的方法的一种实施方案的流程图。
详细描述在下面的详细描述中阐明了多种特定的细节以便提供对本发明的彻底理解。然而,本领域的技术人员应该理解没有这些特定细节也可以实现本发明。
在下面的论述中,利用对本发明的讲授来实现用于促进执行指令中的数据预测的方法、设备和系统。为了减少执行时间,执行单元在执行输入指令中完成数据预测。如果数据预测错误,就由执行单元重新执行输入指令直到获得正确的结果为止。一种实施方案中,如果检测到第一类型和第二类型的错误就确定数据预测错误。第一类型的错误可以在第二类型的错误之前被检测到。一种实施方案中,如果根据输入指令的执行检测到第一类型的错误就由第一检查器负责把输入指令的第一副本送回执行单元重新执行或重放。如果根据输入指令的执行检测到第二类型的错误就由第二检查器负责把输入指令的第二副本送回执行单元重新执行或重放。一种实施方案中,用选择器来根据预先确定的优先级机制提供后继输入指令、被不正确执行的指令的第一副本或第二副本给执行单元执行。对本发明的讲授适用于在执行指令中完成数据预测的任意处理器或机器。然而,本发明并不局限于执行数据预测的处理器或机器,并且能够应用于在其中需要多级重放机制的任意处理器和机器。
图3是可以在其中实现本发明的处理器流水线300的一种实施方案的框图。为了说明本发明的目的,术语“处理器”指能够执行指令序列的任意机器,它包括但不局限于通用微处理器、专用微处理器、图形控制器、音频处理器、视频处理器、多媒体控制器和微控制器。处理器流水线300包括多个处理级,并从取出级310开始。在这一级,指令被取出并被提供给流水线300。例如,可以从整合在处理器中或与其紧密相连的高速缓冲存储器中或者通过系统总线从外部存储器中取出宏指令。在取出级310取到的指令随后被输入解码级320,在那里指令或宏指令被解码成微指令或微操作(这里也称为UOP或uop)由处理器执行。在分配级330,分配执行微指令必需的处理器资源。流水线中的下一级是重命名级340,在那里对外部寄存器的引用被转换成内部寄存器引用以消除由寄存器重用产生的错误的依赖关系。在调度/分配级350,每个微指令或UOP被调度并分配到一个执行单元。随后在执行级360执行微指令或UOP。执行之后,在退出级退出微指令或UOP。
一种实施方案中,可以把上面描述的多个级组织成三个阶段。第一阶段可以称为是有序前端,包括取出级310、解码级320、分配级330和重命名级340。在有序前端阶段,指令以它们的初始程序顺序通过流水线300。第二阶段可以称为无序执行阶段,包括调度/分配级350和执行级360。在这个阶段,只要解决了一条指令的数据依赖并且适当的执行单元可用就调度、分配并执行该指令,而不管原始程序中它的顺序位置。第三阶段,称为有序退出阶段,它包括退出级370,在这一阶段以指令的原始、顺序程序顺序退出以保持程序的完整性和语义。
在有重放结构的处理器中,可以根据对输入指令的调度和执行采取特定的非常规行为。例如,即使一个输入UOP的源数据还没有准备好或未知,也可以把它分配到执行单元执行。如果根据该输入UOP的执行确定数据预测是错误的,就把相应的UOP发回到执行单元重新执行(重放)直到获得正确的结果为止。当然,希望限制重放或重新执行的次数,因为每个重放的UOP都使用可用资源并降低整体系统性能。此外,通过这样的冒险可以获得净性能的提高。例如,如果多数UOP以减少的周期数获得了正确的执行,而且只有少数UOP必须重放,那么相对于使所有UOP都等待和最坏情况可能占用的时间一样长的最小公分母情况整体吞吐量将会有所提高。
像先前的申请中所讲授的那样,可以分割片上数据高速缓冲存储器(也称为零级或L0数据高速缓冲存储器),使得它的数据存储阵列驻留在比根据数据存储阵列提供命中/未命中测定的逻辑更高的时钟区域中。TLB和标志逻辑也可以驻留在比数据存储阵列更慢的时钟区域中。TLB和标志逻辑也可以和命中/未命中逻辑位于相同时钟区域中,但并不要求这样。
能够获得净性能提高的一种情况是UOP的执行依赖于或者使用来自L0数据高速缓冲存储器的数据。而不是使所有UOP等到它们的源数据被确定为有效为止,在处理中早些投机性地分配并执行一些UOP-即使还不知道它,但觉得它有可能被执行—以使它们的源数据驻留在L0数据高速缓冲存储器中。在大多数情况下,将命中L0数据高速缓冲存储器并用有效数据作为源数据。只有在少数情况下,数据预测是错误的并不得不重放UOP。同样,大多数UOP在减少的周期数中得到了正确地执行,因而提高了整体性能。
图4是处理器400的一种实施方案的框图,处理器400有第一(也称为快或早)和第二(也称为慢或晚)重放路径以促进执行指令中的数据预测。如图4所示,处理器400包括调度器/分配器411,它耦合到指令高速缓冲存储器(未显示)来通过选择器(或复用器)421调度并分配从指令高速缓冲存储器接收到的第一条指令到执行核心431以便执行。一种实施方案中,执行核心431在执行输入指令当中完成数据投机。如上所述,即使输入指令的源数据可能还没有准备好或者是未知的,也可以对其进行分配。例如,输入指令的执行可能需要在或不在L0高速缓冲存储器中的源数据。然而,像上面所解释的那样,可以通过预测输入指令的执行所需的源数据驻留在L0数据高速缓冲存储器中来提高净性能。处理器400还包括第一重放机制441以在检测到指示数据预测错误的第一类型的错误时重新执行输入指令。一种实施方案中,第一类型的错误在第一阶段是可检测的。处理器400还包括第二重放机制451以在检测到指示数据预测错误的第二类型的错误时重新执行输入指令。一种实施方案中,第二类型的错误在第二阶段中是可以检测到的,第二阶段长于第一阶段。同样,如果已经检测到了第一类型的错误,本发明允许以比在指令必须等到检测到第二类型的错误时快得多的速度重新执行被不正确执行的指令。如图4所示,如果确定因为已经检测到的指示数据预测错误的第一类型的错误而不正确地执行了输入指令的执行,第一重放机制(快或早检查器)441将通过复用器421把相应的指令送回执行核心431重新执行(重放)。同样,如果确定因为检测到的指示数据预测错误或者存在其它错误条件的第二类型的错误而使输入指令的执行不正确,第二重放机制(慢或晚检查器)451将通过复用器421把相应的指令送回执行核心431重新执行(重放)。下面将详细描述图4中所示的第一和第二重放机制的功能和操作。
图5显示了处理器500的一种实施方案的更详细的框图,处理器500有上面参考图4描述的第一和第二重放路径。如图5所示,处理器500包括调度器511,它通过复用器521调度并分配从指令高速缓冲存储器(未显示)接收到的指令到执行核心531以便执行。下面详细描述复用器521的功能和操作。一种实施方案中,执行核心531在执行从复用器521接收到的输入指令中完成数据预测。处理器500还包括第一延迟单元541以产生输入指令的第一副本并在第一时钟区域内保存该输入指令的第一副本至少一个时钟周期。处理器500还包括第一检查器545,它耦合到第一延迟单元541和执行核心531。一种实施方案中,第一检查器545可配置用来确定数据预测关于第一错误类型集是否正确并在数据预测关于第一错误类型集错误时通过第一缓冲区547把输入指令的第一副本送回执行核心重新执行。如图5所示,处理器500还包括第二延迟单元551,它耦合到第一延迟单元,并且一种实施方案中它可配置用来产生输入指令的第二副本并在第二时钟区域内保存它至少一个时钟周期。处理器500包括第二检查器555,它耦合到第二延迟单元551和第一检查器545。一种实施方案中,第二检查器可配置用来确定指令的执行关于第二个错误类型集是否错误并在执行关于第二个错误类型集出错时通过第二缓冲区557把输入指令送回到执行核心531重复执行。如图5所示,复用器521耦合到调度器511、执行核心531、第一延迟单元541、第一检查器545、第二检查器555、第一缓冲区547和第二缓冲区557。一种实施方案中,复用器521可配置用来从指令高速缓冲存储器接收输入指令和后继指令,从第一检查器接收输入指令的第一副本,从第二检查器接收输入指令的第二副本。一种实施方案中,复用器521可以进一步配置用来根据预先确定的优先级方案有选择地提供后继指令、输入指令的第一副本或者输入指令的第二副本给执行核心531执行。一种实施方案中,给予输入指令的第二副本第一执行优先级,给予输入指令的第一副本第二执行优先级,给予后继指令第三执行优先级。一种实施方案中,第一优先级高于第二优先级,第二优先级高于第三优先级。一种实施方案中,第一个错误类型集是第二个错误类型集的子集。另一种实施方案中,第一个错误类型集是第二个错误类型集的补集。一种实施方案中,第一错误类型集包括指示0级高速缓冲存储器路线预测器未命中的错误,指示0级高速缓冲存储器CAM扩展不匹配的错误,以及指示存储转发缓冲数据未知的错误。一种实施方案中,第二错误类型集包含指示TLB未命中的错误,指示页未命中的错误,或者指示指令被不正确执行以及各自指令需要重新执行的任意其它错误,等等。一种实施方案中,第一延迟单元541可配置用来在第一时钟区域中的预先确定的时钟周期数之后提供输入指令的第一副本给第一检查器545。一种实施方案中,第一时钟区域中预先确定的时钟周期数近似对应于输入指令通过执行核心的时间延迟。
有些情况下处理器500中的另一个单元能够产生它自己的指令来执行它的对应功能。例如,处理器500中的存储器控制单元或存储器执行单元(未显示)有时可能需要在它自己的流水线中分配指令以便执行,它的流水线包括完整的存储操作或UOP来处理页面分割和TLB重新加载,等等。这些类型的指令被称为是制造指令,因为它们是由处理器500中的一个单元产生或制造的而且不在来自指令高速缓冲存储器的指令流中。一种实施方案中,复用器521还被耦合用来接收制造指令并把它们发送到执行核心531以便执行。因为复用器521可以同时从不同的路径接收指令,就需要一种预先确定的优先级机制来协调从不同路径送往复用器521的指令之间的执行优先级。例如,复用器可以在相同的处理周期或时钟周期中从调度器511接收后继指令、从第一检查器545接收将要重放的输入指令的第一副本、从第二检查器55接收将要重放的另一条输入指令、并从另一个单元(例如,存储器控制或执行单元)接收制造指令。一种实施方案中,复用器521给予来自指令高速缓冲存储器的指令以低优先级,给予来自第一检查器的重放指令以中优先级,给予来自第二检查器的重放指令以高优先级,给予制造指令以最高优先级。
如上所示,一种实施方案中,由第一检查器545检测到的错误条件可以是由第二检查器555检测到的错误条件的一个子集。这种情况下,第二检查器555需要提供健壮的检查,因为一旦UOP到达就不能由第二检查器555重放。另一种实施方案中,由第一检查器545处理的错误条件可以是由第二检查器555处理的错误条件的补集。这种情况下,第一检查器545将需要在它的错误情况集上提供健壮的检查,而不是上面所描述的“高度自信但不保证”的检查,因为后来的检查器将不再重新检查前面的检查器的结果。因而,子集模式是优选的。
如前所述,第二检查器555能够在不由第一检查器545处理器的错误情况上提供附加的和/或互补的检查。至于什么情况由哪个检查器处理器的决定可以由多个因素来确定,包括处理器性能的利害关系、设计复杂度、印模面积等等,但并不局限于这些因素。一种实施方案中,第二检查器555负责因为TLB未命中和可能出现在处理器500的存储器控制单元(未显示)的其它不同问题而重放指令。这些不同问题可能包括短时间内难以检测到的问题或错误,例如基于全物理地址检查的高速缓冲存储器未命中,基于全物理地址检查的不正确的转发存储,等等。
一种实施方案中,第一检查器545和第二检查器555合作控制复用器521的操作。如图5所示,复用器521根据从第一检查器545、第二检查器555接收到的选择信号以及从另一单元接收到的任选的另一个选择信号执行它的对应功能,所说的另一单元如产生不在来自指令高速缓冲存储器的指令流中的制造指令的存储器控制单元(未显示)。如果有来自多个不同路径的不止一条指令在等待执行,复用器521用这些不同的选择信号来确定哪条指令将被发送给执行核心531以在给定的处理周期中执行。一种实施方案中,制造指令被给予第一执行优先级,来自第二检查器555的指令被给予第二优先级,第二优先级低于第一优先级,来自第一检查器545的指令被给予第三优先级,第三优先级低于第二优先级,通过调度器511来自指令高速缓冲存储器的后继指令被给予第四优先级,第四优先级低于第二优先级。
一种实施方案中,一旦一个特定的UOP已经由第一检查器545送出用于快速回放,该UOP的相同示例将不会由第二检查器555送出用于慢速回放,因为那样将会存在副本。为了防止这种情况发生,一种实施方案中,每个UOP可以包括一些特殊的字段,由第一检查器545和第二检查器555用它们来协调两个检查器之间的回放活动。例如,一种实施方案中,一个UOP可以包括被称为NEEDS_FAST_REPLAY的字段,它由第一检查器545设置来指示第一检查器545想要把它发送出去用于快速回放。相应的UOP还可以包括另一个称为GOT_FAST_REPLAY字段。GOT_FAST_REPLAY字段,在一种实施方案中,由第一检查器545和第二检查器555之间的合作来设置。例如,假定因为已经检测到第一类型的错误,第一检查器想要发送第一条指令用于快速回放。这种情况下,第一检查器545将设置相应UOP的对应NEEDS_FAST_REPLAY字段以指示这个特定的UOP需要在快速回放路径上回放。如果在相同时钟周期中第二检查器555想要发送第二个UOP用于慢回放,第一条指令的GOT_FAST_REPLAY字段将被清除而且将控制复用器521选择慢回放UOP代替寻找快速回放的那个。然后,当第一个UOP到达第二检查器555时,它将被发送出去用于慢回放路径上的回放,因为已经设置了它的对应NEEDS_FAST_REPLAY字段。
图6描绘了方法600的一种实施方案的流程图,方法600使用快和慢回放路径来促进数据预测操作。方法600从模块601开始并进行到模块605。在模块605,执行核心或单元在执行输入指令中执行数据预测。方法600然后从模块605进行到模块609。在模块609,确定是否已经检测到第一类型的错误。像上面所解释的那样,一种实施方案中,如果L0数据高速缓冲存储器路线预测器未命中就会发生第一类型的错误,这种情况下数据不可能在L0数据高速缓冲存储器中,L0数据高速缓冲存储器CAM扩展不匹配(即,路线预测器命中但标记不匹配),或者存储转发缓冲区数据未知(即,数据被假定为从从存储转发缓冲区转发,但存储数据不要课堂),等等。在模块613,如果已经检测到第一类型的错误就重新执行输入指令。如上所述,当检测到第一类型的错误时,第一检查器单元(即,快或早检查器)将发送输入指令的一个副本用于在快重放路径上重放或重新执行。方法600进行到模块617。在模块617,确定是否已经检测到了第二类型的错误。在这种实施方案中,第二检查器(即,慢或晚检查器)负责确定第二类型的错误是否已经发生。在模块621,如果第二类型的错误已经发生,就重新执行输入指令。如上所述,如果已经发生了第二类型的错误,第二检查器负责发送输入指令的一个副本用于在慢重放路径上重放。
已经结合优选实施方案描述了本发明。按照前面的描述,对本领域的技术人员来说显然有很多方案、改进、变体和用途是非常明显的。
权利要求
1.一种微处理器,包括执行核心,在执行第一个指令中执行数据预测;第一重放机制,如果检测到指示数据预测错误的第一类型的错误就通过第一重放路径重放第一条指令;第二重放机制,如果检测到指示数据预测错误的第二类型的错误就通过第二重放路径重放第一条指令。
2.权利要求1的微处理器,其中第一类型的错误在第一个周期中是可检测的,第二类型的错误在第二个周期中是可检测的,第二个周期长于第一个周期。
3.权利要求1的微处理器,其中第一重放机制包括第一重放单元,产生第一条指令的第一副本并把第一副本在第一时钟区域中保持至少一个时钟周期;和第一检查器,确定是否已经检测到第一类型的错误,并且如果已经检测到第一类型的错误就把第一条指令的第一副本发回执行核心重放。
4.权利要求3的微处理器,其中第二重放机制包括第二重放单元,产生第一条指令的第二副本,并在第二时钟区域中保持第二副本至少一个时钟周期;和第二检查器,确定是否已经检测到第二类型的错误,并且如果已经检测到第二类型的错误就把第一条指令的第二副本发回执行核心重放。
5.权利要求4的微处理器,进一步包括指令高速缓冲存储器,存储并提供第一条指令以及一条后继指令给执行核心。
6.权利要求5的微处理器,进一步包括选择器,耦合用来从指令高速缓冲存储器接收后继指令、从第一检查器接收第一条指令的第一副本、从第二检查器接收另一条指令,选择器根据预先确定的优先级方案提供给执行核心执行的是来自指令高速缓冲存储器的后继指令、来自第一检查器的第一条指令的第一副本或者来自第二检查器的另一条指令。
7.权利要求6的微处理器,其中选择器包括一个复用器。
8.权利要求6的微处理器,其中另一条指令被给予第一执行优先级,第一条指令的第一副本被给予第二执行优先级,后继指令被给予第三执行优先级,第二执行优先级低于第一执行优先级,第三执行优先级低于第二执行优先级。
9.权利要求1的微处理器,其中第一类型的错误是第二类型的错误的子集。
10.权利要求1的微处理器,其中第一类型的错误是第二类型的错误的补集。
11.权利要求1的微处理器,其中第一类型的错误是从一组错误中选中的,该组错误由指示0级高速缓冲存储器路线预测器未命中的错误、指示0级高速缓冲存储器CAM扩展不匹配的错误和指示存储转发缓冲区未知的错误组成。
12.权利要求1的微处理器,其中第二类型的错误是从一组错误中选中的,该组错误由指示TLB未命中的错误和指示根据全物理地址检查的来自存储的不正确的转发的错误组成。
13.权利的微处理器,其中第一延迟单元是为了在第一时钟区域中预定义数量的时钟周期之后提供第一条指令的第一副本,第一时钟区域中预定义的时钟周期数量大致对应于第一条指令通过执行核心的延迟。
14.权利要求6的微处理器进一步包括用于制造不在来自指令高速缓冲存储器的指令流中的指令的装置。
15.权利要求14的微处理器,其中选择器被耦合用来接收制造出的指令并把它们发送到执行核心执行。
16.权利要求15的微处理器,其中选择器给予来自指令同速缓冲存储器的指令低优先级,给予来自第一检查器的重放指令中优先级,给予来自第二检查器的重放指令高优先级,给予制造出的指令以最高优先级。
17.一种方法包括在执行核心里执行第一条指令中执行数据预测;响应指示数据预测错误的第一类型的错误通过第一重放路径重新执行第一条指令;并响应指示数据预测错误的第二类型的错误通过第二重放路径重新执行第一条指令。
18.一种微处理器包括用于在执行第一条指令当中执行数据预测的装置;如果检测到指示数据预测错误的第一类型的错误用于通过第一重放路径重新执行第一条指令的装置;和如果检测到指示数据预测错误的第二类型的错误用于通过第二重放路径重新执行第一条指令的装置。
19.一种处理系统包括指令高速缓冲存储器,存储并提供第一条指令用于执行;耦合到指令高速缓冲存储器的调度器,调度从指令高速缓冲存储器接收到的第一条指令用于执行;执行核心,耦合用来执行从调度器分配来的第一条指令,在执行第一条指令当中执行数据预测;第一重放机制,如果检测到指示数据预测错误的第一个错误就把第一条指令的第一副本发回执行核心重新执行;第二重放机制,如果检测到指示数据预测错误的第二个错误就把第一条指令的第二副本发回执行核心重新执行。
全文摘要
根据本发明的一个方面,所提供的微处理器包括执行核心、第一重放机制和第二重放机制。执行核心在执行第一条指令当中执行数据预测。如果检测到指示数据预测错误的第一类型的错误,第一重放机制用来通过第一重放路径重放第一条指令。如果检测到指示数据预测错误的第二类型的错误,第二重放机制用来通过第二重放路径重放第一条指令。
文档编号G06F9/38GK1452736SQ00819421
公开日2003年10月29日 申请日期2000年12月29日 优先权日2000年2月14日
发明者M·D·乌普顿, D·A·萨格尔, D·D·博格斯, G·J·欣顿 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1