專利名稱:可動(dòng)態(tài)和選擇性停用內(nèi)核以及重新設(shè)定多內(nèi)核微處理器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種多內(nèi)核微處理器,尤其涉及一種具有動(dòng)態(tài)停用或重新設(shè)定內(nèi)核的功能的多內(nèi)核微處理器。
背景技術(shù):
在一些傳統(tǒng)的多內(nèi)核微處理器中,制造商也許會在微處理器燒斷每一內(nèi)核上的熔絲(fuse,又稱之為“熔線”),來指定多內(nèi)核微處理器的每一內(nèi)核的設(shè)定,藉以每一內(nèi)核可以穩(wěn)定的確定多內(nèi)核微處理器的內(nèi)核熔絲(fuse)數(shù)值,以確定系統(tǒng)內(nèi)哪一內(nèi)核能夠執(zhí)行處理數(shù)據(jù)。雖然這種解決方法可能有許多優(yōu)點(diǎn),但缺點(diǎn)是一旦使用第一個(gè)多內(nèi)核微處理器的設(shè)定,而內(nèi)核上的熔絲(fuse)被燒斷,也許產(chǎn)生第二次設(shè)定的需求時(shí),已燒斷熔絲(fuse) 的內(nèi)核不能再重新設(shè)定。在某些應(yīng)用中,例如執(zhí)行不能支持多內(nèi)核測試或是應(yīng)用的軟件,也許需要停用內(nèi)核。此外,在許多應(yīng)用中,并非所有微處理器的內(nèi)核是需要的,甚至內(nèi)核會在休眠狀態(tài)用以節(jié)省功率的情況下,內(nèi)核依然引起處理器或系統(tǒng)總線與內(nèi)核共享的拖曳。拖曳可以被例如對窺探周期的響應(yīng)而引起。此外,多內(nèi)核微處理器中,個(gè)別內(nèi)核也許會在制造中有缺陷或是在測試或是操作過程中故障。這樣的情況也許會干擾為了內(nèi)核間的通信而在處理器的內(nèi)核間所設(shè)置的預(yù)設(shè)調(diào)整系統(tǒng)。因此,現(xiàn)今需要的是一個(gè)重新設(shè)定多內(nèi)核微處理器的可靠方法。
發(fā)明內(nèi)容
在一方面,本發(fā)明提供一種可動(dòng)態(tài)重新設(shè)定的多內(nèi)核微處理器,該多內(nèi)核微處理器包含多個(gè)初始啟動(dòng)的處理內(nèi)核,每個(gè)處理內(nèi)核被設(shè)定為執(zhí)行系統(tǒng)軟件發(fā)出的終止指令, 以及內(nèi)部存儲且已設(shè)定的微碼,藉以停止響應(yīng)于耦合在多內(nèi)核微處理器的系統(tǒng)總線的異動(dòng)。執(zhí)行終止指令的處理內(nèi)核保有恢復(fù)的可操作性,其通過外部重置輸入在多內(nèi)核微處理器的重置引腳。處理內(nèi)核也許能從微處理器移除電源,然后再接上的情況下恢復(fù)但在實(shí)務(wù)上,停用的設(shè)定是不可以被撤回的。在重置或是重新接上電源后,執(zhí)行終止指令而停用的初始啟動(dòng)的處理內(nèi)核會恢復(fù)成可操作的已啟動(dòng)內(nèi)核,而除非接收到另一終止指令,否則其不會停用。在相關(guān)方面,因?yàn)樘幚韮?nèi)核因?yàn)闊o法對系統(tǒng)總線的異動(dòng)產(chǎn)生響應(yīng),執(zhí)行終止指令而停用的處理內(nèi)核,并不會響應(yīng)或遵行重置訊息指令,以及由于響應(yīng)或遵行于重置訊息指令而停用。此外,處理內(nèi)核因?yàn)闊o法對系統(tǒng)總線的異動(dòng)產(chǎn)生響應(yīng),因此處理內(nèi)核不會對系統(tǒng)總線的窺探周期響應(yīng),進(jìn)而不會增加處理器總線的相關(guān)拖曳。另一方面,該每一已初啟用的內(nèi)核更進(jìn)一步設(shè)定對該終止指令響應(yīng),而使該每一已初啟用的內(nèi)核自行進(jìn)入一省電睡眠狀態(tài)。此外,該其他未接收到該終止指令的已初啟用內(nèi)核被設(shè)定為,通過接收到內(nèi)部電源狀態(tài)的一管理微碼來調(diào)整彼此間的電源狀態(tài)管理,而非依據(jù)任何已停用內(nèi)核的電源狀態(tài)需求值。另一方面,本發(fā)明提供一種具有可動(dòng)態(tài)重新設(shè)定內(nèi)核間調(diào)整系統(tǒng)的多內(nèi)核微處理器,可動(dòng)態(tài)重新設(shè)定的多內(nèi)核微處理器包含多個(gè)處理內(nèi)核,這些多個(gè)處理內(nèi)核中,至少有一處理內(nèi)核被指定為一主要內(nèi)核。該可動(dòng)態(tài)重新設(shè)定的多內(nèi)核微處理器還包含至少一邊帶通信線,該邊帶通信線被設(shè)置于一系統(tǒng)總線的外部并且電性連接于一芯片組,藉以增進(jìn)這些處理內(nèi)核間的通信。每一組邊帶通信線電性連接于至少兩處理內(nèi)核,該兩處理內(nèi)核若有任何一個(gè)是被指定為主要內(nèi)核,在運(yùn)作時(shí)可重新設(shè)定該主要內(nèi)核或移除原有的指定。該兩處理內(nèi)核被設(shè)定為有條件地驅(qū)動(dòng)一輸出至該邊帶通信線的一連接端,該連接端是根據(jù)該兩處理內(nèi)核的指定,如果缺乏前述設(shè)定,則該處理內(nèi)核作為主要內(nèi)核。在其他方面,每一處理內(nèi)核包含一預(yù)設(shè)設(shè)定,且預(yù)設(shè)設(shè)定被存儲于這些處理內(nèi)核內(nèi)部邏輯中,藉以判斷該處理內(nèi)核是否為主要內(nèi)核,這些處理內(nèi)核包含一存儲器,且內(nèi)部的存儲器用以存儲對該處理內(nèi)核的一修正設(shè)定。此外,該內(nèi)部的存儲器用以存儲對該多內(nèi)核微處理器所作的一修正設(shè)定,如果有修正設(shè)定的話,該修正設(shè)定用以辨識其他該多內(nèi)核微處理器的已啟用內(nèi)核和這些啟用內(nèi)核的主要設(shè)定。另一方面,這些處理內(nèi)核設(shè)有內(nèi)部電源狀態(tài)的一管理微碼,并依據(jù)該修正設(shè)定所存儲的內(nèi)容調(diào)整其電源狀態(tài)管理。另一方面,本發(fā)明提供一種中止包含多個(gè)內(nèi)核的多內(nèi)核微處理器內(nèi)的一或多個(gè)內(nèi)核的方法。每一內(nèi)核執(zhí)行系統(tǒng)軟件程序的第一或終止指令,用以指示內(nèi)核自行中止。其余未執(zhí)行該第一指令的多個(gè)內(nèi)核則執(zhí)行系統(tǒng)軟件程序的第二指令,藉以指定多內(nèi)核微處理器的內(nèi)核設(shè)定。內(nèi)核設(shè)定可通過使用者指定而反映到一或多個(gè)已停用的內(nèi)核。另一方面,執(zhí)行終止指令的內(nèi)核停止響應(yīng)于一總線上包含重置訊息指令以及以最小的功耗狀態(tài)轉(zhuǎn)換的異動(dòng)。然而,該內(nèi)核對于外部重設(shè)多內(nèi)核微處理器的重置引腳的外部重設(shè)響應(yīng)的功能被保留。另一方面,其余的內(nèi)核將該內(nèi)核設(shè)定存儲于其內(nèi)部,以作為執(zhí)行第二指令的一部分。另一方面,每一內(nèi)核,在重置后且在執(zhí)行任何終止指令之前,立即確認(rèn)該多內(nèi)核微處理器的一初始預(yù)設(shè)內(nèi)核設(shè)定。然而,在一或多個(gè)內(nèi)核接收并計(jì)算任何終止指令后,其余每一內(nèi)核根據(jù)存儲的內(nèi)核設(shè)定來執(zhí)行,而不是根據(jù)初始設(shè)定。另一方面,內(nèi)核在重置后,首先隨即確認(rèn)一初始內(nèi)核設(shè)定,之后基本輸入/輸出系統(tǒng)(Basic Input/Output System ;BIOS)發(fā)出一終止或設(shè)定更新寫入指令至每一內(nèi)核的模型專用寄存器(Model-Specific Register ;MSR),其中終止或設(shè)定更新寫入指令是與使用者所指定而存儲在存儲器并用以提供芯片組供應(yīng)微處理器相符且一致的。在停用及其余已啟用的內(nèi)核分別執(zhí)行其指令后,除了那些正在執(zhí)行基本輸入/輸出系統(tǒng)(Basic Input/ Output System ;BI0S)的內(nèi)核之外,基本輸入 / 輸出系統(tǒng)(Basic Input/Output System ; BIOS)發(fā)出一停止指令至其余每一個(gè)已啟用的內(nèi)核,藉以指示內(nèi)核停止執(zhí)行,但仍保有內(nèi)核響應(yīng)于系統(tǒng)總線異動(dòng)的功能。之后基本輸入/輸出系統(tǒng)(Basic Input/Output System ; BIOS)在單一剩余執(zhí)行內(nèi)核上啟動(dòng)一操作系統(tǒng),接著執(zhí)行系統(tǒng)發(fā)送一重置指令指示內(nèi)核自行重置,但任何一個(gè)不再響應(yīng)于系統(tǒng)總線異動(dòng)而停用的內(nèi)核,不會響應(yīng)或遵行重置指令,只有執(zhí)行停止指令的內(nèi)核遵行于重置指令。另一方面,本發(fā)明提供一種動(dòng)態(tài)重置多內(nèi)核微處理器內(nèi)的一或多個(gè)內(nèi)核的方法, 該多內(nèi)核微處理器包含多個(gè)內(nèi)核以及至少一組邊帶通信線,邊帶通信線被設(shè)置于一系統(tǒng)總線外部并電性連接于一芯片組,藉以增進(jìn)無系統(tǒng)總線的這些內(nèi)核間的通信。其中每一內(nèi)核被設(shè)定為有條件地驅(qū)動(dòng)一邊帶通信線至一連接端,該連接端根據(jù)該內(nèi)核的指定,如果缺乏前述設(shè)定,則該內(nèi)核作為主要內(nèi)核。其中至少有一些內(nèi)核可被重新設(shè)定為具有或并無主要身分碼,藉以架構(gòu)基底邊帶內(nèi)核間的通信。另一非限制的例中,適用于微處理器的方法包含多個(gè)多內(nèi)核芯片,每一芯片具有一被指定為主要內(nèi)核的內(nèi)核,該方法還包含一組電性連接于芯片的芯片間邊帶通信線,其中每一芯片的內(nèi)核電性連接于該組芯片間邊帶通信線,并且被設(shè)定為有條件地驅(qū)動(dòng)一輸出至該組芯片間邊帶通信線,其根據(jù)該兩處理內(nèi)核的指定,如果其中該芯片的一內(nèi)核缺乏前述設(shè)定,則作為該芯片的主要內(nèi)核;并且若有任何芯片的內(nèi)核是被指定為主要內(nèi)核,在運(yùn)作時(shí)可重新設(shè)定為主要內(nèi)核或移除原有的指定。處理器的內(nèi)核具有一初始設(shè)定,藉以設(shè)定至少一個(gè)內(nèi)核作為主要內(nèi)核,而不是設(shè)定全部內(nèi)核作為主要內(nèi)核。該初始設(shè)定可通過選擇性的燒斷一適用于每一個(gè)內(nèi)核的熔絲 (fuse)而產(chǎn)生,其中適用的熔絲(fuse)系定義為在預(yù)設(shè)的情況下,內(nèi)核是否具有一或多個(gè)主要身分碼。通過設(shè)定發(fā)現(xiàn)微碼在該每一內(nèi)核上運(yùn)行,而選擇性的確認(rèn)初始設(shè)定后,一適用于內(nèi)核的修正設(shè)定是將主要設(shè)定從最初如此設(shè)定的內(nèi)核中移除,并且指派一主要設(shè)定至一最初沒有如此設(shè)定的內(nèi)核。另一方面,內(nèi)核根據(jù)修正內(nèi)核設(shè)定來操作,該修正內(nèi)核設(shè)定例如包含以相容的方式調(diào)整內(nèi)核間的電源狀態(tài)管理。另一方面,一使用者經(jīng)由一使用者接口操作定義一修正設(shè)定(如果在定義的限制范圍內(nèi)適用的話),接下來系統(tǒng)軟件程序提供修正設(shè)定至內(nèi)核,內(nèi)核再將其存儲至內(nèi)核內(nèi)。另一方面,內(nèi)核根據(jù)臨時(shí)設(shè)定而被重新設(shè)定,其中臨時(shí)設(shè)定為指定一個(gè)非主要內(nèi)核作為臨時(shí)主要內(nèi)核,從驅(qū)動(dòng)一適合的邊帶通信線中止該已設(shè)定的主要內(nèi)核,然后啟動(dòng)臨時(shí)主要內(nèi)核來驅(qū)動(dòng)適合的邊帶通信線。在相關(guān)方面,非主要內(nèi)核對偵測到與一中止、不能執(zhí)行、一故障、或是已設(shè)定的主要內(nèi)核故障的情況一致而響應(yīng)時(shí),非主要內(nèi)核即執(zhí)行該臨時(shí)設(shè)定。目前臨時(shí)的主要內(nèi)核分配臨時(shí)設(shè)定至其他內(nèi)核(例如在同樣芯片的其他內(nèi)核),藉以啟動(dòng)這些內(nèi)核根據(jù)臨時(shí)設(shè)定來操作。已指定的主要內(nèi)核通過一后續(xù)的異動(dòng)啟動(dòng)一控制權(quán)移轉(zhuǎn)回到其本身,在這樣的情況下,臨時(shí)主要內(nèi)核取消臨時(shí)設(shè)定,并且傳送給被臨時(shí)設(shè)定影響的內(nèi)核。
圖1是顯示本發(fā)明計(jì)算系統(tǒng)的多內(nèi)核微處理器的方塊圖;圖2是顯示本發(fā)明的圖1的其中的一內(nèi)核的詳細(xì)方塊圖;以及圖3A是顯示本發(fā)明的圖1的多內(nèi)核微處理器執(zhí)行動(dòng)態(tài)設(shè)定發(fā)現(xiàn)以及修正過程的操作流程圖;以及圖;3B是顯示本發(fā)明的圖1的多內(nèi)核微處理器執(zhí)行動(dòng)態(tài)設(shè)定發(fā)現(xiàn)以及修正過程的操作流程圖。主要元件符號說明100 計(jì)算系統(tǒng)102 多內(nèi)核微處理器
7
104雙內(nèi)核芯片0
104雙內(nèi)核芯片1
106內(nèi)核0
106內(nèi)核1
106內(nèi)核2
106內(nèi)核3
108輸出焊接點(diǎn)
108輸入1焊接點(diǎn)
108輸入2焊接點(diǎn)
108輸入3焊接點(diǎn)
112內(nèi)核間的通信線
114芯片組
116系統(tǒng)總線
118內(nèi)核間的通信線
152基本輸入輸出系統(tǒng)(BIOS)
154非易失性隨機(jī)存取存儲器(NVRAM)
156操作系統(tǒng)
158顯示器、鍵盤、鼠標(biāo)
202指令快取存儲器
204指令譯碼器
206微序列器
207微碼存儲器
208微碼
212寄存器別名表
214保留站
216執(zhí)行單元
218退移單元
222數(shù)據(jù)快取存儲器
224總線接口單元(BIU)
226相位鎖定回路
228啟動(dòng)服務(wù)處理器(BSP)指示
232主要指示
234控制狀態(tài)寄存器
236控制狀態(tài)寄存器
238模塊特定寄存器
242內(nèi)核時(shí)鐘
252啟用指示
254設(shè)定存儲器
302使用者指定內(nèi)核設(shè)定
304 基本輸入/輸出系統(tǒng)¢10 將使用者所指定的設(shè)定,存儲在非易失性隨機(jī)存取存儲器NVRAM)306 重置微處理器308 每一內(nèi)核的重置微碼確定初始設(shè)定312 基本輸入/輸出系統(tǒng)(BIOS)寫入每一內(nèi)核的模塊特定寄存器(MSR)來指示其自我終止其中每一內(nèi)核并不包含在使用者所指定的設(shè)定內(nèi)314 每一內(nèi)核引動(dòng)一微碼的一部分來執(zhí)行響應(yīng)于在方塊所執(zhí)行的寫入型號專用寄存器(WRMSR)的指令,并且微碼寫入控制寄存器來終止該內(nèi)核(例如停用響應(yīng)于總線上的窺探周期,使內(nèi)核轉(zhuǎn)換至最小功耗狀態(tài)),并且微碼從不返回至使用者碼316 基本輸入/輸出系統(tǒng)(BIOS)寫入其余內(nèi)核的模塊特定寄存器(MSR)來指示使用者所指定的設(shè)定覆寫初始設(shè)定318 每一其余的內(nèi)核引動(dòng)微碼來響應(yīng)于寫入型號專用寄存器(WRMSR)的指令,且微碼存儲使用者所指定的設(shè)定且根據(jù)其設(shè)定來操作322 除了基本輸入/輸出系統(tǒng)(BIOS)所執(zhí)行使用的內(nèi)核外,基本輸入/輸出系統(tǒng)(BIOS)停止其余內(nèi)核324 基本輸入/輸出系統(tǒng)(BI0Q在執(zhí)行內(nèi)核上啟動(dòng)操作系統(tǒng);操作系統(tǒng)發(fā)送初始化(INIT)訊息至所有其他內(nèi)核,并啟動(dòng)他們326 終止的內(nèi)核不響應(yīng)于初始化(INIT)訊息;其余內(nèi)核根據(jù)存儲使用者所指定的設(shè)定來響應(yīng)并操作,而不是根據(jù)初始設(shè)定來響應(yīng)并操作Pl 引腳P2 引腳P3 引腳P4 引腳
具體實(shí)施例方式
在此敘述多內(nèi)核微處理器的動(dòng)態(tài)重新設(shè)定內(nèi)核的結(jié)構(gòu)及方法的實(shí)施例。一方面, 多內(nèi)核微處理器以及相關(guān)方法用以支持系統(tǒng)軟件(例如BIOS或其他操作系統(tǒng))來停用或終止所選擇的內(nèi)核的能力。有利的是,經(jīng)由上述中止內(nèi)核的方法不會導(dǎo)致與其他內(nèi)核共享處理器總線的拖曳。舉例來說,這樣特征在性能測試上或是對于不支持多內(nèi)核的軟件而言是理想的功能。另一方面,多內(nèi)核微處理器以及相關(guān)方法用以支持重新設(shè)定微處理器內(nèi)核間的調(diào)整系統(tǒng)。有利的是,內(nèi)核可被選擇性的指定為主要內(nèi)核,藉以驅(qū)動(dòng)信號至內(nèi)核間的通信線。這樣的方式下,微處理器會設(shè)定為適用于甚至可以自我修復(fù)內(nèi)核間通信的目的,而響應(yīng)于停用或是呈現(xiàn)無法指定為主要內(nèi)核的情況。此外,微處理器也許會設(shè)定一可選擇內(nèi)核間最佳給定指令的協(xié)調(diào)系統(tǒng)。在一些實(shí)施例中,新的設(shè)定以及指定也許是由使用者指定或是經(jīng)由系統(tǒng)軟件或是固件所提供,如基本輸入/輸出系統(tǒng)(Basic Input/Output System ;BI0S)。在其他實(shí)施例中,適用的修正的指定和/或臨時(shí)的指定,系響應(yīng)于內(nèi)部內(nèi)核邏輯或微碼偵測到的情況而執(zhí)行。請參閱圖1,圖1是顯示本發(fā)明的一計(jì)算系統(tǒng)100包含一多內(nèi)核微處理器102。圖 1的計(jì)算系統(tǒng)100在某些方面與美國專利申請案案號61/似6,470,申請日12/22/2010,名稱為“多處理器內(nèi)核間的分散式電源管理(Decentralized Power Management Distributed Among Multiple Processor Cores) ”相似,其同在申請的非臨時(shí)申請案(CNTR2527)也在本文中納入?yún)⒖?。此外,圖1的計(jì)算系統(tǒng)100在某些方面與美國專利申請案案號61/426,470, 申請日12/22Λ010,名稱為“動(dòng)態(tài)的多內(nèi)核微處理器設(shè)定(Dynamic Multi-Core Microprocessor Configuration) ”相似,其同案的非臨時(shí)申請案(CNTR2533)也在本文中納入?yún)⒖肌S?jì)算系統(tǒng)100包含一單芯片組114,單芯片組114通過系統(tǒng)總線116耦合在多內(nèi)核微處理器102,其中系統(tǒng)總線116包含一總線時(shí)鐘。芯片組114可操作來產(chǎn)生一重置信號, 且該重置信號由多內(nèi)核微處理器102所接收。計(jì)算系統(tǒng)100還包含一非易失性存儲器152, 例如快閃存儲器,該非易失性存儲器152用以存儲如基本輸入/輸出系統(tǒng)(Basic Input/ Output System碼的系統(tǒng)固件。計(jì)算系統(tǒng)100還包含一非易失性的隨機(jī)存取存儲器 154,例如快閃存儲器或是在個(gè)人計(jì)算系統(tǒng)常見的電池供電的隨機(jī)存取存儲器,非易失性隨機(jī)存取存儲器1 用以存儲本文所述的使用者所指定的內(nèi)核設(shè)定。計(jì)算系統(tǒng)100還包含一存儲裝置156,例如磁盤驅(qū)動(dòng)器,存儲器156用以存儲操作軟件。此外,計(jì)算系統(tǒng)100還包含一輸入/輸出裝置158,例如一用以顯示輸出如基本輸入/輸出系統(tǒng)(Basic Input/Output System ;BIOS) 152所顯示的內(nèi)核設(shè)定選單而給使用者看的顯示器、一用以接受使用者輸入如本文所述的內(nèi)核設(shè)定的鍵盤及鼠標(biāo)。多內(nèi)核微處理器102封裝包含兩雙內(nèi)核芯片104并且表示為芯片0及芯片1。芯片104被安裝在封裝基板上,每一雙內(nèi)核芯片104包含兩處理內(nèi)核106。芯片0包含內(nèi)核0 及內(nèi)核1,且芯片1包含內(nèi)核2及內(nèi)核3。每一芯片104內(nèi)的兩處理內(nèi)核106,系經(jīng)由芯片 104內(nèi)的內(nèi)核間的通信線112而通信。更具體地說,內(nèi)核間的通信線112使分別在芯片104 內(nèi)的處理內(nèi)核106能中斷彼此,并且發(fā)送另一訊息來調(diào)整彼此間不同的發(fā)現(xiàn)(discovery) 和管理流程,其中各發(fā)現(xiàn)以及管理流程中包含微處理器的設(shè)定發(fā)現(xiàn)及修正設(shè)定。在另一相關(guān)的實(shí)施例中,內(nèi)核間的通信線112包含一具有并聯(lián)導(dǎo)線的總線。在相關(guān)的實(shí)施例中,內(nèi)核間的通信線112包含旁路總線,其中旁路總線與美國專利申請案案號61/426,470,申請日12/22/2010,名稱為“分散式電源管理分部多個(gè)處理器內(nèi)核 (Decentralized Power Management Distributed Among Multiple Processor Cores),,相似,其同在申請的非臨時(shí)申請案(CNTR2527)也在本文中納入?yún)⒖家?。在其他?shí)施例中,內(nèi)核間的通信線112包含一相對較小的內(nèi)核間的通信線,這樣的設(shè)置可在各方面與 CNTR2503所描述替代的邊帶設(shè)定相比較,或是可與CNTR2527所描述的內(nèi)核間的通信線的相比較。在本文中所述,“伙伴”一詞是指同一芯片104的處理內(nèi)核106,且芯片104通過對應(yīng)的邊帶內(nèi)核間的通信線來彼此通信。因此,在圖1的實(shí)施例中,內(nèi)核0及內(nèi)核1為伙伴, 且內(nèi)核2及內(nèi)核3為伙伴。每一芯片104提供多個(gè)用以將芯片104耦合至系統(tǒng)總線的焊接點(diǎn),以及多個(gè)用以將芯片104耦合至內(nèi)核間的通信線118的額外的邊帶通信焊接點(diǎn)。具體來說,每一芯片104 包含四個(gè)邊帶通信焊接點(diǎn)108,四個(gè)邊帶通信焊接點(diǎn)108分別對應(yīng)耦合至四個(gè)表示為“P1”、 “P2”、“P3”以及“P4”的引腳。四個(gè)邊帶通信焊接點(diǎn)108中,一個(gè)是輸出焊接點(diǎn)(表示為“輸出”)以及三個(gè)輸入焊接點(diǎn)(表示為輸入1、輸入2以及輸入幻。在一實(shí)施例中,每一芯片 104根據(jù)多內(nèi)核微處理器制造過程中的燒斷的熔絲(fuse)設(shè)定,而分配四個(gè)邊帶通信焊接點(diǎn)108其中一個(gè)焊接點(diǎn)作為輸出焊接點(diǎn)(輸出)。圖1中,封裝本身提供對應(yīng)耦合于封裝內(nèi)核間的通信線118的多個(gè)邊帶通信引腳, 其中邊帶通信引腳系表示為Pl至P4。而這些引腳并不需要實(shí)行封裝內(nèi)部芯片104內(nèi)核間的通信,多封裝設(shè)定的這些引腳可增進(jìn)并且放大在內(nèi)核間的通信線118所執(zhí)行的外部測試信號。內(nèi)核間的通信線118被設(shè)定為如下芯片0的輸出焊接點(diǎn)以及芯片1的輸入1焊接點(diǎn)經(jīng)由一條導(dǎo)線耦合在Pl引腳,而芯片1的輸出焊接點(diǎn)以及芯片0的輸入3焊接點(diǎn)經(jīng)由一條導(dǎo)線耦合在P2引腳,芯片0的輸入2焊接點(diǎn)以及芯片1的輸入3焊接點(diǎn)經(jīng)由一條導(dǎo)線耦合在P3引腳,芯片0的輸入1焊接點(diǎn)以及芯片1的輸入2焊接點(diǎn)經(jīng)由一條導(dǎo)線耦合在P4 引腳。每一芯片104具有一個(gè)被指定的主要內(nèi)核106,主要內(nèi)核106控制經(jīng)由芯片104的邊帶通信焊接點(diǎn)的通信。圖1的實(shí)施例中,內(nèi)核O是芯片0的主要內(nèi)核106,且內(nèi)核2是芯片1的主要內(nèi)核106。請參閱圖一,“伙伴”一詞是指在不同芯片104的主要內(nèi)核106,經(jīng)由邊帶內(nèi)核間的通信線而彼此通信,因此,圖1的實(shí)施例中,內(nèi)核0及內(nèi)核2為伙伴。內(nèi)核間的通信線118在芯片104的主要內(nèi)核106中電性連接,藉以更增進(jìn)主要內(nèi)核106間不同發(fā)現(xiàn)以及管理流程的通信及調(diào)整,包含本文所述的微處理器設(shè)定的發(fā)現(xiàn)及修正。更具體地說,內(nèi)核間的通信線118使相異芯片104的主要內(nèi)核106中斷彼此,并且使主要內(nèi)核106發(fā)送另一訊息來執(zhí)行分散式調(diào)整和多內(nèi)核微處理器102的主要內(nèi)核106間分散式的發(fā)現(xiàn)動(dòng)作。舉例來說,當(dāng)芯片0的主要內(nèi)核0想要與芯片1的主要內(nèi)核2通信時(shí),主要內(nèi)核0 從其輸出焊接點(diǎn)傳輸一訊息至芯片ι的輸入ι焊接點(diǎn),同樣的,當(dāng)芯片ι的主要內(nèi)核2想要與芯片0的主要內(nèi)核0通信時(shí),主要內(nèi)核2從其輸出焊接點(diǎn)傳輸一訊息至芯片0的輸入3焊接點(diǎn)。如CNTR2527文中所述,圖1內(nèi)并不是所有的焊接點(diǎn)及引腳皆需要去支持四核設(shè)定, 一些焊接點(diǎn)及引腳是能被移除的。但是同樣如CNTR2527文中所述,額外的焊接點(diǎn)及引腳能增進(jìn)其他處理器的設(shè)定,例如八內(nèi)核的實(shí)施例。在一些處理器設(shè)定中,每一輸出焊接點(diǎn)108 與其他芯片104中多個(gè)輸入焊接點(diǎn)108相耦合。為了支持這樣的設(shè)定,一些實(shí)施例中的主要內(nèi)核106在每一訊息傳輸中具有一識別碼,每一訊息從主要內(nèi)核106的輸出焊接點(diǎn)108 輸出,并且在內(nèi)核間的通信線118傳輸。識別碼識別主要內(nèi)核106的訊息發(fā)往的目的地,藉以使多個(gè)接受的內(nèi)核106接收傳播訊息后,檢測是否為訊息發(fā)送的預(yù)定目的地。請參閱圖2,圖2是顯示本發(fā)明的圖1的其中的一內(nèi)核的詳細(xì)方塊圖。圖2的內(nèi)核106在某些方面與CNTR2527以及CNTR2533所公開的圖2相似,其他方面將于下文進(jìn)一步說明。根據(jù)一實(shí)施例,內(nèi)核106的微結(jié)構(gòu)包含一超標(biāo)量結(jié)構(gòu),該結(jié)構(gòu)為功能單元的無序執(zhí)行導(dǎo)線,一指令快取存儲器202,用以存取來自系統(tǒng)存儲器(圖未示)的指令。一耦合至指令多內(nèi)核微處理器存儲器202至的指令譯碼器204,用以接收指令如x86指令集架構(gòu)指令的指令。寄存器別名表(Register Alias Table ;RAT) 212耦合至指令譯碼器204以及微序列器206,寄存器別名表(Register Alias Table ;RAT) 212用以接收從指令譯碼器204以及微序列器206所發(fā)出的已譯微指令,藉以產(chǎn)生與已譯微指令的相依訊息。保留站214耦合至寄存器別名表(Register Alias Table ;RAT) 212,藉以接收寄存器別名表(Register Alias Table ;RAT) 212所發(fā)出的已譯微指令及相依訊息。執(zhí)行單元216耦合至保留站214, 藉以接收保留站214所發(fā)出的已譯微指令,并且接收其已譯微指令的指令運(yùn)算元。該運(yùn)算元也許來自內(nèi)核106的寄存器以及耦合至執(zhí)行單元216的數(shù)據(jù)快取存儲器222,其中該內(nèi)核106的寄存器例如是通用目的寄存器以及可讀可寫的模塊特定寄存器238。退移單元 218耦合至執(zhí)行單元216,藉以接收執(zhí)行單元216所發(fā)送的指令結(jié)果,并且退移該指令結(jié)果至內(nèi)核106的架構(gòu)狀態(tài)。數(shù)據(jù)快取存儲器222耦合至總線接口單元(Bus Interface Unit ; BIU) 224,總線接口單元(Bus Interface Unit ;BIU)224為圖1的內(nèi)核106至總線116的接口。相位鎖定回路(Phased-Locked-Loop ;PPL) 2 接收從總線116發(fā)出的總線時(shí)鐘信號, 接收到后產(chǎn)生并傳送一內(nèi)核時(shí)鐘信號242至內(nèi)核106內(nèi)部的不同功能的單元。相位鎖定回路(Phased-Locked-Loop ;PPL) 226也許會經(jīng)由執(zhí)行單元216如執(zhí)行停用指令而被控制。如上述與圖1相關(guān)的,每個(gè)芯片具有一被指定的主要內(nèi)核。此外,在相關(guān)方面,處理器也許具有一已指定的啟動(dòng)服務(wù)處理器(Boot Service Processor ;BSP)內(nèi)核,該啟動(dòng)服務(wù)處理器(Boot Service Processor ;BSP)內(nèi)核被單獨(dú)授權(quán)來調(diào)整芯片組114特定的受限動(dòng)作。因此,不同指定的主要和/或啟動(dòng)服務(wù)處理器(Boot Service Processor ;BSP)身分碼內(nèi)核的實(shí)施例中,為了遵行預(yù)設(shè)的指定的。在一實(shí)施例中,每一內(nèi)核106包含可編程設(shè)定熔絲(fuse)。芯片104的制造商也許會變化設(shè)定熔絲(fuse)來指定內(nèi)核106和/或其他內(nèi)核106是否作為芯片104的主要內(nèi)核或啟動(dòng)服務(wù)處理器(Boot Service Processor ;BSP)的內(nèi)核,以及內(nèi)核106和/或其他內(nèi)核106是否被啟動(dòng),而指定每一內(nèi)核106為唯一識別的情況,例如內(nèi)核106是否是內(nèi)核0、 內(nèi)核1、內(nèi)核2或內(nèi)核3。另一實(shí)施例中,任何給定的內(nèi)核主要指定是根據(jù)其情況。根據(jù)一實(shí)施例,在預(yù)設(shè)的情況下,偶數(shù)內(nèi)核106是每一芯片104的主要內(nèi)核。根據(jù)另一相關(guān)的實(shí)施例中,內(nèi)核0被設(shè)定為多內(nèi)核微處理器102的啟動(dòng)服務(wù)處理器(Boot Service Processor ;BSP)內(nèi)核在另一實(shí)施例中,一初始主要或啟動(dòng)服務(wù)處理器(Boot Service Processor ;BSP) 的指定通過預(yù)設(shè)(如基于適用的設(shè)定熔絲或內(nèi)核的情況)所提供,但也許會被新的設(shè)定覆寫。更進(jìn)一步地說,主要及啟動(dòng)服務(wù)處理器(Boot Service Processor ;BSP)的指定系動(dòng)態(tài)的被重新設(shè)定或是暫時(shí)性的響應(yīng)于臨時(shí)設(shè)定而擱置,上述的指定系響應(yīng)于不同的情況,該情況例如是被指定的主要或啟動(dòng)服務(wù)處理器(Boot Service Processor ;BSP)內(nèi)核為停用或暫停使用的狀況。尤其是如圖2所示,每一內(nèi)核106也許包含一主要指示(master indicator) 232、 啟動(dòng)服務(wù)處理器(Boot Service !Processor ;BSP)指示228以及一啟用指示252。在一實(shí)施例中,如上所述,這些指示構(gòu)成可選擇性被燒斷的熔絲(fuse)。例如,與啟用指示252相關(guān)的熔絲(fuse),也許會選擇性的被燒斷以啟用或停用內(nèi)核106,藉以使內(nèi)核106的數(shù)量可用于計(jì)算系統(tǒng)100,使計(jì)算系統(tǒng)100執(zhí)行數(shù)據(jù)處理所用到的內(nèi)核也許會小于實(shí)體內(nèi)核106 的數(shù)量。在其他實(shí)施例中,這些指示構(gòu)成熔絲(fuse)藉以提供預(yù)設(shè)值,這些預(yù)設(shè)值被存儲于模塊特定寄存器(Model-Specific Registers ;MSRS) 238或設(shè)定存儲器254內(nèi),但這些預(yù)設(shè)值被以相反設(shè)定覆寫,如果有前述動(dòng)作的話,這些預(yù)設(shè)值被存儲于模塊特定寄存器 (Model-Specific Registers ;MSRS) 238或設(shè)定存儲器254內(nèi)。在另一實(shí)施例內(nèi),這些指示包含兩個(gè)熔絲(fuse),藉以提供預(yù)設(shè)值及本機(jī)設(shè)定邏輯而能夠覆寫這些預(yù)設(shè)值。在其他實(shí)施例中,這些指示構(gòu)成可以被開啟或關(guān)閉的寄存器。執(zhí)行單元216接收到一啟用指示252,啟用指示252是指示是否啟用內(nèi)核106來執(zhí)行數(shù)據(jù)處理。執(zhí)行單元216也接收一啟動(dòng)服務(wù)處理器(Boot Service Processor ;BSP) 指示228以及一主要指示232,啟動(dòng)服務(wù)處理器(Boot Service Processor ;BSP)指示2 以及一主要指示232分別指示內(nèi)核106是否為芯片104的主要內(nèi)核以及是否為多內(nèi)核微處理器102的啟動(dòng)服務(wù)處理器(Boot Service Processor ;BSP)內(nèi)核。如上所述,啟動(dòng)服務(wù)處理器(Boot Service Processor ;BSP)指示228、主要指示232以及啟用指示252包含可編程的熔絲(fuse)。在另一種實(shí)施例中,啟動(dòng)服務(wù)處理器(Boot Service Processor ;BSP) 指示228、主要指示232和/或啟用指示252被存儲于模塊特定寄存器(Model Specific Register ;MSR) 238 內(nèi),且模塊特定寄存器(Model Specific Register ;MSR) 238 初始即設(shè)有可編程的熔絲(fuse)數(shù)值,但熔絲(fuse)數(shù)值可通過軟件寫入模塊特定寄存器(Model Specific Register ;MSR)238 而更新。更進(jìn)一步地說,內(nèi)核106包含設(shè)定存儲器254,藉以存儲多內(nèi)核微處理器102的內(nèi)核設(shè)定。在一實(shí)施例中,設(shè)定存儲器邪4包含寄存器,在另一實(shí)施例中,設(shè)定存儲器邪4包含一在小型隨機(jī)存取存儲器(Small Random Access Memory ;RAM)的存儲區(qū),小型隨機(jī)存取存儲器(Small Random Access Memory ;RAM)例如是美國專利申請案案號7,827,390所述的參數(shù)隨機(jī)存取存儲器(Parameter Random Access Memory ;PRAM)。如CNTR. 2527所述,執(zhí)行單元216也可讀寫控制狀態(tài)寄存器(Control and Status Register ;CSR) 234 及控制狀態(tài)寄存器(Control and Status Register ;CSR) 236,藉以與其他內(nèi)核106通信。特別是,內(nèi)核106系利用控制狀態(tài)寄存器(Control and Status Register ;CSR) 236并經(jīng)由內(nèi)核間的通信線112與在同樣芯片104上的內(nèi)核106做通信,且內(nèi)核106利用控制狀態(tài)寄存器(Control and Status Register ;CSR) 2;34而通過芯片間的通信線118并經(jīng)由焊接點(diǎn)108,進(jìn)而與在同樣芯片104上的內(nèi)核106做通信。微序列器206還包含一用以存儲微碼的微碼存儲器207。每一處理內(nèi)核106均具有一相同指令集架構(gòu)且彼此對稱,且每一處理內(nèi)核106均設(shè)定為計(jì)算一包含來自該指令集架構(gòu)的指令的使用者程序。為了本發(fā)明所公開的目的,在本文中,“微碼”一詞是指在內(nèi)核
13106執(zhí)行指令架構(gòu)中,相同內(nèi)核106所執(zhí)行的指令。也就是說,如果有任何存儲在微碼存儲器207內(nèi)的微碼執(zhí)行的話,其系在原有執(zhí)行的內(nèi)核106執(zhí)行。微碼存儲器207用以存儲微碼,微碼包含如CNTR. 2527內(nèi)各種不同的實(shí)施例所述的內(nèi)部電源狀態(tài)管理微碼。微碼存儲器207亦存儲一包含設(shè)定發(fā)現(xiàn)(configuration discovery)及修正微碼208。其中,設(shè)定發(fā)現(xiàn)及修正微碼208被設(shè)定為動(dòng)態(tài)確認(rèn)初始設(shè)定 (dynamically determine initial)(或預(yù)設(shè))以及使用者所設(shè)定的(或以其他方式重新設(shè)定)多內(nèi)核微處理器102的內(nèi)核設(shè)定,用以存儲指定的動(dòng)態(tài)確定內(nèi)核設(shè)定的訊息到設(shè)定存儲器254,并且使用該存儲的訊息,在此將于下的圖3描述相對應(yīng)的方法。在一實(shí)施例中,使用者所設(shè)定的內(nèi)核設(shè)定訊息被存儲在設(shè)定存儲器254,藉以替代多內(nèi)核微處理器102的初始設(shè)定或預(yù)設(shè)內(nèi)核設(shè)定。在一實(shí)施例中,如下所述,設(shè)定發(fā)現(xiàn)及修正微碼208被多內(nèi)核微處理器102的重置引腳的判定所引發(fā)。設(shè)定發(fā)現(xiàn)及修正微碼208最好在每一內(nèi)核106上系重復(fù)的來支持?jǐn)U充性。此外,如CNTR. 2527文中所述的內(nèi)核的內(nèi)部電源狀態(tài)管理微碼,該微碼根據(jù)修正設(shè)定來調(diào)整電源狀態(tài)管理,其中修正設(shè)定發(fā)現(xiàn)并且存儲響應(yīng)于設(shè)定發(fā)現(xiàn)及修正微碼208的執(zhí)行動(dòng)作。請一并參閱圖3A及圖3B,圖3A及圖是顯示本發(fā)明的圖1的多內(nèi)核微處理器執(zhí)行動(dòng)態(tài)設(shè)定發(fā)現(xiàn)以及修正過程的操作流程圖。更具體地說,圖1接合多內(nèi)核微處理器102每一內(nèi)核106的微碼208的基本輸入/輸出系統(tǒng)(Basic Input/Output System ;BI0S) 152,提供一種方式來動(dòng)態(tài)個(gè)別的停用或重啟動(dòng)并且重新設(shè)定內(nèi)核106后制造的時(shí)間的主要設(shè)定, 上述的情況例如是太晚而不能燒斷熔絲(fuse)的狀況。在流程圖的方塊302中一使用者輸入一理想的多內(nèi)核微處理器102的內(nèi)核設(shè)定。 在一實(shí)施例中,基本輸入/輸出系統(tǒng)(Basic Input/Output System ;BI0S) 152在顯示器158 上,顯示一選單讓使用者指定一個(gè)理想內(nèi)核設(shè)定,其中其是顯示在圖1所述的顯示器158。 舉例來說,在多內(nèi)核微處理器102內(nèi)每一實(shí)體存在的內(nèi)核106,基本輸入/輸出系統(tǒng)(Basic Input/Output System ;BIOS) 152也許會顯示其啟動(dòng)指示252的數(shù)值,且使用者能切換該啟動(dòng)指示252的數(shù)值來指示理想的停用或重新啟用內(nèi)核106(啟用指示252分別指示內(nèi)核106 是啟用或是停用)。如與CNTR. 2527相關(guān)的所述,微處理器最好也設(shè)定有某些調(diào)整及發(fā)現(xiàn)動(dòng)作,其中某些調(diào)整及發(fā)現(xiàn)動(dòng)作系經(jīng)由根據(jù)相容階層式調(diào)整系統(tǒng)而適用的邊帶通信線,例如是電源狀態(tài)管理。一般來說,階層式調(diào)整系統(tǒng)會組成微處理器的內(nèi)核的一或多個(gè)區(qū)域,其中每個(gè)區(qū)域中,有一內(nèi)核是被設(shè)定為該區(qū)域的主要內(nèi)核,且邊帶通信線被設(shè)置在適合的區(qū)域中。內(nèi)核能根據(jù)主要身分碼而被限制,如果有前述限制的話,為內(nèi)核通過可用的邊帶通信線,來通信及調(diào)整其他區(qū)域的內(nèi)核的能力。CNTR. 2527描述了各式各樣的階層式調(diào)整系統(tǒng),各種巢套區(qū)域結(jié)構(gòu),區(qū)域內(nèi)的各種內(nèi)核集聚以及相對應(yīng)的親屬群組,以及各種在親屬群組內(nèi)的調(diào)整模塊。階層式調(diào)整系統(tǒng)能被用于電源狀態(tài)管理,包含C狀態(tài)(CItate)及P狀態(tài)(P-State)的執(zhí)行以及共享電壓與時(shí)鐘源的控制。一般來說,階層式調(diào)整系統(tǒng)相容于邊帶通信線的結(jié)構(gòu)與可用性,其中邊帶通信線被設(shè)置于內(nèi)核與微處理器的內(nèi)核群組之間。此外,階層式調(diào)整系統(tǒng)適用于多內(nèi)核微處理器能被指定布滿全部或某個(gè)區(qū)域,以及存儲隨著每一內(nèi)核的設(shè)定存儲器254的其他設(shè)定訊息,藉以增進(jìn)內(nèi)核間的調(diào)整分散式系統(tǒng)、發(fā)現(xiàn)過程以及電源狀態(tài)管理的過渡。其中階層式調(diào)整系統(tǒng)的分布可為戈達(dá)爾數(shù)量(G0dal Number)或其中一些組合。每一內(nèi)核中,基本輸入/輸出系統(tǒng)(Basic Input/Output System ;BIOS) 152能顯示其主要指示232及啟動(dòng)服務(wù)處理器(Boot Service Processor ;BSP)指示228的數(shù)值, 并且讓使用者切換其中的數(shù)值,藉以重新設(shè)置各內(nèi)核的主要身分碼(master credential) 0 基本輸入/輸出系統(tǒng)(Basic Input/Output System152會顯示一些預(yù)設(shè)方面的可重新設(shè)定的階層式調(diào)整系統(tǒng),讓使用者能在一定程度上相容于內(nèi)核個(gè)別的可設(shè)定性以及適用于邊帶通信線中,增加、刪除、結(jié)合與劃分區(qū)域、重新定義相對應(yīng)于親屬群組以及選擇親屬群組間可用的調(diào)整模塊。因此,基本輸入/輸出系統(tǒng)(Basic Input/Output System ; BIOS) 152提供一設(shè)定選項(xiàng),藉以讓使用者停用、重啟動(dòng)以及個(gè)別重新設(shè)定內(nèi)核106。如果使用者要求停用一最初設(shè)定的主要內(nèi)核,基本輸入/輸出系統(tǒng)(Basic Input/Output System ; BIOS) 152能自動(dòng)設(shè)定一替代內(nèi)核作為主要內(nèi)核。在流程圖的方塊304中,基本輸入/輸出系統(tǒng)(Basic Input/Output System ; BIOS) 152將在方塊302所接收的使用者所指定的設(shè)定,存儲至圖1所示的非易失性隨機(jī)存取存儲器(Non-Volatile Random Access Memory ;NVRAM)。在流程圖的方塊306中,多內(nèi)核微處理器102被重置。例如,基本輸入/輸出系統(tǒng) (Basic Input/Output System152會重置多內(nèi)核微處理器102或是多內(nèi)核微處理器會被使用者以啟動(dòng)(power)計(jì)算系統(tǒng)100或點(diǎn)擊重置按鈕的一些操作而重置。在流程圖的方塊308中,每一內(nèi)核106的重置微碼208確定其初始設(shè)定。在一實(shí)施例中,每一內(nèi)核106的重置微碼208根據(jù)CNTR. 2533所述的方法,來確認(rèn)多內(nèi)核微處理器的初始設(shè)定。如本文所述,每一內(nèi)核106將一動(dòng)態(tài)確定的設(shè)定寫入圖2所述的設(shè)定存儲器 254 內(nèi)。在流程圖的方塊312中,基本輸入/輸出系統(tǒng)(Basic Input/Output System ; BIOS) 152寫入每一內(nèi)核106的模塊特定寄存器(Model-Specific Register ;MSR)238,其中每一內(nèi)核106并不包含在使用者所指定的設(shè)定內(nèi),例如寫入使用者期望被停用的每一內(nèi)核 106及寫入每一內(nèi)核的主要身分碼,如果有前述操作的話,是使用者所期望去改變的。在另一實(shí)施例中,基本輸入/輸出系統(tǒng)(Basic Input/Output System ;BI0S) 152執(zhí)行一x86寫入型號專用寄存器(Write to Model Specific Register ;WRMSR)的指令來寫入模塊特定寄存器(Model-specific register ;MSR)238。如果使用者所設(shè)定的如此指定,寫入模塊特定寄存器(Model-Specific Register ;MSR) 238的指令指示內(nèi)核106自行終止或停用。另外, 如果使用者所設(shè)定的如此指定,寫入模塊特定寄存器(Model-Specific Register ;MSR) 238 的指令指示內(nèi)核106覆蓋其預(yù)設(shè)的主要指示232和/或啟動(dòng)服務(wù)處理器(Boot Service Processor ;BSP)指示 228。在流程圖的方塊314中,每一內(nèi)核106引動(dòng)一微碼208的一部分,其中該部分的微碼用以執(zhí)行響應(yīng)于在方塊312中寫入型號專用寄存器(Write to Model Specific Register ;WRMSR)的指令。以響應(yīng)于一終止指令為例,適當(dāng)?shù)慕K止執(zhí)行微碼208寫入控制內(nèi)核106的寄存器藉以終止內(nèi)核106。特別是指將終止執(zhí)行微碼208寫入總線接口單元224, 藉以使終止內(nèi)核106不響應(yīng)于總線116的窺探周期。這樣的設(shè)置有利于防止內(nèi)核106響應(yīng)于窺探周期而引起總線116的拖曳。拖曳的產(chǎn)生由于窺探響應(yīng)會要求內(nèi)核106在總線116 插入延遲的時(shí)鐘,而使其有額外的時(shí)間來窺探其快取存儲器。最后,終止執(zhí)行微碼208將內(nèi)
15核轉(zhuǎn)變至最小的功耗狀態(tài)并且進(jìn)入休眠狀態(tài),例如,終止執(zhí)行微碼208會停止時(shí)鐘和/或從多內(nèi)核微處理器102的大部分電路中斷開電源。然而,內(nèi)核106仍保有響應(yīng)于由在外部重設(shè)多內(nèi)核微處理器102的重置引腳的功能。因此,微碼208從不返回至使用者碼。在一實(shí)施例中,為了使被終止的內(nèi)核106恢復(fù),需要一個(gè)經(jīng)由多內(nèi)核微處理器102的外部重置、經(jīng)由相對應(yīng)于內(nèi)核106的輸入焊接點(diǎn)或是切斷內(nèi)核106的電源的方式,藉以恢復(fù)內(nèi)核106。在流程圖的方塊316中,基本輸入/輸出系統(tǒng)(Basic Input/Output System ; BIOS) 152 從非易失性隨機(jī)存取存儲器(Non-Volatile Random Access Memory ;NVRAM) 154 來讀取使用者所指定的設(shè)定,并且將模塊特定寄存器(Model-Specific Register ;MSR) 238 寫入任何一個(gè)仍啟動(dòng)的內(nèi)核,例如沒有被使用者停用的內(nèi)核106,通過前述方法來指示使用者所指定的設(shè)定并覆蓋方塊308所確認(rèn)的初始設(shè)定。值得一提的是,在方塊312及方塊316 所執(zhí)行的寫入型號專用寄存器(Write to Model Specific Register ;WRMSR),其會被期望采用內(nèi)核106的終止或重新設(shè)定功能的任何系統(tǒng)軟件執(zhí)行,上述功能如本文所描述來重新設(shè)定多內(nèi)核微處理器102且沒有限制于使用基本輸入/輸出系統(tǒng)(Basic Input/Output System ;BIOS)152。在流程圖的方塊318中,每一仍啟動(dòng)的內(nèi)核106引動(dòng)微碼208的一部分來執(zhí)行寫入型號專用寄存器(Write to Model Specific Register ;WRMSR)的指令,該指令系響應(yīng)于方塊316所執(zhí)行的寫入型號專用寄存器(Write to Model Specific Register ;WRMSR)。微碼208接收到使用者所指定的設(shè)定并且寫入設(shè)定存儲器254,因而覆寫掉方塊308所寫入的初始設(shè)定。內(nèi)核106便根據(jù)使用者所指定的設(shè)定繼續(xù)操作。舉例來說,內(nèi)核106會通過返回已啟動(dòng)內(nèi)核的數(shù)量來執(zhí)行CPUID指令,其中已啟動(dòng)的內(nèi)核系列舉在使用者所指定的設(shè)定之內(nèi),此外,使用者所指定的設(shè)定被存儲于設(shè)定存儲器2M之內(nèi)。在另一實(shí)施例中,內(nèi)核106利用方塊314所存儲的訊息來調(diào)整某些電源狀態(tài)管理功能,例如所要求的C狀態(tài)(C-Mate)、P狀態(tài)(P-Mate)、電壓識別數(shù)字(Voltage Identification Digital ;VID)水平以及時(shí)鐘頻率的執(zhí)行。如上所述,例如與CNTR2527相關(guān)以及美國專利臨時(shí)申請案案號61/426,470,申請日12/22/2010,名稱為“分散式電源管理分部多個(gè)處理器內(nèi)核(Decentralized Power Management Distributed Among Multiple Processor Cores) ”的一部分以及其同在申請的非臨時(shí)申請案(CNTR. 2534),這些都納入本文的參考。另一實(shí)施例中,內(nèi)核106利用所存儲的設(shè)定訊息來執(zhí)行多內(nèi)核“電源貸款”功能, 如美國專利申請案案號13/157, 436 (CNTR. 2517),申請日6/10/2011,為了達(dá)到本申請所有目的,也都在本文中納入?yún)⒖?。在流程圖的方塊322中,除了基本輸入/輸出系統(tǒng)(Basic Input/Output System ; BIOS) 152所執(zhí)行使用的內(nèi)核106,基本輸入/輸出系統(tǒng)(Basic Input/Output System ; BIOS) 152在其余每一內(nèi)核106上執(zhí)行一停止(Halt ;HLT)指令來停止內(nèi)核106。值得一提的是,停止或是休眠的內(nèi)核106仍在窺探總線116并且確認(rèn)其快取存儲器,這樣的情況有可能導(dǎo)致產(chǎn)生在總線116的異動(dòng),而不利于性能及不必要的功耗的產(chǎn)生。然而,如本文所述, 在方塊312時(shí),當(dāng)基本輸入/輸出系統(tǒng)(Basic Input/Output System ;BIOS) 152的設(shè)定將模塊特定寄存器(Model-specific register ;MSR) 238寫入終止內(nèi)核,內(nèi)核106會在方塊 314自我終止,相對于自我停止的方式,這樣的方法能讓內(nèi)核106是真的停用并且不會窺探總線116、或認(rèn)其快取存儲器或是在總線116上產(chǎn)生異動(dòng),這樣的話,只有真的外部重置這樣的方法,才能讓被終止的內(nèi)核106再次回復(fù)。在流程圖的方塊324中,基本輸入/輸出系統(tǒng)(Basic Input/Output System ; BIOS) 152從磁盤將操作系統(tǒng)156載入到系統(tǒng)存儲器并且轉(zhuǎn)移控制權(quán)給操作系統(tǒng)156。操作系統(tǒng)156發(fā)出初始化(Initialization ;INIT)重置指令至多內(nèi)核微處理器102的所有內(nèi)核106,通過BI0S152使他們從停止的狀態(tài)中回復(fù)而進(jìn)入方塊302。在另一實(shí)施例中,初始化(Initializati0n5INIT)重置指令包含知名輸入/輸出高級可編程中斷控制器(I/ 0 Advanced Programmable Interrupt Controller ;1/0 APIC)初始化(Initialization ; INIT)指令,其用以指示內(nèi)核106執(zhí)行一響應(yīng)于重置的動(dòng)作子集(特別是從其停止的狀態(tài)中回復(fù))。在流程圖的方塊3 中,在方塊314中每一個(gè)自行終止的內(nèi)核106對于方塊3M所發(fā)出的初始化(Initialization ;INIT)訊息并不會發(fā)生響應(yīng),更確切地說,終止的內(nèi)核106 系保持其終止?fàn)顟B(tài)直到執(zhí)行外部重置才會回復(fù)。然而,其余已啟動(dòng)的內(nèi)核106響應(yīng)于初始化(Initialization ;INIT)訊息并且根據(jù)存儲在方塊318中使用者所指定的設(shè)定而執(zhí)行。 其中,重置微碼208被引動(dòng)而響應(yīng)于初始化(Initialization ;INIT)訊息。然而,響應(yīng)于初始化(Initialization ;INIT)訊息中,重置微碼208不執(zhí)行如方塊308的操作,重置微碼 208并不確認(rèn)其內(nèi)核設(shè)定,而是響應(yīng)于外部重置。值得一提的是,初始化(Initialization; INIT)訊息從在重置所有內(nèi)核106的總線116上,初始化(Initialization ;INIT)引腳是判定為不同的,也因此對每一內(nèi)核106來說是唯一的。操作流程在方塊3 結(jié)束。值得一提的是,方塊302及方塊304的執(zhí)行步驟只需要執(zhí)行一次,例如,使用者只需要指定一次他所期望的設(shè)定,且基本輸入/輸出系統(tǒng)(Basic Input/Output System ; BIOS) 152只需要存儲一次使用者所指定的設(shè)定;而方塊306至方塊326的執(zhí)行步驟每被執(zhí)行一次,系統(tǒng)就被重置且操作系統(tǒng)就會啟動(dòng)。如上所述,動(dòng)態(tài)設(shè)定發(fā)現(xiàn)及修正過程可能會支持多內(nèi)核微處理器102所有內(nèi)核中主要指定的重新設(shè)定。在一實(shí)施例中,芯片104上的硬件設(shè)定為在該芯片中任何能夠用以驅(qū)動(dòng)輸出焊接點(diǎn)108的內(nèi)核106,故內(nèi)核間的通信線118耦合至輸出焊接點(diǎn)108,藉以在計(jì)算系統(tǒng)100內(nèi)的其他內(nèi)核106做通信;然而,在任何給定的時(shí)間中,只有在芯片104的一內(nèi)核106設(shè)定為驅(qū)動(dòng)輸出焊接點(diǎn)108。這樣有利于預(yù)設(shè)的主要內(nèi)核(內(nèi)核106設(shè)定熔絲(fuse) 而作為芯片104和/或多內(nèi)核微處理器102的主要內(nèi)核)處于不操作狀態(tài)或是基本輸入/ 輸出系統(tǒng)(Basic Input/Output System ;BI0S) 152終止主要內(nèi)核的狀況。舉例來說,這樣能啟動(dòng)其余內(nèi)核106的一內(nèi)核106變成主要內(nèi)核并且與伙伴內(nèi)核106在其他芯片104上通信,藉以執(zhí)行如CNTR. 2527及CNTR. 2534所述的電源狀態(tài)管理。所有芯片104的內(nèi)核106接收電性連接于輸入內(nèi)核間的通信線118的輸入焊接點(diǎn)108的信號。因此,如果使用者或故障停用的預(yù)設(shè)主要內(nèi)核,有利于其余的內(nèi)核106 (例如新的主要內(nèi)核)能夠接收代表這個(gè)芯片104的輸入內(nèi)核間的通信帶118的信號,并且如上所述,能夠驅(qū)動(dòng)這個(gè)芯片104內(nèi)核間的通信線118耦合至輸出焊接點(diǎn)108。通過這種方式,在一實(shí)施例中,所有在給定的芯片104 的內(nèi)核106設(shè)定可能的排列組合可行的。為了支持動(dòng)態(tài)內(nèi)核重新設(shè)定,在一實(shí)施例中,內(nèi)核106相關(guān)的熔絲(fuse)數(shù)值是個(gè)別地做異或(Exclusive-OR’ ed)運(yùn)算以及寄存器的對應(yīng)位元,藉以產(chǎn)生一終值,例如主要指示232、啟動(dòng)服務(wù)處理器(Boot Service Processor ;BSP)指示2 及啟用指示252。相關(guān)的熔絲(fuse)數(shù)值可為與CNTR. 2534的圖2、圖3A及圖相對應(yīng)的熔絲(fuse)不驅(qū)動(dòng)指示154以及熔絲(fuse)不驅(qū)動(dòng)頻率指示354,其是個(gè)別地做異或(Exclusive-OR’ ed, 又稱之為“互斥或”)運(yùn)算。寄存器位元(bit,也稱之為“位”)通過微碼208所寫入,通常響應(yīng)于寫入模塊特定寄存器(Model-Specific Register ;MSR)238。最后,每一內(nèi)核106同樣設(shè)定啟動(dòng)微碼208,藉以寫入寄存器的一位元來動(dòng)態(tài)更新內(nèi)核106是否驅(qū)動(dòng)耦合至輸出焊接點(diǎn)108的內(nèi)核間通信線118。這樣的設(shè)定能被采用,例如設(shè)定雙內(nèi)核芯片104或四內(nèi)核芯片的任一內(nèi)核106設(shè)定作為芯片的主要內(nèi)核。更進(jìn)一步實(shí)施例中,每一內(nèi)核106沒有被設(shè)定為適用于區(qū)域的主要內(nèi)核,該內(nèi)核 106設(shè)定內(nèi)部微碼,這樣的方式也許會與CNTR. 2533其中之一所描述的過程一致,藉以確定區(qū)域中被設(shè)定的主要內(nèi)核是否為已啟用或是在執(zhí)行狀態(tài),如果不是則有條件的自我重新設(shè)定(如基于其相對于區(qū)域內(nèi)的其他親屬內(nèi)核的實(shí)際數(shù)量)作為適用于區(qū)域的臨時(shí)主要內(nèi)核,以及藉以判定控制輸出焊接點(diǎn)108為一合適的邊帶內(nèi)核線。一個(gè)被指定的主要內(nèi)核也可以在預(yù)設(shè)的條件被設(shè)置(如基于他們的狀態(tài)或迫切性來限制中斷的限制中斷模式)或是響應(yīng)于一合適的指令,藉以暫時(shí)性的代表從屬親屬內(nèi)核作為臨時(shí)主要內(nèi)核。被指定的主要內(nèi)核能經(jīng)由與臨時(shí)設(shè)定相關(guān)之后續(xù)的異動(dòng),啟動(dòng)一控制權(quán)移轉(zhuǎn)回到其本身,這樣的情況下臨時(shí)主要內(nèi)核取消其臨時(shí)設(shè)定。經(jīng)控制權(quán)的判定或重新判定,無論是從一個(gè)被指定的主要內(nèi)核作為臨時(shí)主要內(nèi)核,或是從一個(gè)臨時(shí)主要內(nèi)核經(jīng)由重新判定控制權(quán)而成為一指定的主要內(nèi)核,任何內(nèi)核假設(shè)主要功能是最好也設(shè)定為與至少其從屬內(nèi)核來共享其重新設(shè)定,藉以重新設(shè)定從屬內(nèi)核來調(diào)整新操作的主要內(nèi)核而不是先前操作的主要內(nèi)核。接口邏輯也最好是被提供用來執(zhí)行具有臨時(shí)主要控制權(quán),藉以防止在指定的主要內(nèi)核間重新判定輸出焊接點(diǎn)108的控制權(quán),直到如果有一個(gè)適當(dāng)?shù)目刂茩?quán)異動(dòng)在被指定的主要內(nèi)核以及臨時(shí)的主要內(nèi)核之間進(jìn)行。這樣的方式下,多內(nèi)核微處理器102也許會設(shè)定為動(dòng)態(tài)響應(yīng)于內(nèi)核故障及內(nèi)核失效而自我修復(fù)。自我修復(fù)實(shí)施例的最大程度中,每一內(nèi)核在任何給定的親屬群中,是可以操作設(shè)定為親屬群的主要內(nèi)核或是臨時(shí)主要內(nèi)核,包含最高的親屬群組水平上作為處理器的啟動(dòng)服務(wù)處理器(Boot Service Processor ;BSP)的內(nèi)核。在這樣的實(shí)施例中,內(nèi)核間的通信線可以高效率的階層式來組織,但因?yàn)槿魏沃饕獌?nèi)核會被從屬親屬內(nèi)核替代,微處理器會能在周圍故障的內(nèi)核中,重新設(shè)定其階層式系統(tǒng)。在另一實(shí)施例中,內(nèi)核106各方面不同于圖2的代表實(shí)施例并且提供取代或額外的高度并聯(lián)結(jié)構(gòu),例如適當(dāng)?shù)膱D形處理單元(Graphics Processing Units ;GPU)的結(jié)構(gòu)。然而各種有關(guān)于本發(fā)明的實(shí)施例已在本文詳述,應(yīng)可充分了解如何實(shí)施并且不限于這些實(shí)施方式。舉凡本領(lǐng)域技術(shù)人員當(dāng)可依據(jù)本發(fā)明的上述實(shí)施例說明而作其它種種的改良及變化。舉例來說,軟件可以啟動(dòng)如功能、制造、模型、模擬、描述和/或測試本文所述的裝置及方法。可以通過一般程序語言(如C及C++)、硬件描述語言(Hardware Description Languages ;HDL)或其他可用程序的使用來達(dá)成,其中硬件描述語言 (Hardware Description languages ;HDL)包含 Verilog HDL、VHDL 等硬件描述語言。這樣的軟件能在任何所知的計(jì)算機(jī)可用媒介中處理執(zhí)行,例如磁帶、半導(dǎo)體、磁盤或光盤(如 ⑶-ROM及DVD-ROM等)、網(wǎng)絡(luò)、有線電纜、無線網(wǎng)絡(luò)或其他通信媒介。本文所述的裝置及方
18法的實(shí)施例中,可包含在智慧型內(nèi)核半導(dǎo)體內(nèi),并且轉(zhuǎn)換為集成電路產(chǎn)品的硬件,其中智慧型內(nèi)核半導(dǎo)體如微處理器內(nèi)核(如硬件描述語言內(nèi)的實(shí)施或設(shè)定)。此外,本文所述的裝置及方法可由硬件及軟件的結(jié)合來實(shí)施。因此,本發(fā)明并不局限于任何本發(fā)明所述的實(shí)施例, 但根據(jù)下述的專利范圍及等效的裝置及方法而定義。具體來說,本發(fā)明能在普遍使用的處理器裝置里執(zhí)行實(shí)施。最后,熟練于本技術(shù)領(lǐng)域的應(yīng)能體會他們能很快地以本文所公開的觀念及具體的實(shí)施例為基礎(chǔ),并且在沒有背離本發(fā)明所述的附屬項(xiàng)范圍下,來設(shè)計(jì)或修正其他結(jié)構(gòu)而實(shí)行與本發(fā)明的同樣目的。
權(quán)利要求
1.一種可動(dòng)態(tài)重設(shè)定的多內(nèi)核微處理器,包含多個(gè)已初啟用的內(nèi)核,該每一已初啟用的內(nèi)核被設(shè)定為執(zhí)行由一系統(tǒng)軟件所發(fā)布的一終止指令,據(jù)以中止該每一已初啟用的內(nèi)核響應(yīng)于一系統(tǒng)總線上的異動(dòng),其中該系統(tǒng)總線設(shè)置耦合于該多內(nèi)核微處理器的外部;其中,一終止指令停用的內(nèi)核的中止(disable)遵行發(fā)送至該系統(tǒng)總線的一重置指令,但其仍可通過在多內(nèi)核微處理器的一重置引腳,進(jìn)行外部重置的方式來恢復(fù)執(zhí)行功能而成一已啟用內(nèi)核,且若通過上述方法進(jìn)行重置,除非該已啟用內(nèi)核再接收到另一終止指令,該已啟用內(nèi)核仍具有執(zhí)行功能。
2.如權(quán)利要求1所述的可動(dòng)態(tài)重設(shè)定的多內(nèi)核微處理器,其中,當(dāng)一內(nèi)核在收到該終止指令而終止時(shí),該內(nèi)核因?yàn)闊o法對系統(tǒng)總線的異動(dòng)產(chǎn)生響應(yīng),因此該內(nèi)核將不會對該系統(tǒng)總線的窺探周期響應(yīng)。
3.如權(quán)利要求1所述的可動(dòng)態(tài)重設(shè)定的多內(nèi)核微處理器,其中,該每一已初啟用的內(nèi)核更進(jìn)一步設(shè)定對該終止指令響應(yīng),藉以使該每一已初啟用的內(nèi)核自行進(jìn)入一省電睡眠狀態(tài)。
4.如權(quán)利要求1所述的可動(dòng)態(tài)重設(shè)定的多內(nèi)核微處理器,其中該其他未接收到該終止指令的已初啟用內(nèi)核被設(shè)定為,通過接收到內(nèi)部電源狀態(tài)的一管理微碼來調(diào)整彼此間的電源狀態(tài)管理,而非依據(jù)任何已停用內(nèi)核的電源狀態(tài)需求值。
5.一種可動(dòng)態(tài)重設(shè)定的多內(nèi)核微處理器,包含多個(gè)處理內(nèi)核,這些處理內(nèi)核中,至少有一處理內(nèi)核被指定為一主要內(nèi)核;至少一邊帶通信線,被設(shè)置于一系統(tǒng)總線的外部并且電性連接于一芯片組,藉以促進(jìn)這些處理內(nèi)核間的通信;其中,這些處理內(nèi)核中,至少有兩處理內(nèi)核電性連接于該邊帶通信線;其中,該兩處理內(nèi)核被設(shè)定為有條件地驅(qū)動(dòng)一輸出至該邊帶通信線的一連接端,該連接端根據(jù)該兩處理內(nèi)核的指定,如果其中之一處理內(nèi)核缺乏前述設(shè)定,則該處理內(nèi)核作為主要內(nèi)核;以及其中,該兩處理內(nèi)核若有任何一個(gè)是被指定為主要內(nèi)核,在運(yùn)作時(shí)可重新設(shè)定該主要內(nèi)核或移除原有的指定。
6.如權(quán)利要求5所述的可動(dòng)態(tài)重設(shè)定的多內(nèi)核微處理器,其中,每一內(nèi)核包含一預(yù)設(shè)設(shè)定,該預(yù)設(shè)設(shè)定被存儲于該內(nèi)核內(nèi)部邏輯中,藉以判斷該內(nèi)核是否被指定為主要內(nèi)核。
7.如權(quán)利要求5所述的可動(dòng)態(tài)重設(shè)定的多內(nèi)核微處理器,其中,每一內(nèi)核包含一存儲器,該存儲器用以存儲對該內(nèi)核的一修正指定。
8.如權(quán)利要求7所述的可動(dòng)態(tài)重設(shè)定的多內(nèi)核微處理器,其中,該存儲器用以存儲對該整個(gè)多內(nèi)核微處理器所作的一修正設(shè)定,如果有修正設(shè)定的話,該修正設(shè)定用以辨識其他該多內(nèi)核微處理器的已啟用內(nèi)核和這些啟用內(nèi)核的主要設(shè)定。
9.如權(quán)利要求7所述的可動(dòng)態(tài)重設(shè)定的多內(nèi)核微處理器,其中,每一內(nèi)核設(shè)有內(nèi)部電源狀態(tài)的一管理微碼,并依據(jù)該修正設(shè)定所存儲的內(nèi)容調(diào)整其電源狀態(tài)管理。
10.一種中止包含多個(gè)內(nèi)核的多內(nèi)核微處理器內(nèi)的一或多個(gè)內(nèi)核的方法,包含通過上述一或多個(gè)內(nèi)核的每一個(gè)內(nèi)核執(zhí)行一第一指令指示該內(nèi)核自行中止,其中該第一指令包含在一系統(tǒng)軟件程序;對于未執(zhí)行第一指令的其余內(nèi)核,則執(zhí)行一第二指令,該第二指令是指定該多內(nèi)核微處理器內(nèi)的一內(nèi)核設(shè)定,該指定反映執(zhí)行該第一指令后已被中止的一或多個(gè)內(nèi)核,其中該第二指令包含在一系統(tǒng)軟件程序內(nèi)。
11.如權(quán)利要求10所述的中止包含多個(gè)內(nèi)核的多內(nèi)核微處理器內(nèi)的一或多個(gè)內(nèi)核的方法,其中該第一指令執(zhí)行的一部分中,還包含使該內(nèi)核停止響應(yīng)于一總線上的異動(dòng),且該總線耦合于該多內(nèi)核微處理器的外部。
12.如權(quán)利要求11所述的中止包含多個(gè)內(nèi)核的多內(nèi)核微處理器內(nèi)的一或多個(gè)內(nèi)核的方法,其中該第一指令執(zhí)行的一部分中,還包含保有該內(nèi)核響應(yīng)于在外部重置多內(nèi)核微處理器的重置引腳的功能,但除了中止內(nèi)核響應(yīng)于重置訊息指令之外。
13.如權(quán)利要求10所述的中止包含多個(gè)內(nèi)核的多內(nèi)核微處理器內(nèi)的一或多個(gè)內(nèi)核的方法,其中該第一指令執(zhí)行的一部分中,還包含轉(zhuǎn)變該內(nèi)核至最小的功率消耗狀態(tài)。
14.如權(quán)利要求10所述的中止包含多個(gè)內(nèi)核的多內(nèi)核微處理器內(nèi)的一或多個(gè)內(nèi)核的方法,其中該第二指令執(zhí)行的一部分中,還包含將該內(nèi)核設(shè)定存儲于該內(nèi)核內(nèi)。
15.如權(quán)利要求14所述的中止包含多個(gè)內(nèi)核的多內(nèi)核微處理器內(nèi)的一或多個(gè)內(nèi)核的方法,其中該內(nèi)核設(shè)定由使用者所指定。
16.如權(quán)利要求15所述的中止包含多個(gè)內(nèi)核的多內(nèi)核微處理器內(nèi)的一或多個(gè)內(nèi)核的方法,其中還包含通過上述多個(gè)內(nèi)核的每一個(gè)內(nèi)核確定該多內(nèi)核微處理器的一初始內(nèi)核設(shè)定,用以響應(yīng)于該多內(nèi)核微處理器的重置并優(yōu)先于前述所提到的該第一指令及該第二指令;對于未執(zhí)行該第一指令的其余內(nèi)核則根據(jù)所存儲的內(nèi)核設(shè)定操作而不是依據(jù)初始設(shè)定。
17.如權(quán)利要求10所述的中止包含多個(gè)內(nèi)核的多內(nèi)核微處理器內(nèi)的一或多個(gè)內(nèi)核的方法中,還包含通過其余未執(zhí)行該第一指令的多個(gè)內(nèi)核執(zhí)行在執(zhí)行前述提到的該第二指令之后,執(zhí)行一第三指令是指示該內(nèi)核停止執(zhí)行,其中該第三指令包含在該系統(tǒng)軟件程序內(nèi)。
18.如權(quán)利要求17所述的中止包含多個(gè)內(nèi)核的多內(nèi)核微處理器內(nèi)的一或多個(gè)內(nèi)核的方法中,還包含傳送一重置訊息至這些內(nèi)核以指示這些內(nèi)核自行重置,其中該重置訊息由一多處理器操作系統(tǒng)所發(fā)出。
19.如權(quán)利要求18所述的中止包含多個(gè)內(nèi)核的多內(nèi)核微處理器內(nèi)的一或多個(gè)內(nèi)核的方法中,還包含命令每一執(zhí)行過該第一指令一或多個(gè)內(nèi)核停止對該重置訊息響應(yīng);以及響應(yīng)于該重置訊息,命令其余沒執(zhí)行該第一指令的多個(gè)內(nèi)核對該重置訊息響應(yīng)。
20.一種動(dòng)態(tài)重置多內(nèi)核微處理器的一或多個(gè)內(nèi)核的方法,該多內(nèi)核微處理器具包含多個(gè)內(nèi)核以及多個(gè)邊帶通信線,該邊帶通信線被設(shè)置于一系統(tǒng)總線外部并電性連接于一芯片組,藉以增進(jìn)無系統(tǒng)總線這些內(nèi)核間的通信,其中至少有一些內(nèi)核可操作而被重新設(shè)定為具有或并無主要憑證,藉以架構(gòu)基底邊帶內(nèi)核間的通信,該方法包含確定該處理器內(nèi)的內(nèi)核的該初始設(shè)定,該初始設(shè)定是指定至少一內(nèi)核而不是全部的內(nèi)核作為主要內(nèi)核;以及根據(jù)該修正設(shè)定來重設(shè)這些內(nèi)核,該修正設(shè)定從如此初始設(shè)定的一個(gè)內(nèi)核中移除一個(gè)主要指定,并且指派一主要指定至一個(gè)未如此初始設(shè)定的內(nèi)核;其中,每一內(nèi)核被設(shè)定為有條件地驅(qū)動(dòng)一邊帶通信線至一連接端,該連接端根據(jù)該內(nèi)核的指定,如果缺乏前述設(shè)定,則該內(nèi)核作為主要內(nèi)核。
21.如權(quán)利要求20所述的動(dòng)態(tài)重置多內(nèi)核微處理器內(nèi)的一或多個(gè)內(nèi)核的方法,其中還包含通過在這些內(nèi)核內(nèi),選擇性燒斷適用的熔絲(fuse)而產(chǎn)生該初始設(shè)定,其中該適用的熔絲(fuse)系定義為該內(nèi)核是否在預(yù)設(shè)情況下具有一或多個(gè)主要身分碼。
22.如權(quán)利要求21所述的動(dòng)態(tài)重置多內(nèi)核微處理器內(nèi)的一或多個(gè)內(nèi)核的方法,其中還包含通過設(shè)定發(fā)現(xiàn)(configuration discovery)微碼在該每一內(nèi)核上運(yùn)行,確認(rèn)該初始設(shè)定。
23.如權(quán)利要求20所述的動(dòng)態(tài)重置多內(nèi)核微處理器內(nèi)的一或多個(gè)內(nèi)核的方法,其中該修正設(shè)定由一系統(tǒng)軟件程序所提供。
24.如權(quán)利要求23所述的動(dòng)態(tài)重置多內(nèi)核微處理器內(nèi)的一或多個(gè)內(nèi)核的方法中,還包含一使用者通過一使用者接口指定該修正設(shè)定。
25.如權(quán)利要求20所述的動(dòng)態(tài)重置多內(nèi)核微處理器內(nèi)的一或多個(gè)內(nèi)核的方法中,還包含在該內(nèi)核內(nèi)存儲該修正設(shè)定。
26.如權(quán)利要求25所述的動(dòng)態(tài)重置多內(nèi)核微處理器內(nèi)的一或多個(gè)內(nèi)核的方法中,還包含根據(jù)該修正設(shè)定而調(diào)整這些內(nèi)核間的電源狀態(tài)管理。
27.如權(quán)利要求20所述的動(dòng)態(tài)重置多內(nèi)核微處理器內(nèi)的一或多個(gè)內(nèi)核的方法,其中 該多內(nèi)核微處理器包含多個(gè)多核芯片;該每一多核芯片具有一已指定的主要內(nèi)核; 在多內(nèi)核微處理器內(nèi)的芯片間,設(shè)有一組內(nèi)核間的邊帶通信線。 每一芯片的每一內(nèi)核電性連接于該芯片間的邊帶通信線,且該內(nèi)核被設(shè)定為有條件地驅(qū)動(dòng)一輸出至該邊帶通信線,其根據(jù)該兩處理內(nèi)核的指定,如果其中該芯片的一內(nèi)核缺乏前述設(shè)定,則作為該芯片的主要內(nèi)核;并且若有任何芯片的內(nèi)核是被指定為主要內(nèi)核,在運(yùn)作時(shí)可重新設(shè)定為主要內(nèi)核或移除原有的指定。
28.如權(quán)利要求20所述的動(dòng)態(tài)重置多內(nèi)核微處理器內(nèi)的一或多個(gè)內(nèi)核的方法中,還包含根據(jù)一臨時(shí)設(shè)定重置該內(nèi)核,其中該臨時(shí)設(shè)定包括指定一非主要內(nèi)核作為臨時(shí)主要內(nèi)核;從驅(qū)動(dòng)一適合的邊帶通信線中止該已設(shè)定的主要內(nèi)核;以及啟動(dòng)該臨時(shí)主要內(nèi)核來驅(qū)動(dòng)該適合的邊帶通信線。
29.如權(quán)利要求觀所述的動(dòng)態(tài)重置多內(nèi)核微處理器內(nèi)的一或多個(gè)內(nèi)核的方法中,還包含一非主要內(nèi)核對偵測到與中止、不能執(zhí)行、一故障、或是已設(shè)定的主要內(nèi)核故障的情況而響應(yīng)時(shí),該非主要內(nèi)核執(zhí)行該臨時(shí)設(shè)定;該非主要內(nèi)核受該臨時(shí)設(shè)定來分配該臨時(shí)設(shè)定至其他內(nèi)核;以及該非主要內(nèi)核有條件地取消該臨時(shí)設(shè)定,如果該已指定(designated)的主要內(nèi)核通過一后續(xù)的異動(dòng)啟動(dòng)一控制權(quán)移轉(zhuǎn)回到其本身。
全文摘要
可動(dòng)態(tài)和選擇性停用內(nèi)核以及重新設(shè)定多內(nèi)核微處理器。該多內(nèi)核微處理器被用以支持系統(tǒng)軟件對所選內(nèi)核進(jìn)行停用或終止的功能,這樣的方式不會導(dǎo)致該處理器總線與其他內(nèi)核共享間的拖曳。另一多內(nèi)核微處理器用以支持重新設(shè)定微處理器內(nèi)內(nèi)核間的調(diào)整系統(tǒng),其中內(nèi)核會選擇性地被指定為主要內(nèi)核,藉以驅(qū)動(dòng)一信號至內(nèi)核間的通信線。
文檔編號G06F9/445GK102521002SQ20111043633
公開日2012年6月27日 申請日期2011年12月22日 優(yōu)先權(quán)日2010年12月22日
發(fā)明者G.葛蘭.亨利, 史蒂芬.嘉斯金斯 申請人:威盛電子股份有限公司