CN102521002A - 可动态和选择性停用内核以及重新设定多内核微处理器 - Google Patents

可动态和选择性停用内核以及重新设定多内核微处理器 Download PDF

Info

Publication number
CN102521002A
CN102521002A CN2011104363373A CN201110436337A CN102521002A CN 102521002 A CN102521002 A CN 102521002A CN 2011104363373 A CN2011104363373 A CN 2011104363373A CN 201110436337 A CN201110436337 A CN 201110436337A CN 102521002 A CN102521002 A CN 102521002A
Authority
CN
China
Prior art keywords
kernel
kernels
microprocessor
main
instruction
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.)
Granted
Application number
CN2011104363373A
Other languages
English (en)
Other versions
CN102521002B (zh
Inventor
G.葛兰.亨利
史蒂芬.嘉斯金斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Via Technologies Inc
Original Assignee
Via Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Via Technologies Inc filed Critical Via Technologies Inc
Publication of CN102521002A publication Critical patent/CN102521002A/zh
Application granted granted Critical
Publication of CN102521002B publication Critical patent/CN102521002B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/82Architectures of general purpose stored program computers data or demand driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30083Power or thermal control instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • G06F11/1423Reconfiguring to eliminate the error by reconfiguration of paths
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Microcomputers (AREA)
  • Hardware Redundancy (AREA)
  • Stored Programmes (AREA)

Abstract

可动态和选择性停用内核以及重新设定多内核微处理器。该多内核微处理器被用以支持系统软件对所选内核进行停用或终止的功能,这样的方式不会导致该处理器总线与其他内核共享间的拖曳。另一多内核微处理器用以支持重新设定微处理器内内核间的调整系统,其中内核会选择性地被指定为主要内核,藉以驱动一信号至内核间的通信线。

Description

可动态和选择性停用内核以及重新设定多内核微处理器
技术领域
本发明涉及一种多内核微处理器,尤其涉及一种具有动态停用或重新设定内核的功能的多内核微处理器。
背景技术
在一些传统的多内核微处理器中,制造商也许会在微处理器烧断每一内核上的熔丝(fuse,又称之为“熔线”),来指定多内核微处理器的每一内核的设定,藉以每一内核可以稳定的确定多内核微处理器的内核熔丝(fuse)数值,以确定系统内哪一内核能够执行处理数据。虽然这种解决方法可能有许多优点,但缺点是一旦使用第一个多内核微处理器的设定,而内核上的熔丝(fuse)被烧断,也许产生第二次设定的需求时,已烧断熔丝(fuse)的内核不能再重新设定。在某些应用中,例如执行不能支持多内核测试或是应用的软件,也许需要停用内核。此外,在许多应用中,并非所有微处理器的内核是需要的,甚至内核会在休眠状态用以节省功率的情况下,内核依然引起处理器或系统总线与内核共享的拖曳。拖曳可以被例如对窥探周期的响应而引起。此外,多内核微处理器中,个别内核也许会在制造中有缺陷或是在测试或是操作过程中故障。这样的情况也许会干扰为了内核间的通信而在处理器的内核间所设置的预设调整系统。因此,现今需要的是一个重新设定多内核微处理器的可靠方法。
发明内容
在一方面,本发明提供一种可动态重新设定的多内核微处理器,该多内核微处理器包含多个初始启动的处理内核,每个处理内核被设定为执行系统软件发出的终止指令,以及内部存储且已设定的微码,藉以停止响应于耦合在多内核微处理器的系统总线的异动。执行终止指令的处理内核保有恢复的可操作性,其通过外部重置输入在多内核微处理器的重置引脚。处理内核也许能从微处理器移除电源,然后再接上的情况下恢复但在实务上,停用的设定是不可以被撤回的。在重置或是重新接上电源后,执行终止指令而停用的初始启动的处理内核会恢复成可操作的已启动内核,而除非接收到另一终止指令,否则其不会停用。
在相关方面,因为处理内核因为无法对系统总线的异动产生响应,执行终止指令而停用的处理内核,并不会响应或遵行重置讯息指令,以及由于响应或遵行于重置讯息指令而停用。此外,处理内核因为无法对系统总线的异动产生响应,因此处理内核不会对系统总线的窥探周期响应,进而不会增加处理器总线的相关拖曳。
另一方面,该每一已初启用的内核更进一步设定对该终止指令响应,而使该每一已初启用的内核自行进入一省电睡眠状态。此外,该其他未接收到该终止指令的已初启用内核被设定为,通过接收到内部电源状态的一管理微码来调整彼此间的电源状态管理,而非依据任何已停用内核的电源状态需求值。
另一方面,本发明提供一种具有可动态重新设定内核间调整系统的多内核微处理器,可动态重新设定的多内核微处理器包含多个处理内核,这些多个处理内核中,至少有一处理内核被指定为一主要内核。该可动态重新设定的多内核微处理器还包含至少一边带通信线,该边带通信线被设置于一系统总线的外部并且电性连接于一芯片组,藉以增进这些处理内核间的通信。每一组边带通信线电性连接于至少两处理内核,该两处理内核若有任何一个是被指定为主要内核,在运作时可重新设定该主要内核或移除原有的指定。该两处理内核被设定为有条件地驱动一输出至该边带通信线的一连接端,该连接端是根据该两处理内核的指定,如果缺乏前述设定,则该处理内核作为主要内核。
在其他方面,每一处理内核包含一预设设定,且预设设定被存储于这些处理内核内部逻辑中,藉以判断该处理内核是否为主要内核,这些处理内核包含一存储器,且内部的存储器用以存储对该处理内核的一修正设定。此外,该内部的存储器用以存储对该多内核微处理器所作的一修正设定,如果有修正设定的话,该修正设定用以辨识其他该多内核微处理器的已启用内核和这些启用内核的主要设定。
另一方面,这些处理内核设有内部电源状态的一管理微码,并依据该修正设定所存储的内容调整其电源状态管理。
另一方面,本发明提供一种中止包含多个内核的多内核微处理器内的一或多个内核的方法。每一内核执行系统软件程序的第一或终止指令,用以指示内核自行中止。其余未执行该第一指令的多个内核则执行系统软件程序的第二指令,藉以指定多内核微处理器的内核设定。内核设定可通过使用者指定而反映到一或多个已停用的内核。
另一方面,执行终止指令的内核停止响应于一总线上包含重置讯息指令以及以最小的功耗状态转换的异动。然而,该内核对于外部重设多内核微处理器的重置引脚的外部重设响应的功能被保留。
另一方面,其余的内核将该内核设定存储于其内部,以作为执行第二指令的一部分。
另一方面,每一内核,在重置后且在执行任何终止指令之前,立即确认该多内核微处理器的一初始预设内核设定。然而,在一或多个内核接收并计算任何终止指令后,其余每一内核根据存储的内核设定来执行,而不是根据初始设定。
另一方面,内核在重置后,首先随即确认一初始内核设定,之后基本输入/输出系统(Basic Input/Output System;BIOS)发出一终止或设定更新写入指令至每一内核的模型专用寄存器(Model-Specific Register;MSR),其中终止或设定更新写入指令是与使用者所指定而存储在存储器并用以提供芯片组供应微处理器相符且一致的。在停用及其余已启用的内核分别执行其指令后,除了那些正在执行基本输入/输出系统(Basic Input/Output System;BIOS)的内核之外,基本输入/输出系统(Basic Input/Output System;BIOS)发出一停止指令至其余每一个已启用的内核,藉以指示内核停止执行,但仍保有内核响应于系统总线异动的功能。之后基本输入/输出系统(Basic Input/OutputSystem;BIOS)在单一剩余执行内核上启动一操作系统,接着执行系统发送一重置指令指示内核自行重置,但任何一个不再响应于系统总线异动而停用的内核,不会响应或遵行重置指令,只有执行停止指令的内核遵行于重置指令。
另一方面,本发明提供一种动态重置多内核微处理器内的一或多个内核的方法,该多内核微处理器包含多个内核以及至少一组边带通信线,边带通信线被设置于一系统总线外部并电性连接于一芯片组,藉以增进无系统总线的这些内核间的通信。其中每一内核被设定为有条件地驱动一边带通信线至一连接端,该连接端根据该内核的指定,如果缺乏前述设定,则该内核作为主要内核。其中至少有一些内核可被重新设定为具有或并无主要身分码,藉以架构基底边带内核间的通信。
另一非限制的例中,适用于微处理器的方法包含多个多内核芯片,每一芯片具有一被指定为主要内核的内核,该方法还包含一组电性连接于芯片的芯片间边带通信线,其中每一芯片的内核电性连接于该组芯片间边带通信线,并且被设定为有条件地驱动一输出至该组芯片间边带通信线,其根据该两处理内核的指定,如果其中该芯片的一内核缺乏前述设定,则作为该芯片的主要内核;并且若有任何芯片的内核是被指定为主要内核,在运作时可重新设定为主要内核或移除原有的指定。
处理器的内核具有一初始设定,藉以设定至少一个内核作为主要内核,而不是设定全部内核作为主要内核。该初始设定可通过选择性的烧断一适用于每一个内核的熔丝(fuse)而产生,其中适用的熔丝(fuse)系定义为在预设的情况下,内核是否具有一或多个主要身分码。通过设定发现微码在该每一内核上运行,而选择性的确认初始设定后,一适用于内核的修正设定是将主要设定从最初如此设定的内核中移除,并且指派一主要设定至一最初没有如此设定的内核。
另一方面,内核根据修正内核设定来操作,该修正内核设定例如包含以相容的方式调整内核间的电源状态管理。
另一方面,一使用者经由一使用者接口操作定义一修正设定(如果在定义的限制范围内适用的话),接下来系统软件程序提供修正设定至内核,内核再将其存储至内核内。
另一方面,内核根据临时设定而被重新设定,其中临时设定为指定一个非主要内核作为临时主要内核,从驱动一适合的边带通信线中止该已设定的主要内核,然后启动临时主要内核来驱动适合的边带通信线。在相关方面,非主要内核对侦测到与一中止、不能执行、一故障、或是已设定的主要内核故障的情况一致而响应时,非主要内核即执行该临时设定。目前临时的主要内核分配临时设定至其他内核(例如在同样芯片的其他内核),藉以启动这些内核根据临时设定来操作。已指定的主要内核通过一后续的异动启动一控制权移转回到其本身,在这样的情况下,临时主要内核取消临时设定,并且传送给被临时设定影响的内核。
附图说明
图1是显示本发明计算系统的多内核微处理器的方块图;
图2是显示本发明的图1的其中的一内核的详细方块图;以及
图3A是显示本发明的图1的多内核微处理器执行动态设定发现以及修正过程的操作流程图;以及
图3B是显示本发明的图1的多内核微处理器执行动态设定发现以及修正过程的操作流程图。
【主要元件符号说明】
100    计算系统
102    多内核微处理器
104    双内核芯片0
104    双内核芯片1
106    内核0
106    内核1
106    内核2
106    内核3
108    输出焊接点
108    输入1焊接点
108    输入2焊接点
108    输入3焊接点
112    内核间的通信线
114    芯片组
116    系统总线
118    内核间的通信线
152    基本输入输出系统(BIOS)
154    非易失性随机存取存储器(NVRAM)
156    操作系统
158    显示器、键盘、鼠标
202    指令快取存储器
204    指令译码器
206    微序列器
207    微码存储器
208    微码
212    寄存器别名表
214    保留站
216    执行单元
218    退移单元
222    数据快取存储器
224    总线接口单元(BIU)
226    相位锁定回路
228    启动服务处理器(BSP)指示
232    主要指示
234    控制状态寄存器
236    控制状态寄存器
238    模块特定寄存器
242    内核时钟
252    启用指示
254    设定存储器
302    使用者指定内核设定
304    基本输入/输出系统(BIOS)将使用者所指
       定的设定,存储在非易失性随机存取存储器
       NVRAM)
