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

技术编号:13219901 阅读:78 留言:0更新日期:2016-05-13 00:31
用以改善在处理器中重新执行加载的装置与方法。一装置包括第一保留站和第二保留站。第一保留站派送第一加载微指令,且若第一加载微指令是指示多个非内核资源的其中一个的多个规定的加载微指令的其中一个,在保留总线进行检测和指示。第二保留站耦接至保留总线,且在第一加载微指令派送后的第一数量的时钟周期之后,派送和第一加载微指令相依的一或多个新的微指令以进行执行,以及若在保留总线上指示第一加载微指令是多个规定的加载微指令,缓存一或多个新微指令的派送,直到第一加载微指令取得操作数。非内核资源包括不在内核上的高速缓存。

Apparatus and method for improving re loading in a processor

Apparatus and method for improving re loading in a processor. A device includes a first reservation station and a second reservation station. The first delivery of the first reservation station loading microinstruction, and if the first loading of microinstructions is indicative of a plurality of non core resources including a number of provisions of a loading of the microinstruction one, detection and indication in the reserved bus. Second reservation station is coupled to the reserved bus, and the first delivery after the number of micro instruction cycles in the first loading, delivery and loading the first micro instructions dependent on one or more new micro instructions to execute, and if the reserved bus loading indicating the first microinstruction is a prescribed loading microinstruction cache, one or more new micro instruction delivery, until the first operand has loaded microinstruction. Non kernel resources include caches that are not on the kernel.

【技术实现步骤摘要】

