[go: up one dir, main page]

TW201234271A - Dynamic and selective core disablement and reconfiguration in a multi-core processor - Google Patents

Dynamic and selective core disablement and reconfiguration in a multi-core processor Download PDF

Info

Publication number
TW201234271A
TW201234271A TW100147943A TW100147943A TW201234271A TW 201234271 A TW201234271 A TW 201234271A TW 100147943 A TW100147943 A TW 100147943A TW 100147943 A TW100147943 A TW 100147943A TW 201234271 A TW201234271 A TW 201234271A
Authority
TW
Taiwan
Prior art keywords
core
cores
microprocessor
setting
dynamically
Prior art date
Application number
TW100147943A
Other languages
English (en)
Other versions
TWI506559B (zh
Inventor
G Glenn Henry
Stephan Gaskins
Original Assignee
Via Tech 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 Tech Inc filed Critical Via Tech Inc
Publication of TW201234271A publication Critical patent/TW201234271A/zh
Application granted granted Critical
Publication of TWI506559B publication Critical patent/TWI506559B/zh

Links

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/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3698Environments for analysis, debugging or testing of 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)
  • Stored Programmes (AREA)
  • Hardware Redundancy (AREA)

Description

201234271 六、發明說明: 【相關申請案之參考文獻】 本申請案優先權之申請係根據該美國專利臨時申請 案,案號:61/426,470,申請日:12/22/2010,名稱為多核 心内之旁路匯流排(MULTI-CORE INTERNAL BYPASS BUS),該案整體皆納入本案參考。 本申請案與下列同在申請中之美國專利申請案有關, 都具有相同的申請曰,每一申請案整體皆納入本案參考。 案號 申請曰 名稱 TBD (CNTR.2503) 12/22/2010 多核心處理器之内部旁路匯 流排 Multi-Core Microprocessor Internal Bypass Bus TBD (CNTR.2518) 12/22/2010 配置在多重處理器核心之間 之分散式電源管理 Power State Synchronization in a Multi-core Processor TBD (CNTR.2527) 12/22/2010 多處理器核心間之分散式電 源管理 Decentralized Power Management Distributed Among Multiple Processor 3 201234271
Cores TBD (CNTR.2528) 12/22/2010 產生多核心晶片之光罩組改良 Reticle Set Modification to Producer Multi-core Dies TBD (CNTR.2533) 12/22/2010 多核心動態配置發現方法以及 微處理器 Dynamic Multiple-Core Microprocessor Configuration Discovery TBD (CNTR.2534) 12/22/2010 多核心微處理器之共享電源 的分散式管理 Distributed Management of a Shared Power Source to a Multi-Core Microprocessor 【發明所屬之技術領域】 本發明係有關於一種多核心微處理器,特別是指一種 具有動態停用或重新設定核心的功能之多核心微處理器。 【先前技術】 在一些傳统的多核心微處理器中,製造商可以在微處 理器燒斷每一核心上的鎔絲(fuse),來指定多核心微處理 器之每一核心的設定。是以,經由多核心微處理器的核心 鎔絲數值便可靜態的定義每個核心,並確定系統内哪一核 201234271 心能夠執行處理資料。雖然這種 點’但缺點是-旦使用第一個多核心微處理= =:_已被燒斷,因此在產生第二次設;:需: ’ \騎絲的核讀枝再麵設定。在某些 二:行不能支援多核心測試或是應用軟體時,一可:需要 二=二此外,在許多應时,並非所有微處理器 w要的心甚至會在休眠絲㈣省功率^ 二處理器或系統匯流排與核心共 :: 氧可以被例如對窺探週期的響應而引起如 二::广°可能在製造中有缺陷、或是微 =過Μ轉’這樣的情況也會干擾為了核心間 =理器核心間所設置的預設調整系統。因此,現今^ 的疋-個重新設定多核錢處理器的可靠找。而要 【發明内容】 在-纽财,本糾提供— :指令、以及_存且已設二 耦合在多核心微處理器外部 9〒止曰應柃 止指令之處理核心可藉由輪入在之傳輸。執行終 的外部重置而保有恢復的可操二二嘁處理器重置引卿 理器移除電源’然後再接上的情。3核心可以從織4 停用的設定是何㈣撤回 1 ’但在實務上, 扪在重置或是重新接上電繚 5 201234271 二r:仃而铋用之初始啟動的處理核心會恢復成 =作之啟動核心,除非接收到另—終止指令否則其不會 在相關方面’因為執行終止指令而停用之處理核心無 二排之傳輪產生響應’所以它並不會響應或遵 、甚至是對重置訊息指令之響應或遵行失 令而停用之處理核心因為無法對系 =匯流排之傳料㈣應,目此它^會 探週期產生響應,此不會增加處理器匯流排的相二二 另方面,每一初始啟動核心更進一步設定對該終止 if生響應’而使每一初始啟動核心自行進入-省電睡 眠^悲。此外,其他未被終止指令所停用的初始啟動核心, 源«之f理微碼來調整彼此間之電源狀態 ^參考任何已停用如之電源狀態需求值。 方面’本發明提供—種具有可動態重新設定核心 =正糸統之多核心微處理器’可動態重新設定之多核心 ㈣理器包含複數個處理核心,該些複數個處理核心中至 =处理核〜破指定為一主要核心。該可動態重新設定 蜱m认/心通訊線,該邊帶通訊 二二又;-系紐流排之外部並且祕於―晶片組 :增3些處理核心間的通訊。每-紐邊帶通訊線耦接於 /兩地理核心。該兩處理核心任何—個可在運作時,被 糸統軟體麵奴駐純㈣錄 心’並根據該主要核心之指定(不管是否有這項指定ί 6 201234271 條件地羅動-輪出至該邊帶通訊線之連接端。 他方面,母一處理核心可包含一預設設定,用以 館存於該些處理核心内部邏輯尹,藉以觸該處理核心是 邊些處理核心包含一儲存器’用以儲存對 館:針=之一修正設定。此外,該内部之錯存器係用以 2對该夕核心微處理器所作之一修正設定,如果有修正 :又二的二該修正設錢依據主要核心設定來辨識其他該 夕核心螆處理器之啟動核心。 、另方面’該些處理核心設有内部電源狀態之管理 瑪,亚^據該修正設定所儲存的内容調整其電源狀態管理。 另$面,本發明提供一種停用包含複數個核心之多 多個核心之方法― 立餘去ί 齡,用⑽示如自行停用。 第一指令之複數個核心則執行系統軟體程式之 ί^:Γ藉以指定多核心微處理器之核心設定。核心設 疋使用者指定而反應一或多個已停用核心之狀態。 上包:二面=終止指令之核心停止響應於-匯流排 缺^重置訊息指令以及以最小的功耗狀態轉換的傳輸。 理琴之Γί執盯終止指令之核心對於外部重設多核心微處 之重置引腳的外部重設響應的功能係被保留。 核心=方面’執行第二指令的其餘核心將於其内部儲存 前,!面’每,心在重置後且在執行任何終止指令 即確認該讀^微處㈣之初始預設核心設定。 7 201234271 在了或多個核心接收並執行任何终 母一•餘 指令是與使用者所指:〜止或設定更新寫入 減體贼供晶片組轉予微處理 子任 啟動核心分別執行接^ 在钕用及其餘 輸出系統的核心之ϋ本些正在執行基本輪入/ 系統在單—剩餘執基本輸,出 极上啟動一刼作糸統,接著執行系 統發运-重置指令指示核心自行重置,但任何一個不再塑 應於系統匯流排傳輸而停用的核心,不會響應或遵行此^ 置指令,即只有執行停止指令的核心遵行於重置指令。 另一方面,本發明提供一種動態重置多核心微處理器 内之-或多個核心之方法’該多核心微處理器包含複數個 核心以及至少-組邊帶通赠’此邊帶通赠係設置於一 系統匯流排外部並麵接於-晶片組,藉以增進無系統匯流 排(non-system-bus)之核心間的通訊。其中每一核心係依 據其被設定為主要核w之設定(不管是否有這項設定)有 條件地驅動一邊帶通訊線至一連接端。其中至少有一些核 心係可被重新設定為具有或並無主要核心辨識瑪(刪如 credential),藉以架構以邊帶為基礎之核心間通訊。 8 201234271 另一非限制之實例中,適用於微處理器之方法包含複 數個多核心晶片,每一晶片具有一被指定為主要核心之核 心,該方法更包含一組耦接於晶片之晶片間邊帶通訊線, 其中每一晶片的核心,無論其是否為主要核心,係耦接於 該組晶>5間邊帶通訊線’並且依據其被設定為主要核心之 設定(不管是否有這項設定)而有條件地驅動—輸出至該 組晶片間邊帶通訊線;並且任何晶片之核心在運作時可重 新設定為主要核心或移除原有之指定。 處理器的核心具有一初始設定,藉以設定至少一個核 心作為主要核心,而不是設定全部核心作為主要核心。該 初始設疋可藉由選擇性的燒斷一適用於每一個核心的鎵絲 而產生,其中適用的鎔絲係定義為在預設的情況下,核心 是否具有一或多個主要核心辨識碼^藉由設定發現微碼在 該每一核心上運行而選擇性的確認初始設定後,一適用於 核心的修正设疋係將最初設定為主要核心者予以移除,並 且指派一最初/又有被设定為主要核心之核心為主要核心。 另一方面,核心係根據修正核心設定來操作,該修正 核心設定例如包含以相容方式調整核心間電源狀態管理。 另一方面,使用者經由使用者介面之操作來定義一修 正設定(如果在定義的限制範圍内適用的話),接下來系統 軟體程式提供修正設定至核心,核心再將其儲存至核心内。 另一方面,核心可根據臨時被重新設定,其中臨時設 定係指定一非主要核心做為臨時主要核心,經由驅動一適 合的邊帶通訊線以停用該已設定之主要核心,然後啟動臨 9 201234271 時主要核心來驅動適合的邊帶通訊線。在相關方面,為響 應偵測到與一停用、不能執行、錯誤、或是已設定之主要 核心故障之情況,#主要核心即執行該臨時設定。目前的 時主要核心分配故時5又足至其他核心(例如在同一晶片 的其他核心)’藉以啟動這些核心並根據臨時設定來操作。 已指定的主要核心可透過一後續的傳輸啟動一控制權移轉 回到其本身,而臨時主要核心將取消臨時設定,並且通知 被臨時設定所影響的核心。 【實施方式】 在此係敘述多核心微處理器的動態重新設定核心之姅 構及方法之實施例。在一實施例中,多核心微處理器以 相關方法係用以支援糸統軟體(例如Bios或其他操作达 統)來停用(disable)或終止(kill)所選擇的核心之能力= 有利的是,,㈣上祕止核邱方料會導致與其:核^ 共享處理顏流排的拖*。舉例來說,這樣特徵在性能測 試上或是對於不支援多核心的軟體而言是理想的功能。""另 -方面’多核讀處理H以及相關方法制以支援設 定微處理H核心間調整系統。有利岐,核心可被選擇性 的指定衫要㈣,藉以驅動訊號至核心間通訊線。、 的方式下,減㈣會響應g要如停㈣是所^之 主要核心無法操作之情況,為核,通訊之目^ 之設定或自我修復。此外,微處理器可以設定—可選=核 心間最佳給定指令之協調系統。 、 乂 10 201234271 在—些實施例中,新的設定以及指定可以由使用者指 定或是經由系統軟體或是韌體所提供,如基本輸入/輸出系 統(Basic Input/Output System; BIOS )。在其他實施例中, 適用的修正指定及/或臨時指定,係響應於内部核心邏輯或 微碼彳貞測到的情況而執行。 請參閱第一圖,第一圖係顯示本發明計算機系統 100 ’其包含一多核心微處理器102。第一圖之計算機系統 100在某些方面與美國專利臨時申請案案號61/426,470,申 請曰12/22/2010,名稱為“多處理器核心間之分散式電源管 理(Decentralized Power Management Distributed Among
Multiple Processor Cores) ’’相似,其同在申請之非臨時申 請案(CNTR2527)也在本文中納入參考。此外,第一圖 之計算機系統100在某些方面與美國專利臨時申請案案號 61/426,470,申請日12/22/2010,名稱為“動態的多核心微 處理器設定(Dynamic Multi-Core Microprocessor Configuration )’’相似’其同案的非臨時申請案(C]snrR2533 ) 也在本文中納入參考。 計算機系統100包含一單晶片組114,單晶片組ι14 係藉由系統匯流排116耦合在多核心微處理器1〇2,其中 系統匯流排116包含一匯流排時鐘。晶片組114可操作來 產生一重置訊號,且該重置訊號係由多核心微處理器1〇2 所接收。計算機系統1〇〇更包含—非易失性記憶體152, 例如快閃記憶體,該非易失性記憶體152係用以儲存如基 本輸入/輸出系統碼之系統韌體。計算機系統1〇〇更包含一 201234271 #易,性隨,存取記憶體154,例如快閃記憶體或是在個 人計算系統常見之電池供電的隨機存取記憶體,非易失性 隨機存取記憶體W係用以儲存本文所述之使用者所指定 的核心設定。計算機系統1〇〇更包含一儲存裝置156,例 ㈣碟驅動ϋ ’儲存器156制以儲存操作軟體。此外, 計算機系統100更包含一輸入/輸出裝置158,例如一用以 顯示輸出如基本輸入/輸出系統】52所顯示之核心設定選單 而給使用者看之顯示器、一用以接受使用者輸入如本文所 述之核心設定的鍵盤及滑鼠。 多核心微處理器102之封裝體内包含兩雙核心晶片 104並且標示為晶片〇及晶片丨。晶片1〇4係安裝在封裝基 板上,母一雙核心晶片包含兩處理核心,晶片〇 包含核心0及核心1,且晶片i包含核心2及核心3。每一 晶片104内之兩處理核心106,係經由晶片1〇4内之核心 間通訊線112而通訊。更具體的說,核心間通訊線U2使 分別在晶片104内之處理核心1〇6能中斷彼此,並且發送 另一訊息來調整彼此間不同的發現(diSC0very)和管理流 程’其中各發現以及管理流程中包含微處理器的設定發現 及修正設定。 在另一相關的實施例中,核心間通訊線112包含一具 有並聯導線之匯流排。在相關的實施例中,核心間通訊線 112包含旁路匯流排(bypass bus),其中旁路匯流排與美 國專利臨申請案案號61/426,470,申請日12/22/2010,名 稱為“多處理器核心間之分散式電源管理(Decentralized 12 201234271
Power Management Distributed Among Multiple Processor Cores) ’’相似’其同在申請之非臨時申請案(CNTR2527) 也在本文中納入參考引用。在其他實施例中,核心間通訊 線112包含一相對較小之核心間通訊線,這樣的設置可在 各方面與CNTR2503所描述替代之邊帶設定(;sideband configuration)相比較,或是可與CNTR2527所描述之核心 間通訊線之相比較。 在本文中所述,‘‘夥伴(pal)”一詞係指同一晶片1〇4 之處理核心106,且晶片1〇4係藉由對應的邊帶核心間通 訊線來彼此通訊。因此,在第一圖之實施例中,核心〇及 核心1係為夥伴,且核心2及核心3係為夥伴。 每一晶片104提供複數個用以將晶片1〇4耦合至系統 匯流排接觸塾,以及複數個將晶片1〇4輕合至核心間通訊 線m之額外邊帶通訊接觸塾。具體來說,每一曰片刚 包Γ個邊帶通訊接觸藝108,其分別對應耗合Γ四個表 =⑽中’一個是輸出接觸塾 := 程中之燒斷的録絲設定,而分配四個器製造過 其卜個接觸塾做為輸出接觸墊(〇υτ)。、。妾觸塾108 ηΐή圖中,封裝體本身提供對顧合於封穿㈣Η H線118之複數個邊帶通訊引腳, 、體核心間 表示為Η至ΙΜ。當這些引腳不需實;;^ =邮腳係 丁封4内部晶片】〇4 J3 201234271 核心間通訊時,它們可在核心間通訊線118執疒 訊號,或是在較大、多·體_上提供則試 核心間通訊線m被設定為如下:晶片〇 塾以及晶片1的輸人i接觸墊經由—條導線耦人在^觸 腳;而晶片1的輸出接觸藝以及晶片0的輸入 弓ί 由—條導、㈣合在Ρ2引腳;日日日〇的輸人2接觸塾以及Ϊ 片1的輸入3接觸墊經由一條導線耦合在Ρ3弓丨腳·曰曰曰 的輪入i接觸塾以及;i的輸人2接觸墊曰0 耦合在Ρ4引腳。 来¥線 每-晶#104具有-個被指$的主要核心1〇6,主要 核心撕係、控制經由晶片刚的邊帶通訊接觸塾的通訊。 第-圖的實施例中’核心〇是晶片〇的主要核心1〇6,且 核、2是晶片1的主要核心1〇6。請參閱圖―,“同伴 (buddy),,一詞係指在不同晶片1〇4的主要核心ι〇6,經 由邊帶核心間通訊線而彼此通訊,因此,第—圖的實施例 中’核心0及核心2係為同伴。 ,心間通訊線118在晶片104的主要核心1〇6中相 藉以彡曰進主要核心1 〇6間不同的發現以及管理流程的 2訊及調整,包含本文所述之微處理器設定的發現及修 更具體的說,核心間通訊線118使相異晶片104的主 =核心106中斷彼此,並且使主要核心106發送另一訊息 :執仃分散式調整和多核心微處理器102之主要核心1〇6 曰1分敢式的發現動作。 舉例來說,當晶片〇的主要核心0想要與晶片丨的主 14 201234271 要核心2通訊時,主要核心〇從其輸出接觸墊傳輸一訊息 至晶片1之輸入1接觸墊·’同樣的,當晶片1的主要核心 2想要與晶片〇的主要核心〇通訊時,主要核心2從其輸 出接觸墊傳輸一訊息至晶片〇之輸入3接觸墊。如 CNTR2527文中所述,第一圖内並不是所有的接觸墊及引 腳皆需支援四核心設定’一些接觸墊及引腳是能被移除 的。但是同樣如CNTR2527文中所述,額外的接觸塾及引 腳能增進其他處理器的設定’例如八核心的實施例。在一 些處理器設定中,每一輸出接觸墊108可與其他晶片1〇4 中複數個輸入接觸墊108相耦合。為了支援這樣的設定, 一些貫施例中的主要核心106在每—訊息傳輸中具有一識 別碼’每一訊息係從主要核心106之輸出接觸墊108輸出, 並且在核心間通訊線118傳輸。識別碼係識別主要核心j 〇 6 之訊息發往之目的地,藉以使多個接受的核心1〇6在接收 傳播訊息後,檢測是否為訊息發送之預定目的地。 。月蒼閱第二圖’苐二圖係顯不本發明之第一圖的甘中 之一核心之詳細方塊圖。第二圖之核心1〇6在某些方面與 CNTR2527以及CNTR2533所揭露之第二圖相似,其他方 面將於下文進一步說明。 根據一實施例,核心106之微結構包含一超純量 (superscalar )、非循序(〇ut_〇f_〇rder )執行管線之功能單 疋,一指令快取記憶體202,用以存取來自系統記憶體(圖 未示)之指令。一指令轉譯器2〇4,與指令快取記憶體2〇2 耦合,並從指令快取記憶體202接收指令,例如χ86指令 15 201234271 集架構指令之指令。暫存器別名表(Register Alias Tabie; RAT) 212係耦合至指令轉譯器2〇4以及微序列器2〇6,暫 存器別名表212係用以接收從指令轉譯器204以及微序列 器206所發出之已轉譯微指令,藉以產生與已轉譯微指令 之相依訊息。保留站214係耦合至暫存器別名表212,藉 以接收暫存器別名表212所發出之已轉譯微指令及相依訊 息。執行單元216係麵合至保留站214,藉以接收保留站 214所發出之已轉譯微指令,並且接收其已轉譯微指令之 指令運算元。該運算元可能來自核心1〇6之暫存器以及耦 合至執行單元216之資料快取記憶體222,其中該核心1〇6 之暫存器例如是通用目的暫存器以及可讀寫之特定模組暫 存器238。引退單元218耦合至執行單元216,藉以接收執 行單元216所發送之指令結果,並且引退該指令結果至核 心106之架構狀態state)中。資料快取記憶 體222耦合至匯流排介面單元(Bus Imerface Unit; biu) 224,匯流排介面單元224係為第一圖之核心⑽至匯流排 116 之介面。鎖相迴路(Phased_L〇cked_L〇〇p; pLL) 226 接 收k匯流排116發出之匯流排時鐘訊號,接收到後產生並 傳送一核心時鐘訊號242至核心1〇6内部之不同功能單 元。經由執行單元216可控制鎖相迴路226,諸如令其停 用(disable )。 如上述與第-圖相關的,每個晶片具有一被指定的主 要核心。此外’在相關方面,處理器可具有一已指定之啟 動服務處理器(Boot Service ProCess〇r; bsp)核心,其被 16 201234271 • 單獨授權來調整晶片組114特定的受限動作。因此,可在 不同的實施例中指定主要及/或啟動服務處理器身分辨識 碼’並使其遵行此項指定。 在一實施例中,每一核心1〇6包含可程式化之設定鎔 絲。晶片104的製造商可以變化設定鎔絲來指定核心1〇6 及/或其他核心106是否做為晶片!〇4的主要核心或啟動服 務處理态之核心’以及核心及/或其他核心106是否被 啟動,而指定每一核心1〇6為唯一識別碼的情況,例如核 心106是否是核心0、核心1、核心2或核心3。 另一實施例中,任何給定核心的主要核心指定係根據 其識別碼而定。根據一實施例’在預設的情況下,偶數核 心106是每一晶片104的主要核心。根據另一相關的實施 例中,核心0被設定為多核心微處理器1〇2之啟動服務處 理器核心。 在另一實施例中’ 一初始主要核心或啟動服務處理器 的指定係藉由預設(如基於設定鎔線的狀況或核心識別碼) 所提供’但也許會被新的設定所覆寫。更進一步的說,主 要核心及啟動服務處理器之指定係動態的被重新設定、咬 是暫時性的響應於臨時設定,上述之指定係響應於不同的 情況,例如是被指定的主要核心或啟動服務處理器核心係 為停用或暫停使用的狀況。 尤其是如第二圖所示,每一核心106可包含—主要枝 心指示(master indicator) 232、啟動服務處理器指示228 以及一啟動指示252。在一實施例中,如上所述,這此指 17 201234271 不構成錄絲可選擇性被燒斷。例如,與啟動指示252相關 的嫁絲’可以被選擇性燒斷以啟動或停用核心1〇6,以使 计异機系統100執行資料處理所用到的核心小於實體核心 106的數量。在其他實施例中,這些指示構成鎔絲係用藉 以提供預設值’但這些預設值可被係儲存於特定模組暫存 益238或設定儲存器254内的數值以相反的設定所覆寫。 在另一實施例内’這些指示包含兩個鎔絲,藉以提供預設 值及本機設定邏輯所能覆寫的預設值。在其他實施例中, 這些指示構成暫存器可以被開啟或關閉。 執行單元216接收到一啟動指示252,用以指示是否 啟動核心106來執行資料處理。執行單元216也接收一啟 動服務處理器指示228以及-主要核心指示232,啟動服 務處理器指不228以及一主要核心指示232係分別指示核 〜106是否為晶片1〇4之主要核心以及是否為多核心微處 理态102之啟動服務處理器核心。如上所述,啟動服務處 理器指示228、主要核心指示232以及啟動指示252包含 可私式化之嫁絲。在另一種實施例中,啟動服務處理器指 不228、主要核心指示232以及/或啟動指示252可在初始 階段藉由讀取可程式化録絲數值並將其儲存於特定模組暫 存器238 β ’但賴數值可藉由軟體寫入特定模組暫存器 238而更新。 更進一步的說,核心106包含設定儲存器254,藉以 ,存多核心微處理器102之核心設定。在—實施例中,設 疋儲存w 254包含暫存$,在另—實施例巾,設定儲存器 18 201234271 254包含一在小型隨機存取記憶體(small Random Access Memory; RAM)之儲存區,小型隨機存取記憶體例如是美 國專利案號7,827,390所述之參數隨機存取記憶體 (Parameter Random Access Memory; PRAM ) ° 如CNTR.2527所述,執行單元216也可讀寫控制狀態 暫存器(Control and Status Register; CSR) 234 及 236, 藉以與其他核心106通訊。特別是,核心i〇6係利用控制 狀態暫存器236並經由核心間通訊線in與在同樣晶片 104上的核心106做通訊,且核心丨〇6利用控制狀態暫存 器234而通過晶片間通訊線118並經由接觸墊1〇8,進而 與在其他晶片104上的核心1〇6做通訊。 微序列β 206更包含一用以儲存微瑪之微碼記憶體 207。每一處理核心106均具有一相同指令集架構且彼此對 稱,且每一處理核心1〇6均設定為計算一包含來自該指令 集架構之指令的使用者程式。為了本發明所揭露之目的, 在本文中’ “微瑪”一詞係指在核心1〇6執行指令架構時, 相同核心106所執行的指令。也就是說,如果有任何儲存 在微碼記憶體207内之微碼執行的話,其係在原有執行2 核心106執行。 微碼記憶體207係用以儲存微碼,微碼包含如 CNTR.2527内各種不同的實施例所述之内部電源狀態管理 微媽。微碼記憶體207亦儲存一包: . ^ s 5又疋發現 C configuration discovery)及修正微碼208。其中,执定菸 現及修正微碼208係設定為動態確認初始 19 201234271 (dynamically determine initial)(或預設)以及使用者所嗖 定的(或以其他方式重新設定)多核心微處理器1〇2之核 心設定,用⑽存指定之動態確定如設定之訊息到設定 儲存器254,並且使用該儲存的訊息,這部分將於後續第 三圖之方法中再詳加描述。在-實施例中,使用者所設定 的核心設定訊息係被儲存在設定儲存器254,藉以替代多 核心微處理器102之初始設定或預設核心設定。在—實施 例中,如下所述,設定發現及修正微碼2〇8係被多核心微 處理盗102之重置引腳的設置(asserti〇n)所引發。設定 發現及修正微碼208最好重複儲存在每一核心1〇6上來支 援擴充性。此外,如CNTTR.2527文中所述之核心内部電源 狀態管理微碼,係根據它所發現並且響應於設定發現及修 正微碼208執行動作的修改設定,來調整電源狀態管理f 請一併參閱第三A圖及第三b圖,第三A圖及第三6 圖顯示本發明之第一圖的多核心微處理器執行動態設定發 現以及修正過程之操作流程圖。更具體的說,第一圖之基 本輸入/輸出系統152,搭配多核心微處理器1〇2每一核心 106之微碼208 ’提供一種動態地個別停用或重新啟動、並 且在製造完成後(基本上是太晚而不能燒斷鎔絲之狀況) 重新設定核心106之主要核心設定的方法。 在流程圖之方塊302中使用者輸入一理想的多核心微 處理器102之核心設定。在一實施例中,基本輸入/輸出系 統152在第一圖之顯示器158上顯示一選單,讓使用者指 定一個理想核心設定。舉例來說,在多核心微處理器 20 201234271 内每一實體存在的核心106,基本輸入/輸出系統152可以 顯示其啟動指示252之數值’且使用者能切換該啟動指示 252之數值來指示理想的停用或重新啟動核心1〇6(啟動指 示252係分別指示核心106是啟動或是停用)。 如與CNTR.2527相關之所述,微處理器最好也設定有 某些調整及發現動作,諸如根據相容階層式調整系統且經 由適用的邊帶通訊線所做的電源狀態管理。一般來說,階 層式調整系統會整合微處理器的核心成為之一或多個區 域,在每個區域中,有一核心是被設定為該區域之主要核 心,且邊帶通訊線係被設置在適合的區域中。核心能根據 主要核心辨識碼被限制(如果有前述限制的話),並依據所 具有的能力透過可用的邊帶通訊線與其他區域核心進行溝 通或協調。 < CNTR.2527描述了各式各樣之階層式調整系統,各種 巢狀式區域結構,區域内各種核心的群組以及相對應的親 屬群組,以及各種在親屬群組(kinship gr〇ups)内之協調 模組。階層式調整系統能被用於電源狀態管理,包含c狀 恶(C-State)及P狀態(p_state)之執行以及共享電壓與 時鐘源之控制。-般來說,階層式調整系統係相容於邊帶 通訊線之結構與可用性,其中邊帶通訊線係設置於核心與 微處理器之核心群組間。此外,適用於多核心微處理器的 P白層式调整系統能被透過圖示(map)、戈達爾數量⑴編 Number)或兩者組合所指定,它們將隨著每一核心的設定 儲存器254之其他設定訊息被儲存,藉以增進核心間分散 21 201234271 式系’_協調、發現過程、以及電源狀態管理之轉換。 匕母核^中’基本輸入/輸出系統】η能顯示其主要核 心指不232及啟動服務處理器指示228之數值,並且讓使 用者切換其巾的數值,藉以重新設置各核心之主要核心辨 識馬基本輸入/輸出系統玉52會顯示一些預言交但可重新設 定之階層式調整純’讓制者能在—定程度上相容於核 心個別的可設定性以及適㈣邊帶通訊線中,增加、刪除、 結合與細分(Subdivide) _、重蚊義相龍於親屬群 組以及選擇親屬群組間可用的協調模組。因此,基本輸入/ 輸出系統152提供—設定選項,藉以讓使用者停用、重啟 =及個別重新設定核心、1〇6。若使用者要求停用一最初 叹疋之主要核心’基本輸人/輸出系統152能自動設定一替 代核心作為主要核心。 在流程圖之方塊3〇4中,基本輸入/輸出系統152將在 方塊3〇2所接收之使用者所指^的設定,儲存至第一圖所 示之非易失性隨機存取記憶體中。 在流程圖之方塊306中,多核心微處理1 102被重置。 例如’基本輸入/輸出系、统152會重置多核心微處理器1〇2 或是多核心微處理器會被使用者以啟動計算機系統觸或 點擊重置按鈕之一些操作而重置。 在流程圖之方塊308中,每一核心i〇6㈣置微碼2〇8 確定其初始設定。在-實施例中,每—核心1%的重置微 碼雇根據CNTR.2533所述之方法,來確認多核心微處理 器之初始設定。如其,每―如⑽將―動態確認設 22 201234271 定寫入第二圖所述之設定儲存器254内。 一妨在流程圖之方塊312令,基本輸入/輸出系統〗52在每 者:::::定模:暫存器238中,寫入不包含在使用 改變 ^ , 王做1了用之母一核心106及耷入 母一核心之主要核心辨識碼。 舄入 輸出系統!52執行一瘍窝入實把例中’基本輸入/ 入特定模組_' 238。令來寫 ,t _ , 馬入锊疋杈組暫存器238之指今 的曰外 1G6/自行終止或停用,如果使用者設定是如此 Λ 定模組暫存器238之指令指示核心1〇6 示LrrH又之主要fr指示232及/或啟動服務處理器指 ’ ’果使用者設定是如此指定的話。 在流程圖之方德3〗4 4? a- _ 夕—加v 中,母一核心1〇6引動微碼208 力其中該持微石馬之執行係響應於在方塊祀中 二!寺殊松組暫存器之指令。為了響應於一終止指令,舉 以將適#的終止執行微碼施寫入控制核心刚 碼2〇ϋ猎以終止核心1〇6。較特別的是,將終止執行微 塑寫入匯流排介面單元224,藉以使終止核心ι〇6不 曰應於匯流排m之窺探週期,這樣的設置有利於防止核 〜6響應於窺探週期而引起匯流排116的拖良。拖良的 ^线由於窥探響應會要求核心1〇6在匯流排m插入延 心的日寸鐘’而使其有額外的時間來窺探其快取記憶體。最 1〜止執行微碼2〇8將核心切換至最小的功耗狀態並且 進入休眠狀悲,例如,終止執行微碼應會停止時鐘及/ 23 201234271 夕核〜微處理器1〇2之大部分電路中斷開電源。然 Q6仍保有響應於由外部重設多核心、微處理器102 之置引腳的功能。因此,微碼2〇8從不回覆使用者礅· =de)。在一實施例中,為了使被終止的核心應恢復, 固經由多核心微處理器1〇2之外部重置、經由相對 :以恢入接觸塾或是切斷核心_之電源的方 易失之方塊316中,基本輸人/輪出系統152從非 ^記憶體154讀取使用者所指定的設定,並 心 _ 寫 :=的設定並覆蓋方塊·所確認 二=定: = 及方塊-所執 多核‘二=任 能執行這項功能。 *基本輪入/輸出系統152才 在流程圖之方塊318中,备一 =2〇8的_部分來執行寫入特=====引動 指令係響應於方塊316所執 =暫心的指令,該 碼208接收到使用者所指定的^並$組暫存器。微 254 ’因而覆寫方塊308所寫入的、寫入設定儲存器 據使用者所指定的設定繼續操作初口设定。核心106便根 舉例來說,核心1〇6會藉由執行咖D指令而返回已 24 201234271 啟動核心的數量,其中已啟動的核心係列舉在使用者所指 定的设定之内,使用者所指定的設定係儲存於設定儲存器 254之内。在另一實施例中,核心1〇6利用方塊314所儲 存的訊息來協調某些電源狀態管理功能,例如所要求的c 狀悲、P狀態、電壓識別數字(观邮心如丨—叫制; VID )水平以及時鐘頻率的執行。如上所述,例如與 CNTR2527相關以及美國專利臨時申請案案號 61/426,470 ’ +請日u/22/期,名稱為“分赋電源管理 刀口f5 夕個處理器核心(Decentralized p〇wer Management
Distributed Among Multiple Processor Cores) ”之一部分以 及其同在申請之非臨時申請案(CNTR2534),這些都納入 本文的參考。另一實施例中,核心106利用所儲存的設定 訊息來執行多核心、“功率評價(pQwereredit),,功能,如 美國專利申請案案號13/157,436(CNTR.2517),申請曰 6/10/2011 ’為了達到本案所有目的,也在本文中納入參考。 在流程圖之方塊322中,除了基本輸入/輸出系統152 還在執行的核心而之外,基本輸入/輸出系統152在盆餘 每一核心⑽上執行-停止(Halt;HLT)齡來停止核心 =6。值得—提的是,停止或是休眠的核心雇仍在窺探匯 116並且確認其快取記憶體,這樣的情況有可能導致 、生在匯流排U6的傳輸,其不利於整體效能且會產生不 =要的功耗。然而,如本文所述,在方塊312時,當基本 ^入/輪出⑷52之蚊將特定模組暫存器现寫入終止 核心、106會在方塊314自我終止OdHitsdf)。相對 25 201234271 於自我停止的方式,這樣的方法能讓核心1〇6係真的停用 並且不會窺探匯流排116、或確認其快取記憶體、或是在 匯流排116上產生傳輸。這樣一來,只有真的外部重置這 樣的方法,才能讓被終止的核心106再次回復。 在流程圖之方塊324中’基本輸入/輸出系統152從磁 碟將操作系統156載入到系統記憶體並且轉移控制權給操 作系統156。操作系統156發出初始化(initiaHzati〇n; INIT) 重置指令至多核心微處理器102之所有核心1〇6,藉由 BIOS 152使它們從停止的狀態中回復而進入方塊3〇2。在 另一實施例中,初始化重置指令包含為人所熟知的輸入/ 輸出高級可程式化中斷控制器(J/O Advanced
Programmable niterrupt Controller; I/O AHC )初始化指令, 其係用以指示核心106執行一響應於重置之動作子集(特 別是從其停止的狀態中回復)。 在流程圖之方塊326中,在方塊314中每一個自行終 止的核心106對於方塊324所發出之初始化訊息並不會發 生響應,更確切的說,終止的核心1〇6係保持其終止狀態 直到執行外部重置才會回復。然而,其餘已啟動核心1〇6 響應於初始化訊息並且根據儲存在方塊318中使用者所指 定的設定而執行。其中,重置微碼2〇8被引動而響應於初 始化訊息。然而,在響應於初始化訊息時,重置微碼2〇8 不會執行如方塊308中的確認核心設定之操作,因這項操 作係響應於外部重置而執行。值得一提的是,對所有核二 而言,初始化訊息是唯一的,它與從匯流排116重置所有 26 201234271 核心106的情形是不同的。操作流程在方塊326結束。 值得一提的是’方塊302及方塊304的執行步驟只需 要執行一次,例如,使用者只需要指定一次他所期望的^ 定,且基本輸入/輸出系統152只需要儲存一次使用者所指 疋的5又疋’而母當糸統就被重置且操作系統啟動時,方塊 306至方塊326的執行步驟就會被執行。 如上所述’動態設定發現及修正過程可能會支援多枝 心微處理器102所有核心中主要核心指定之重新設定。在 一實施例中,晶片104上之硬體設定為在該晶片中的任何 核心106皆可驅動輸出接觸墊108,加上核心間通訊線118 耦合至輸出接觸墊108,所以可在計算機系統1〇〇内與其 他核心106做通訊;然而,在任何給定的時間中,在晶片 104中只有一核心1〇6被設定為可驅動輸出接觸墊1〇8。這 樣有利於預设的主要核心(核心106之設定録絲做為晶片 104及/或多核心微處理器1〇2之主要核心)處於不操作狀 態或是被基本輸入/輸出系統152所終止之狀況。舉例來 說’這樣能啟動其餘核心106之一者變成主要核心並且與 在其他晶片104上的同伴核心106進行通訊,藉以執行如 CNTR.2527及CNTR.2534所述之電源狀態管理。所有晶片 104的核心1〇6係接收耦接於輸入核心間通訊線Π8之輸 入接觸墊108的訊號。因此,如果使用者或故障致使預設 主要核心停用時,其餘的核心106 (例如新的主要核心) 便能夠接收代表這個晶片1〇4的輸入核心間通訊帶118之 訊號’並且如上所述,能夠驅動這個晶片104核心間通訊 27 201234271 、’泉1丨8輕合至輸出接觸塾丨〇8。藉由這種方式,在一實施 例中,可以對所有給定晶片1〇4之核心1〇6可能的排列組 合進行支援。 為了支援動態核心重新設定,在一實施例中,核心106 的鎔絲數值將個別與暫存器之對應位元進行互斥或運 算藉以產生一終值,例如主要核心指示232、啟動服務處 理器指不228及啟動指示252。相關鎔絲數值亦可與 CNTR.2534之第二圖、第三A圖及第三B圖相對應之鎔絲 不驅動(fuse_d〇_not_drive)指示154以及錄絲不驅動頻率 jfuSe-don〇t_drive_freq)指示354進行個別的互斥或運 暫存态位元藉由微碼208所寫入,通常係響應於寫入 特定模組暫存器238之操作而做的。最後,每一核心1〇6 同樣设定啟動微碼208,藉以寫入暫存器的一位元來動態 更新核心106是否驅動耦合至輸出接觸墊ι〇8之核心間通 訊線118。這樣的設定也可以被運用在諸如設定雙核心晶 片104或四核心晶片之任一核心1〇6作為晶片的主要核心 之上。 更進一步實施例中’每一核心1〇6沒有被設定為適用 於區域的主要核心’會被内部微碼以與CNTR.2533所描述 過程之一者相一致的方式進行設定,藉以確定區域中被設 定的主要核心是否為已啟動或是在執行狀態,如果不是, 則有條件的自我重新設定(例如基於其相對於區域内之其 他親屬核心之實際數量)作為適用於區域之臨時主要核 心’並對輸出接觸墊108做為合適的邊帶核心線之控制權 28 201234271 進行設置。一個被指定的主要核心也可以在預設條件下被 設置(如基於他們的狀態或迫切性來限制中斷之限制中斷 模式)或是響應於一應用指令(applicable instruction ),藉 以暫時性的代表從屬親屬核心作為臨時主要核心。被指定 的主要核心能經由與臨時設定相關之後續傳輸以啟動一控 制權移轉回到其本身,這樣的情況下臨時主要核心將取消 其臨時設定。 經控制權的設置(asserti〇n )或重新設置(reasserti〇n ), 热淪是從一個被指定的主要核心做為臨時主要核心,或是 從一個臨時主要核心經由重新設置控制權而成為一指定的 主要核心,任何取得主要功能者(亦即成為主要核心)最 好也設定為與至少其從屬核心共享其重新設定,藉以重新 設定從屬核心與新的主要核心而非先前主要核心進行協 調。 ^面邏輯也最好是提供臨時主要控制權具有執行的權 力藉以防止在才曰疋的主要核心間重新設置輸出接觸塾 108的控獅’直到有—個適當的控獅傳輸在被指定的 主要核心以及臨時的主要核心之間進行為止。 *這樣的方式下’多核心微處理器搬也許會設定為動 態響,於核心故障及核心失效而自我修復。自我修復實施 例的最大私度令’每一核心在任何給定的親屬群中,是可 以操作設定為親屬群之主要核心或是臨時主要核心,包含 最高的親屬群組水平上做為處理器之啟動服務處理器的核 心。在這樣的實施例中,核心間通訊線可以高效率的階層 29 201234271 方式來組織,但因為任何主要核心可被從屬親屬核心替 代’微處理器能在故障核心周圍,重新設定其階層式系統。 在另一貫施例中,核心1〇6各方面不同於第二圖之代 表貫靶例,其取代或額外提供高度並聯結構,例如可運用 於圖形處理單元(Graphics Processing Units; GPU )之結構。 然而各種有關於本發明之實施例已在本文詳述,應可 充分了解如何實施並且不限於這些實施方式。舉凡所屬技 術領域中具有通常知識者#可依據本發明之上述實施例說 明而作其它種種之改良及變化。舉例來說,軟體可以啟動 如功能、製造、模型、模擬、描述及/或測試本文所述之裝 置及方法。可以藉由一般程式語言(如C ,及C++)、硬體 描述語言(Hardware Descripti〇n Languages; HDL)或其他 可用程式的使絲達成,其巾硬翻述語言(_職 escription languages; HDL)包含 Verilog HDL、VHDL· 等 硬體描述語言。這樣的軟體能在任何所知的計算機可用媒 介t處理執行’例如磁帶、半導體、磁碟或光碟(如cd_r〇m 及DVD-ROM等)、網路、有線電魘、無線網路或其他通 訊媒介。本文所述之裝置及方法的實施例_,可包含在智 慧型核心半導體内,並且轉換為積體電路產品的硬體,其 中智慧型核心半導體如微處理器核心(如硬體描述語言^ 之實施或設定)。此外,本文所述之農置及方法可由硬體及 軟體的結合來實施。因此’本發明並不碰於任何本發明 所述之實施例,但係根據下述之專利範圍及等效之裝置及 方法而定義。具體來說’本發明能在普遍使用的處理器裝 30 201234271 • 置裡執行實施。最後,熟練於本技術領域的應能體會他們 能很快地以本文所揭露的觀念及具體的實施例為基礎,並 且在沒有背離本發明所述之附屬項範圍下,來設計或修正 其他結構而實行與本發明之同樣目的。 【圖式簡單說明】 第一圖係顯示本發明計算機系統之多核心微處理器之方塊 圖; 第二圖係顯示本發明之第一圖的其中之一核心之詳細方塊 圖;以及 第三A圖係顯示本發明之第一圖的多核心微處理器執行動 態設定發現以及修正過程之操作流程圖;以及 第三B圖係顯示本發明之第一圖的多核心微處理器執行動 態設定發現以及修正過程之操作流程圖。 【主要元件符號說明】 100 計算機系統 102 多核心微處理器 104 雙核心晶片0、雙核心晶片1 106 核心0、核心1、核心2、核心3 108 輸出接觸墊、輸入1接觸墊、輸入2接 觸墊、輸入3接觸墊 112、118 核心間通訊線 114 晶片組 31 201234271 116 系統匯流排 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 設定儲存器 32 201234271 P1、P2、P3、引腳 P4 33