306    重置微处理器
308    每一内核的重置微码确定初始设定
312    基本输入/输出系统(BIOS)写入每一内核
       的模块特定寄存器(MSR)来指示其自我终止
       其中每一内核并不包含在使用者所指定的
       设定内
314    每一内核引动一微码的一部分来执行响应
       于在方块所执行的写入型号专用寄存器
       (WRMSR)的指令,并且微码写入控制寄存器
       来终止该内核(例如停用响应于总线上的窥探周
       期,使内核转换至最小功耗状态),并且微码从
       不返回至使用者码
316    基本输入/输出系统(BIOS)写入其余内核
       的模块特定寄存器(MSR)来指示使用者所指定
       的设定覆写初始设定
318    每一其余的内核引动微码来响应于写入型
       号专用寄存器(WRMSR)的指令,且微码存储
       使用者所指定的设定且根据其设定来操作
322    除了基本输入/输出系统(BIOS)所执行使
       用的内核外,基本输入/输出系统(BIOS)停止
       其余内核
324    基本输入/输出系统(BIOS)在执行内核上
       启动操作系统;操作系统发送初始化(INIT)讯
       息至所有其他内核,并启动他们
326    终止的内核不响应于初始化(INIT)讯息;
       其余内核根据存储使用者所指定的设定来响应
       并操作,而不是根据初始设定来响应并操作