本专利技术主要涉及一微电子领域的技术,特别涉及改善在一乱序(out-of-order)处理器中重新执行加载的一节能机制。
技术介绍
机体装置技术在过去四十年迅速地发展。尤其在微处理器的发展,从4位、单一指令、10微米装置开始,随着半导体生产技术的进步,使得设计者能够设计出在架构和密度越来越复杂的装置。在80和90年代所谓的管线(流水线)微处理器(pipelinemicroprocessor)和超标量处理器(superscalar),发展成可在单一芯片上包含百万颗晶体管。20年后的现今,64位、32-纳米装置已被量产,其在单一芯片上具有十亿颗晶体管,且包含多个微处理器内核(microprocessorcore)来处理数据。除了指令并行应用在现今的多内核处理器(multi-coreprocessor),乱序执行(out-of-orderexecution)机制也被广泛的使用。根据乱序执行规则,指令以队列的方式储存在保留站(reservationstation)以供执行单元来执行,且只有因为是旧指令(olderinstruction)的执行,而在等候操作数(operand)的那些指令,才会被拦截到保留站,没有在等候操作数的指令则会直接被派送去执行。接下来,执行的结果会被依适当的顺序以队列的方式排列并放回寄存器。传统上在处理器阶段(processorstage),会被称为收回状态(retirestate)。因此,指令并未依照原先程序的顺序来执行。因为除了在闲置的状态,执行单元可用以当旧的指令在等候其操作数时,执行新的指令(youngerinstruction),因此乱序执行改善了庞大流量的问题。如同本领域技术人员所了解的,指令不会总是成功地执行,因此当给定的指令无法成功地执行时,那个指令和其它新的指令就必须被重新执行。因为目前的机制,处理器会停止目前的执行,退回机器状态(machinestate)至无法成功执行指令之前的时间点,且重新执行未成功执行的指令和在未成功执行的指令被派送前已派送或未派送的所有新的指令,因此这样的概念被称为“重新执行(replay)”。然而,重新执行是一异常情况(exceptionalcase),且重新执行的性能影响通常是可忽略的。然而,缓存在保留站直到获得其操作数的缓存指令的性能影响则很大,微处理器的设计者已发展了加速技术,以允许当在执行前,有很高的可能性可取得指令的操作数时,特定的指令会先被派送。不仅特定的指令会被派送,运行的机制可适当地及时提供这些指令所需的操作数。在这应用中提出了一种加速技术,在此加速技术中,在其执行会导致从高速缓存查询操作数的加载指令被派送后,需要被假设有很高的机率存在内核上的高速缓存的操作数的新的指令,会根据规定的数量的时钟周期被派送。因此,当加载指令被派送时,多个在等待操作数的新指令会被安置在各自的保留站中,直到所规定的数量的时钟周期结束,然后新指令会被派送,以进行具有高确定性的执行,也就是新指令将可取得其所需的操作数。使用上述所提到的加速技术所产生的性能改善是显著的,所以微处理器的设计者传统上会全面地应用此技术在所有加载指令(例如:来自输入/输出的加载、不可高速缓存的加载(uncacheableloads)、来自中断寄存器(interruptregister)的加载、特定加载(specialloads)等),尽管当有许多加载指令时确实会花费比制订周期还要长的时间来取得其操作数,因此在预期可获得操作数的情况下,需要重新执行所有被派送的新指令。使用上述的加速技术所产生的性能改善大大补偿了,不常发生的重新执行所导致的性能损失。但是随着多内核处理器技术持续的进步,设计者发现了很少被存取的特定处理器资源,例如:层级2高速缓存(level2(L2)cache)、中断控制器(interruptcontroller)、熔丝阵列(fusearray)等,比较适合配置在多内核处理器芯片上共有的区域,而不是复制(replicate)到每一内核中。因此,像是上面所提到的资源,会被处理器内核所共享。如同本领域技术人员所了解的,从不在内核的资源(off-coreresource)(例如:熔丝阵列)中加载操作数所花费的时间会比从在内核的资源(on-coreresource)(例如:层级1高速缓存(L1cache))中加载还要长。此外,纵使根据上述加速技术需要重新执行被派送的新指令所导致的性能损失并不大,但目前的专利技术人员发现到,其对电源使用的影响是值得注意的,对于庞大数量的指令在上述条件下被执行时,指令几乎都会被重新执行。此外,这些指令的起始执行(initialexecution)本质上其实是浪费电源的,因此,这样的情况对于电池寿命(batterylife)、热轮廓(thermalprofile)和可靠度(reliability)而言是不利的。因此,能够经由改善重新执行的所需次数以节省处理器操作时所花费的电源的设备和方法是需要的。此外,在一乱序处理器中,为了节省处理器的电源,降低附载重新加载的机制是需要的。
技术实现思路
有鉴于上述现有技术的问题、缺点和限制,本专利技术提供了用以改善在一处理器重新执行加载的装置和方法。根据本专利技术的一实施例提供了一种用以改善在一乱序处理器重新执行加载的装置。上述装置包括了第一保留站以及第二保留站。所述第一保留站用以派送第一加载微指令,以及若所述第一加载微指令是指示多个非内核资源的其中一个的多个规定的加载微指令的其中一个,用以在保留总线进行检测和指示。所述第二保留站耦接至所述保留总线,且在所述第一加载微指令派送后的第一数量的时钟周期之后,用以派送和所述第一加载微指令相依的一或多个新的微指令以进行执行,以及若在所述保留总线上指示所述第一加载微指令是所述多个规定的加载微指令的其中一个,所述第二保留站用以缓存所述一或多个新的微指令的派送,直到所述第一加载微指令取得操作数。所述多个非内核资源包括不在内核上的高速缓存,用以储存未出现在一或多个内核上的存储器的系统存储器高速缓存的多个存储器操作数。根据本专利技术的另一实施例提供一种用以改善重新执行加载的装置。所述装置包括具有多个内核的多内核处理器。每一所述多个内核包括第一保留站,以及第二保留站。所述第一保留站用以派送第一加载微指令,以及若所述第一加载微指令是指示多个非内核资源的其中一个的多个规定的加载微指令的其中一个,用以在保留总线进行检测和指示。所述第二保留站耦接至所述保本文档来自技高网
...

【技术保护点】
一种用以改善在一乱序处理器重新执行加载的装置,其特征在于,所述装置包括:第一保留站,用以派送第一加载微指令,以及若所述第一加载微指令是指示从多个非内核资源的其中一个的多个规定的加载微指令的其中一个,用以在保留总线进行检测和指示;第二保留站,耦接至所述保留总线,且在所述第一加载微指令派送后的第一数量的时钟周期之后,用以派送和所述第一加载微指令相依的一或多个新的微指令以进行执行,以及若在所述保留总线上指示了,所述第一加载微指令是所述多个规定的加载微指令的其中一个,所述第二保留站用以缓存所述一或多个新的微指令的派送,直到所述第一加载微指令取得所述操作数;执行单元,耦接至所述第一保留站,用以接收和执行所述第一加载微指令;以及所述多个非内核资源,包括:不在内核上的高速缓存,用以储存未出现在一或多个内核上的存储器的系统存储器高速缓存的多个存储器操作数。