Claims (1)

  1. 201234271 七、申請專利範圍: 1. 一種可動態重設定之多核心微處理器,包含: 複數個初始啟動核心; 該每一初始啟動核心係設定為執行由一系統軟體所發佈之 一終止指令以停用該核心且停止響應於一系統匯流排上 之傳輸,其中該系統匯流排設置耦合於該多核心微處理 器之外部; 其中,一終止指令所停用核心係遵行發送至該系統匯流排 之一重置指令,其可藉由在多核心微處理器之一重置引 腳進行外部重置之方式來恢復執行功能而成一啟動核 心,且若藉由上述方法進行重置,除非該啟動核心再接 收到另一終止指令,該啟動核心仍具有執行功能。 2. 如申請專利範圍第1項所述之可動態重設定之多核心微處 理器,其中當一核心在收到該終止指令而停用時,該核心 因為無法對系統匯流排之傳輸產生響應,因此該核心將不 響應該系統匯流排之窺探週期。 3. 如申請專利範圍第1項所述之可動態重設定之多核心微處 理器,其中該每一初始啟動核心更進一步設定對該終止指 令響應,藉以使該每一初始啟動核心自行進入一省電睡眠 狀態。 4. 如申請專利範圍第1項所述之可動態重設定之多核心微處 34 201234271 態需求值 3為其他未接收到該終止指令的初始啟動核 §又疋為’耩由接收到内部電源狀態之-管理微碼來調整彼 巧之電錄綠理,無需參考任何已停隸'。之電源狀 5. —種可動態重設定之多核心微處理器,包含: 複數個處理核心,該些處理核心中,至少有一處理核心被 指定為一主要核心; 至/邊| itA線’係设置於—系統匯流排之外部並且輕 接於-晶肢,藉贼進該麵理核^間的通訊; 其中’該些處理核心中,至少有兩處理核心係耦接於該邊 帶通訊線; 其二該兩處理核心任一者係依據其被設定為主要核心之 。又定而有條件地驅動一輪出至該邊帶通訊線之一連接 端;以及 其中’该兩處理核心若有任何—個是被指定為主要核心, 在運作時可重新設定該主要核心或移除原有之指定。 6. 如申q專利氣圍第5項所述之可減重設定之多核心微處 理器,其中每一核心包含—預設設定,該預設設定係儲存 於遠核心内部邏輯中’藉以判斷該核心是否被指定為主要 核心。 7.如申請專利範圍第5項所述之可動態餘定之多核心微處 35 201234271 - 理器,其中每一核心包含一儲存器,該儲存器係用以儲存 對該核心之一修正指定。 8.如申請專利範圍第7頊所述之可動態重設定之多核心微處 理器’其中該儲存器係用以儲存對該整個多核心微處理器 ,作之一修正設定,該修正設定係用以指出其他該多核心 微處理盗之啟動核心和主要核心設定的關係。 H月:利:圍第7項所述之可動態重設定之多核心微處 其中每—核心設有内部電源狀態之—管理微石馬,並 又。玄修正叹疋所儲存的内容調整其電源狀態管理。 • 種動態停用包含複數個核心、 微處理 =或多個核心之方法,包含: ^ 述f七個核心之每-個核心執行-第-指令指示 程^ .自仃彳7用’其中該第—指令聽含在—系統軟體 對於未執行該第一浐八 第二指令奸〜::之其餘核叫執行一*二指令,該 日ϋ曰疋该多核心微處理器内之一核心設定,該 彳曰疋係反應執行琴笛 之情形,其中;ί :指令後已被停用之一或多個核心 μ弟一指令係包含在一系統軟體程式内。 11’如申請專利範囹笼,Λ 心之多第項所述之動態停用包含複數個核 之夕核〜微處理㈣之—❹個核心之方法,其中該第 36 201234271 一指令執行的一部分中,更包含使該已停用核心停止響應 於一匯流排上之傳輸,且該匯流排係耦合於該多核心微處 理器之外部。 12. 如申請專利範圍第11項所述之動態停用包含複數個核 心之多核心微處理器内之一或多個核心之方法,其中該第 一指令執行的一部分中,更包含保有該已停用核心響應於 在外部重置多核心微處理器之重置引腳的功能,但使該已 停用核心停止響應於重置訊息指令。 13. 如申請專利範圍第10項所述之動態停用包含複數個核 心之多核心微處理器内之一或多個核心之方法,其中該第 一指令執行的一部分中,更包含轉變該已停用核心至最小 的功率消耗狀態。 14. 如申請專利範圍第10項所述之動態停用包含複數個核心 之多核心微處理器内之一或多個核心之方法,其中該第二 指令執行的一部分中,更包含將該核心設定儲存於該核心 内。 15. 如申請專利範圍第14項所述之動態停用包含複數個核心 之多核心微處理器内之一或多個核心之方法,其中該核心 設定係由使用者所指定。 37 201234271 二::===含複數個核心 二Γ響應於該多核心微處理器之二 設 疋而非依據初紐定進行操作。4 _存的核心設 π.如申請專利範圍第ι〇 之多核心微處理器内之'❹個包含複數個核心 其餘未執行該 杉心之方法中,更包含·· 後,執行一第三曰:、,數個核心在執行該第二指令之 三指令係包含二:d日不該核心停止執行’其中該第 s在3亥系統軟體程式内。 之多申核 項所述之動態停用包含複數個核心 傳送-重置❹個核:之方料,更包含: 其令該重置π固核〜以指不該些核心自行重置, 置訊息係由一多處理器操作系統所發出。 19.如申請專利範圍筮 之多核心微處^所^之動怨停用包含複數個核心 命令每内之—或多個核心之方法中,更包含: 置訊息亥第—指令之—或多個核心停止響應該重 由其餘久執行該第’之複數個核心響應該重置訊息。 38 201234271 20. ::動態重置多核心微處理器之一或多個核心之方法,該 該邊帶通㈣複數個邊帶通訊線, 相,-線系統匯流排外部並•接於-晶片 糟以i曰進無系統匯流排之核心間通訊,其中至少有一 =核:了可操作重新設定為具有或並無主要核心辨識 ’、、精以架構邊帶為基礎之核心間通訊 . 確定該處理器内之核心的一初始設定,該初始設=指定 至少一核心而不是全部的核心做為主要核心;以及 根據修正没疋來重设該些核心,該修正設定係從該初始 。又疋為主要核〜中移除,並且指派一未被初始設定為主 要核心之核心為主要核心; 其中,每一核心係依據其被設定為主要核心之設定而有條 件地驅動一邊帶通訊線至一連接端。 21·如申請專利範圍第20項所述之動態重置多核心微處理器 内之一或多個核心之方法,更包含藉由在該些核心内選擇 性燒斷適用的嫁絲而產生該初始設定,其中該適用的錄絲 係疋義為該核心疋否在預設情況下具有一或多個主要核心 辨識碼。 22.如申請專利範圍第21項所述之動態重置多核心微處理器 内之一或多個核心之方法,其中更包含藉由運行在該每一 核心上之設定發現(configuration discovery)微碼以確認 39 201234271 該初始設定。 23. 如申請專利範圍第20項所述之動態重置多核心微處理器 内之一或多個核心之方法,其中該修正設定係由一系統軟 體程式所提供。 24. 如申請專利範圍第23項所述之動態重置多核心微處理器 内之一或多個核心之方法中,更包含一使用者藉由一使用 者介面指定該修正設定。 25. 如申請專利範圍第20項所述之動態重置多核心微處理器 内之一或多個核心之方法中,更包含在該核心内儲存該修 正設定。 26. 如申請專利範圍第25項所述之動態重置多核心微處理器 内之一或多個核心之方法中,更包含根據該修正設定而調 整該些核心間之電源狀態管理。 27. 如申請專利範圍第20項所述之動態重置多核心微處理器 内之一或多個核心之方法,其中: 該多核心微處理器包含複數個多核心晶片; 該每一多核心晶片中具有一已設定主要核心; 在多核心微處理器之晶片間,設有一組核心間邊帶通訊線; 每一晶片之每一核心耦接於該晶片間之邊帶通訊線,且該 40 201234271 核心係依據其被設定為主要核心之設定而有條件地驅動 一輸出至該邊帶通訊線;以及 若有任何晶片之核心在運作時,可重新設定為主要核心或 移除原有為主要核心之指定。 28. 如申請專利範圍第2〇項所述之動態重置多核心微處理器 内之一或多個核心之方法中,更包含根據_臨時設定重置 該核心’其t該臨時設定包括: 指定一非主要核心作為臨時主要核心; 驅動一適合的邊帶通訊線以停用該已設定主要核心;以及 啟動該臨時主要核心來驅動該適合的邊帶通訊線。 29. 如申請專利範圍第28項所述之動態重置多核心微處理器 内之一或多個核心之方法中,更包含: 響應於積測到與停用、不能執行、錯誤、或是已設定主要 核心胁之情騎,自—非主魏^執行雜。時設定; 該非主要核心發佈該臨時設定給受該臨時設定所影響之其 他核心;以及 如果該已設定主要核心透過一後續的傳輸啟動一控制權移 轉回到’、本S 主要核心有條件地取消該臨時設定。 41