P1    引脚
P2    引脚
P3    引脚
P4    引脚
具体实施方式
在此叙述多内核微处理器的动态重新设定内核的结构及方法的实施例。一方面,多内核微处理器以及相关方法用以支持系统软件(例如BIOS或其他操作系统)来停用或终止所选择的内核的能力。有利的是,经由上述中止内核的方法不会导致与其他内核共享处理器总线的拖曳。举例来说,这样特征在性能测试上或是对于不支持多内核的软件而言是理想的功能。另一方面,多内核微处理器以及相关方法用以支持重新设定微处理器内核间的调整系统。有利的是,内核可被选择性的指定为主要内核,藉以驱动信号至内核间的通信线。这样的方式下,微处理器会设定为适用于甚至可以自我修复内核间通信的目的,而响应于停用或是呈现无法指定为主要内核的情况。此外,微处理器也许会设定一可选择内核间最佳给定指令的协调系统。
在一些实施例中,新的设定以及指定也许是由使用者指定或是经由系统软件或是固件所提供,如基本输入/输出系统(Basic Input/Output System;BIOS)。在其他实施例中,适用的修正的指定和/或临时的指定,系响应于内部内核逻辑或微码侦测到的情况而执行。
请参阅图1,图1是显示本发明的一计算系统100包含一多内核微处理器102。图1的计算系统100在某些方面与美国专利申请案案号61/426,470,申请日12/22/2010,名称为“多处理器内核间的分散式电源管理(DecentralizedPower Management Distributed Among Multiple Processor Cores)”相似,其同在申请的非临时申请案(CNTR2527)也在本文中纳入参考。此外,图1的计算系统100在某些方面与美国专利申请案案号61/426,470,申请日12/22/2010,名称为“动态的多内核微处理器设定(Dynamic Multi-CoreMicroprocessor Configuration)”相似,其同案的非临时申请案(CNTR2533)也在本文中纳入参考。
计算系统100包含一单芯片组114,单芯片组114通过系统总线116耦合在多内核微处理器102,其中系统总线116包含一总线时钟。芯片组114可操作来产生一重置信号,且该重置信号由多内核微处理器102所接收。计算系统100还包含一非易失性存储器152,例如快闪存储器,该非易失性存储器152用以存储如基本输入/输出系统(Basic Input/Output System;BIOS)码的系统固件。计算系统100还包含一非易失性的随机存取存储器154,例如快闪存储器或是在个人计算系统常见的电池供电的随机存取存储器,非易失性随机存取存储器154用以存储本文所述的使用者所指定的内核设定。计算系统100还包含一存储装置156,例如磁盘驱动器,存储器156用以存储操作软件。此外,计算系统100还包含一输入/输出装置158,例如一用以显示输出如基本输入/输出系统(Basic Input/Output System;BIOS)152所显示的内核设定选单而给使用者看的显示器、一用以接受使用者输入如本文所述的内核设定的键盘及鼠标。
多内核微处理器102封装包含两双内核芯片104并且表示为芯片0及芯片1。芯片104被安装在封装基板上,每一双内核芯片104包含两处理内核106。芯片0包含内核0及内核1,且芯片1包含内核2及内核3。每一芯片104内的两处理内核106,系经由芯片104内的内核间的通信线112而通信。更具体地说,内核间的通信线112使分别在芯片104内的处理内核106能中断彼此,并且发送另一讯息来调整彼此间不同的发现(discovery)和管理流程,其中各发现以及管理流程中包含微处理器的设定发现及修正设定。
在另一相关的实施例中,内核间的通信线112包含一具有并联导线的总线。在相关的实施例中,内核间的通信线112包含旁路总线,其中旁路总线与美国专利申请案案号61/426,470,申请日12/22/2010,名称为“分散式电源管理分部多个处理器内核(Decentralized Power Management DistributedAmong Multiple Processor Cores)”相似,其同在申请的非临时申请案(CNTR2527)也在本文中纳入参考引用。在其他实施例中,内核间的通信线112包含一相对较小的内核间的通信线,这样的设置可在各方面与CNTR2503所描述替代的边带设定相比较,或是可与CNTR2527所描述的内核间的通信线的相比较。
在本文中所述,“伙伴”一词是指同一芯片104的处理内核106,且芯片104通过对应的边带内核间的通信线来彼此通信。因此,在图1的实施例中,内核0及内核1为伙伴,且内核2及内核3为伙伴。
每一芯片104提供多个用以将芯片104耦合至系统总线的焊接点,以及多个用以将芯片104耦合至内核间的通信线118的额外的边带通信焊接点。具体来说,每一芯片104包含四个边带通信焊接点108,四个边带通信焊接点108分别对应耦合至四个表示为“P1”、“P2”、“P3”以及“P4”的引脚。四个边带通信焊接点108中,一个是输出焊接点(表示为“输出”)以及三个输入焊接点(表示为输入1、输入2以及输入3)。在一实施例中,每一芯片104根据多内核微处理器制造过程中的烧断的熔丝(fuse)设定,而分配四个边带通信焊接点108其中一个焊接点作为输出焊接点(输出)。
图1中,封装本身提供对应耦合于封装内核间的通信线118的多个边带通信引脚,其中边带通信引脚系表示为P1至P4。而这些引脚并不需要实行封装内部芯片104内核间的通信,多封装设定的这些引脚可增进并且放大在内核间的通信线118所执行的外部测试信号。
内核间的通信线118被设定为如下:芯片0的输出焊接点以及芯片1的输入1焊接点经由一条导线耦合在P1引脚,而芯片1的输出焊接点以及芯片0的输入3焊接点经由一条导线耦合在P2引脚,芯片0的输入2焊接点以及芯片1的输入3焊接点经由一条导线耦合在P3引脚,芯片0的输入1焊接点以及芯片1的输入2焊接点经由一条导线耦合在P4引脚。
每一芯片104具有一个被指定的主要内核106,主要内核106控制经由芯片104的边带通信焊接点的通信。图1的实施例中,内核0是芯片0的主要内核106,且内核2是芯片1的主要内核106。请参阅图一,“伙伴”一词是指在不同芯片104的主要内核106,经由边带内核间的通信线而彼此通信,因此,图1的实施例中,内核0及内核2为伙伴。
内核间的通信线118在芯片104的主要内核106中电性连接,藉以更增进主要内核106间不同发现以及管理流程的通信及调整,包含本文所述的微处理器设定的发现及修正。更具体地说,内核间的通信线118使相异芯片104的主要内核106中断彼此,并且使主要内核106发送另一讯息来执行分散式调整和多内核微处理器102的主要内核106间分散式的发现动作。
举例来说,当芯片0的主要内核0想要与芯片1的主要内核2通信时,主要内核0从其输出焊接点传输一讯息至芯片1的输入1焊接点,同样的,当芯片1的主要内核2想要与芯片0的主要内核0通信时,主要内核2从其输出焊接点传输一讯息至芯片0的输入3焊接点。如CNTR2527文中所述,图1内并不是所有的焊接点及引脚皆需要去支持四核设定,一些焊接点及引脚是能被移除的。但是同样如CNTR2527文中所述,额外的焊接点及引脚能增进其他处理器的设定,例如八内核的实施例。在一些处理器设定中,每一输出焊接点108与其他芯片104中多个输入焊接点108相耦合。为了支持这样的设定,一些实施例中的主要内核106在每一讯息传输中具有一识别码,每一讯息从主要内核106的输出焊接点108输出,并且在内核间的通信线118传输。识别码识别主要内核106的讯息发往的目的地,藉以使多个接受的内核106接收传播讯息后,检测是否为讯息发送的预定目的地。
请参阅图2,图2是显示本发明的图1的其中的一内核的详细方块图。图2的内核106在某些方面与CNTR2527以及CNTR2533所公开的图2相似,其他方面将于下文进一步说明。
根据一实施例,内核106的微结构包含一超标量结构,该结构为功能单元的无序执行导线,一指令快取存储器202,用以存取来自系统存储器(图未示)的指令。一耦合至指令多内核微处理器存储器202至的指令译码器204,用以接收指令如x86指令集架构指令的指令。寄存器别名表(Register AliasTable;RAT)212耦合至指令译码器204以及微序列器206,寄存器别名表(Register Alias Table;RAT)212用以接收从指令译码器204以及微序列器206所发出的已译微指令,藉以产生与已译微指令的相依讯息。保留站214耦合至寄存器别名表(Register Alias Table;RAT)212,藉以接收寄存器别名表(Register Alias Table;RAT)212所发出的已译微指令及相依讯息。执行单元216耦合至保留站214,藉以接收保留站214所发出的已译微指令,并且接收其已译微指令的指令运算元。该运算元也许来自内核106的寄存器以及耦合至执行单元216的数据快取存储器222,其中该内核106的寄存器例如是通用目的寄存器以及可读可写的模块特定寄存器238。退移单元218耦合至执行单元216,藉以接收执行单元216所发送的指令结果,并且退移该指令结果至内核106的架构状态。数据快取存储器222耦合至总线接口单元(BusInterface Unit;BIU)224,总线接口单元(Bus Interface Unit;BIU)224为图1的内核106至总线116的接口。相位锁定回路(Phased-Locked-Loop;PPL)226接收从总线116发出的总线时钟信号,接收到后产生并传送一内核时钟信号242至内核106内部的不同功能的单元。相位锁定回路(Phased-Locked-Loop;PPL)226也许会经由执行单元216如执行停用指令而被控制。
如上述与图1相关的,每个芯片具有一被指定的主要内核。此外,在相关方面,处理器也许具有一已指定的启动服务处理器(Boot Service Processor;BSP)内核,该启动服务处理器(Boot Service Processor;BSP)内核被单独授权来调整芯片组114特定的受限动作。因此,不同指定的主要和/或启动服务处理器(Boot Service Processor;BSP)身分码内核的实施例中,为了遵行预设的指定的。
在一实施例中,每一内核106包含可编程设定熔丝(fuse)。芯片104的制造商也许会变化设定熔丝(fuse)来指定内核106和/或其他内核106是否作为芯片104的主要内核或启动服务处理器(Boot Service Processor;BSP)的内核,以及内核106和/或其他内核106是否被启动,而指定每一内核106为唯一识别的情况,例如内核106是否是内核0、内核1、内核2或内核3。
另一实施例中,任何给定的内核主要指定是根据其情况。根据一实施例,在预设的情况下,偶数内核106是每一芯片104的主要内核。根据另一相关的实施例中,内核0被设定为多内核微处理器102的启动服务处理器(BootService Processor;BSP)内核
在另一实施例中,一初始主要或启动服务处理器(Boot Service Processor;BSP)的指定通过预设(如基于适用的设定熔丝或内核的情况)所提供,但也许会被新的设定覆写。更进一步地说,主要及启动服务处理器(Boot ServiceProcessor;BSP)的指定系动态的被重新设定或是暂时性的响应于临时设定而搁置,上述的指定系响应于不同的情况,该情况例如是被指定的主要或启动服务处理器(Boot Service Processor;BSP)内核为停用或暂停使用的状况。
尤其是如图2所示,每一内核106也许包含一主要指示(master indicator)232、启动服务处理器(Boot Service Processor;BSP)指示228以及一启用指示252。在一实施例中,如上所述,这些指示构成可选择性被烧断的熔丝(fuse)。例如,与启用指示252相关的熔丝(fuse),也许会选择性的被烧断以启用或停用内核106,藉以使内核106的数量可用于计算系统100,使计算系统100执行数据处理所用到的内核也许会小于实体内核106的数量。在其他实施例中,这些指示构成熔丝(fuse)藉以提供预设值,这些预设值被存储于模块特定寄存器(Model-Specific Registers;MSRS)238或设定存储器254内,但这些预设值被以相反设定覆写,如果有前述动作的话,这些预设值被存储于模块特定寄存器(Model-Specific Registers;MSRS)238或设定存储器254内。在另一实施例内,这些指示包含两个熔丝(fuse),藉以提供预设值及本机设定逻辑而能够覆写这些预设值。在其他实施例中,这些指示构成可以被开启或关闭的寄存器。
执行单元216接收到一启用指示252,启用指示252是指示是否启用内核106来执行数据处理。执行单元216也接收一启动服务处理器(Boot ServiceProcessor;BSP)指示228以及一主要指示232,启动服务处理器(Boot ServiceProcessor;BSP)指示228以及一主要指示232分别指示内核106是否为芯片104的主要内核以及是否为多内核微处理器102的启动服务处理器(BootService Processor;BSP)内核。如上所述,启动服务处理器(Boot ServiceProcessor;BSP)指示228、主要指示232以及启用指示252包含可编程的熔丝(fuse)。在另一种实施例中,启动服务处理器(Boot Service Processor;BSP)指示228、主要指示232和/或启用指示252被存储于模块特定寄存器(ModelSpecific Register;MSR)238内,且模块特定寄存器(Model Specific Register;MSR)238初始即设有可编程的熔丝(fuse)数值,但熔丝(fuse)数值可通过软件写入模块特定寄存器(Model Specific Register;MSR)238而更新。
更进一步地说,内核106包含设定存储器254,藉以存储多内核微处理器102的内核设定。在一实施例中,设定存储器254包含寄存器,在另一实施例中,设定存储器254包含一在小型随机存取存储器(Small Random AccessMemory;RAM)的存储区,小型随机存取存储器(Small Random AccessMemory;RAM)例如是美国专利申请案案号7,827,390所述的参数随机存取存储器(Parameter Random Access Memory;PRAM)。
如CNTR.2527所述,执行单元216也可读写控制状态寄存器(Control andStatus Register;CSR)234及控制状态寄存器(Control and Status Register;CSR)236,藉以与其他内核106通信。特别是,内核106系利用控制状态寄存器(Control and Status Register;CSR)236并经由内核间的通信线112与在同样芯片104上的内核106做通信,且内核106利用控制状态寄存器(Controland Status Register;CSR)234而通过芯片间的通信线118并经由焊接点108,进而与在同样芯片104上的内核106做通信。
微序列器206还包含一用以存储微码的微码存储器207。每一处理内核106均具有一相同指令集架构且彼此对称,且每一处理内核106均设定为计算一包含来自该指令集架构的指令的使用者程序。为了本发明所公开的目的,在本文中,“微码”一词是指在内核106执行指令架构中,相同内核106所执行的指令。也就是说,如果有任何存储在微码存储器207内的微码执行的话,其系在原有执行的内核106执行。
微码存储器207用以存储微码,微码包含如CNTR.2527内各种不同的实施例所述的内部电源状态管理微码。微码存储器207亦存储一包含设定发现(configuration discovery)及修正微码208。其中,设定发现及修正微码208被设定为动态确认初始设定(dynamically determine initial)(或预设)以及使用者所设定的(或以其他方式重新设定)多内核微处理器102的内核设定,用以存储指定的动态确定内核设定的讯息到设定存储器254,并且使用该存储的讯息,在此将于下的图3描述相对应的方法。在一实施例中,使用者所设定的内核设定讯息被存储在设定存储器254,藉以替代多内核微处理器102的初始设定或预设内核设定。在一实施例中,如下所述,设定发现及修正微码208被多内核微处理器102的重置引脚的判定所引发。设定发现及修正微码208最好在每一内核106上系重复的来支持扩充性。此外,如CNTR.2527文中所述的内核的内部电源状态管理微码,该微码根据修正设定来调整电源状态管理,其中修正设定发现并且存储响应于设定发现及修正微码208的执行动作。
请一并参阅图3A及图3B,图3A及图3B是显示本发明的图1的多内核微处理器执行动态设定发现以及修正过程的操作流程图。更具体地说,图1接合多内核微处理器102每一内核106的微码208的基本输入/输出系统(Basic Input/Output System;BIOS)152,提供一种方式来动态个别的停用或重启动并且重新设定内核106后制造的时间的主要设定,上述的情况例如是太晚而不能烧断熔丝(fuse)的状况。
在流程图的方块302中一使用者输入一理想的多内核微处理器102的内核设定。在一实施例中,基本输入/输出系统(Basic Input/Output System;BIOS)152在显示器158上,显示一选单让使用者指定一个理想内核设定,其中其是显示在图1所述的显示器158。举例来说,在多内核微处理器102内每一实体存在的内核106,基本输入/输出系统(Basic Input/Output System;BIOS)152也许会显示其启动指示252的数值,且使用者能切换该启动指示252的数值来指示理想的停用或重新启用内核106(启用指示252分别指示内核106是启用或是停用)。
如与CNTR.2527相关的所述,微处理器最好也设定有某些调整及发现动作,其中某些调整及发现动作系经由根据相容阶层式调整系统而适用的边带通信线,例如是电源状态管理。一般来说,阶层式调整系统会组成微处理器的内核的一或多个区域,其中每个区域中,有一内核是被设定为该区域的主要内核,且边带通信线被设置在适合的区域中。内核能根据主要身分码而被限制,如果有前述限制的话,为内核通过可用的边带通信线,来通信及调整其他区域的内核的能力。
CNTR.2527描述了各式各样的阶层式调整系统,各种巢套区域结构,区域内的各种内核集聚以及相对应的亲属群组,以及各种在亲属群组内的调整模块。阶层式调整系统能被用于电源状态管理,包含C状态(C-State)及P状态(P-State)的执行以及共享电压与时钟源的控制。一般来说,阶层式调整系统相容于边带通信线的结构与可用性,其中边带通信线被设置于内核与微处理器的内核群组之间。此外,阶层式调整系统适用于多内核微处理器能被指定布满全部或某个区域,以及存储随着每一内核的设定存储器254的其他设定讯息,藉以增进内核间的调整分散式系统、发现过程以及电源状态管理的过渡。其中阶层式调整系统的分布可为戈达尔数量(
Figure BDA0000123543980000151
Number)或其中一些组合。
每一内核中,基本输入/输出系统(Basic Input/Output System;BIOS)152能显示其主要指示232及启动服务处理器(Boot Service Processor;BSP)指示228的数值,并且让使用者切换其中的数值,藉以重新设置各内核的主要身分码(master credential)。基本输入/输出系统(Basic Input/Output System;BIOS)152会显示一些预设方面的可重新设定的阶层式调整系统,让使用者能在一定程度上相容于内核个别的可设定性以及适用于边带通信线中,增加、删除、结合与划分区域、重新定义相对应于亲属群组以及选择亲属群组间可用的调整模块。因此,基本输入/输出系统(Basic Input/Output System;BIOS)152提供一设定选项,藉以让使用者停用、重启动以及个别重新设定内核106。如果使用者要求停用一最初设定的主要内核,基本输入/输出系统(BasicInput/Output System;BIOS)152能自动设定一替代内核作为主要内核。
在流程图的方块304中,基本输入/输出系统(Basic Input/Output System;BIOS)152将在方块302所接收的使用者所指定的设定,存储至图1所示的非易失性随机存取存储器(Non-Volatile Random Access Memory;NVRAM)。
在流程图的方块306中,多内核微处理器102被重置。例如,基本输入/输出系统(Basic Input/Output System;BIOS)152会重置多内核微处理器102或是多内核微处理器会被使用者以启动(power)计算系统100或点击重置按钮的一些操作而重置。
在流程图的方块308中,每一内核106的重置微码208确定其初始设定。在一实施例中,每一内核106的重置微码208根据CNTR.2533所述的方法,来确认多内核微处理器的初始设定。如本文所述,每一内核106将一动态确定的设定写入图2所述的设定存储器254内。
在流程图的方块312中,基本输入/输出系统(Basic Input/Output System;BIOS)152写入每一内核106的模块特定寄存器(Model-Specific Register;MSR)238,其中每一内核106并不包含在使用者所指定的设定内,例如写入使用者期望被停用的每一内核106及写入每一内核的主要身分码,如果有前述操作的话,是使用者所期望去改变的。在另一实施例中,基本输入/输出系统(Basic Input/Output System;BIOS)152执行一x86写入型号专用寄存器(Write to Model Specific Register;WRMSR)的指令来写入模块特定寄存器(Model-specific register;MSR)238。如果使用者所设定的如此指定,写入模块特定寄存器(Model-Specific Register;MSR)238的指令指示内核106自行终止或停用。另外,如果使用者所设定的如此指定,写入模块特定寄存器(Model-Specific Register;MSR)238的指令指示内核106覆盖其预设的主要指示232和/或启动服务处理器(Boot Service Processor;BSP)指示228。
在流程图的方块314中,每一内核106引动一微码208的一部分,其中该部分的微码用以执行响应于在方块312中写入型号专用寄存器(Write toModel Specific Register;WRMSR)的指令。以响应于一终止指令为例,适当的终止执行微码208写入控制内核106的寄存器藉以终止内核106。特别是指将终止执行微码208写入总线接口单元224,藉以使终止内核106不响应于总线116的窥探周期。这样的设置有利于防止内核106响应于窥探周期而引起总线116的拖曳。拖曳的产生由于窥探响应会要求内核106在总线116插入延迟的时钟,而使其有额外的时间来窥探其快取存储器。最后,终止执行微码208将内核转变至最小的功耗状态并且进入休眠状态,例如,终止执行微码208会停止时钟和/或从多内核微处理器102的大部分电路中断开电源。然而,内核106仍保有响应于由在外部重设多内核微处理器102的重置引脚的功能。因此,微码208从不返回至使用者码。在一实施例中,为了使被终止的内核106恢复,需要一个经由多内核微处理器102的外部重置、经由相对应于内核106的输入焊接点或是切断内核106的电源的方式,藉以恢复内核106。
在流程图的方块316中,基本输入/输出系统(Basic Input/Output System;BIOS)152从非易失性随机存取存储器(Non-Volatile Random Access Memory;NVRAM)154来读取使用者所指定的设定,并且将模块特定寄存器(Model-Specific Register;MSR)238写入任何一个仍启动的内核,例如没有被使用者停用的内核106,通过前述方法来指示使用者所指定的设定并覆盖方块308所确认的初始设定。值得一提的是,在方块312及方块316所执行的写入型号专用寄存器(Write to Model Specific Register;WRMSR),其会被期望采用内核106的终止或重新设定功能的任何系统软件执行,上述功能如本文所描述来重新设定多内核微处理器102且没有限制于使用基本输入/输出系统(Basic Input/Output System;BIOS)152。
在流程图的方块318中,每一仍启动的内核106引动微码208的一部分来执行写入型号专用寄存器(Write to Model Specific Register;WRMSR)的指令,该指令系响应于方块316所执行的写入型号专用寄存器(Write to ModelSpecific Register;WRMSR)。微码208接收到使用者所指定的设定并且写入设定存储器254,因而覆写掉方块308所写入的初始设定。内核106便根据使用者所指定的设定继续操作。
举例来说,内核106会通过返回已启动内核的数量来执行CPUID指令,其中已启动的内核系列举在使用者所指定的设定之内,此外,使用者所指定的设定被存储于设定存储器254之内。在另一实施例中,内核106利用方块314所存储的讯息来调整某些电源状态管理功能,例如所要求的C状态(C-State)、P状态(P-State)、电压识别数字(Voltage Identification Digital;VID)水平以及时钟频率的执行。如上所述,例如与CNTR2527相关以及美国专利临时申请案案号61/426,470,申请日12/22/2010,名称为“分散式电源管理分部多个处理器内核(Decentralized Power Management Distributed AmongMultiple Processor Cores)”的一部分以及其同在申请的非临时申请案(CNTR.2534),这些都纳入本文的参考。另一实施例中,内核106利用所存储的设定讯息来执行多内核“电源贷款”功能,如美国专利申请案案号13/157,436(CNTR.2517),申请日6/10/2011,为了达到本申请所有目的,也都在本文中纳入参考。
在流程图的方块322中,除了基本输入/输出系统(Basic Input/OutputSystem;BIOS)152所执行使用的内核106,基本输入/输出系统(BasicInput/Output System;BIOS)152在其余每一内核106上执行一停止(Halt;HLT)指令来停止内核106。值得一提的是,停止或是休眠的内核106仍在窥探总线116并且确认其快取存储器,这样的情况有可能导致产生在总线116的异动,而不利于性能及不必要的功耗的产生。然而,如本文所述,在方块312时,当基本输入/输出系统(Basic Input/Output System;BIOS)152的设定将模块特定寄存器(Model-specific register;MSR)238写入终止内核,内核106会在方块314自我终止,相对于自我停止的方式,这样的方法能让内核106是真的停用并且不会窥探总线116、或认其快取存储器或是在总线116上产生异动,这样的话,只有真的外部重置这样的方法,才能让被终止的内核106再次回复。
在流程图的方块324中,基本输入/输出系统(Basic Input/Output System;BIOS)152从磁盘将操作系统156载入到系统存储器并且转移控制权给操作系统156。操作系统156发出初始化(Initialization;INIT)重置指令至多内核微处理器102的所有内核106,通过BIOS152使他们从停止的状态中回复而进入方块302。在另一实施例中,初始化(Initialization;INIT)重置指令包含知名输入/输出高级可编程中断控制器(I/O Advanced Programmable InterruptController;I/O APIC)初始化(Initialization;INIT)指令,其用以指示内核106执行一响应于重置的动作子集(特别是从其停止的状态中回复)。
在流程图的方块326中,在方块314中每一个自行终止的内核106对于方块324所发出的初始化(Initialization;INIT)讯息并不会发生响应,更确切地说,终止的内核106系保持其终止状态直到执行外部重置才会回复。然而,其余已启动的内核106响应于初始化(Initialization;INIT)讯息并且根据存储在方块318中使用者所指定的设定而执行。其中,重置微码208被引动而响应于初始化(Initialization;INIT)讯息。然而,响应于初始化(Initialization;INIT)讯息中,重置微码208不执行如方块308的操作,重置微码208并不确认其内核设定,而是响应于外部重置。值得一提的是,初始化(Initialization;INIT)讯息从在重置所有内核106的总线116上,初始化(Initialization;INIT)引脚是判定为不同的,也因此对每一内核106来说是唯一的。操作流程在方块326结束。
值得一提的是,方块302及方块304的执行步骤只需要执行一次,例如,使用者只需要指定一次他所期望的设定,且基本输入/输出系统(BasicInput/Output System;BIOS)152只需要存储一次使用者所指定的设定;而方块306至方块326的执行步骤每被执行一次,系统就被重置且操作系统就会启动。
如上所述,动态设定发现及修正过程可能会支持多内核微处理器102所有内核中主要指定的重新设定。在一实施例中,芯片104上的硬件设定为在该芯片中任何能够用以驱动输出焊接点108的内核106,故内核间的通信线118耦合至输出焊接点108,藉以在计算系统100内的其他内核106做通信;然而,在任何给定的时间中,只有在芯片104的一内核106设定为驱动输出焊接点108。这样有利于预设的主要内核(内核106设定熔丝(fuse)而作为芯片104和/或多内核微处理器102的主要内核)处于不操作状态或是基本输入/输出系统(Basic Input/Output System;BIOS)152终止主要内核的状况。举例来说,这样能启动其余内核106的一内核106变成主要内核并且与伙伴内核106在其他芯片104上通信,藉以执行如CNTR.2527及CNTR.2534所述的电源状态管理。所有芯片104的内核106接收电性连接于输入内核间的通信线118的输入焊接点108的信号。因此,如果使用者或故障停用的预设主要内核,有利于其余的内核106(例如新的主要内核)能够接收代表这个芯片104的输入内核间的通信带118的信号,并且如上所述,能够驱动这个芯片104内核间的通信线118耦合至输出焊接点108。通过这种方式,在一实施例中,所有在给定的芯片104的内核106设定可能的排列组合可行的。
为了支持动态内核重新设定,在一实施例中,内核106相关的熔丝(fuse)数值是个别地做异或(Exclusive-OR’ed)运算以及寄存器的对应位元,藉以产生一终值,例如主要指示232、启动服务处理器(Boot Service Processor;BSP)指示228及启用指示252。相关的熔丝(fuse)数值可为与CNTR.2534的图2、图3A及图3B相对应的熔丝(fuse)不驱动指示154以及熔丝(fuse)不驱动频率指示354,其是个别地做异或(Exclusive-OR’ed,又称之为“互斥或”)运算。寄存器位元(bit,也称之为“位”)通过微码208所写入,通常响应于写入模块特定寄存器(Model-Specific Register;MSR)238。最后,每一内核106同样设定启动微码208,藉以写入寄存器的一位元来动态更新内核106是否驱动耦合至输出焊接点108的内核间通信线118。这样的设定能被采用,例如设定双内核芯片104或四内核芯片的任一内核106设定作为芯片的主要内核。
更进一步实施例中,每一内核106没有被设定为适用于区域的主要内核,该内核106设定内部微码,这样的方式也许会与CNTR.2533其中之一所描述的过程一致,藉以确定区域中被设定的主要内核是否为已启用或是在执行状态,如果不是则有条件的自我重新设定(如基于其相对于区域内的其他亲属内核的实际数量)作为适用于区域的临时主要内核,以及藉以判定控制输出焊接点108为一合适的边带内核线。一个被指定的主要内核也可以在预设的条件被设置(如基于他们的状态或迫切性来限制中断的限制中断模式)或是响应于一合适的指令,藉以暂时性的代表从属亲属内核作为临时主要内核。被指定的主要内核能经由与临时设定相关之后续的异动,启动一控制权移转回到其本身,这样的情况下临时主要内核取消其临时设定。
经控制权的判定或重新判定,无论是从一个被指定的主要内核作为临时主要内核,或是从一个临时主要内核经由重新判定控制权而成为一指定的主要内核,任何内核假设主要功能是最好也设定为与至少其从属内核来共享其重新设定,藉以重新设定从属内核来调整新操作的主要内核而不是先前操作的主要内核。
接口逻辑也最好是被提供用来执行具有临时主要控制权,藉以防止在指定的主要内核间重新判定输出焊接点108的控制权,直到如果有一个适当的控制权异动在被指定的主要内核以及临时的主要内核之间进行。
这样的方式下,多内核微处理器102也许会设定为动态响应于内核故障及内核失效而自我修复。自我修复实施例的最大程度中,每一内核在任何给定的亲属群中,是可以操作设定为亲属群的主要内核或是临时主要内核,包含最高的亲属群组水平上作为处理器的启动服务处理器(Boot ServiceProcessor;BSP)的内核。在这样的实施例中,内核间的通信线可以高效率的阶层式来组织,但因为任何主要内核会被从属亲属内核替代,微处理器会能在周围故障的内核中,重新设定其阶层式系统。
在另一实施例中,内核106各方面不同于图2的代表实施例并且提供取代或额外的高度并联结构,例如适当的图形处理单元(Graphics ProcessingUnits;GPU)的结构。
然而各种有关于本发明的实施例已在本文详述,应可充分了解如何实施并且不限于这些实施方式。举凡本领域技术人员当可依据本发明的上述实施例说明而作其它种种的改良及变化。举例来说,软件可以启动如功能、制造、模型、模拟、描述和/或测试本文所述的装置及方法。可以通过一般程序语言(如C及C++)、硬件描述语言(Hardware Description Languages;HDL)或其他可用程序的使用来达成,其中硬件描述语言(Hardware Descriptionlanguages;HDL)包含Verilog HDL、VHDL等硬件描述语言。这样的软件能在任何所知的计算机可用媒介中处理执行,例如磁带、半导体、磁盘或光盘(如CD-ROM及DVD-ROM等)、网络、有线电缆、无线网络或其他通信媒介。本文所述的装置及方法的实施例中,可包含在智慧型内核半导体内,并且转换为集成电路产品的硬件,其中智慧型内核半导体如微处理器内核(如硬件描述语言内的实施或设定)。此外,本文所述的装置及方法可由硬件及软件的结合来实施。因此,本发明并不局限于任何本发明所述的实施例,但根据下述的专利范围及等效的装置及方法而定义。具体来说,本发明能在普遍使用的处理器装置里执行实施。最后,熟练于本技术领域的应能体会他们能很快地以本文所公开的观念及具体的实施例为基础,并且在没有背离本发明所述的附属项范围下,来设计或修正其他结构而实行与本发明的同样目的。

