用以改善在处理器中重新执行加载的装置与方法

文档序号:9787162阅读:453来源:国知局
用以改善在处理器中重新执行加载的装置与方法
【技术领域】
[0001 ]本发明主要涉及一微电子领域的技术,特别涉及改善在一乱序(out-of-order)处理器中重新执行加载的一节能机制。
【背景技术】
[0002]机体装置技术在过去四十年迅速地发展。尤其在微处理器的发展,从4位、单一指令、10微米装置开始,随着半导体生产技术的进步,使得设计者能够设计出在架构和密度越来越复杂的装置。在80和90年代所谓的管线(流水线)微处理器(pipe linemicroprocessor)和超标量处理器(superscalar),发展成可在单一芯片上包含百万颗晶体管。20年后的现今,64位、32-纳米装置已被量产,其在单一芯片上具有十亿颗晶体管,且包含多个微处理器内核(microprocessor core)来处理数据。
[0003]除了指令并行应用在现今的多内核处理器(mult1-coreprocessor),乱序执行(out-of-order execut1n)机制也被广泛的使用。根据乱序执行规则,指令以队列的方式储存在保留站(reservat1n stat1n)以供执行单元来执行,且只有因为是旧指令(olderinstruct1n)的执行,而在等候操作数(operand)的那些指令,才会被拦截到保留站,没有在等候操作数的指令则会直接被派送去执行。接下来,执行的结果会被依适当的顺序以队列的方式排列并放回寄存器。传统上在处理器阶段(processor stage),会被称为收回状态(retire state)。因此,指令并未依照原先程序的顺序来执行。
[0004]因为除了在闲置的状态,执行单元可用以当旧的指令在等候其操作数时,执行新的指令(younger instruct1n),因此乱序执行改善了庞大流量的问题。如同本领域技术人员所了解的,指令不会总是成功地执行,因此当给定的指令无法成功地执行时,那个指令和其它新的指令就必须被重新执行。因为目前的机制,处理器会停止目前的执行,退回机器状态(machine state)至无法成功执行指令之前的时间点,且重新执行未成功执行的指令和在未成功执行的指令被派送前已派送或未派送的所有新的指令,因此这样的概念被称为“重新执行(replay)”。
[0005]然而,重新执行是一异常情况(except1nal case),且重新执行的性能影响通常是可忽略的。然而,缓存在保留站直到获得其操作数的缓存指令的性能影响则很大,微处理器的设计者已发展了加速技术,以允许当在执行前,有很高的可能性可取得指令的操作数时,特定的指令会先被派送。不仅特定的指令会被派送,运行的机制可适当地及时提供这些指令所需的操作数。
[0006]在这应用中提出了一种加速技术,在此加速技术中,在其执行会导致从高速缓存查询操作数的加载指令被派送后,需要被假设有很高的机率存在内核上的高速缓存的操作数的新的指令,会根据规定的数量的时钟周期被派送。因此,当加载指令被派送时,多个在等待操作数的新指令会被安置在各自的保留站中,直到所规定的数量的时钟周期结束,然后新指令会被派送,以进行具有高确定性的执行,也就是新指令将可取得其所需的操作数。
[0007]使用上述所提到的加速技术所产生的性能改善是显著的,所以微处理器的设计者传统上会全面地应用此技术在所有加载指令(例如:来自输入/输出的加载、不可高速缓存的加载(uncacheable loads)、来自中断寄存器(interrupt register)的加载、特定加载(special loads)等),尽管当有许多加载指令时确实会花费比制订周期还要长的时间来取得其操作数,因此在预期可获得操作数的情况下,需要重新执行所有被派送的新指令。使用上述的加速技术所产生的性能改善大大补偿了,不常发生的重新执行所导致的性能损失。
[0008]但是随着多内核处理器技术持续的进步,设计者发现了很少被存取的特定处理器资源,例如:层级2高速缓存(level 2(L2)cache)、中断控制器(interrupt controller)、恪丝阵列(fuse array)等,比较适合配置在多内核处理器芯片上共有的区域,而不是复制(replicate)到每一内核中。因此,像是上面所提到的资源,会被处理器内核所共享。如同本领域技术人员所了解的,从不在内核的资源(off-core resource)(例如:恪丝阵列)中加载操作数所花费的时间会比从在内核的资源(on-core resource)(例如:层级I高速缓存(LIcache))中加载还要长。此外,纵使根据上述加速技术需要重新执行被派送的新指令所导致的性能损失并不大,但目前的发明人员发现到,其对电源使用的影响是值得注意的,对于庞大数量的指令在上述条件下被执行时,指令几乎都会被重新执行。此外,这些指令的起始执行(initial execut1n)本质上其实是浪费电源的,因此,这样的情况对于电池寿命(battery life)、热轮廓(thermal profile)和可靠度(reliability)而言是不利的。
[0009]因此,能够经由改善重新执行的所需次数以节省处理器操作时所花费的电源的设备和方法是需要的。
[0010]此外,在一乱序处理器中,为了节省处理器的电源,降低附载重新加载的机制是需要的。

【发明内容】

