CN101297255B - 可检测变化的集群体系结构 - Google Patents
可检测变化的集群体系结构 Download PDFInfo
- Publication number
- CN101297255B CN101297255B CN2005800519281A CN200580051928A CN101297255B CN 101297255 B CN101297255 B CN 101297255B CN 2005800519281 A CN2005800519281 A CN 2005800519281A CN 200580051928 A CN200580051928 A CN 200580051928A CN 101297255 B CN101297255 B CN 101297255B
- Authority
- CN
- China
- Prior art keywords
- territory
- clock
- output
- processor
- variations
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
本发明涉及用来提供可检测变化的集群体系结构的方法和装置。在本发明的—个实施例中,时钟域中的一个或多个变化被检测出,并用来调整所述时钟域的时钟信号。
Description
背景
本文一般涉及电子学领域。特别是,本发明的一个实施例涉及一种检测变化的集群体系结构。
通常,建立处理器的时钟频率要依据路程或关键路径(最差情况)的延迟,加上一些由于半导体制造工艺的规模(P)、工作电压(V)、温度(T)和在输入向量或值(I)的变化(PVTI)所留的安全裕度。一般来说,用PVTI描述的变化随技术规模因素而增长,结果,确定处理器的时钟时,安全裕度日益变为更占主导地位的分量。
同样,随着PVTI的变化程度的增大,安全裕度会对处理器的性能产生越来越大的影响。第一,电路验证可产生复杂的结果,这是因为变化会将关键路径转变为非关键路径。第二,时钟频率必须调整为低值,以保证得到正确的处理结果,这会在成本中反映出来。例如,可能必须放弃低效率的部分,而这会增加成本。
附图的简更说明
现参照附图进行详细的说明。附图中,位于一些附图标记最左边的一位或多位数标示该附图标记第一次出现时所在的附图。在不同附图中使用的同一附图标记表示类同或同一部件。
附图1表示根据一个实施例的集群体系结构的框图。
附图2表示根据一个实施例的响应一个或多个变化而调整时钟域中的时钟信号的方法的流程图。
附图3表示根据一个实施例的一个处理器的流水线站的框图。
附图4表示根据一个实施例的用于确定是否重新执行一个或多个推测执行指令的消费者的方法的流程图。
附图5和6表示根据本发明的各种实施例的计算系统的框图。
附图7表示根据一个实施例的计算系统的框图。
详细说明
在以下的描述中表示了许多具体细节,以深入理解不同的实施例。但是,没有这些具体细节也能实施本发明的一些实施例。在另外一些情况下,对一些熟悉的方法、处理过程、部件、电路不作详细说明,以免妨碍对本发明的特定实施例的理解。
文中讨论的一些实施例可提供一个可感知PVTI的一个或多个变化的集群体系结构(如具有多个时钟域的体系结构),诸如参照附图1-7中所述的那些结构。更具体地说,图1是表示根据一个实施例的集群体系结构100的框图。在一个实施例中,体系结构100可以代表一个或多个处理器内的逻辑部件(如参照附图5和6讨论的那些部件)。体系结构100可包括一个或多个域,例如二级缓存域102、前端域104以及一个或多个后端域106,它们的时钟频率可响应检测到的变化而自行调整,这些变化是根据传感器数据和/或给的时钟域中检测到的错误数检测到的。这些变化可以为半导体制造工艺变化、工作电压变化、温度变化和/或输入向量或值变化中的一个或多个。同样,在不同的实施例中,每一个域(例如,102、104和106)可多于或少于附图1所示的部件数。
二级(L2)缓存域102可包括一个L2缓存108(例如,用于存储包含数据的指令)、一个或多个L2传感器110和一个L2频率控制器112。L2传感器110可对应于L2缓存域102的一个或多个部件(如,L2缓存108),以检测域102内的一个或多个变化。如附图1所示,L2传感器110耦合与L2频率控制器112,以向L2频率控制器112报告L2缓存域102内出现的任何变化。这些变化也可根据L2缓存域102内检测出的错误数测出。L2频率控制器112可用检测出的变化来调整L2缓存域102的部件用的时钟信号。因此,L2频率控制器112可使位于L2缓存域102的部件针对改变中的变化进行调整。在一个实施例中,L2缓存108可以由多核处理器中的多个核共享,就像参照附图5和6所述的那样。同样,L2缓存108也可不与处理器核在同一晶片或芯片上。所以,在本发明的不同的实施例中,一个处理器可包括域104和106,并且可以包括或不包括L2缓存108。
如附图1所示,前端域104可包括:一个或多个前端传感器114、一个前端频率控制器116、一个重排序缓冲器118、一个更名及引导单元120、一个跟踪缓存122、一个译码器124、一个排序器126和/或一个分支预测器128。在一个实施例中,前端域104可以包括其他部件,例如指令的恢复和加载单元等等。前端传感器114可对应于前端域104的一个或多个部件,以检测前端域104内的一个或多个变化。传感器114耦合到频率控制器116,用于向频率控制器114报告前端域104内出现的任何变化。变化也可根据前端域104内检测出的错误数检测出。前端频率控制器116可用检测出的变化来调整前端域104的部件用的时钟信号。因此,频率控制器116可使前端域104的部件适应于改变中的变化。
后端域106可包括一个或多个初级(L1)缓存域128和一个或多个执行域130-1至130-N。L1缓存域128可包括一个L1缓存132(例如,用于存储含有指令的数据),一个或多个L1传感器134,和一个L1频率控制器136。L1传感器134可对应于L1缓存域128的一个或多个部件(例如,L1缓存132),以检测域128内的一个或多个变化。如附图1所示,L1传感器134耦合与L1频率控制器136,以向频率控制器136报告L1缓存域128内出现的任何变化。变化也可根据L1缓存域128内检测出的错误数检测出。L1频率控制器136可用检测出的变化来调整L1缓存域128的部件用的时钟信号。因此,L1频率控制器136可使L1缓存域128的部件适应于改变中的变化。
执行域130-1至130-N可为任何适合的执行单元,例如一个整数执行单元和/或一个浮点执行单元。执行域130-1至130-N可各自包含:一个发射队列(分别为138-1至138-N),一个寄存器文件(分别为140-1至140-N),一个执行域频率控制器(分别为142-1至142-N),一个或多个执行域传感器(分别为144-1至144-N),和/或一个执行单元(分别为146-1至146-N)。
在一个实施例中,域102、104和106中的每一个都可以包括一个或多个“先进先出”(FIFO-“first-in,first-out”)结构的缓冲器148,目的是同步不同的时钟域之间的通信(例如,102、104和/或106控制之间)。在一个实施例中,“先进先出”缓冲器148可用接收域的时钟(例如,由有关频率控制器生成的时钟)作时钟调整。
体系结构100(在一个实施例中,诸如附图1中所示的后端域106)可以包括互连即总线150,用以便于体系结构100的不同部件之间的通信。例如,一旦成功执行了指令(如,由执行域130-1至130-N执行),该指令的顺序或劝导能够被通知到ROB 118(如,通过互连线路150)以撤消这条指令。作为另增的方式,,后端内的域(如,域128和130-1至130-N)可通过互连线路150通信。例如,可为了类型转换指令而执行单元之间(130-1至130-N)的通信。
附图2表示方法200的流程图,该方法根据一个实施例,响应一个或多个变化调整一个时钟域的时钟信号。在一个实施例中,方法200的步骤可通过处理器的一个或多个部件(如参照附图1所述的部件)执行。
参照附图1-2,一个或多个传感器(如,传感器110、114、136和/或144-1至144-N)可在步骤202中检测一个时钟域(如,域102、104和/或106)内的变化(如有关附图1解释的那些变化)。这些传感器可包括(但不限于)一个或多个温度传感器,电压下降探测器,和/或环型振荡器。在步骤204中,频率控制器(如频率控制器112、116、136、142-1至142-N)可检测在时钟域(如,分别为域102、104或106)内的一个或多个定时错误,这将参照附图3和4进一步讨论。在一个实施例中,步骤202和204可同时执行。
此外,在一个实施例中,各频率控制器112、116、136和142-1至142-N可包括一个错误计数器(如,在对相应的时钟域内检测出的错误计数)和一个循环计数器(未示出)。可使用任何适合的存储机制来实现错误计数器和循环计数器,就如一个物理的或硬件支持的寄存器,和/或在一个共享内存(如,L2缓存108,和/或L1缓存132)里的可变存储。频率控制器112、116、136和142-1至142-N也可访问一个阈值,该值可指出对于给定域中(如定时错误的一个百分数)可允许发生的错误数。阈值可以被存入适合存储的任何机制中,就如一个硬件支持的寄存器,和/或在一个共享内存(如,L2缓存108,和/或L1 132缓存)里的可变存储。同样,在一个实施例中阈值可被编程。
根据错误计数器和循环计数器的值与阈值(在步骤206中)和/或检测到的变化(在步骤202中)之比较,频率控制器112、116、136、和142-1至142-N可为其各域的部件生成时钟信号,该信号根据在各域(如,各域102、104或106)中检测出的变化而加以调整(208)。例如,当各时钟域(如,各域102、104或106)内的定时错误大大低于阈值时(206),频率控制器112、116、136、和142-1至142-N可增大所生成的时钟脉冲的频率。相反,在各时钟域(如,各域102、104或106)内的定时错误超过了阈值时(206),频率控制器112、116、136、和142-1至142-N可减小原来生成的时钟脉冲的频率。步骤208之后,方法200可反复进行步骤202和204来继续检测时钟域中的变化。
因此,在一个实施例中,各域(如,域102、104和106)可运行在一个时钟频率上,该频率可以有别于其它域的时钟频率。这样就使得每个域都适应一个产品整个寿命期中改变中的变化,例如,用以减轻伴随半导体器件的老化问题,和/或降低验证的成本。这还能够减少同一芯片内的变化的影响,并使每个域的频率适应该域经历的动态变化。此外,每个域对一些错误的敏感度可能不同;这样,每个域的不同频率的控制器能够优化整个体系结构(100)的性能。另外,在一个实施例中,频率控制器112、116、136、和142-1至142-N可根据一个基准时钟信号来产生它们的时钟脉冲。例如,在一个实施例中,频率控制器112、116、136、和142-1至142-N可调整一个基准时钟(如,系统范围的时钟)的频率。因此,域102-106可依赖于一个基准时钟信号。作为备选方案,频率控制器112、116、136、和142-1至142-N也可使用不同的基准时钟来产生它们各自的域时钟。
附图3是表示根据一个实施例的一个处理器的流水线站300的框图。流水线站300能够用来推测执行指令,比如为了提高效率和/或降低等待时间(LATENCIA)。在一个实施例中,附图1的执行146-1至146-N中的每个执行均可包括一个或多个流水线站300。流水线站300可包括输入逻辑部件302,处理逻辑部件304和比较逻辑部件306。比较逻辑部件306还可包括选择逻辑部件308(在一个实施例中可为乘法器),第一存储器310,第二存储器312和错误检测逻辑部件314。
输入逻辑部件302可接收将由处理逻辑部件304处理的数据(含指令),由处理逻辑部件生成的输出值可通过选择逻辑部件308存入第一存储器310,并存入到第二存储器312。在本发明的一个实施例中,第一存储器310和第二存储器312是双稳态锁存电路。此外,第一和第二双稳态锁存电路(各为310和312)可将其输入端上出现的逻辑值存储,以有足够的建立和保持时间通过一时钟信号锁存。另一方面,第一和第二双稳态锁存电路(各为310和312)可在一时钟信号触发时输出一个逻辑值,然后维持其存储的值以由后续电路接收,直到双稳态锁存电路出现一个新值,以有足够的建立和等待时间通过一时钟信号锁存。
在一个实施例中,双稳态锁存电路(310和312)由一个时钟信号的上升和下降边沿(或相反)触发,例如由附图1中的频率控制器142-1至142-N生成的时钟信号。例如,如附图3所示,时钟脉冲边沿318和320可被用来同步存储单元310和312。例如,时钟脉冲边沿318和320可以是同一时钟信号的上升和下降边沿,反之亦然。
在一个实施例中,第一存储器310存储处理逻辑部件304的输出值并向后续流水线站提供输出,这样,该后续流水线站可对处理逻辑部件304的输出推测地进行处理。第二存储器312可存储处理逻辑部件304的最新输出,它在一些实施例中可对应于正确的或期待的输出(如,最差情况下的延迟输出)。
另一方面,错误检测逻辑部件314可比较在第一存储器310和第二存储器312中存储的值,以检测在流水线站300的输出中出现的错误。错误检测逻辑部件也314向选择逻辑部件308提供错误信号。因此,在流水线站的输出中没有检测错误的同时,选择逻辑部件308向第一存储器310提供处理逻辑部件304的输出。但是,在一个实施例中,如果检测出流水线站300的输出中的一个错误,则选择逻辑部件308向第一存储器310提供在第二存储器312中存储的值。
如附图3所示,错误检测逻辑部件314可向发射队列138(它可以是在附图1中的发射队列138-1至138N中的一个)提供其生成的错误信号。这个发射队列138可包括重复逻辑部件322,如果其推测输出不同于期待的输出,该部件会使得一个或多个对应的消费者指令重复执行。这样,错误检测逻辑部件314可向频率控制器142(它可以是在附图1中的频率控制器142-1至142N中的一个)提供其生成的错误信号,以使频率控制器142能够确定在时钟域内的定时错误修正(如参照附图2中的步骤204所述)。
在一个实施例中,一个包含流水线站300的处理器可通过推测地将值锁存来取出一般情况的延迟。当出现最差条件的情况时,错误被检出并且成功地返回给一个或多个消费者(由于消费者已基于常规情况的延迟而被发送),以提供正确的结果。当错误数超过阈值(如参照附图2的步骤206所述),给定域的频率可降低。
附图4表示依据一个实施例的确认是否要将一个或多个推测执行指令的消费者重新执行的方法400的流程图。在一个实施例中,方法400的运行可由一个处理器的一个或多个部件实现,例如参照附图1-3描述的那些部件。
参照附图1-4,在步骤402中,错误检测逻辑部件314可将流水线站的推测输出(如,在存储单元310中存储的值)与来自流水线站的期望输出(如,在存储单元312中存储的值)进行比纹。如果两个值相符(在步骤404中),则方法400可继续进行步骤402来比较接下来的值。否则,在步骤406中,错误检测逻辑部件314可生成一个错误值(该错误值被通知到频率控制器142和/或发射队列138)。在步骤408中,发射队列138(在一个实施例中,还有重复逻辑部件322)可再发射对应于该错误的指令的一个或多个消费者。
在一个实施例中,当所有源操作数都已就绪,发射队列138可发出一个由对应执行部件(如,部件146-1至146-N中的一个)执行的指令。在一个实施例中,当产生源的指令执行不正确时(例如,错误检测逻辑部件314在执行部件的某级产生对于指令的错误时),发射队列138可将该指令保持选定的周期数。另外,重复逻辑部件322可产生一个信号来请求将那些指令依赖于产生错误的所有指令重新执行(消费者)。因此,在一个实施例中,被发出后指令就被保存在发射队列138中,直到它们所有对应的源都被保证正确为止。
附图5表示根据本发明的一个实施例的计算系统500的框图。计算系统500包括一个或多个中央处理单元502(CPUs“central processing unit(s)”域耦合在接口网络(总线)上的处理器504。处理器502可为任何合适的处理器,如通用处理器、网络处理器(处理经由计算机网络503通信的数据),或类似的处理器(包括带精简指令系统计算机(RISC-“reduced instruction set computer”)或复杂指令系统计算机(CISC-“complex instruction set computer”))。此外,502处理器可以具有单核或多核的设计。
具有多核设计的处理器502可在同一集成电路(IC-“integrated circuit”)芯片上集成不同类型的处理器核。同样,具有多核设计的处理器502可实现为对称或非对称的多处理器。在一个实施例中,一个或多个处理器502可采用参照附图1-4描述的实施例。例如,一个或多个处理器502可包括一个或多个具有多时钟域的核,以及独立的频率控制器和/或变化传感器。这样,参照附图1-4所述的功能可由系统500的一个或多个部件实现。
芯片组506也可耦合到互连网络504。芯片组506可包括一个存储控制集线器(MCH“memory control hub”)508。存储控制集线器508可包括一个耦合到存储器512上的存储控制器510。存储器512可存储数据和指令序列,这些指令序列由CPU 502或计算系统500所包含的任何其它设备执行。在本发明的一个实施例中,存储器512可包括一个或多个易失性存储装置(或存储器),诸如随机存取存储器(RAM-“random access memory”),动态RAM(RAM),同步DRAM(SDRAM),静态RAM(SRAM),或类似的存储器。也可以使用非易失性存储器,如硬盘。还可在互连网络504耦合一些附加设备,如多种CPU和/或多种系统存储器。
存储控制集线器508也可包括一个图形接口514,以耦合到图形加速器516。在本发明的一个实施例中,图形接口514通过图形加速端口(AGP-“accelerated graphics port”)耦合到图形加速器516。在本发明的一个实施例中,可将显示器(如,一个平板显示器)耦合到图形接口514,它是通过诸如一个信号转换器,将存储在存储设备中的图像的数字表达转换为可被编译并由显示器显示的视频信号,这里的存储设备例如有视频存储器或系统存储器。由显示器产生的显示信号在被编译并随后由显示器显示之前可通过各种控制设备。
集线器接口518可将MCH 508与输入/输出控制集线器(ICH-“input/outputcontrol hub”)520耦合。ICH520可提供一个接口给耦合到计算系统500的输入/输出设备(I/O)。ICH520可与总线522耦合,这通过外部桥524(或控制器)实现,如外部设备互连(PCI-“peripheral component interconnect”)桥、通用系列总线(USB-“universal serial bus”)控制器或类似设备。桥524可在CPU502和外部设备之间为数据提供路径。使用拓扑学的其他形式是可能的。同样,能够将ICH520耦合到多种总线,例如,通过多种桥或控制器。另一方面,在本发明的一些实施例中,耦合到ICH520的其它外部设备包括:集成器件电子电路(IDE-“integrated drive electronics”)或小型计算系统接口(SCSI-“small computer system interface”)的硬盘驱动器,USB端口,键盘,鼠标,并行端口,串行端口,软盘驱动器,数字输出支持设备(如,数字视频的接口(DVI-“digital video interface”)),或类似设备。
总线522可与一个音频设备526耦合,与一个或多个硬盘驱动器528耦合,以及与一个网线接口设备530(它将耦合于计算机网络503)耦合。一些其它设备可耦合到总线522。同样,在本发明的一些实施例中,在MCH 508上可耦合各种部件(如,网络接口设备530)。此外,处理器502和MCH508可组合而形成单芯片或集成电路。另一方面,在本发明的另一些实施例中,图形加速器516可包含在MCH508内。
此外,计算系统500可包括易失性和/或非易失性存储器。例如,非易失性存储器可以包括下列的一个或多个:只读存储器(ROM-“read onlymemory”),可编程ROM(PROM-“programmable ROM”),可擦PROM(EPROM-“erasable PROM”),电可擦除PROM(EEPROM-“electricallyEPROM”),硬盘驱动器(如,528),软磁盘驱动器,光盘驱动器(CD-ROM),数字化视频光盘(DVD-“digital versatile disk”),闪存,磁光盘或用于指令和/或电子数据存储其它类型的机器可读的非易失性媒体。
附图6表示计算系统600,它是根据本发明一个实施例的具有点到点(PtP-“point-to-point”)配置的计算系统。实际上,附图6表示一个系统,在系统中通过一些点到点接口将处理器、存储器和输入/输出设备互连。参照附图1-5描述的操作可由系统600的一个或多个部件执行。
如附图6所示,系统600可包括一些处理器,为清晰起见仅示出处理器602和604。处理器602和604各自包括带有本地存储控制器集线器606和608,以耦合于存储器610和612。存储器610和612具有存储各种数据的能力,如对于存储器512描述的那样。
处理器602和604可由任何合适的处理器(如参照附图5的处理器502描述的处理器)构成。处理器602和604可分别通过点到点接口、用点到点接口电路617和618交换数据。处理器602和604可分别通过独立的点到点接口622和624用点到点接口电路626、628、630和632与芯片组620交换数据。芯片组620也可通过高分辨率图形接口636,利用点到点接口电路637与高分辨率图形电路634交换数据。
至少一个本发明的实施例可设置在处理器602和604内。例如,参照附图1中描述的时钟域可设于处理器602和604内。但是,本发明的其他实施例可设于附图6所示的系统600内的其它电路、逻辑部件或设备中。而且,本发明的其它的实施例可位于附图6所示的各种电路,逻辑部件或设备中。
芯片组620可通过使用点到点接口电路641耦合到总线640。总线640上可耦合一个或多个设备,例如一个总线桥642和输入/输出设备643。总线桥642可通过总线644耦合于其它设备,如键盘/鼠标645,通信设备646(如调制解调器,网络接口设备或可耦合于计算机网络503的类似设备),音频输入/输出设备,和/或数据存储设备648。数据存储设备648可存储可由处理器602和/或604执行的代码649。
附图7表示根据一个实施例的计算系统700的框图。该计算系统700可包括一个或多个域702-1至702-M。域702-1至702-M中的每一个可包括不同部件,但为了清晰起见,图中仅示出与域702-1有关的部件作为示例。如附图7所示,每个域可包括一个或多个传感器704、一个频率控制器706和一个逻辑部件708。传感器704可检测出对应域内的变化(如参照附图1描述的那些)。在一个实施例中,传感器704可耦合到对应簇(如,域702-1内的逻辑部件708)的一个或多个部件。频率控制器706可与传感器704和逻辑部件708耦合,并用检测出的变化和/或定时错误来调整时钟信号的频率,该时钟信号频率用于对应的时钟域,如参照附图1-4所描述的。因此,调整逻辑部件708的不同部件可通过由频率控制器706产生(或频率调整)的时钟信号进行时钟调整。在一个实施例中,域702-1至702-M中的每一个可包括一个或多个FIFO缓冲器148,用于同步不同时钟域之间的通信(如参照附图1所描述的)。逻辑部件708可提供适当的计算功能,如数据处理、数据存储、数据通信或类似功能。所以,计算系统700能够以任何适当的计算设备的形式提供,诸如个人数字助理(PDA-“personal digital assistant”),移动电话、便携式计算机、台式计算机、服务器式计算机(包括采用刀片式模块结构的服务器,也称为刀片式服务器)、工作站或类似设备。另外,在不同的实施例中,计算系统700可包括附图5的系统500和/或附图6的系统600中的一个或多个部件。
在本发明的不同的实施例中,这里例如参照附图1-7所讨论的操作,可以实现为物理设备或硬件(如逻辑电路)、程序或软件、固件或它们的组合,所有这些能够以程序信息产品的方式提供,它们以固定方式建立在硬件上的程序,例如,包括机器可读或计算机可读媒体(或程序存储器),其中存有为计算机编程来完成文中所述的处理的指令。机器可读媒体可包括任何合适的存储器,例如参照附图1-7中所述的存储器。
再补充一点,上述计算机可读媒体可作为计算机程序产品下载,其方式为将程序从一个远程计算机(如服务器)传送到一个请求计算机(如客户机),它借助加载到载波或其它传播媒体上的数据信号,通过一种通信链路(如调制解调器或网络连接)实现。因此,这里一种载波应理解为包含机器可读媒体。
这里述及“实施例之一”或“一个实施例”时,其意义为联系该实施例描述的一个具体特点、结构或特征可至少包括在有关实施例中。在说明书的不同地方出现的“在一个实施例中”可以是也可以不是都指同一个实施例。
同样,在说明书和权利要求书中可使用“接于”和“连接于”及其衍生用语。在本发明的一些实施例中,“连接”可用来指明两个或更多部件之间的物理或电的相互接触。“耦合”可意指两个或更多部件的物理或电的直接接触。但是,“耦合”还可意指两个或更多部件之间没有直接接触,但它们之间仍存在相互合作和互动的情况。
至此,尽管已经用一种具体语言描述了本发明实施例的结构特性和/或其运行方法,但应该明确权利要求书的主题不会受限制于所描述的具体特点和动作。所描述的具体特点和动作只是为了举例说明实施权利要求书的主题的方式。
Claims (27)
1.一种用于可检测变化的集群体系结构的方法,包括:
检测处理器的多个时钟域中的一个时钟域内的一个或多个变化;
响应所述一个或多个变化而调整所述一个时钟域的时钟信号;
将流水线站的推测输出与来自该流水线站的期望输出进行比较;以及
确定所述推测输出是否与所述期望输出相符。
2.根据权利要求1的方法,其中,所述一个或多个变化的检测包括感测半导体制造工艺变化、工作电压变化、温度变化或输入值变化中的一个或多个。
3.根据权利要求1的方法,其中,调整所述时钟域的所述时钟信号包括调整所述时钟信号的一个频率。
4.根据权利要求1的方法,其中,调整所述时钟信号在将一个阈值与在所述时钟域中检测出的定时错误的数量相比较的基础上进行。
5.根据权利要求1的方法,还包括同步所述多个时钟域之间的通信。
6.根据权利要求1的方法,还包括在所述推测输出不同于所述期望输出时生成一个错误信号。
7.根据权利要求1的方法,还包括在所述推测输出不同于所述期望输出时重新执行一个或多个消费者指令。
8.一种用于可检测变化的集群体系结构的装置,包括:
用来检测处理器的多个时钟域中的一个时钟域内的一个或多个变化的逻辑部件;
响应所述一个或多个变化而调整所述一个时钟域的一个时钟信号的频率控制器;以及
比较逻辑部件,用来将流水线站的推测输出与来自该流水线站的期望输出做比较,以确定所述推测输出是否与所述期望输出相符。
9.根据权利要求8的装置,其中,用来检测一个或多个变化的逻辑部件包括一个或多个传感器。
10.根据权利要求9的装置,其中,所述一个或多个传感器是温度传感器、电压下降探测器或环型振荡器中的一个或多个。
11.根据权利要求8的装置,其中,用来检测一个或多个变化的逻辑部件在所述时钟域内检测出的多个错误的数量的基础上检测所述一个或多个变化。
12.根据权利要求8的装置,其中,所述处理器的所述多个时钟域包括前端域、后端域和二级缓存域中的一个或多个。
13.根据权利要求12的装置,其中,所述前端域包括前端传感器、前端频率控制器、用于重排序的缓冲器、更名及引导器、跟踪缓存、取指令单元、译码器、定序器或分支预测器中的一个或多个。
14.根据权利要求12的装置,其中,所述后端域包括一个一级缓存域和一个或多个执行域中的一个或多个。
15.根据权要求14的装置,其中,所述一级缓存域包括一级缓存、一级缓存频率控制器或一级缓存传感器中的一个或多个。
16.根据权利要求14的装置,其中,所述一个或多个执行域包括整数执行域或浮点执行域中的一个或多个。
17.根据权利要求14的装置,其中,所述执行域中的每个包括发射队列、寄存器文件、执行域频率控制器、执行域传感器或执行单元中的一个或多个。
18.根据权利要求14的装置,还包括用于耦合一个或多个一级缓存域、所述一个或多个执行域或所述前端域的互连线路。
19.根据权利要求8的装置,还包括用来同步多个时钟域之间的通信的多个“先进先出”缓冲器。
20.根据权利要求8的装置,其中,所述处理器在同一芯片上包括多个核。
21.根据权利要求8的装置,还包括用来响应第一时钟脉冲边沿而存储推测输出的第一存储单元,以及响应第二时钟脉冲边沿而存储期望输出的第二存储单元。
22.根据权利要求21的装置,其中,第一和第二时钟脉冲边沿是所述时钟信号的脉冲边沿。
23.一种处理器,包括:
第一域,用来接收第一时钟信号;
第二域,用来接收第二时钟信号;
一个或多个传感器,用来检测第一域和第二域内的一个或多个变化;
第一逻辑部件,用来响应第一域内的一个或多个变化而调整第一时钟的一个频率;
第二逻辑部件,用来响应第二域内的一个或多个变化而调整第二时钟的一个频率;以及
比较逻辑部件,用来将所述处理器的流水线站的推测输出与来自所述流水线站的期望输出进行比较,以确定所述推测输出是否与所述期望输出相符。
24.根据权利要求23的处理器,还包括一个或多个缓冲器,用来同步第一域和第二域之间的通信。
25.一种计算系统,包括:
一个或多个域,每个域包括:
一个逻辑部件,用来实现一种或多种计算功能;
一个或多个传感器,连接到能执行一种或多种计算功能的逻辑部件上,所述一个或多个传感器用来感测对应域内的变化;
一个频率控制器,连接到所述能执行一种或多种计算功能的逻辑部件和所述一个或多个传感器上,所述频率控制器响应定时错误或变化中的一个或多个而调整时钟信号的频率;以及
比较逻辑部件,用来将处理器的流水线站的推测输出与来自所述流水线站的期望输出进行比较,以确定所述推测输出是否与所述期望输出相符。
26.根据权利要求25的计算系统,其中,所述一种或多种计算功能包括数据处理、数据存储和数据通信中的一种或多种。
27.根据权利要求25的计算系统,所述计算系统包括从由个人数字助手(PDA)、移动电话、便携式计算机、台式计算机、服务器计算机和工作站构成的组中选出的至少一种计算设备。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/ES2005/070152 WO2007048859A1 (es) | 2005-10-26 | 2005-10-26 | Arquitectura en racimo que percibe las variaciones |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101297255A CN101297255A (zh) | 2008-10-29 |
CN101297255B true CN101297255B (zh) | 2011-11-02 |
Family
ID=36190408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005800519281A Expired - Fee Related CN101297255B (zh) | 2005-10-26 | 2005-10-26 | 可检测变化的集群体系结构 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7600145B2 (zh) |
KR (1) | KR100971806B1 (zh) |
CN (1) | CN101297255B (zh) |
WO (1) | WO2007048859A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106815155A (zh) * | 2015-12-01 | 2017-06-09 | 英飞凌科技奥地利有限公司 | 经由不同的时钟来访问数据 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5075196B2 (ja) * | 2006-06-30 | 2012-11-14 | インテル・コーポレーション | 漏れ電力推定 |
US7949887B2 (en) | 2006-11-01 | 2011-05-24 | Intel Corporation | Independent power control of processing cores |
CN102314208B (zh) * | 2010-06-30 | 2016-08-03 | 重庆重邮信科通信技术有限公司 | 一种动态调整嵌入式设备频率电压的方法及装置 |
CN102445953B (zh) * | 2010-09-30 | 2016-08-03 | 重庆重邮信科通信技术有限公司 | 一种嵌入式设备时钟源的调整方法 |
KR101294629B1 (ko) * | 2011-08-31 | 2013-08-08 | 전남대학교산학협력단 | 3차원 멀티코어 프로세서의 분기예측기 배치방법 및 3차원 멀티코어 프로세서 |
US9317342B2 (en) * | 2011-12-23 | 2016-04-19 | Intel Corporation | Characterization of within-die variations of many-core processors |
US9075904B2 (en) | 2013-03-13 | 2015-07-07 | Intel Corporation | Vulnerability estimation for cache memory |
US9176895B2 (en) | 2013-03-16 | 2015-11-03 | Intel Corporation | Increased error correction for cache memories through adaptive replacement policies |
KR102161689B1 (ko) * | 2013-12-10 | 2020-10-05 | 삼성전자 주식회사 | L2 캐시 특성을 조절할 수 있는 멀티-코어 cpu 시스템, 이의 동작 방법, 및 이를 포함하는 장치들 |
US10019372B2 (en) * | 2015-12-16 | 2018-07-10 | Western Digital Technologies, Inc. | Caching sensing device data in data storage device |
US11429526B2 (en) * | 2018-10-15 | 2022-08-30 | Texas Instruments Incorporated | Credit aware central arbitration for multi-endpoint, multi-core system |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1466711A (zh) * | 2000-08-11 | 2004-01-07 | �Ƚ�װ�ù�˾ | 多时钟系统中同步跳跃模式及初始化时钟转送接口的系统及方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5940785A (en) * | 1996-04-29 | 1999-08-17 | International Business Machines Corporation | Performance-temperature optimization by cooperatively varying the voltage and frequency of a circuit |
US6415388B1 (en) | 1998-10-30 | 2002-07-02 | Intel Corporation | Method and apparatus for power throttling in a microprocessor using a closed loop feedback system |
US6518782B1 (en) | 2000-08-29 | 2003-02-11 | Delta Design, Inc. | Active power monitoring using externally located current sensors |
US6768358B2 (en) * | 2001-08-29 | 2004-07-27 | Analog Devices, Inc. | Phase locked loop fast power up methods and apparatus |
US6809538B1 (en) | 2001-10-31 | 2004-10-26 | Intel Corporation | Active cooling to reduce leakage power |
KR100470995B1 (ko) | 2002-04-23 | 2005-03-08 | 삼성전자주식회사 | 클럭수신 동기회로를 갖는 멀티클럭 도메인 데이터 입력처리장치 및 그에 따른 클럭신호 인가방법 |
US6762629B2 (en) * | 2002-07-26 | 2004-07-13 | Intel Corporation | VCC adaptive dynamically variable frequency clock system for high performance low power microprocessors |
US7309998B2 (en) | 2002-12-02 | 2007-12-18 | Burns Lawrence M | Process monitor for monitoring an integrated circuit chip |
KR20050115227A (ko) | 2003-01-23 | 2005-12-07 | 유니버시티 오브 로체스터 | 다중 클록 도메인 마이크로프로세서 |
DE602004001869T2 (de) | 2003-03-20 | 2007-05-03 | Arm Ltd., Cherry Hinton | Fehlererkennung und fehlerbehebung für systematische und zufällige fehler innerhalb einer verarbeitungsstufe einer integrierten schaltung |
US7245684B2 (en) * | 2003-05-09 | 2007-07-17 | Hewlett-Packard Development Company, L.P. | System and method for compensating for skew between a first clock signal and a second clock signal |
US6842714B1 (en) | 2003-08-22 | 2005-01-11 | International Business Machines Corporation | Method for determining the leakage power for an integrated circuit |
US7228446B2 (en) * | 2004-12-21 | 2007-06-05 | Packet Digital | Method and apparatus for on-demand power management |
JP5075196B2 (ja) | 2006-06-30 | 2012-11-14 | インテル・コーポレーション | 漏れ電力推定 |
-
2005
- 2005-10-26 CN CN2005800519281A patent/CN101297255B/zh not_active Expired - Fee Related
- 2005-10-26 KR KR1020087009947A patent/KR100971806B1/ko active IP Right Grant
- 2005-10-26 US US10/562,189 patent/US7600145B2/en not_active Expired - Fee Related
- 2005-10-26 WO PCT/ES2005/070152 patent/WO2007048859A1/es active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1466711A (zh) * | 2000-08-11 | 2004-01-07 | �Ƚ�װ�ù�˾ | 多时钟系统中同步跳跃模式及初始化时钟转送接口的系统及方法 |
Non-Patent Citations (3)
Title |
---|
CN 1466711 A,全文. |
图1,11页9-18行. |
说明书第15页1-22行 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106815155A (zh) * | 2015-12-01 | 2017-06-09 | 英飞凌科技奥地利有限公司 | 经由不同的时钟来访问数据 |
CN106815155B (zh) * | 2015-12-01 | 2019-12-13 | 英飞凌科技奥地利有限公司 | 经由不同的时钟来访问数据 |
Also Published As
Publication number | Publication date |
---|---|
WO2007048859A1 (es) | 2007-05-03 |
CN101297255A (zh) | 2008-10-29 |
KR20080054409A (ko) | 2008-06-17 |
KR100971806B1 (ko) | 2010-07-22 |
US20080028252A1 (en) | 2008-01-31 |
US7600145B2 (en) | 2009-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101297255B (zh) | 可检测变化的集群体系结构 | |
US20190095796A1 (en) | Methods and arrangements to determine physical resource assignments | |
US9665346B2 (en) | Performing arithmetic operations using both large and small floating point values | |
CN105593830B (zh) | 用于测量电路的物理单元中的等待时间的方法、装置和系统 | |
US9811273B1 (en) | System and method for reliable high-speed data transfer in multiple data rate nonvolatile memory | |
CN102792265B (zh) | 基于机器状态的指令破解 | |
CN100449499C (zh) | 在微处理器恢复单元中进行写队列读数据的方法和装置 | |
US8930760B2 (en) | Validating cache coherency protocol within a processor | |
US7424331B2 (en) | System for implementing intelligent and accurate updates to state-based advanced process control (APC) models | |
US9411668B2 (en) | Approach to predictive verification of write integrity in a memory driver | |
CN103502964A (zh) | 用于测试存储器元件的控制电路和方法 | |
CN103930878A (zh) | 用于存储器验证的方法、装置及系统 | |
CN103853230A (zh) | 推测性周期性同步器 | |
KR20150129327A (ko) | 파이프라이닝된 소프트웨어의 동적 최적화 | |
CN112530484B (zh) | 存储器模块及其操作方法 | |
CN103840802A (zh) | 矩阵相位检测器 | |
US20040123075A1 (en) | Extended loop prediction techniques | |
US20190220417A1 (en) | Context Switch Optimization | |
US9823938B2 (en) | Providing deterministic, reproducible, and random sampling in a processor | |
WO2023177681A1 (en) | Detecting silent data corruptions within a large scale infrastructure | |
US20060143551A1 (en) | Localizing error detection and recovery | |
CN112084071A (zh) | 一种计算单元运算加固方法、并行处理器及电子设备 | |
US20240160446A1 (en) | Predicting a Vector Length Associated with a Configuration Instruction | |
CN111858196B (zh) | 一种计算单元检测方法、并行处理器及电子设备 | |
US12112043B2 (en) | Data flow control device in streaming architecture chip |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111102 Termination date: 20181026 |