Claims (29)

1.一种可动态重设定的多内核微处理器,包含:
多个已初启用的内核,该每一已初启用的内核被设定为执行由一系统软件所发布的一终止指令,据以中止该每一已初启用的内核响应于一系统总线上的异动,其中该系统总线设置耦合于该多内核微处理器的外部;
其中,一终止指令停用的内核的中止(disable)遵行发送至该系统总线的一重置指令,但其仍可通过在多内核微处理器的一重置引脚,进行外部重置的方式来恢复执行功能而成一已启用内核,且若通过上述方法进行重置,除非该已启用内核再接收到另一终止指令,该已启用内核仍具有执行功能。
2.如权利要求1所述的可动态重设定的多内核微处理器,其中,当一内核在收到该终止指令而终止时,该内核因为无法对系统总线的异动产生响应,因此该内核将不会对该系统总线的窥探周期响应。
3.如权利要求1所述的可动态重设定的多内核微处理器,其中,该每一已初启用的内核更进一步设定对该终止指令响应,藉以使该每一已初启用的内核自行进入一省电睡眠状态。
4.如权利要求1所述的可动态重设定的多内核微处理器,其中该其他未接收到该终止指令的已初启用内核被设定为,通过接收到内部电源状态的一管理微码来调整彼此间的电源状态管理,而非依据任何已停用内核的电源状态需求值。
5.一种可动态重设定的多内核微处理器,包含:
多个处理内核,这些处理内核中,至少有一处理内核被指定为一主要内核;
至少一边带通信线,被设置于一系统总线的外部并且电性连接于一芯片组,藉以促进这些处理内核间的通信;
其中,这些处理内核中,至少有两处理内核电性连接于该边带通信线;
其中,该两处理内核被设定为有条件地驱动一输出至该边带通信线的一连接端,该连接端根据该两处理内核的指定,如果其中之一处理内核缺乏前述设定,则该处理内核作为主要内核;以及
其中,该两处理内核若有任何一个是被指定为主要内核,在运作时可重新设定该主要内核或移除原有的指定。
6.如权利要求5所述的可动态重设定的多内核微处理器,其中,每一内核包含一预设设定,该预设设定被存储于该内核内部逻辑中,藉以判断该内核是否被指定为主要内核。
7.如权利要求5所述的可动态重设定的多内核微处理器,其中,每一内核包含一存储器,该存储器用以存储对该内核的一修正指定。
8.如权利要求7所述的可动态重设定的多内核微处理器,其中,该存储器用以存储对该整个多内核微处理器所作的一修正设定,如果有修正设定的话,该修正设定用以辨识其他该多内核微处理器的已启用内核和这些启用内核的主要设定。
9.如权利要求7所述的可动态重设定的多内核微处理器,其中,每一内核设有内部电源状态的一管理微码,并依据该修正设定所存储的内容调整其电源状态管理。
10.一种中止包含多个内核的多内核微处理器内的一或多个内核的方法,包含:
通过上述一或多个内核的每一个内核执行一第一指令指示该内核自行中止,其中该第一指令包含在一系统软件程序;
对于未执行第一指令的其余内核,则执行一第二指令,该第二指令是指定该多内核微处理器内的一内核设定,该指定反映执行该第一指令后已被中止的一或多个内核,其中该第二指令包含在一系统软件程序内。
11.如权利要求10所述的中止包含多个内核的多内核微处理器内的一或多个内核的方法,其中该第一指令执行的一部分中,还包含使该内核停止响应于一总线上的异动,且该总线耦合于该多内核微处理器的外部。
12.如权利要求11所述的中止包含多个内核的多内核微处理器内的一或多个内核的方法,其中该第一指令执行的一部分中,还包含保有该内核响应于在外部重置多内核微处理器的重置引脚的功能,但除了中止内核响应于重置讯息指令之外。
13.如权利要求10所述的中止包含多个内核的多内核微处理器内的一或多个内核的方法,其中该第一指令执行的一部分中,还包含转变该内核至最小的功率消耗状态。
14.如权利要求10所述的中止包含多个内核的多内核微处理器内的一或多个内核的方法,其中该第二指令执行的一部分中,还包含将该内核设定存储于该内核内。
15.如权利要求14所述的中止包含多个内核的多内核微处理器内的一或多个内核的方法,其中该内核设定由使用者所指定。
16.如权利要求15所述的中止包含多个内核的多内核微处理器内的一或多个内核的方法,其中还包含:
通过上述多个内核的每一个内核确定该多内核微处理器的一初始内核设定,用以响应于该多内核微处理器的重置并优先于前述所提到的该第一指令及该第二指令;
对于未执行该第一指令的其余内核则根据所存储的内核设定操作而不是依据初始设定。
17.如权利要求10所述的中止包含多个内核的多内核微处理器内的一或多个内核的方法中,还包含:
通过其余未执行该第一指令的多个内核执行在执行前述提到的该第二指令之后,执行一第三指令是指示该内核停止执行,其中该第三指令包含在该系统软件程序内。
18.如权利要求17所述的中止包含多个内核的多内核微处理器内的一或多个内核的方法中,还包含:
传送一重置讯息至这些内核以指示这些内核自行重置,其中该重置讯息由一多处理器操作系统所发出。
19.如权利要求18所述的中止包含多个内核的多内核微处理器内的一或多个内核的方法中,还包含:
命令每一执行过该第一指令一或多个内核停止对该重置讯息响应;以及
响应于该重置讯息,命令其余没执行该第一指令的多个内核对该重置讯息响应。
20.一种动态重置多内核微处理器的一或多个内核的方法,该多内核微处理器具包含多个内核以及多个边带通信线,该边带通信线被设置于一系统总线外部并电性连接于一芯片组,藉以增进无系统总线这些内核间的通信,其中至少有一些内核可操作而被重新设定为具有或并无主要凭证,藉以架构基底边带内核间的通信,该方法包含:
确定该处理器内的内核的该初始设定,该初始设定是指定至少一内核而不是全部的内核作为主要内核;以及
根据该修正设定来重设这些内核,该修正设定从如此初始设定的一个内核中移除一个主要指定,并且指派一主要指定至一个未如此初始设定的内核;
其中,每一内核被设定为有条件地驱动一边带通信线至一连接端,该连接端根据该内核的指定,如果缺乏前述设定,则该内核作为主要内核。
21.如权利要求20所述的动态重置多内核微处理器内的一或多个内核的方法,其中还包含通过在这些内核内,选择性烧断适用的熔丝(fuse)而产生该初始设定,其中该适用的熔丝(fuse)系定义为该内核是否在预设情况下具有一或多个主要身分码。
22.如权利要求21所述的动态重置多内核微处理器内的一或多个内核的方法,其中还包含通过设定发现(configuration discovery)微码在该每一内核上运行,确认该初始设定。
23.如权利要求20所述的动态重置多内核微处理器内的一或多个内核的方法,其中该修正设定由一系统软件程序所提供。
24.如权利要求23所述的动态重置多内核微处理器内的一或多个内核的方法中,还包含一使用者通过一使用者接口指定该修正设定。
25.如权利要求20所述的动态重置多内核微处理器内的一或多个内核的方法中,还包含在该内核内存储该修正设定。
26.如权利要求25所述的动态重置多内核微处理器内的一或多个内核的方法中,还包含根据该修正设定而调整这些内核间的电源状态管理。
27.如权利要求20所述的动态重置多内核微处理器内的一或多个内核的方法,其中:
该多内核微处理器包含多个多核芯片;
该每一多核芯片具有一已指定的主要内核;
在多内核微处理器内的芯片间,设有一组内核间的边带通信线。
每一芯片的每一内核电性连接于该芯片间的边带通信线,且该内核被设定为有条件地驱动一输出至该边带通信线,其根据该两处理内核的指定,如果其中该芯片的一内核缺乏前述设定,则作为该芯片的主要内核;并且若有任何芯片的内核是被指定为主要内核,在运作时可重新设定为主要内核或移除原有的指定。
28.如权利要求20所述的动态重置多内核微处理器内的一或多个内核的方法中,还包含根据一临时设定重置该内核,其中该临时设定包括:
指定一非主要内核作为临时主要内核;
从驱动一适合的边带通信线中止该已设定的主要内核;以及
启动该临时主要内核来驱动该适合的边带通信线。
29.如权利要求28所述的动态重置多内核微处理器内的一或多个内核的方法中,还包含:
一非主要内核对侦测到与中止、不能执行、一故障、或是已设定的主要内核故障的情况而响应时,该非主要内核执行该临时设定;
该非主要内核受该临时设定来分配该临时设定至其他内核;以及
该非主要内核有条件地取消该临时设定,如果该已指定(designated)的主要内核通过一后续的异动启动一控制权移转回到其本身。
CN201110436337.3A 2010-12-22 2011-12-22 可动态和选择性停用内核以及重新设定多内核微处理器 Active CN102521002B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201061426470P 2010-12-22 2010-12-22
US61/426,470 2010-12-22
US13/299,239 2011-11-17
US13/299,239 US8972707B2 (en) 2010-12-22 2011-11-17 Multi-core processor with core selectively disabled by kill instruction of system software and resettable only via external pin

