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

技术编号:13200853 阅读:72 留言:0更新日期:2016-05-12 10:16
一装置包括第一保留站和第二保留站。第一保留站派送第一加载微指令,且若第一加载微指令是指向多个非核心资源的其中一个的多个规定的加载微指令的其中一个,在保留总线进行侦测和指示。第二保留站耦接至保留总线,且在第一数量的时钟周期后,派送和第一加载微指令相依的新微指令,且若第一加载微指令是规定的加载微指令,第二保留站缓存新微指令,直到第一加载微指令取得操作数。非核心资源包括经由联合测试工作群组接口,通过规定的加载微指令被程序化的随机存取存储器,当初始化时,乱序处理器存取随机存取存储器以决定规定的加载微指令。

【技术实现步骤摘要】
用以改善在处理器中重新执行加载的装置与方法
本专利技术主要有关于一微电子领域的技术,特别有关改善在一乱序(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/0031701.一种用以改善在一乱序处理器重新执行加载的装置,其特征在于,所述装置包括:第一保留站,用以派送第一加载微指令,以及用以在保留总线进行侦测和指示所述第一加载微指令是否为指向多个非核心资源的其中一个的多个规定的加载微指令的其中一个;重新执行缩减器组件,用以检测所述规定的加载微指令是指示非核心资源,其中所述重新执行缩减器组件用以检测对应非核心资源的一加载微指令的运算码部份;第二保留站,耦接至所述保留总线,在所述第一加载微指令派送后的第一数量的时钟周期之后,用以派送和所述第一加载微指令相依的一或多个新的微指令以进行执行,以及若在所述保留总线上指示响应所述重新执行缩减器组件的检测,所述第一加载微指令是所述多个规定的加载微指令的其中一个,所述第二保留站用以缓存所述一或多个新的微指令的派送,直到所述第一加载微指令取得操作数,以及排除原本会导致重新执行的任何指示的判定;以及所述多个非核心资源,包括:随机存取存储器,经由联合测试工作群组接口,通过对应所述乱序处理器的所述多个规定的加载微指令被程序化,其中当初始化时,所述乱序处理器存取所述随机存取存储器以决定所述多个规定的加载微指令。2.根据权利要求1所述的装置,其特征在于,所述乱序处理器包括多核心处理器,以及其中在所述多核心处理器的每一核心包括所述第一保留站和所述第二保留站。3.根据权利要求2所述的装置,其特征在于,所述多个非核心资源的其中一个包括所述随机存取存储器,以及其中所述随机存取存储器和所述每一核心被安置在相同的芯片上,但配置在所述每一核心之外。4.根据权利要求2所述的装置,其特征在于,所述多个非核心资源的其中一个未和所述多核心处理器被安置在相同的芯片上,以及其中所述多个非核心资源的其中一个经由和所述每一核心一样被安置在相同的芯片上的总线被存取,但配置在所述每一核心之外。5.根据权利要求1所述的装置,其特征在于,还包括:执行单元,耦接至所述第一保留站,用以接收和执行所述第一加载微指令,以及若无接收到微指令以进行执行时,用以进入节能状态。6.根据权利要求5所述的装置,其特征在于,若所述第一加载微指令非所述规定的加载微指令,当超过成功执行所需的所述第一数量的时钟周期,所述执行单元在对应非命中的总线上指示所述第一加载微指令未成功执行,且启动所述一或多个新的微指令的重新执行。7.根据权利要求6所述的装置,其特征在于,若所述第一加载微指令是所述规定的加载微指令,当超过成功执行所需的所述第一数量的时钟周期,所述执行单元不会指示所述第一加载微指令未成功执行,且预防所述一或多个新的微指令的重新执行。8.一种用以改善重新执行加载的装置,其特征在于,所述装置包括:多核心处理器,包括多个核心,其中所述多个核心的每一核心包括:第一保留站,用以派送第一加载微指令,以及用以在保留总线进行侦测和指示所述第一加载微指令是否为指向多个非核心资源的其中一个的多个规定的加载微指令的其中一个;重新执行缩减器组件,用以检测所述规定的加载微指令是指示非核心资源,其中所述重新执行缩减器组件用以检测对应非核心资源的一加载微指令的运算码部份;第二保留站,耦接至所述保留总线,且在所述第一加载微指令派送后的第一数量的时钟周期之后,用以派送和所述第一加载微指令相依的一或多个新的微指令以进行执行,以及若在所述保留总线上指示响应所述重新执行缩减器组件的检测,所述第一加载微指令是所述多个规定的加载微指令的其中一个,所述第二保留站用以缓存所述一或多个新的微指令的派送,直到所述第一加载微指令取得操作数,以及排除原本会导致重新执行的任何指示的判定;以及所述多个非核心资源,包括:随机存取存储器,经由联合测试工作群组接口,通过对应乱序处理器的所述多个规定的加载微指令被程序化,其中当初始化时,所述乱序处理器存取所述随机存取存储器以决定所述多个规定的加载微...

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

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

1