【技术特征摘要】
2014.12.14 IB PCT/IB2014/0031691.一种用以改善在一乱序处理器重新执行加载的装置,其特征在于,所
述装置包括:
第一保留站,用以派送第一加载微指令,以及若所述第一加载微指令是
指示从多个非内核资源的其中一个的多个规定的加载微指令的其中一个,用
以在保留总线进行检测和指示;
第二保留站,耦接至所述保留总线,且在所述第一加载微指令派送后的
第一数量的时钟周期之后,用以派送和所述第一加载微指令相依的一或多个
新的微指令以进行执行,以及若在所述保留总线上指示了,所述第一加载微
指令是所述多个规定的加载微指令的其中一个,所述第二保留站用以缓存所
述一或多个新的微指令的派送,直到所述第一加载微指令取得所述操作数;
执行单元,耦接至所述第一保留站,用以接收和执行所述第一加载微指
令;以及
所述多个非内核资源,包括:
不在内核上的高速缓存,用以储存未出现在一或多个内核上的存储器的
系统存储器高速缓存的多个存储器操作数。
2.根据权利要求1所述的装置,其特征在于,所述乱序处理器包括多内
核处理器,以及其中在所述多内核处理器的每一内核包括所述第一保留站和
所述第二保留站。
3.根据权利要求2所述的装置,其特征在于,所述多个非内核资源的其
中一个包括所述不在内核上的高速缓存,以及其中所述不在内核上的高速缓
存和所述每一内核一样被安置在相同的芯片上,但配置在所述每一内核之外。
4.根据权利要求2所述的装置,其特征在于,所述多个非内核资源未和
所述多内核处理器一样被安置在相同的芯片上,以及其中所述多个非内核资
源的其中一个经由和所述每一内核一样被安置在相同的芯片上的总线被存
取,但配置在所述每一内核之外。
5.根据权利要求1所述的装置,其特征在于,还包括:
若无接收到微指令以进行执行时,所述执行单元用以进入节能状态。
6.根据权利要求5所述的装置,其特征在于,若所述第一加载微指令非
所述规定的加载微指令,当超过成功执行所需的所述第一数量的时钟周期,

\t所述执行单元在对应非命中的总线上指示,所述第一加载微指令未成功执行,
且启动所述一或多个新的微指令的重新执行。
7.根据权利要求6所述的装置,其特征在于,若所述第一加载微指令是
所述规定的加载微指令,当超过成功执行所需的所述第一数量的时钟周期,
所述执行单元不会指示所述第一加载微指令未成功执行,且预防所述一或多
个新的微指令的重新执行。
8.一种用以改善重新执行加载的装置,其特征在于,所述装置包括:
多内核处理器,包括多个内核,其中每一所述多个内核包括:
第一保留站,用以派送第一加载微指令,以及若所述第一加载微指令是
指示多个非内核资源的其中一个的多个规定的加载微指令的其中一个,用以
在保留总线进行检测和指示;
第二保留站,耦接至所述保留总线,且在所述第一加载微指令派送后的
第一数量的时钟周期之后,用以派送和所述第一加载微指令相依的一或多个
新的微指令以进行执行,以及若在所述保留总线上指示了,所述第一加载微
指令是所述多个规定的加载微指令的其中一个,所述第二保留站用以缓存所
述一或多个新的微指令的派送,直到所述第一加载微指令取得所述操作数;
执行单元,耦接至所述第一保留站,用以接收和执行所述第一加载微指
令;以及
所述多个非内核资源,包括:
不在内核上的高速缓存,用以储存未出现在一或多个内核上的存储器的
系统存储器高速缓存的多个存储器操作数。
9.根据权利要求8所述的装置,其特征在于,所述多内核处理器包括x86-
兼容性多内核处理器。
10.根据权利要求8所述的装置...

【专利技术属性】
技术研发人员:吉拉德M卡尔柯林艾迪G葛兰亨利
申请(专利权)人:上海兆芯集成电路有限公司
类型:发明
国别省市:上海;31

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

1