Publications (2)

Publication Number Publication Date
CN102521002A true CN102521002A (zh) 2012-06-27
CN102521002B CN102521002B (zh) 2015-10-28

Family

ID=46291943

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110436337.3A Active CN102521002B (zh) 2010-12-22 2011-12-22 可动态和选择性停用内核以及重新设定多内核微处理器

Country Status (3)

Country Link
US (6) US8972707B2 (zh)
CN (1) CN102521002B (zh)
TW (1) TWI506559B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104008014A (zh) * 2013-02-27 2014-08-27 金丽科技股份有限公司 多核心处理器及其相关控制方法与电脑系统
CN104462004A (zh) * 2013-08-28 2015-03-25 威盛电子股份有限公司 微处理器及其处理核间同步运作的方法
CN104657240A (zh) * 2013-11-18 2015-05-27 华为技术有限公司 多内核操作系统的失效控制方法及装置
CN106293958A (zh) * 2015-06-24 2017-01-04 阿尔特拉公司 用于内核间通信的信道大小调整
CN106774788A (zh) * 2016-11-23 2017-05-31 深圳市博巨兴实业发展有限公司 一种基于mcu的soc及其内核协作控制单元
CN107015847A (zh) * 2016-01-28 2017-08-04 扬智科技股份有限公司 电子装置及其工作模式切换方法
CN110046126A (zh) * 2013-08-28 2019-07-23 威盛电子股份有限公司 多核微处理器及其重新配置方法、计算机可读存储介质
CN112817760A (zh) * 2021-01-28 2021-05-18 深圳宏芯宇电子股份有限公司 多核处理器及多核处理器信号处理方法
CN116257472A (zh) * 2023-05-15 2023-06-13 上海励驰半导体有限公司 接口控制方法、装置、电子设备及存储介质
TWI806302B (zh) * 2021-12-22 2023-06-21 大陸商北京集創北方科技股份有限公司 級聯用觸控暨顯示驅動整合晶片、觸控顯示裝置及資訊處理裝置

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8631256B2 (en) 2010-12-22 2014-01-14 Via Technologies, Inc. Distributed management of a shared power source to a multi-core microprocessor
US8635476B2 (en) 2010-12-22 2014-01-21 Via Technologies, Inc. Decentralized power management distributed among multiple processor cores
US8637212B2 (en) 2010-12-22 2014-01-28 Via Technologies, Inc. Reticle set modification to produce multi-core dies
US8782451B2 (en) 2010-12-22 2014-07-15 Via Technologies, Inc. Power state synchronization in a multi-core processor
US8972707B2 (en) 2010-12-22 2015-03-03 Via Technologies, Inc. Multi-core processor with core selectively disabled by kill instruction of system software and resettable only via external pin
US9460038B2 (en) 2010-12-22 2016-10-04 Via Technologies, Inc. Multi-core microprocessor internal bypass bus
US8930676B2 (en) 2010-12-22 2015-01-06 Via Technologies, Inc. Master core discovering enabled cores in microprocessor comprising plural multi-core dies
US8407506B2 (en) * 2011-03-30 2013-03-26 Symbol Technologies, Inc. Dynamic allocation of processor cores running an operating system
US9442732B2 (en) 2012-03-19 2016-09-13 Via Technologies, Inc. Running state power saving via reduced instructions per clock operation
JP5981020B2 (ja) * 2012-04-24 2016-08-31 インテル コーポレイション 効率的な消費電力管理のための動的インタラプト再コンフィグレーション
US10581763B2 (en) 2012-09-21 2020-03-03 Avago Technologies International Sales Pte. Limited High availability application messaging layer
US9967106B2 (en) 2012-09-24 2018-05-08 Brocade Communications Systems LLC Role based multicast messaging infrastructure
CN102880762A (zh) * 2012-10-18 2013-01-16 电子科技大学 基于NoC架构的多核处理器平台及其设计方法
US10423216B2 (en) * 2013-03-26 2019-09-24 Via Technologies, Inc. Asymmetric multi-core processor with native switching mechanism
US9477277B2 (en) 2013-06-17 2016-10-25 Globalfoundries Inc. Varying power load conditions on systems under test
US9471088B2 (en) * 2013-06-25 2016-10-18 Intel Corporation Restricting clock signal delivery in a processor
US9377836B2 (en) 2013-07-26 2016-06-28 Intel Corporation Restricting clock signal delivery based on activity in a processor
US9891927B2 (en) 2013-08-28 2018-02-13 Via Technologies, Inc. Inter-core communication via uncore RAM
CN104331387B (zh) * 2013-08-28 2019-08-06 威盛电子股份有限公司 微处理器及其配置方法
EP2843550B1 (en) * 2013-08-28 2018-09-12 VIA Technologies, Inc. Dynamic reconfiguration of mulit-core processor
US9792112B2 (en) 2013-08-28 2017-10-17 Via Technologies, Inc. Propagation of microcode patches to multiple cores in multicore microprocessor
US10019260B2 (en) 2013-09-20 2018-07-10 Via Alliance Semiconductor Co., Ltd Fingerprint units comparing stored static fingerprints with dynamically generated fingerprints and reconfiguring processor settings upon a fingerprint match
US9330011B2 (en) 2013-09-20 2016-05-03 Via Alliance Semiconductor Co., Ltd. Microprocessor with integrated NOP slide detector
US10261882B2 (en) * 2014-01-31 2019-04-16 Hewlett Packard Enterprise Development Lp Functional unit promotion to management unit
US9755902B2 (en) 2014-05-20 2017-09-05 Via Alliance Semiconductor Co., Ltd. Dynamic system configuration based on cloud-collaborative experimentation
US9575778B2 (en) 2014-05-20 2017-02-21 Via Alliance Semiconductor Co., Ltd. Dynamically configurable system based on cloud-collaborative experimentation
US9619349B2 (en) * 2014-10-14 2017-04-11 Brocade Communications Systems, Inc. Biasing active-standby determination
US9710273B2 (en) 2014-11-21 2017-07-18 Oracle International Corporation Method for migrating CPU state from an inoperable core to a spare core
US20170052799A1 (en) * 2015-08-21 2017-02-23 Microchip Technology Incorporated Integrated Circuit Device With Selectable Processor Core
US10162789B2 (en) 2015-09-03 2018-12-25 Altera Corporation Distributed multi-die protocol application interface
US9697320B2 (en) * 2015-09-24 2017-07-04 Qualcomm Incorporated Rectilinear macros having non-uniform channel spacing
DE102015221064A1 (de) * 2015-10-28 2017-05-04 Robert Bosch Gmbh Anordnung aus wenigstens zwei Mikrocontrollern und Verfahren zur Herstellung einer solchen Anordnung
US20170153892A1 (en) * 2015-11-30 2017-06-01 Intel Corporation Instruction And Logic For Programmable Fabric Hierarchy And Cache
US10078544B2 (en) * 2015-12-19 2018-09-18 Intel Corporation Apparatus and method for an on-chip reliability controller
US10013392B2 (en) 2016-01-26 2018-07-03 Intel Corporation Providing access from outside a multicore processor SoC to individually configure voltages
US10338665B2 (en) * 2016-06-23 2019-07-02 Infineon Technologies Ag Microcontroller power reduction system and method
US10552270B2 (en) 2016-12-22 2020-02-04 Intel Corporation Systems and methods for in-field core failover
TWI626535B (zh) * 2017-02-15 2018-06-11 新唐科技股份有限公司 電源管理系統和控制器
US10541868B2 (en) * 2017-02-24 2020-01-21 Quanta Computer Inc. System and method for automatically updating bios setup options
US10993181B2 (en) * 2017-08-11 2021-04-27 Qualcomm Incorporated Techniques and apparatuses for power management via cross-rat signaling in a non-standalone configuration
US11042213B2 (en) * 2019-03-30 2021-06-22 Intel Corporation Autonomous core perimeter for low power processor states
CN110716756B (zh) * 2019-10-15 2023-03-14 上海兆芯集成电路有限公司 多晶粒的多核计算机平台及其开机方法
US11493986B2 (en) * 2019-12-22 2022-11-08 Qualcomm Incorporated Method and system for improving rock bottom sleep current of processor memories
US11500747B2 (en) * 2020-01-30 2022-11-15 Dell Products L.P. Computer initialization debug message display system
US11493975B2 (en) * 2020-09-24 2022-11-08 Intel Corporation System, apparatus and method for providing power monitoring isolation in a processor
US20230205297A1 (en) * 2021-12-27 2023-06-29 Advanced Micro Devices, Inc. Method and apparatus for managing power states
US20230367605A1 (en) * 2022-05-14 2023-11-16 Zscaler, Inc. System lab and standard operating procedure framework

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100426159C (zh) * 2005-09-06 2008-10-15 台达电子工业股份有限公司 具有双处理器的控制装置
CN101324802A (zh) * 2007-06-11 2008-12-17 联发科技股份有限公司 集成电路及其减少电源消耗的方法
CN101390067A (zh) * 2006-02-28 2009-03-18 英特尔公司 增强众核处理器的可靠性