[0011]有鉴于上述现有技术的问题、缺点和限制,本发明提供了用以改善在一处理器重新执行加载的装置和方法。
[0012]根据本发明的一实施例提供了一种用以改善在一乱序处理器重新执行加载的装置。上述装置包括了第一保留站以及第二保留站。所述第一保留站用以派送第一加载微指令,以及若所述第一加载微指令是指向多个非内核资源的其中一个的多个规定的加载微指令的其中一个,用以在保留总线进行检测和指示。所述第二保留站耦接至所述保留总线,且在所述第一加载微指令派送后的第一数量的时钟周期之后,用以派送和所述第一加载微指令相依的一或多个新的微指令以进行执行,以及若在所述保留总线上指示了,所述第一加载微指令是所述多个规定的加载微指令的其中一个,所述第二保留站用以缓存所述一或多个新的微指令的派送,直到所述第一加载微指令取得操作数。所述多个非内核资源包括经由控制总线耦接至所述乱序处理器的控制元件。
[0013]根据本发明的另一实施例提供一种用以改善重新执行加载的装置。所述装置包括具有多个内核的多内核处理器。每一所述多个内核包括第一保留站,以及第二保留站。所述第一保留站用以派送第一加载微指令,以及若所述第一加载微指令是指向多个非内核资源的其中一个的多个规定的加载微指令的其中一个,用以在保留总线进行检测和指示。所述第二保留站,耦接至所述保留总线,且在所述第一加载微指令派送后的第一数量的时钟周期之后,用以派送和所述第一加载微指令相依的一或多个新的微指令以进行执行,以及若在所述保留总线上指示了,所述第一加载微指令是所述多个规定的加载微指令的其中一个,所述第二保留站用以缓存所述一或多个新的微指令的派送,直到所述第一加载微指令取得操作数。所述多个非内核资源包括经由控制总线耦接至所述多内核处理器的控制元件。
[0014]根据本发明的另一实施例提供了一种用以改善在乱序处理器重新执行加载的方法。所述方法的步骤包括:配置多个非内核资源,所述多个非内核资源包括一控制元件,其中所述控制元件经由控制总线耦接至所述乱序处理器。经由第一保留站派送第一加载微指令,以及若所述所述第一加载微指令是指向多个非内核资源的其中一个的多个规定的加载微指令的其中一个,在保留总线进行检测和指示;以及经由耦接至所述保留总线的第二保留站,在所述第一加载微指令派送后的第一数量的时钟周期之后,派送和所述第一加载微指令相依的一或多个新的微指令以进行执行,以及若在所述保留总线上指示了,所述第一加载微指令是所述多个规定的加载微指令的其中一个,缓存所述一或多个新的微指令的派送,直到所述第一加载微指令取得操作数。
[0015]关于本发明其它附加的特征与优点,本领域技术人员,在不脱离本发明的精神和范围内,当可根据本申请实施方法中所公开的执行联系程序的用户装置、系统、以及方法,做些许的更动与润饰而得到。关于产业利用性,本发明可应用在一般目的或特别目的的运算装置中使用的微处理器。
【附图说明】
[0016]图1为显示目前使用配置在每一内核101外部的共享资源的多内核处理器的方块图 100;
[0017]图2为显示在图1中每一当前的内核101中例示性的核层(corestage)的方块图200;
[0018]图3为显示根据本发明的实施例所述的对于来自非内核资源的加载具有一节能机制的多内核处理器的区块图300;
[0019]图4为显示在图3中每一内核301中例示性的核层(corestage)的方块图400;
[0020]图5为根据本发明的实施例所述的图4的非内核缓存组件461的区块图500;
[0021]图6为根据本发明的实施例所述的图4的每一保留站RSl-RSN的方块图600;
[0022]图7为根据本发明的实施例所述的图4的非内核未命中组件462的方块图700。
【具体实施方式】
[0023]以下描述本发明的示例性和说明性的实施例。为了清楚起见,在该说明书中没有对实际实现的所有功能进行描述,对于本领域技术人员而言将会理解的是,在对于任何该实际实现的开发中,可以进行许多实施方案特定的决定,以实现特定目标,诸如符合系统相关和业务相关的约束,其可以根据实现方案而不同。此外,应该理解的是,该开发工作可能是复杂和耗时的,但是对于受益于本公开的本领域技术人员而言其仍然是例行的任务。优选实施例的各种修改对于本领域技术人员而言将是显而易见的,并且本文中所界定的一般原理可应用于其它实施例。因此,本发明并不限于这里示出和描述的具体实施例,而是应被赋予与这里所公开的原理和新颖特征相一致的最广范围。
[0024]本发明将参考附图进行说明。在附图中示意性地示出的各种结构、系统、和设备仅仅是出于解释的目的,以便使其不以本领域技术人员所公知的细节来模糊了本发明。然而,包括附图来描述和解释本发明的说明性示例。应该理解的是,在此所用的字汇和词组应该被理解和解释为具有与现有技术的本领域技术人员对于这些字汇和词组的理解一致的含义。在此,术语或者短语的特定定义,(即不同于本领域技术人员所理解的常规和习惯意思的定义)没有通过术语或者短语的一贯的使用来暗示。对于用以具有特定含义(即具有不同于技术人员所理解的含义)的术语或短语,将以直接和毫不含糊地提供用于对于术语或短语的特定定义的定义方式来在说明书中清楚地阐明该特定的定义。
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1