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

文档序号:9787161阅读:来源:国知局
ted Circuit,IC):组装在半导体材料上的小部分区块(传统上是硅芯片(si I icon))的电子电路集合。集成电路(IC)也可称为芯片(chip)、微芯片(microchip),或晶元(die)。
[0026]中央处理单元(Central Processing Unit,CPU):通过对数据进行运算(包括算术运算(arithmetic operat1n)、逻辑运算(logic operat1n),以及输入/输出运算(input/output operat1n)),来执行计算机程序(也称为“计算机应用”或“应用程序”)的指令的电子电路(即硬件)。
[0027]微处理器(Microprocessor):在一单一集成电路上具有如同中央处理单元功能的电子装置。微处理器接收数字数据作为输入,根据从存储器(在芯片上(on-die)或不在芯片上(off-die))提取的指令来处理数据,以及将经由指令指示的操作产生的结果作为输出。一般目的的微处理器会使用在桌上型计算机(desktop)、移动电话(mobile),或平板计算机(tablet computer)中,以及用来进行计算、文字编辑、多媒体播放,以及浏览网络。微处理器也会被配置在嵌入式系统以控制不同的装置,这些包括电器用品(appliance)、移动电话、智能型手机(smart phone),以及工业控制装置(industrial control device) ο
[0028]多内核处理器(Mult1-Core Processor):也可称作多内核微处理器(mult1-coremicroprocessor)。多内核处理器表示具有配置在单一集成电路上的多个中央处理单元(内核)的微处理器。
[0029]指令集架构(Instruct1nSet Architecture,ISA)或指令集(Instruct1nSet):计算机结构中与程序设计有关的部分,包含了数据类型(data type),指令集,寄存器,寻址模式(addressing mode),存储器结构(memory architecture),中断(interrupt),异常处理(except1n handling)以及输入/输出(input/output)。指令集架构包含运算码(opcode)(即机器语言指令)集合的设定,以及由特定中央处理单元执行的原生指令(native command)。
[0030]x86_兼容性微处理器(x86_Compatible Microprocessor):能够执行根据x86指令集架构所转译的计算机应用的微处理器。
[0031 ] 微程序代码(Microcode):用以进行与多个微指令(micro instruct1n)相关的项目。微指令(也称作原生指令(native instruct1n)),是在微处理器子单元(sub-unit)层级的指令。例示性的子单元包括整数单元(integer unit)、浮点单元(floating pointunit)、多媒体单元(multimedia(MMX)unit),以及加载/存储单元(load/store unit)。举例来说,会经由精简指令集计算机(reduced instruct1n set computer,RISC)微处理器来直接执行微指令。复杂指令集计算机(complex instruct1n set computer,CISC)微处理器,例如:x86-兼容性微处理器,x86指令会转译成相关的微指令,且相关的微指令会直接经由子单元或在复杂指令集计算机微处理器内的子单元来执行。
[0032]恪丝(Fuse):导电结构,传统上会以灯丝(filament)来配置,其能够经由让电压通过灯丝和/或电流流过灯丝,在所选取的位置被断开。熔丝会经由已知的制作技术(fabricat1n technology)配置在芯片表面型态上的特定的区域,以在所有可能编程的区域都配置灯丝。熔丝结构会熔断(或不熔断)在制作后,可提供配置在芯片上的对应装置所想要的可编程特性。
[0033]根据上述讨论到的多内核处理器中加载机制的背景,以及为了从非内核(non-core) 资源执行加载,使用在目前多内核处理器的相关技术,关于目前技术的限制及缺点的讨论将通过图1-图2来做说明。接着,会通过参考图3-图7,来说明本发明的讨论内容。
[0034]回到图1,图1为显示目前使用配置在每一内核101外部的共享资源的多内核处理器的方块图100。方块图100显示了装置芯片110,在装置芯片110上配置了四个处理器内核101。特别说明的是,在此所述的四内核(即四个内核101)的多内核微处理器仅是用以说明,但并非用以限制本发明。本发明所提出的原理和技术特征也可应用在具有不同数目的内核101的多内核微处理器。
[0035]如同本领域技术人员所了解的,为了设计和/或商业相关的原因,设计者会在内核101间选择共享某些处理器资源。以性能为考虑而言,这些共享资源传统上会如同内核101一样被配置在相同的装置芯片110上,且内核101会经由高速总线(high speed busses)111-114来存取这些共享资源。方块图100显示了例式性的共享资源,例如:层级2高速缓存103、随机存取存储器(random access memory,RAM) 104、总线单元(bus unit) 105、输入/输出单元 106、高阶可编程中断控制器(Advanced Programmable Interrupt Controller,APIC)107,以及熔丝阵列108。整体而言,这些如同内核101配置在相同的装置芯片110上,但却是配置在在内核101外部的共享资源103-108,在之后内容将会视为非内核资源102。因此,总线Bllll使得内核1101能够存取非内核资源102。总线B2112使得内核2101能够存取非内核资源102。总线B3113使得内核3101能够存取非内核资源102。总线B4114使得内核4101能够存取非内核资源102。在传统上的配置,多内核处理器会耦接至在装置芯片110外部的其它组件,例如:系统存储器(经由一存储器总线MEM进行存取)、输入/输出组件(经由总线1/0进行存取),以及系统控制组件(经由控制总线CTRL进行存取)。上述系统存储器包括一或多页表,用以存储虚拟地址以及物理地址间的一或多映像,并且可进行上述一或多页表的页表查找以提取操作数。在其它实施例中,非内核资源、系统存储器、输入/输出组件或系统控制组件可能未和多内核处理器被安置在相同的芯片上,而通过总线彼此耦接。
[0036]在操作上,每一内核101在操作系统控制下会执行从系统存储器所提取的相关的指令,以及执行对应想要执行的应用的操作数。一或多个内核101可存取一或多非内核资源102,且将经由对应的总线B1-B4以控制的方式来存取一或多非内核资源102。举例来说,在电源初始设定期间,一或多内核101会从熔丝阵列108执行加载操作以取得配置参数(熔丝阵列108存储对应的内核的配置数据、对应的加载微指令),或会从随机存取存储器104执行加载操作以取得派送信息(例如是:处理器的微程序代码)。在一般操作时,内核101会存取层级2高速缓存103以读取/写入不在内核上高速缓存(例如层级I高速缓存)的存储器操作数。内核101会存取总线单元105,以进行读取/写入存储器系统的动作,或者内核101会存取输入/输出单元106以经由输入/输出总线执行输入/输出的操作。内核101还会存取高阶可编程中断控制器107以执行中断操作。
[0037]现在来谈论图2,图2为显示在图1中每一当前的内核101中例示性的核层(corestage)的方块图200。在图2中显示了配置在装置芯片110的处理器内核201。处理器内核201包括经由总线241親接至转译层(translator stage)212的提取层(fetch stage)211。转译层212经由总线242耦接至更名层(rename stage)213。更名层213经由总线243耦接至重新执行多工层(replay mux stage)214。重新执行多工层214经由总线244親接至多个保留站RS1221.1-RSN 221.N以及加载保留站RSL 221.L。每一保留站RS1221.1-RSN221.N、RSL
221.L经由对应的派送总线251.1-251.N、251.L,耦接至对应的执行单元EU1222.1-EUN
222.N、EUL222.L。保留站RS1221.1-RSN 221.N、RSL 221.L经由总线245耦接至缓存数据226。每一保留站用以在所对应的总线(保留总线)进行检测和指示。
[0038I 注意地是,除了执行单元EUL外,剩余的执行单元EUl-EUN会包括典型超标量处理器所包含的单元,例如整数单元、浮点单元、多媒体单元以及存储单元。接下来则特别说明执行单元EUL,执行单元EUL其主要功能是从不同资源加载操作数,不同资源可像是系统存储器、系统输入/输出,以及如同图1所述的非内核资源230。
[0039]此外,执行单元EUL通过总线254耦接至层级I高速缓存223,以及通过总线256耦接至非内核资源230 ο对于大部分存储器操作数而言,加载单元222.L会先存取层级I高速缓存
223。若加载在层级I高速缓存223中未命中MISS,加载单元222.L就必须存取在非内核资源230的层级2高速缓存。执行单元EU1-EUN、EUL也经由总线252耦接至重排缓冲器(reorderbuffer)224。此外,执行单元EUL通过对应未命中信号MISS的总线253耦接至重排缓冲器
224。重排缓冲器224通过对应重新执行信号REPLAY的总线258耦接至重新执行多工层214,且通过总线257親接至收回单元(retire unit)225。收回单元通过对应写回信号WB(writeback)的总线255耦接至缓存数据226。
[0040]注意地是,在图2所示的核层中,处理器内核201仅用以举例说明现今的超标量处理器,或乱序处理器内核,以及仅用以为了说明本发明,但本发明并不以此为限。对于本领域技术人员而言,处理器核层可根据不同的架构以及应用而有所变化。
[0041]在操作上,程序指令(未显示)是提取层(提取单元)211从存储器所提取。在一x86-兼容性微处理器内核201中,这些程序指令和x86指令集架构一致。程序指令依序在总线241上提供给转译层212。转译层212转译这些程
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1