Family Cites Families (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4748559A (en) * 1979-08-09 1988-05-31 Motorola, Inc. Apparatus for reducing power consumed by a static microprocessor
US5546588A (en) * 1992-05-08 1996-08-13 Motorola Inc. Method and apparatus for preventing a data processing system from entering a non-recoverable state
US5485625A (en) * 1992-06-29 1996-01-16 Ford Motor Company Method and apparatus for monitoring external events during a microprocessor's sleep mode
US5467455A (en) 1993-11-03 1995-11-14 Motorola, Inc. Data processing system and method for performing dynamic bus termination
US5918061A (en) * 1993-12-29 1999-06-29 Intel Corporation Enhanced power managing unit (PMU) in a multiprocessor chip
JP3315012B2 (ja) 1994-09-22 2002-08-19 大日本印刷株式会社 情報記録方法
US5987614A (en) 1997-06-17 1999-11-16 Vadem Distributed power management system and method for computer
US6496880B1 (en) 1999-08-26 2002-12-17 Agere Systems Inc. Shared I/O ports for multi-core designs
US6665802B1 (en) 2000-02-29 2003-12-16 Infineon Technologies North America Corp. Power management and control for a microcontroller
US6968467B2 (en) 2000-10-26 2005-11-22 Matsushita Electric Industrial Co., Ltd. Decentralized power management system for integrated circuit using local power management units that generate control signals based on common data
US7174467B1 (en) 2001-07-18 2007-02-06 Advanced Micro Devices, Inc. Message based power management in a multi-processor system
US7113488B2 (en) * 2002-04-24 2006-09-26 International Business Machines Corporation Reconfigurable circular bus
US7058855B2 (en) 2002-07-24 2006-06-06 Infineon Technologies Ag Emulation interface system
US7493417B2 (en) 2002-12-12 2009-02-17 International Business Machines Corporation Method and data processing system for microprocessor communication using a processor interconnect in a multi-processor system
US7191349B2 (en) 2002-12-26 2007-03-13 Intel Corporation Mechanism for processor power state aware distribution of lowest priority interrupt
EP1604288A1 (en) 2003-03-12 2005-12-14 Koninklijke Philips Electronics N.V. Data processing device and method for transferring data
US7240225B2 (en) * 2003-11-10 2007-07-03 Dell Products L.P. System and method for throttling power in one or more information handling systems
GB2409303B (en) 2003-12-18 2006-10-18 Advanced Risc Mach Ltd Inter-processor communication mechanism
US7308558B2 (en) 2004-01-07 2007-12-11 International Business Machines Corporation Multiprocessor data processing system having scalable data interconnect and data routing mechanism
US7734797B2 (en) 2004-03-29 2010-06-08 Marvell International Ltd. Inter-processor communication link with manageability port
US7966511B2 (en) 2004-07-27 2011-06-21 Intel Corporation Power management coordination in multi-core processors
US7451333B2 (en) 2004-09-03 2008-11-11 Intel Corporation Coordinating idle state transitions in multi-core processors
US7437581B2 (en) * 2004-09-28 2008-10-14 Intel Corporation Method and apparatus for varying energy per instruction according to the amount of available parallelism
US7257679B2 (en) 2004-10-01 2007-08-14 Advanced Micro Devices, Inc. Sharing monitored cache lines across multiple cores
JP4544081B2 (ja) * 2004-11-15 2010-09-15 株式会社デンソー マイクロコンピュータ
US7502948B2 (en) 2004-12-30 2009-03-10 Intel Corporation Method, system, and apparatus for selecting a maximum operation point based on number of active cores and performance level of each of the active cores
US20060171244A1 (en) 2005-02-03 2006-08-03 Yoshiyuki Ando Chip layout for multiple cpu core microprocessor
US20060218424A1 (en) * 2005-03-23 2006-09-28 Miron Abramovici Integrated circuit with autonomous power management
KR101108397B1 (ko) 2005-06-10 2012-01-30 엘지전자 주식회사 멀티-코어 프로세서의 전원 제어 장치 및 방법
US7568115B2 (en) 2005-09-28 2009-07-28 Intel Corporation Power delivery and power management of many-core processors
US7358758B2 (en) 2005-10-18 2008-04-15 Via Technologies, Inc. Apparatus and method for enabling a multi-processor environment on a bus
CN101433048B (zh) 2006-03-28 2012-11-07 雷帝系统加拿大有限公司 并行多核心计算结构的多媒体处理
US7506184B2 (en) 2006-05-09 2009-03-17 Intel Corporation Current detection for microelectronic devices using source-switched sensors
US7685441B2 (en) 2006-05-12 2010-03-23 Intel Corporation Power control unit with digitally supplied system parameters
US20100325481A1 (en) 2006-10-20 2010-12-23 Freescale Semiconductor, Inc. Device having redundant core and a method for providing core redundancy
US8327158B2 (en) * 2006-11-01 2012-12-04 Texas Instruments Incorporated Hardware voting mechanism for arbitrating scaling of shared voltage domain, integrated circuits, processes and systems
JP4945224B2 (ja) 2006-11-30 2012-06-06 株式会社東芝 コントローラ、情報処理装置、および供給電圧制御方法
KR101209252B1 (ko) 2007-02-02 2012-12-06 삼성전자주식회사 전자기기의 부팅 방법 및 부팅 인증 방법
JP4433006B2 (ja) 2007-07-04 2010-03-17 株式会社デンソー マルチコアの異常監視装置
CN100476694C (zh) 2007-09-28 2009-04-08 中国科学院计算技术研究所 一种多核处理器及其变频装置和核间通信方法
US8046615B2 (en) 2007-10-19 2011-10-25 Denso Corporation Microcomputer system with reduced power consumption
US8024590B2 (en) 2007-12-10 2011-09-20 Intel Corporation Predicting future power level states for processor cores
KR100958303B1 (ko) 2007-12-12 2010-05-19 한국전자통신연구원 멀티코어 시스템 환경에서 내부 코어 간 통신채널을 이용한 모듈 디바이스의 동적 적재 및 실행을 통한 부하 균등화 시스템 및 방법
US7962771B2 (en) 2007-12-31 2011-06-14 Intel Corporation Method, system, and apparatus for rerouting interrupts in a multi-core processor
US8615647B2 (en) 2008-02-29 2013-12-24 Intel Corporation Migrating execution of thread between cores of different instruction set architecture in multi-core processor and transitioning each core to respective on / off power state
US7910265B2 (en) 2008-03-14 2011-03-22 Infineon Technologies Ag Reticle for use in a semiconductor lithographic system and method for modifying the same
US8359487B2 (en) 2008-03-19 2013-01-22 Sony Corporation System and method for effectively performing a clock adjustment procedure
US20090307408A1 (en) 2008-06-09 2009-12-10 Rowan Nigel Naylor Peer-to-Peer Embedded System Communication Method and Apparatus
US7650488B2 (en) 2008-06-18 2010-01-19 Intel Corporation Communication between processor core partitions with exclusive read or write to descriptor queues for shared memory space
US7764132B2 (en) 2008-07-30 2010-07-27 International Business Machines Corporation All digital frequency-locked loop circuit method for clock generation in multicore microprocessor systems
US8112647B2 (en) 2008-08-27 2012-02-07 Globalfoundries Inc. Protocol for power state determination and demotion
US8103816B2 (en) 2008-10-28 2012-01-24 Intel Corporation Technique for communicating interrupts in a computer system
US8156275B2 (en) 2009-05-13 2012-04-10 Apple Inc. Power managed lock optimization
JP5187277B2 (ja) * 2009-06-16 2013-04-24 ソニー株式会社 情報処理装置、及びモード切り替え方法
US8239699B2 (en) 2009-06-26 2012-08-07 Intel Corporation Method and apparatus for performing energy-efficient network packet processing in a multi processor core system
US20100332877A1 (en) * 2009-06-30 2010-12-30 Yarch Mark A Method and apparatus for reducing power consumption
US8358651B1 (en) 2009-09-21 2013-01-22 Marvell International Ltd. Switch device having a plurality of processing cores
US8566836B2 (en) 2009-11-13 2013-10-22 Freescale Semiconductor, Inc. Multi-core system on chip
US8359436B2 (en) 2009-12-18 2013-01-22 Intel Corporation Core snoop handling during performance state and power state transitions in a distributed caching agent
US20110153984A1 (en) 2009-12-21 2011-06-23 Andrew Wolfe Dynamic voltage change for multi-core processing
US20110153982A1 (en) 2009-12-21 2011-06-23 Bbn Technologies Corp. Systems and methods for collecting data from multiple core processors
CN101901177B (zh) 2010-01-22 2012-11-21 威盛电子股份有限公司 多核微处理器及其除错方法
US8195883B2 (en) 2010-01-27 2012-06-05 Oracle America, Inc. Resource sharing to reduce implementation costs in a multicore processor
US20110265090A1 (en) 2010-04-22 2011-10-27 Moyer William C Multiple core data processor with usage monitoring
US8751833B2 (en) 2010-04-30 2014-06-10 Arm Limited Data processing system
US8412971B2 (en) 2010-05-11 2013-04-02 Advanced Micro Devices, Inc. Method and apparatus for cache control
US8457920B2 (en) 2010-05-28 2013-06-04 International Business Machines Corporation Performance improvement for a multi-chip system via kerf area interconnect
US8914661B2 (en) 2010-06-30 2014-12-16 Via Technologies, Inc. Multicore processor power credit management in which multiple processing cores use shared memory to communicate individual energy consumption
US8943334B2 (en) 2010-09-23 2015-01-27 Intel Corporation Providing per core voltage and frequency control
US8782451B2 (en) 2010-12-22 2014-07-15 Via Technologies, Inc. Power state synchronization in a multi-core processor
US8972707B2 (en) 2010-12-22 2015-03-03 Via Technologies, Inc. Multi-core processor with core selectively disabled by kill instruction of system software and resettable only via external pin
US8631256B2 (en) 2010-12-22 2014-01-14 Via Technologies, Inc. Distributed management of a shared power source to a multi-core microprocessor
US9460038B2 (en) 2010-12-22 2016-10-04 Via Technologies, Inc. Multi-core microprocessor internal bypass bus
US8637212B2 (en) 2010-12-22 2014-01-28 Via Technologies, Inc. Reticle set modification to produce multi-core dies
US8930676B2 (en) 2010-12-22 2015-01-06 Via Technologies, Inc. Master core discovering enabled cores in microprocessor comprising plural multi-core dies
US8635476B2 (en) 2010-12-22 2014-01-21 Via Technologies, Inc. Decentralized power management distributed among multiple processor cores

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100426159C (zh) * 2005-09-06 2008-10-15 台达电子工业股份有限公司 具有双处理器的控制装置
CN101390067A (zh) * 2006-02-28 2009-03-18 英特尔公司 增强众核处理器的可靠性
CN101324802A (zh) * 2007-06-11 2008-12-17 联发科技股份有限公司 集成电路及其减少电源消耗的方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104008014A (zh) * 2013-02-27 2014-08-27 金丽科技股份有限公司 多核心处理器及其相关控制方法与电脑系统
CN104462004B (zh) * 2013-08-28 2018-09-21 威盛电子股份有限公司 微处理器及其处理核间同步运作的方法
CN104462004A (zh) * 2013-08-28 2015-03-25 威盛电子股份有限公司 微处理器及其处理核间同步运作的方法
CN110046126B (zh) * 2013-08-28 2021-05-07 威盛电子股份有限公司 多核微处理器及其重新配置方法、计算机可读存储介质
CN110046126A (zh) * 2013-08-28 2019-07-23 威盛电子股份有限公司 多核微处理器及其重新配置方法、计算机可读存储介质
CN104657240A (zh) * 2013-11-18 2015-05-27 华为技术有限公司 多内核操作系统的失效控制方法及装置
CN104657240B (zh) * 2013-11-18 2018-08-21 华为技术有限公司 多内核操作系统的失效控制方法及装置
CN106293958A (zh) * 2015-06-24 2017-01-04 阿尔特拉公司 用于内核间通信的信道大小调整
CN106293958B (zh) * 2015-06-24 2019-11-12 阿尔特拉公司 用于内核间通信的信道大小调整
CN107015847A (zh) * 2016-01-28 2017-08-04 扬智科技股份有限公司 电子装置及其工作模式切换方法
CN106774788A (zh) * 2016-11-23 2017-05-31 深圳市博巨兴实业发展有限公司 一种基于mcu的soc及其内核协作控制单元
CN112817760A (zh) * 2021-01-28 2021-05-18 深圳宏芯宇电子股份有限公司 多核处理器及多核处理器信号处理方法
TWI806302B (zh) * 2021-12-22 2023-06-21 大陸商北京集創北方科技股份有限公司 級聯用觸控暨顯示驅動整合晶片、觸控顯示裝置及資訊處理裝置
CN116257472A (zh) * 2023-05-15 2023-06-13 上海励驰半导体有限公司 接口控制方法、装置、电子设备及存储介质
CN116257472B (zh) * 2023-05-15 2023-08-22 上海励驰半导体有限公司 接口控制方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN102521002B (zh) 2015-10-28
US20150046680A1 (en) 2015-02-12
US20160209897A1 (en) 2016-07-21
US20190107873A1 (en) 2019-04-11
US20160209913A1 (en) 2016-07-21
TWI506559B (zh) 2015-11-01
US20120166764A1 (en) 2012-06-28
US10126793B2 (en) 2018-11-13
TW201234271A (en) 2012-08-16
US9829945B2 (en) 2017-11-28
US10175732B2 (en) 2019-01-08
US9367497B2 (en) 2016-06-14
US20160179177A1 (en) 2016-06-23
US10409347B2 (en) 2019-09-10
US8972707B2 (en) 2015-03-03

Similar Documents

Publication Publication Date Title
CN102521002A (zh) 可动态和选择性停用内核以及重新设定多内核微处理器
CN100489785C (zh) 用于动态激活处理器的方法和系统
CN102521207B (zh) 多内核微处理器的共享电源的分布式管理
CN104583900B (zh) 在处理器的异质核之间动态切换工作载荷
EP2002333B1 (en) Shared nonvolatile memory architecture
CN101233475B (zh) 增加于多核心处理器上的一个或多个核心的工作量效能
CN103221919B (zh) 在操作系统(os)缺席的服务环境中供应固件的方法
TWI394048B (zh) 系統裝置、處理器及存取記憶體單元之方法
CN105960620B (zh) 动态电压裕度恢复
US7500095B2 (en) Chipset-independent method for locally and remotely updating and configuring system BIOS
US20090210735A1 (en) Apparatus, system, and method for controlling power sequence in a blade center environment
CN104981812B (zh) 在对等监控中支持可靠性、可用性、以及可服务性(ras)流的机制
CN103765409A (zh) 有功率效率的处理器体系结构
JP2007206885A (ja) コンピュータシステム及びシステム起動方法
CN107924219A (zh) 遮蔽处理器的核的功率状态
CN104572161B (zh) 一种基于龙芯便携式计算机的uefi固件实现方法
US20160306634A1 (en) Electronic device
CN103348333A (zh) 用于分级高速缓存设计中的高速缓存之间的高效通信的方法和装置
CN109564526A (zh) 使用封装和线程提示信息的组合来控制处理器的性能状态
KR20160111325A (ko) 하드웨어 기반 디바이스간 리소스 공유
CN116521209B (zh) 操作系统的升级方法及装置、存储介质及电子设备
CN108351680A (zh) 用于使用带内信令提供功率状态信息的方法和装置
WO2012143945A2 (en) Power management in multi host computing systems
CN107430563A (zh) 多模态接口
CN101989191A (zh) 一种多Ready输入中央处理器的实现方法

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