TW100147943A 2010-12-22 2011-12-22 可動態和選擇性停用核心以及重新設定之多核心微處理器及其方法 TWI506559B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201061426470P 2010-12-22 2010-12-22
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
TW201234271A true TW201234271A (en) 2012-08-16
TWI506559B TWI506559B (zh) 2015-11-01

Family

ID=46291943

Family Applications (1)

Application Number Title Priority Date Filing Date
TW100147943A TWI506559B (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 (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9330011B2 (en) 2013-09-20 2016-05-03 Via Alliance Semiconductor Co., Ltd. Microprocessor with integrated NOP slide detector
US9442732B2 (en) 2012-03-19 2016-09-13 Via Technologies, Inc. Running state power saving via reduced instructions per clock operation
US9575778B2 (en) 2014-05-20 2017-02-21 Via Alliance Semiconductor Co., Ltd. Dynamically configurable system based on cloud-collaborative experimentation
US9755902B2 (en) 2014-05-20 2017-09-05 Via Alliance Semiconductor Co., Ltd. Dynamic system configuration based on cloud-collaborative experimentation
TWI620121B (zh) * 2013-03-26 2018-04-01 威盛電子股份有限公司 具有原生切換機制之非對稱多核心處理器
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

Families Citing this family (52)

* 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
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
US8637212B2 (en) 2010-12-22 2014-01-28 Via Technologies, Inc. Reticle set modification to produce multi-core dies
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
US8782451B2 (en) 2010-12-22 2014-07-15 Via Technologies, Inc. Power state synchronization in a multi-core processor
US8635476B2 (en) 2010-12-22 2014-01-21 Via Technologies, Inc. Decentralized power management distributed among multiple processor cores
US8407506B2 (en) * 2011-03-30 2013-03-26 Symbol Technologies, Inc. Dynamic allocation of processor cores running an operating system
CN104169879B (zh) * 2012-04-24 2019-01-04 英特尔公司 用于动态中断重新配置的方法和计算机系统
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架构的多核处理器平台及其设计方法
TWI507991B (zh) * 2013-02-27 2015-11-11 Rdc Semiconductor Co Ltd 多核心處理器及其相關控制方法與電腦系統
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
CN104331387B (zh) * 2013-08-28 2019-08-06 威盛电子股份有限公司 微处理器及其配置方法
US9792112B2 (en) 2013-08-28 2017-10-17 Via Technologies, Inc. Propagation of microcode patches to multiple cores in multicore microprocessor
US9465432B2 (en) 2013-08-28 2016-10-11 Via Technologies, Inc. Multi-core synchronization mechanism
EP2843550B1 (en) * 2013-08-28 2018-09-12 VIA Technologies, Inc. Dynamic reconfiguration of mulit-core processor
CN104239275B (zh) * 2013-08-28 2019-03-19 威盛电子股份有限公司 多核微处理器及其重新配置方法
US9471133B2 (en) 2013-08-28 2016-10-18 Via Technologies, Inc. Service processor patch mechanism
CN104657240B (zh) * 2013-11-18 2018-08-21 华为技术有限公司 多内核操作系统的失效控制方法及装置
US10261882B2 (en) * 2014-01-31 2019-04-16 Hewlett Packard Enterprise Development Lp Functional unit promotion to management unit
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
US11016742B2 (en) * 2015-06-24 2021-05-25 Altera Corporation Channel sizing for inter-kernel communication
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
CN107015847A (zh) * 2016-01-28 2017-08-04 扬智科技股份有限公司 电子装置及其工作模式切换方法
US10338665B2 (en) * 2016-06-23 2019-07-02 Infineon Technologies Ag Microcontroller power reduction system and method
CN106774788B (zh) * 2016-11-23 2020-01-17 深圳市博巨兴微电子科技有限公司 一种基于mcu的soc及其内核协作控制单元
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
CN112817760A (zh) * 2021-01-28 2021-05-18 深圳宏芯宇电子股份有限公司 多核处理器及多核处理器信号处理方法
TWI806302B (zh) * 2021-12-22 2023-06-21 大陸商北京集創北方科技股份有限公司 級聯用觸控暨顯示驅動整合晶片、觸控顯示裝置及資訊處理裝置
US12181944B2 (en) * 2021-12-27 2024-12-31 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
US12164353B2 (en) 2022-09-29 2024-12-10 Advanced Micro Devices, Inc. Frequency/state based power management thresholds
CN116257472B (zh) * 2023-05-15 2023-08-22 上海励驰半导体有限公司 接口控制方法、装置、电子设备及存储介质

Family Cites Families (79)

* 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
JP4892683B2 (ja) 2003-03-12 2012-03-07 エスティー‐エリクソン、ソシエテ、アノニム データを転送するためのデータ処理の装置および方法
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 엘지전자 주식회사 멀티-코어 프로세서의 전원 제어 장치 및 방법
CN100426159C (zh) * 2005-09-06 2008-10-15 台达电子工业股份有限公司 具有双处理器的控制装置
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
US8074110B2 (en) 2006-02-28 2011-12-06 Intel Corporation Enhancing reliability of a many-core processor
WO2007109894A1 (en) 2006-03-28 2007-10-04 Radisys Canada, Inc. Multimedia processing in parallel multi-core computation architectures
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 삼성전자주식회사 전자기기의 부팅 방법 및 부팅 인증 방법
EP2003534A3 (en) * 2007-06-11 2009-02-18 MediaTek Inc. Method of and apparatus for reducing power consumption within an integrated circuit.
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
US8935549B2 (en) 2010-06-30 2015-01-13 Via Technologies, Inc. Microprocessor with multicore processor power credit management feature
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
US8635476B2 (en) 2010-12-22 2014-01-21 Via Technologies, Inc. Decentralized power management distributed among multiple processor cores
US8930676B2 (en) 2010-12-22 2015-01-06 Via Technologies, Inc. Master core discovering enabled cores in microprocessor comprising plural multi-core dies
US9460038B2 (en) 2010-12-22 2016-10-04 Via Technologies, Inc. Multi-core microprocessor internal bypass bus
US8631256B2 (en) 2010-12-22 2014-01-14 Via Technologies, Inc. Distributed management of a shared power source to a multi-core microprocessor
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
US8637212B2 (en) 2010-12-22 2014-01-28 Via Technologies, Inc. Reticle set modification to produce multi-core dies

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9442732B2 (en) 2012-03-19 2016-09-13 Via Technologies, Inc. Running state power saving via reduced instructions per clock operation
TWI620121B (zh) * 2013-03-26 2018-04-01 威盛電子股份有限公司 具有原生切換機制之非對稱多核心處理器
US9330011B2 (en) 2013-09-20 2016-05-03 Via Alliance Semiconductor Co., Ltd. Microprocessor with integrated NOP slide detector
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
US9575778B2 (en) 2014-05-20 2017-02-21 Via Alliance Semiconductor Co., Ltd. Dynamically configurable system based on cloud-collaborative experimentation
US9755902B2 (en) 2014-05-20 2017-09-05 Via Alliance Semiconductor Co., Ltd. Dynamic system configuration based on cloud-collaborative experimentation

Also Published As

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

Similar Documents

Publication Publication Date Title
TW201234271A (en) Dynamic and selective core disablement and reconfiguration in a multi-core processor
TWI631472B (zh) 分散式作業系統
TWI447650B (zh) 中斷分佈方案
CN105183134B (zh) 多内核微处理器的共享电源的分布式管理
US8930676B2 (en) Master core discovering enabled cores in microprocessor comprising plural multi-core dies
TWI334539B (en) Computer system, slave device, master device, motherboard, and method for performing an address assignment operation
US20030200354A1 (en) Computer system and method that eliminates the need for an operating system
CN103176943B (zh) 用于功率优化的多处理器同步的方法
TW201030671A (en) Graphics processing units, metacommand processing systems and metacommand executing methods
TW200815993A (en) System power state broadcast through the use of a bus protocol
TW201220059A (en) Deadlock avoidance in a bus fabric
TW201225102A (en) Hardware dynamic cache power management
US20110246828A1 (en) Memory Checkpointing Using A Co-Located Processor and Service Processor
CN104854845B (zh) 使用高效的原子操作的方法和装置
JP2023543723A (ja) マルチgpuシステムの分散型電力管理を実行するためのメカニズム
CN111684426A (zh) 多节点系统低功率管理
US10942798B2 (en) Watchdog timer hierarchy
JP2016505914A (ja) インテリジェントデュアルデータレート(ddr)メモリコントローラ
TW201348936A (zh) 在多核心處理系統中處理核心之重設
CN114490194A (zh) 掉电处理方法、功能节点、处理系统、设备和存储介质
US11836100B1 (en) Redundant baseboard management controller (BMC) system and method
JP2013045382A (ja) 情報機器
CN102508738B (zh) 一种多核处理器业务信息的备份方法、内核和备份内核
JP2008250386A (ja) アクセス制御装置及びコンピュータシステム
CN110580238A (zh) 数据处理系统中的硬件单元的同步