專利名稱:具有群集id和群集內(nèi)id的邏輯apic id的創(chuàng)建的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的實(shí)施例一般涉及處理器的中斷。
背景技術(shù):
高級(jí)可編程中斷控制器(APIC)是根據(jù)可編程過程或優(yōu)先級(jí)接收中斷請(qǐng)求并提供 中斷輸出的可編程中斷控制器(PIC)。本地APIC用在處理器(諸如微處理器)中。I/O APIC用在芯片組裝置(諸如輸入/輸出(I/O)控制集線器(ICH))和外圍裝置中。外圍裝 置的示例包括耦合到ICH的裝置,其與外圍部件互連(PCI)標(biāo)準(zhǔn)之一或PCI E鄧ress(PCIe) 標(biāo)準(zhǔn)之一、諸如由PCI-SIG 2006年12月20日提供的PCI Express戀基本規(guī)范版本2. 0 兼容。xAPIC是擴(kuò)展APIC,其類似于早期的APIC,但具有一些附加特征,并且在xAPIC架構(gòu) 中,本地和I/0 APIC通過系統(tǒng)總線而不是通過APIC總線通信。另外的擴(kuò)展xAPIC包含附 加擴(kuò)展和特征。 處理器封裝可包含多于1個(gè)核,每一個(gè)核可包含多于1個(gè)處理器。物理模式中斷 是中斷裝置通過物理標(biāo)識(shí)號(hào)指定處理器或者廣播到所有處理器的中斷。邏輯模式中斷是中 斷裝置通過邏輯標(biāo)識(shí)號(hào)指定處理器的中斷。APIC中斷傳遞包含定向中斷(單個(gè)處理器目 標(biāo))、多播(多個(gè)處理器目標(biāo))和廣播(所有處理器)。在最低優(yōu)先級(jí)中斷中,使用過程來 選擇處于最低處理器優(yōu)先級(jí)的處理器以響應(yīng)該中斷。最低優(yōu)先級(jí)可以在芯片組中判定—— 經(jīng)常以專門的方式,或使用處理器優(yōu)先級(jí)的過期數(shù)據(jù)。因?yàn)閮?yōu)先級(jí)信息經(jīng)常不可靠,所以一 些芯片組僅選擇特定處理器(諸如通過循環(huán)技術(shù)(round robin technique)),并以廣播方 式向該處理器提供中斷,其中其它處理器也接收中斷,但不響應(yīng)它們。 邏輯模式在定向中斷中提供了明顯更大的靈活性,并且是微軟Windows和一些 Li皿x壓縮包裝操作系統(tǒng)所用的模式。xAPIC架構(gòu)的邏輯模式給操作系統(tǒng)軟件提供了在初 始化邏輯APIC標(biāo)識(shí)號(hào)(ID)方面的靈活性,該ID是系統(tǒng)中每個(gè)處理器的獨(dú)特標(biāo)識(shí)符。(處 理器還具有物理APICID。)其它處理器以及裝置或IOxAPIC使用這個(gè)ID向這個(gè)處理器發(fā) 送中斷。給定在初始化邏輯xAPIC ID方面的靈活性,在平臺(tái)的實(shí)際物理拓?fù)渑c如何分配ID 之間沒有關(guān)系。雖然操作系統(tǒng)初始化允許操作系統(tǒng)在給處理器分組方面具有更大的靈活 性,但是在平臺(tái)級(jí),這使定向邏輯模式中斷路由變得復(fù)雜。通過廣播中斷并在中斷匹配本地 處理器邏輯的本地APIC ID時(shí)使本地處理器邏輯接受該中斷來進(jìn)行邏輯模式中斷的路由。
讓每個(gè)處理器檢查每個(gè)中斷導(dǎo)致了性能和功率低效。例如,在廣播方法下,每個(gè)處 理器盡管在該處理器處于低功率狀態(tài)時(shí)也檢查看看中斷是否被定向到該處理器。由于中斷 發(fā)生得相當(dāng)經(jīng)常,使得處理器難以停留在深低功率狀態(tài)。另外,性能降低了,原因在于,在向 中斷未定向的封裝發(fā)送中斷時(shí),在互連上存在業(yè)務(wù)量。在一種方法下,操作系統(tǒng)已經(jīng)試圖使 處理器的邏輯群集用于同一封裝中的處理器,其方式是通過按處理器啟動(dòng)的順序分配邏輯 ID。如果依賴這種方法,那么它僅提供了部分解決方案,并且仍使用廣播。從而,存在用于 創(chuàng)建可以有效的方式路由到處理器的邏輯APIC的需要。
根據(jù)下面給出的具體實(shí)施方式
和本發(fā)明實(shí)施例的附圖將更全面理解本發(fā)明,然
而,這不應(yīng)認(rèn)為是將本發(fā)明局限于所描述的具體實(shí)施例,而只是用于說明和理解。
圖1是根據(jù)本發(fā)明的一些實(shí)施例包含多核處理器封裝、輸入/輸出集線器和裝置
的系統(tǒng)的框圖表示。 圖2是根據(jù)本發(fā)明的一些實(shí)施例包含多核處理器封裝、輸入/輸出集線器和裝置 的系統(tǒng)的框圖表示。 圖3是供本發(fā)明一些實(shí)施例之用的電路板上插座(socket)的框圖表示。
圖4是供本發(fā)明一些實(shí)施例之用的物理APIC ID寄存器的框圖表示。
圖5是供本發(fā)明一些實(shí)施例之用的邏輯APIC ID寄存器的框圖表示。
圖6是邏輯APIC ID創(chuàng)建邏輯的框圖表示。 圖7例示了供本發(fā)明一些實(shí)施例之用的根據(jù)物理APIC ID生成邏輯APIC ID。
圖8例示了根據(jù)本發(fā)明一些實(shí)施例的每個(gè)封裝具有四個(gè)核且每個(gè)核具有兩個(gè)邏 輯處理器的兩插座系統(tǒng)的物理和邏輯APIC ID。 圖9是供本發(fā)明一些實(shí)施例之用的具有多個(gè)條目的APIC重定向表的框圖表示。
圖IO是供本發(fā)明一些實(shí)施例之用的APIC重定向表?xiàng)l目的框圖表示。
具體實(shí)施例方式
在一些實(shí)施例中,系統(tǒng)根據(jù)處理器物理ID創(chuàng)建每個(gè)處理器的邏輯APIC ID。邏輯 APIC ID包含處理器群集ID和群集內(nèi)的處理器號(hào)(群集內(nèi)ID)。邏輯APIC ID創(chuàng)建成使 得群集內(nèi)的所有處理器都包含在同一處理器封裝中。這幫助減少了互連上的業(yè)務(wù)量,原因 在于,中斷可只定向到一個(gè)處理器封裝,而不是廣播到所有處理器封裝。另外,這降低了功 耗,原因在于,其它處理器封裝中的處理器(或者在一些情況下同一處理器封裝內(nèi)的其它 群集)不接收中斷,并且因此不必確定中斷是否定向到它們。在一些情況下,這防止處理器 必須從休眠狀態(tài)出來。 在一些實(shí)施例中,邏輯目的標(biāo)識(shí)號(hào)可包含可用來響應(yīng)于中斷的處理器。處理器選 擇邏輯選擇其中 一個(gè)可用處理器接收中斷。 在以下論述中,物理APIC ID是物理處理器標(biāo)識(shí)號(hào)的示例,而邏輯APIC ID是邏輯 處理器標(biāo)識(shí)號(hào)的示例。邏輯APIC ID創(chuàng)建邏輯是邏輯標(biāo)識(shí)號(hào)創(chuàng)建邏輯的示例。
1.系統(tǒng)概述 圖1例示了可用在本發(fā)明一些實(shí)施例中的系統(tǒng),但是其它實(shí)施例可包含包括不同 細(xì)節(jié)的系統(tǒng)。參考圖1,系統(tǒng)包含多處理器封裝,該封裝至少包含耦合到輸入/輸出集線器 (I0H)12的處理器封裝O和處理器封裝1。 I0H 12包含I0H I/O APIC 14、重定向邏輯18 和處理器選擇邏輯20。包含PCIe I/O APIC 28的PCIe裝置26通過中斷接口電路30耦合 到I0H12。裝置36(諸如鍵盤和鼠標(biāo))通過IOH I/O APIC 14提供中斷。I OH I/OAPIC 14、 I/O PCIe APIC 28和本地APIC 72-1. . . 72-4和78-1. . . 78-4可以是各種類型的APIC,諸 如xAPIC或擴(kuò)展xAPIC。備選地,可以使用APIC之外的其它中斷控制器。
封裝0包含核0和1以及在本文稱為非核42的附加電路。核0包含處理器70-1 和70-2,這些處理器分別包含本地APIC 72-1和72-2,而核1包含處理器70_3和70-4,這些處理器分別包含本地APIC 72-3和72-4。封裝1包含核2和3以及稱為非核52的附加 電路。核1包含處理器76-1和76-2,這些處理器分別包含本地APIC 78-1和78-2,而核3 包含處理器76-3和76-4,這些處理器分別包含本地APIC 78-3和78-4。封裝0和1將包 含未具體例示的各種部件。存儲(chǔ)器64(諸如主存儲(chǔ)器DRAM)耦合到非核42,而存儲(chǔ)器66耦 合到非核52。存儲(chǔ)器60(包含保存操作系統(tǒng)(OS)的硬盤驅(qū)動(dòng)器)耦合到IOH 12。在存儲(chǔ) 器60與IOH 12之間可存在中間部件。BIOS存儲(chǔ)器62耦合到IOH 12。
處理器70-l、70-2、70-3和70-4分別具有物理APIC ID P0、P1、P2禾口 P3。處理器 70-1、70-2、70-3和70-4分別具有物理APIC ID P0、P1、P2和P3。邏輯APIC ID創(chuàng)建邏輯 (圖6中)分別基于物理ID PO、 Pl、 P2和P3以及P16、 P17、 P18和P19提供邏輯APIC ID L0、L1、L2和L3以及L16、L17、L18和L19。(當(dāng)然,PO. P4和P16. P19以及LO. L3和 L16. ..L19表示ID位,并不是字母"P"或"L"和數(shù)字。)在一些實(shí)施例中,封裝O和l包含 多于2個(gè)核(例如見圖8),并且一個(gè)核可包含多于2個(gè)處理器。在所例示的實(shí)施例中,在 P3與P16之間的物理ID中以及在L3與L16之間的對(duì)應(yīng)邏輯ID中存在間隙。這個(gè)的原因 是,在這些實(shí)施例中,群集包含16個(gè)處理器的ID,而無論是否存在16個(gè)實(shí)際處理器。處理 器封裝可包含l個(gè)芯片(管芯)或多于l個(gè)芯片。處理器封裝可包含0個(gè)、1個(gè)或多于1個(gè) 存儲(chǔ)器芯片。 重定向邏輯18從裝置26接收值(例如16位值),并向封裝0或封裝1提供中斷。 可以在各種地方判定哪個(gè)處理器用于響應(yīng)于中斷。例如,根據(jù)該實(shí)施例,可以在IOH 12中 的處理器選擇邏輯20中,和/或在非核中的處理器選擇子邏輯(諸如非核42中的處理器 選擇子邏輯46或非核52中的處理器選擇子邏輯56)中進(jìn)行判定。子邏輯48中的過濾器 48和子邏輯56中的過濾器58可用于例如基于功率狀態(tài)(c狀態(tài))和/或處理器優(yōu)先級(jí)從 考慮處理器中濾出。在處理器選擇邏輯20中可使用類似過濾器。在一些實(shí)施例中,沒有處 理器選擇邏輯20,而是只有處理器選擇子邏輯。 圖2類似于圖1,并且例示了具有I0H APIC 114、重定向邏輯118、處理器選擇邏輯 120和中斷接口電路130的I0H 112,它們可類似于或等同于圖1中的IOH APIC 14、重定向 邏輯18、處理器選擇邏輯20和中斷接口電路30。圖2還例示了包含處理器群集0和處理 器群集1的處理器封裝0、包含處理器群集2和處理器群集3的處理器封裝1、包含處理器 群集2(N-l)和處理器群集2(N-l)+l的處理器封裝N-1。處理器封裝0、1. . . N-l通過互連 142-0、142-l. . . 142-N-1耦合到IOH 112。在一些實(shí)施例中,存在分開的互連以將處理器分 開,而在其它實(shí)施例中,只有一組互連用于每個(gè)處理器封裝,或一組中斷用于每個(gè)群集。中 斷的群集ID指示哪個(gè)群集要接收中斷。 例如,假設(shè)群集ID是0000000000000010b (其中b指示二進(jìn)制)。那將指示群集2 要接收中斷。相比中斷被廣播到所有處理器的方法,這涉及較少功率并涉及互連上的較少 業(yè)務(wù)量。不在互連142-0和142-N-1上發(fā)送中斷,因此在這些互連上有較少業(yè)務(wù)量,這有助 于帶寬和功率降低。再者,群集0、1、3、2(N-1)和2(N-1)+1中的處理器不必檢查中斷是否 定向到它們,這降低了功率(特別是在處理器必須從深低功率狀態(tài)出來以確定中斷是否定 向到它的情況下)。不同群集中的處理器之間因?yàn)榈攸c(diǎn)可能也存在較少的高速緩存線業(yè)務(wù) 量。其它實(shí)施例在處理器封裝中可包含甚至更多的處理器群集。其它部件(諸如非核,如 果包含的話)在圖2中未示出??纱嬖诟郊硬考?,諸如IOH與處理器封裝之間的橋。另外,系統(tǒng)中可存在多于1個(gè)IOH。 圖3例示了包含插座的電路板190(諸如印刷電路板),插座包含插座0以容納處 理器封裝O,插座N-l以容納處理器封裝N-l,以及插座194以容納IOH芯片。在一些實(shí)現(xiàn) 中,電路板190包含用于處理器封裝和用于各種其它芯片的附加插座,但是在其它實(shí)現(xiàn)中, 電路板190只包含2個(gè)插座。本文所用的術(shù)語"插座"涵蓋了用于將芯片耦合到電路板的 各種技術(shù)。 2. APIC ID初始化 在一些實(shí)施例中,物理APIC ID例如在從復(fù)位狀態(tài)出來時(shí)通過硬件和/或微代碼 靜態(tài)地初始化/鎖存,并保持到下一加電循環(huán)(power cycle)為止。圖4例示了保存32位 物理APIC ID的寄存器IIO,在一些實(shí)施例中APIC ID包含在對(duì)應(yīng)的本地APIC中。
在邏輯模式中所用的邏輯APIC ID在處理器群集內(nèi)被劃分成兩個(gè)字段——16位 寬群集ID和16位寬邏輯ID。邏輯ID的16個(gè)最高有效位含有目的群集的地址或標(biāo)識(shí)號(hào), 而較低16位標(biāo)識(shí)群集內(nèi)的各個(gè)本地APIC單元。邏輯ID部分可以是群集中每個(gè)處理器1 位的位屏蔽——例如,位0將設(shè)置用于處理器群集中的處理器O,位1用于處理器群集中的 處理器l,等等。圖5例示了保存32位邏輯APIC ID的寄存器112,其中位16到31保存群 集ID,而位0到15保存群集內(nèi)邏輯ID。作為實(shí)際問題,許多系統(tǒng)將具有少量的處理器群集, 使得例如只需要1位或2位來標(biāo)識(shí)群集ID。在不同的實(shí)施例中,其余位可以進(jìn)行不同地處 理。例如,其中一些位在一些系統(tǒng)中省略了 ,而在其它系統(tǒng)中使用了 。 通過初始化算法,可基于平臺(tái)拓?fù)湓谶壿婣PIC ID與物理APIC ID之間建立永久 關(guān)系。這給路由結(jié)構(gòu)提供了特定處理器封裝(插座)的知識(shí),以與進(jìn)行廣播相反的方式路 由中斷。 在處理器群集可裝有限制為16個(gè)處理器的情況下,如果在處理器封裝中存在多 于16個(gè)處理器,那么每個(gè)封裝將存在多個(gè)群集。如果在群集中存在少于16個(gè)處理器,那么 可使用APIC ID的填充。 邏輯APIC ID創(chuàng)建邏輯216根據(jù)物理APIC ID創(chuàng)建邏輯APIC ID。邏輯APIC ID 創(chuàng)建邏輯216可以用硬件、軟件或微代碼或者它們的組合來實(shí)現(xiàn)。硬件可以在非核或本地 APIC中,或者其它地方。在一些實(shí)施例中,得出邏輯APIC ID,使得對(duì)物理APIC ID的較低 4位(S卩1 <<物理APIC ID[3:0])"解碼",以在群集內(nèi)提供16位邏輯ID。物理APIC ID 的其余16位然后形成邏輯xAPIC ID的群集ID部分。由此使用如下公式,根據(jù)本地xAPIC ID導(dǎo)出邏輯xAPIC ID :邏輯APIC ID =[(物理APIC ID [19:4] << 16) || (1 <<物理八?10 ID [3:0])] 在該公式中,符號(hào)II意思是"或",但可以用加代替,并且將獲得相同的結(jié)果。 這個(gè)公式可以類似如下的方式重新闡述 邏輯ID = (1 <<本地又八?1<: ID[3:0]) 〃群集內(nèi)邏輯ID II (本地xAPIC ID [19:4] << 16)〃群集ID 圖7例示了在得出邏輯APIC的過程示例中將寄存器210中的物理APIC ID轉(zhuǎn)換 成寄存器212中的邏輯APIC ID。位20-31可以省略,或者用于各種目的。
圖8示出了通過處理器封裝0和1中的物理APIC ID獲得邏輯APICID的示例,每 個(gè)處理器封裝包含各有2個(gè)處理器的4個(gè)核。由于每個(gè)封裝存在少于16個(gè)處理器,因此每個(gè)封裝只有l(wèi)個(gè)群集。參考封裝0,處理器P0的物理APIC ID顯示為00000b。 "b"用于二 進(jìn)制。第一個(gè)O來自群集ID,并指示該群集是封裝O中的群集。為了在圖中節(jié)省空間,在 圖8中未例示來自群集ID的其它位。四個(gè)加下劃線的0在群集內(nèi)ID中,并指示物理APIC ID是0 (沒有列出所有0)。在以上論述的過程之后,通過在群集內(nèi)邏輯ID中的最低有效位 (LSB)中以"1"開始,其它的包含0,然后將"1"移位物理ID的前4位中發(fā)現(xiàn)的量,來創(chuàng)建 邏輯APIC ID。由于處理器P0的物理ID的前4位是0000,所以"1"不移位,并且因此邏輯 ID是0001h(其中"h"是指十六進(jìn)制)。十六進(jìn)制用于允許在圖8中例示大數(shù)。群集ID(O) 保持與物理ID的位4-19中的相同。在處理器PI的情況下,物理ID的4個(gè)LSB是0001,因 此"1"被移位1位,使得群集ID對(duì)于群集0是0,而邏輯ID是0002h,這是通過將1移位1 位引起的。例如,在處理器P5的情況下,將"1"向左移位5位,這用十進(jìn)制表示是32,或者 用十六進(jìn)制表示是20。對(duì)封裝1遵循相同原則,只是群集ID在物理和邏輯APIC ID中都是 1。 例如根據(jù)實(shí)現(xiàn)的方便,初始化可發(fā)生在多個(gè)時(shí)間點(diǎn)。什么時(shí)候可發(fā)生初始化的示 例包括當(dāng)從復(fù)位狀態(tài)出來時(shí),當(dāng)初始化物理APIC ID時(shí),或者在操作系統(tǒng)第一次讀取邏輯 APIC ID的時(shí)候。填充APIC ID的以上算法如果需要的話可以確保每個(gè)APIC群集都限制于 單個(gè)處理器封裝。 3.處理器選擇邏輯和重定向 處理器選擇邏輯從可用的選項(xiàng)中選擇處理器接收中斷。讓本地APIC接收中斷是 處理器接收中斷的一個(gè)示例。在現(xiàn)有技術(shù)中,已經(jīng)通過最低優(yōu)先級(jí)方案為中斷選擇了處理 器。然而,如下面所說明的,在判定哪個(gè)處理器要接收中斷時(shí),可以考慮不同于或者除了處 理器優(yōu)先級(jí)之外還有的因素。 操作系統(tǒng)可選擇群集和群集內(nèi)可用于中斷的至少一個(gè)處理器。這個(gè)信息可直接或 間接包含在由諸如圖1中裝置26的裝置所提供的中斷中。例如,在直接實(shí)現(xiàn)中,中斷可包含 16位字段,以位映像方式一位用于群集中的每個(gè)處理器(但是在可能不使用某些位的情況 下,可能存在少于16個(gè)處理器)。當(dāng)"l"在與處理器相關(guān)聯(lián)的位置時(shí),該處理器是可用的, 這種位置在以上論述的公式中和圖8中用于根據(jù)物理APIC ID提供邏輯APIC ID。這可稱 為邏輯目的ID。作為一個(gè)示例,邏輯目的ID位屏蔽可以是00101101,其指示處理器P0、P2、 P3和P5可用于中斷。這假定在群集中存在8個(gè)處理器,因此未示出左邊的最高8位。當(dāng) 然,可以顛倒"0"和"1"的角色,因此0表示可用的處理器,而1表示不可用的處理器。上 面論述的處理器選擇邏輯可以選擇哪個(gè)可用處理器要接收中斷。注意,雖然通常只有一個(gè) 處理器接收中斷,但在某些情況下,中斷可定向到多于1個(gè)處理器。 作為備選,來自裝置36的中斷可以包含索引(諸如16位索引),其提供到重定向 表中的索引,這可包含在圖1的重定向邏輯19中。參考圖9,重定向表230例如包含用于 不同索引值的64位條目。條目234是一個(gè)示例。圖10示出了根據(jù)一些實(shí)施例的示例條目 234的細(xì)節(jié),但是在其它實(shí)施例中,它可以不同。參考圖10,位48-63指示群集ID,其在圖 10的示例中指示群集2要接收中斷。結(jié)合圖2看示例。仍參考圖IO,邏輯目的ID列出了 可用處理器供處理器選擇邏輯(或子邏輯)考慮。目的ID位屏蔽Ollb指示處理器PO和 Pl可用,而其它處理器不可用。為了便于例示,在圖10中只示出了16位中的3位。作為另 一個(gè)示例,目的位屏蔽可以是00101101b,其指示處理器P0、P2、P3和P5可用,而P1、P4、P6和P7不可用。在這個(gè)示例中沒有處理器P8-P15。可能只有一個(gè)處理器可用。位0-31可 以給出各種類型的路由信息,諸如是否涉及定向中斷(direct interrupts)。圖10中示出 了"最低優(yōu)先級(jí)",但是可以考慮所提到的其它因素,諸如功率狀態(tài),使得嚴(yán)格來說,它可能 不被認(rèn)為是最低優(yōu)先級(jí)選擇。 存在可用于基于處理器功率狀態(tài)和優(yōu)先級(jí)的知識(shí)在群集內(nèi)路由中斷的幾種可能 實(shí)現(xiàn)。"非核"中的一個(gè)可能實(shí)現(xiàn)將使用處理器功率狀態(tài)知識(shí)和優(yōu)先級(jí)來提供中斷路由,以 實(shí)現(xiàn)將性能結(jié)論(performance implication)考慮進(jìn)去的兩種功率已知中斷路由(power aware interrupt routing)。非核將具有處理器C狀態(tài)(功率節(jié)省狀態(tài))的知識(shí)——這些 例如稱為C0、 Cl、 C2. . . C6——其中CO是處理器(或核)正在運(yùn)行代碼的狀態(tài),而CI. . . C6 是處理器停止的空閑狀態(tài)C1是最低功率節(jié)省狀態(tài),而C6是較高功率節(jié)省狀態(tài)。再者,進(jìn) 入C1的等待時(shí)間(以及微架構(gòu)邊界效應(yīng))可以是最低的,而對(duì)于C6,那些是最高的。為了 從較深C狀態(tài)(諸如C6)提供最高值,可以期望考慮已經(jīng)進(jìn)入C6狀態(tài)的處理器停留在那個(gè) 狀態(tài)的時(shí)間為最長(zhǎng)可能的間隔。在這個(gè)可能實(shí)現(xiàn)中,非核將通過(1)標(biāo)識(shí)最低標(biāo)號(hào)的C狀 態(tài)的處理器,并(2)在這些處理器當(dāng)中找到具有最低優(yōu)先級(jí)的處理器作為中斷的目標(biāo),來 標(biāo)識(shí)目標(biāo)。有多種可實(shí)現(xiàn)這些方法的方式。 一種實(shí)現(xiàn)可保持封裝中處理器在各種C狀態(tài)的 位映射(bitmap),將這些對(duì)照進(jìn)來的目標(biāo)位映射進(jìn)行"與"操作,并拾取該位映射中最高或 最低APIC ID作為目標(biāo)(An implementation can retain a bitmap of the processors in a package invarious C—states, AND these against the incoming target bit map and pick thehighest or lowest APIC ID in that bitmap as the target)。可以使用 其它實(shí)現(xiàn)細(xì)節(jié)。
附加信息和實(shí)施例 本文提到的"邏輯"可以用電路、軟件或微代碼或者它們的組合實(shí)現(xiàn)。 實(shí)施例是本發(fā)明的實(shí)現(xiàn)或示例。說明書中提到"實(shí)施例"、"一個(gè)實(shí)施例"、"一些實(shí)
施例"或"其它實(shí)施例"是指結(jié)合這些實(shí)施例所描述的特定特征、結(jié)構(gòu)或特性包含在至少一
些實(shí)施例中,但不一定包含在所有實(shí)施例中。"實(shí)施例"、"一個(gè)實(shí)施例"或"一些實(shí)施例"的
各種出現(xiàn)不一定都指相同實(shí)施例。 當(dāng)說元件"A"耦合到元件"B"時(shí),元件A可以直接耦合到元件B,或者例如通過元 件C間接耦合。 當(dāng)說明書或權(quán)利要求書提到部件、特征、結(jié)構(gòu)、過程或特性A "引起"部件、特征、結(jié)
構(gòu)、過程或特性B,是指"A"是"B"的至少部分原因,但是可能還有至少一個(gè)其它部件、特征、
結(jié)構(gòu)、過程或特性幫助引起"B"。同樣,A響應(yīng)B,不是指它就不響應(yīng)C。 如果說明書提到"可以"、"可能"或者"能夠"包含部件、特征、結(jié)構(gòu)、過程或特性,
則該特定部件、特征、結(jié)構(gòu)、過程或特性不是必須被包含。如果說明書或權(quán)利要求書提到"一
個(gè)"元件,則并不意味著只有一個(gè)元件。 本發(fā)明不限于本文描述的具體細(xì)節(jié)。實(shí)際上,在本發(fā)明的范圍內(nèi)可以進(jìn)行以上說 明書和附圖的許多其它改變。由此,是包含對(duì)其任何修改的如下權(quán)利要求書來限定本發(fā)明 的范圍。
權(quán)利要求
一種設(shè)備,包括邏輯中斷標(biāo)識(shí)號(hào)創(chuàng)建邏輯,用以接收物理處理器標(biāo)識(shí)號(hào);以及通過使用所述物理處理器標(biāo)識(shí)號(hào)創(chuàng)建邏輯處理器標(biāo)識(shí)號(hào),其中每一個(gè)所述邏輯處理器標(biāo)識(shí)號(hào)對(duì)應(yīng)于其中一個(gè)所述物理處理器標(biāo)識(shí)號(hào),并且其中所述邏輯處理器標(biāo)識(shí)號(hào)各包含處理器群集標(biāo)識(shí)號(hào)和群集內(nèi)標(biāo)識(shí)號(hào),并且其中所述處理器群集標(biāo)識(shí)號(hào)各形成為包含來自在適當(dāng)位置移位的對(duì)應(yīng)物理處理器標(biāo)識(shí)號(hào)的一組位,并且所述群集內(nèi)標(biāo)識(shí)號(hào)各響應(yīng)于所述對(duì)應(yīng)物理處理器標(biāo)識(shí)號(hào)的位中其它位的值形成。
2. 如權(quán)利要求1所述的設(shè)備,其中所述群集內(nèi)標(biāo)識(shí)號(hào)各自通過將值移位包含在所述對(duì) 應(yīng)物理處理器標(biāo)識(shí)號(hào)某些位中的量來形成。
3. 如權(quán)利要求l所述的設(shè)備,其中根據(jù)包含所述對(duì)應(yīng)物理處理器標(biāo)識(shí)號(hào)(物理ID)的 如下公式形成每一個(gè)所述邏輯處理器標(biāo)識(shí)號(hào)(邏輯ID):<formula>formula see original document page 2</formula>
4. 如權(quán)利要求1所述的設(shè)備,還包括所述邏輯處理器標(biāo)識(shí)號(hào)和所述物理處理器標(biāo)識(shí)號(hào) 中相應(yīng)標(biāo)識(shí)號(hào)所定向到的處理器封裝中的處理器。
5. 如權(quán)利要求4所述的設(shè)備,其中所述處理器各包含本地高級(jí)可編程中斷控制器 (APIC),并且其中所述邏輯中斷標(biāo)識(shí)號(hào)創(chuàng)建邏輯包含在所述本地APIC中。
6. 如權(quán)利要求l所述的設(shè)備,還包括本地高級(jí)可編程中斷控制器(APIC),并且其中所 述邏輯中斷標(biāo)識(shí)號(hào)創(chuàng)建邏輯包含在所述本地APIC中。
7. 如權(quán)利要求1所述的設(shè)備,其中所述邏輯處理器標(biāo)識(shí)號(hào)是邏輯高級(jí)可編程中斷控制 器(APIC)標(biāo)識(shí)號(hào)(ID),并且所述物理處理器標(biāo)識(shí)號(hào)是物理APIC ID。
8. 如權(quán)利要求7所述的設(shè)備,其中所述APIC ID是xAPIC ID。
9. 如權(quán)利要求7所述的設(shè)備,其中所述APIC ID是擴(kuò)展xAPIC ID。
10. —種方法,包括 為處理器分配物理中斷標(biāo)識(shí)號(hào);以及通過使用所述物理處理器標(biāo)識(shí)號(hào)創(chuàng)建邏輯中斷標(biāo)識(shí)號(hào),其中每一個(gè)所述邏輯處理器標(biāo) 識(shí)號(hào)對(duì)應(yīng)于其中一個(gè)所述物理處理器標(biāo)識(shí)號(hào),并且其中所述邏輯處理器標(biāo)識(shí)號(hào)各包含處理 器群集標(biāo)識(shí)號(hào)和群集內(nèi)標(biāo)識(shí)號(hào),并且其中所述處理器群集標(biāo)識(shí)號(hào)各形成為包含來自在適當(dāng) 位置移位的對(duì)應(yīng)物理處理器標(biāo)識(shí)號(hào)的一組位,并且所述群集內(nèi)標(biāo)識(shí)號(hào)各響應(yīng)于所述對(duì)應(yīng)物 理處理器標(biāo)識(shí)號(hào)的位中其它位的值形成。
11. 如權(quán)利要求io所述的方法,其中所述群集內(nèi)標(biāo)識(shí)號(hào)各通過將值移位包含在所述對(duì)應(yīng)物理處理器標(biāo)識(shí)號(hào)某些位中的量來形成。
12. 如權(quán)利要求10所述的方法,其中根據(jù)包含所述對(duì)應(yīng)物理處理器標(biāo)識(shí)號(hào)(物理ID) 的如下公式形成每一個(gè)所述邏輯處理器標(biāo)識(shí)號(hào)(邏輯ID):<formula>formula see original document page 2</formula>
13. 如權(quán)利要求IO所述的方法,其中在高級(jí)可編程中斷控制器中創(chuàng)建所述邏輯處理器 標(biāo)識(shí)號(hào)。
14. 一種系統(tǒng),包括第一處理器封裝,包含處理器的第一群集和第一邏輯中斷標(biāo)識(shí)號(hào)創(chuàng)建邏輯,用以接收各定向到所述第一群集其中一個(gè)所述處理器的第一組物理處理器標(biāo)識(shí)號(hào);以及 創(chuàng)建各定向到所述第一群集其中一個(gè)所述處理器的第一組邏輯處理器標(biāo)識(shí)號(hào);并且其 中所述邏輯處理器標(biāo)識(shí)號(hào)各包含處理器群集標(biāo)識(shí)號(hào),所述處理器群集標(biāo)識(shí)號(hào)形成為包含來 自在適當(dāng)位置移位的所述第一組物理處理器標(biāo)識(shí)號(hào)的對(duì)應(yīng)標(biāo)識(shí)號(hào)的一組位,并且群集內(nèi)標(biāo) 識(shí)號(hào)各響應(yīng)于所述第一組物理處理器標(biāo)識(shí)號(hào)的對(duì)應(yīng)標(biāo)識(shí)號(hào)的位中其它位的值形成;以及 第二處理器封裝,包含處理器的第二群集和第二邏輯中斷標(biāo)識(shí)號(hào)創(chuàng)建邏輯,用以 接收各定向到所述第二群集其中一個(gè)所述處理器的第二組物理處理器標(biāo)識(shí)號(hào);以及 創(chuàng)建各定向到所述第二群集其中一個(gè)所述處理器的第二組邏輯處理器標(biāo)識(shí)號(hào),并且其 中所述邏輯處理器標(biāo)識(shí)號(hào)各包含處理器群集標(biāo)識(shí)號(hào),所述處理器群集標(biāo)識(shí)號(hào)形成為包含來 自在適當(dāng)位置移位的所述第二組物理處理器標(biāo)識(shí)號(hào)的對(duì)應(yīng)標(biāo)識(shí)號(hào)的一組位,并且群集內(nèi)標(biāo) 識(shí)號(hào)各響應(yīng)于所述第二組物理處理器標(biāo)識(shí)號(hào)的對(duì)應(yīng)標(biāo)識(shí)號(hào)的位中其它位的值形成。
15. 如權(quán)利要求14所述的系統(tǒng),其中所述第一組邏輯處理器標(biāo)識(shí)號(hào)的所述群集內(nèi)標(biāo)識(shí) 號(hào)各自通過將值移位包含在所述第一組物理處理器標(biāo)識(shí)號(hào)的對(duì)應(yīng)標(biāo)識(shí)號(hào)的某些位中的量 來形成,并且所述第二組邏輯處理器標(biāo)識(shí)號(hào)的所述群集內(nèi)標(biāo)識(shí)號(hào)各自通過將值移位包含在 所述第二組物理處理器標(biāo)識(shí)號(hào)的對(duì)應(yīng)標(biāo)識(shí)號(hào)的某些位中的量形成。
16. 如權(quán)利要求14所述的系統(tǒng),其中根據(jù)包含所述對(duì)應(yīng)物理處理器標(biāo)識(shí)號(hào)(物理ID) 的如下公式形成每一個(gè)所述邏輯處理器標(biāo)識(shí)號(hào)(邏輯ID):邏輯ID =[(物理ID[19:4] << 16) | | (1 <<物理ID[3:0])]。
17. 如權(quán)利要求14所述的系統(tǒng),其中所述第一群集的處理器中的所述處理器各包含本 地高級(jí)可編程中斷控制器(APIC),并且其中所述第一邏輯中斷標(biāo)識(shí)號(hào)創(chuàng)建邏輯包含在所述 第一群集的處理器的本地APIC中。
18. 如權(quán)利要求17所述的系統(tǒng),其中所述第一組物理處理器標(biāo)識(shí)號(hào)是本地APIC標(biāo)識(shí)號(hào)。
19. 如權(quán)利要求14所述的系統(tǒng),其中所述邏輯處理器標(biāo)識(shí)號(hào)是邏輯高級(jí)可編程中斷控 制器(APIC)標(biāo)識(shí)號(hào)(ID),并且所述物理處理器標(biāo)識(shí)號(hào)是物理APIC ID。
20. 如權(quán)利要求14所述的系統(tǒng),其中所述第一處理器封裝包含處理器的第三群集和第 三邏輯中斷標(biāo)識(shí)號(hào)創(chuàng)建邏輯,用以接收各定向到所述第三群集其中一個(gè)所述處理器的第三組物理處理器標(biāo)識(shí)號(hào);以及 創(chuàng)建各定向到所述第三群集其中一個(gè)所述處理器的第三組邏輯處理器標(biāo)識(shí)號(hào);并且其 中所述邏輯處理器標(biāo)識(shí)號(hào)各包含處理器群集標(biāo)識(shí)號(hào),所述處理器群集標(biāo)識(shí)號(hào)形成為包含來 自在適當(dāng)位置移位的所述第三組物理處理器標(biāo)識(shí)號(hào)的對(duì)應(yīng)標(biāo)識(shí)號(hào)的一組位,并且群集內(nèi)標(biāo) 識(shí)號(hào)各響應(yīng)于所述第三組物理處理器標(biāo)識(shí)號(hào)的對(duì)應(yīng)標(biāo)識(shí)號(hào)的位中其它位的值形成。
全文摘要
在一些實(shí)施例中,設(shè)備包含邏輯中斷標(biāo)識(shí)號(hào)創(chuàng)建邏輯以接收物理處理器標(biāo)識(shí)號(hào),并通過使用物理處理器標(biāo)識(shí)號(hào)創(chuàng)建邏輯處理器標(biāo)識(shí)號(hào)。每一個(gè)邏輯處理器標(biāo)識(shí)號(hào)對(duì)應(yīng)于其中一個(gè)物理處理器標(biāo)識(shí)號(hào),并且邏輯處理器標(biāo)識(shí)號(hào)各包含處理器群集標(biāo)識(shí)號(hào)和群集內(nèi)標(biāo)識(shí)號(hào)。處理器群集標(biāo)識(shí)號(hào)各形成為包含來自在適當(dāng)位置移位的對(duì)應(yīng)物理處理器標(biāo)識(shí)號(hào)的一組位,并且群集內(nèi)標(biāo)識(shí)號(hào)各響應(yīng)于對(duì)應(yīng)物理處理器標(biāo)識(shí)號(hào)位中其它位的值形成。描述了其它實(shí)施例。
文檔編號(hào)G06F13/24GK101796499SQ200880107214
公開日2010年8月4日 申請(qǐng)日期2008年8月28日 優(yōu)先權(quán)日2007年9月6日
發(fā)明者J·B·克羅斯蘭, K·K·蒂魯瓦盧爾, L·P·霍德, R·S·帕塔薩拉蒂, S·D·考什基, S·穆思拉薩納盧爾 申請(qǐng)人:英特爾公司