專利名稱:識別處理器集群的中斷的處理器選擇的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的實(shí)施例一般涉及多個處理器中斷。
背景技術(shù):
高級可編程中斷控制器(APIC)是一種根據(jù)可編程的過程或優(yōu)先級來接 收中斷請求并提供中斷輸出的可編程中斷控制器(PIC)。本地APIC在處理 器(比如微處理器)中使用。I/O APIC在芯片組設(shè)備(比如輸入/輸出(I/O)控制 中心(ICH))和外圍設(shè)備上使用。外圍設(shè)備的實(shí)例包括耦合到ICH的、與外 圍組件互連(PCI)標(biāo)準(zhǔn)之一或PCI Express (PCIe)標(biāo)準(zhǔn)(比如2006年12月20 日PCI-SIG⑧提供的PCIExpress⑧基本規(guī)范2.0版)之一兼容的設(shè)備。xAPIC 是擴(kuò)展的APIC,其類似于早期的APIC但是具有一些另外的特性,并且在 xAPIC體系結(jié)構(gòu)中,本地和I/0 APIC通過系統(tǒng)總線而并非通過APIC總線 來通信。進(jìn)一步擴(kuò)展的xAPIC包括另外的擴(kuò)展和特性。
處理器封裝可以包括多于一個的內(nèi)核,每個處理器封裝可以包括多于 一個的處理器。物理模式中斷是發(fā)出中斷的設(shè)備通過物理標(biāo)識號碼為其指 定處理器的中斷,或者是向所有處理器廣播的中斷。邏輯模式中斷是發(fā)出 中斷的設(shè)備通過一個或多個邏輯標(biāo)識號碼為其指定一個或多個處理器的中 斷。APIC中斷傳送包括被引導(dǎo)中斷(單個處理器目標(biāo))、多播(多個處理器目 標(biāo))以及廣播(所有處理器)。在最低優(yōu)先級中斷中,使用一過程來選擇處于 最低處理器優(yōu)先級中的處理器來響應(yīng)該中斷。最低優(yōu)先級可以在芯片組決 定——通常以特別的方式或以處理器優(yōu)先級的過期數(shù)據(jù)進(jìn)行。因為優(yōu)先級 信息常常是不可靠的, 一些芯片僅選擇特定的處理器(比如通過輪詢技術(shù)) 并以廣播方式向該處理器提供中斷,這種方式中其他的處理器也接收到中 斷但不對它們作響應(yīng)。
邏輯模式在被引導(dǎo)中斷方面提供顯著地更重大的靈活性,并且是微軟 視窗和一些Linux收縮包裝的操作系統(tǒng)使用的模式。xAPIC體系結(jié)構(gòu)的邏
輯模式向操作系統(tǒng)軟件提供在初始化邏輯APIC標(biāo)識號碼(ID)過程中的靈活 性,該邏輯APIC標(biāo)識號碼是系統(tǒng)中每個處理器的唯一標(biāo)識符。(處理器還 具有物理APIC ID)。其他的處理器以及設(shè)備或IOxAPIC使用該ID向該處 理器發(fā)送中斷。盡管在邏輯xAPICID初始化過程中具有靈活性,平臺的實(shí) 際物理拓?fù)渑c如何分配ID之間并沒有聯(lián)系。盡管操作系統(tǒng)初始化提供了操 作系統(tǒng)在對處理器進(jìn)行分組中的更多的靈活性,在平臺層,這使被引導(dǎo)的 邏輯模式中斷的路由過程變得復(fù)雜。通過廣播該中斷,以及假如該中斷匹 配處理器的本地APIC ID則使該本地處理器邏輯接收該中斷,邏輯模式中 斷的路由過程得以完成。
由每個處理器檢查每個中斷導(dǎo)致性能和功耗的低效。例如,在廣播方 法下,即使處理器處于低功耗狀態(tài),每個處理器都要檢查來了解中斷是否 被引導(dǎo)至該處理器。由于中斷出現(xiàn)相當(dāng)頻繁,這使得處理器難以持續(xù)處于 深度低功耗狀態(tài)。此外,由于將中斷發(fā)送至該中斷未被引導(dǎo)至的封裝的過 程中在互連結(jié)構(gòu)上具有的流量,性能被降低。在一種方法下,通過以處理 器啟動的順序分配邏輯ID,操作系統(tǒng)試圖讓同一封裝中的各個處理器構(gòu)成 一處理器的邏輯集群。如果依靠這種方法,它僅提供部分解決方案并且仍 然使用廣播。因此,依然存在創(chuàng)造能以有效的方式被路由至處理器的邏輯 APIC的需求。
本發(fā)明將通過以下給出的詳細(xì)說明和通過本發(fā)明實(shí)施例的附圖得到更 為充分的理解,然而,這些附圖不應(yīng)被用來將本發(fā)明限制于所述的特定的 實(shí)施例,而僅是出于說明和理解的目的。
圖1是根據(jù)本發(fā)明的一些實(shí)施例,表示包括多內(nèi)核處理器封裝、輸入/ 輸出中心以及設(shè)備的系統(tǒng)的框圖。
圖2是根據(jù)本發(fā)明的一些實(shí)施例,表示包括多內(nèi)核處理器封裝、輸入/ 輸出中心以及設(shè)備的系統(tǒng)的框圖。
圖3是表示在本發(fā)明的一些實(shí)施例中使用的電路板上的插槽的框圖。
圖4是表示在本發(fā)明的一些實(shí)施例中使用的物理APIC ID寄存器的框圖。
圖5是表示在本發(fā)明的一些實(shí)施例中使用的邏輯APIC ID寄存器的框圖。
圖6是表示邏輯APIC ID創(chuàng)建邏輯的框圖。
圖7說明在本發(fā)明的一些實(shí)施例中使用的從物理APIC ID生成邏輯 APIC ID的過程。
圖8根據(jù)本發(fā)明的一些實(shí)施例,說明具有每個封裝四個內(nèi)核和每個內(nèi) 核兩個邏輯處理器的兩插槽系統(tǒng)的物理和邏輯APIC ID。
圖9是表示在本發(fā)明的一些實(shí)施例中使用的具有多個表項的APIC重定 向表格的框圖。
圖10是表示在本發(fā)明的一些實(shí)施例中使用的APIC重定向表格的表項 的框圖。
具體實(shí)施例方式
在一些實(shí)施例中,系統(tǒng)為每個處理器從處理器的物理ID創(chuàng)建邏輯APIC ID。邏輯APIC ID包括處理器集群ID和該集群內(nèi)的處理器號碼(集群內(nèi)ID)。 邏輯APIC ID的創(chuàng)建使得集群內(nèi)的所有處理器被包含在同一處理器封裝內(nèi)。 這有助于減少互連結(jié)構(gòu)上的流量,因為中斷可以只被引導(dǎo)至一個處理器封 裝,而不是被廣播至所有的處理器封裝。此外,這減少了功耗,因為其他 處理器封裝中的處理器(或在一些情形下,同一處理器封裝內(nèi)的其他集群) 并不接收中斷,以及因此而不必去確定該中斷是否被引導(dǎo)至它們。在一些 情形下,這防止處理器不得不退出睡眠狀態(tài)。
在一些實(shí)施例中,邏輯目的地標(biāo)識號碼可以包括可用于響應(yīng)中斷的處 理器。處理器選擇邏輯選擇可用的處理器中的一個來接收中斷。
在下列敘述中,物理APIC ID是物理處理器標(biāo)識號碼的實(shí)例,以及邏 輯APIC ID是邏輯處理器標(biāo)識號碼的實(shí)例。邏輯APIC ID創(chuàng)建邏輯是邏輯 標(biāo)識號碼創(chuàng)建邏輯的實(shí)例。
1.系統(tǒng)概述
圖1說明了可以在本發(fā)明的一些實(shí)施例中使用的系統(tǒng),但是其他的實(shí) 施例可以包括包含不同細(xì)節(jié)的系統(tǒng)。參照圖l,系統(tǒng)包括多個處理器封裝,
所述多個處理器封裝至少包括耦合至輸入/輸出中心(IOH) 12的處理器封裝 0和處理器封裝1。 10H12包括IOHI/OAPIC 14、重定向邏輯18以及處理 器選擇邏輯20。 PCIe設(shè)備26包括通過中斷接口電路30耦合至IOH 12的 PCIe I/O APIC 28。設(shè)備36 (比如鍵盤和鼠標(biāo))通過IOH I/O APIC 14提供中 斷。IOH I/O APIC 14、 I/O PCIe APIC 28以及本地APIC 72-1 ... 72-4和 78-1 ... 78-4可以是各種類型的APIC,例如xAPIC或擴(kuò)展的xAPIC??商?換地,可以使用中斷控制器而非APIC。
封裝0包括內(nèi)核0和1以及本文所稱非內(nèi)核42的另外的電路。內(nèi)核0 包括處理器70-1和70-2,其分別包括本地APIC 72-1和72-2,以及內(nèi)核1 包括處理器70-3和70- 4,其分別包括本地APIC 72-3和72-4。封裝1包括 內(nèi)核2和3以及本文所稱非內(nèi)核52的另外的電路。內(nèi)核2包括處理器76-l 和76-2,其分別包括本地APIC 78-1和78-2,以及內(nèi)核3包括處理器76-3 和76-4,其分別包括本地APIC 78-3和78-4。封裝0和1還將包括各種未 明確說明的組件。存儲器64 (比如主存儲器DRAM)耦合至非內(nèi)核42,以 及存儲器66耦合至非內(nèi)核52。存儲器60 (包括保存操作系統(tǒng)的硬盤)耦合 至IOH 12。存儲器60和IOH 12之間可以存在中間組件。BIOS存儲器62 耦合至IOH12。
處理器70-l、 70-2、 70-3以及70-4分別具有物理APICIDP0、 Pl、 P2 以及P3。處理器70-1、 70-2、 70-3以及70- 4分別具有物理APIC ID P0、 Pl、 P2以及P3。邏輯APIC ID創(chuàng)建邏輯(在圖6中)基于物理ID P0、 Pl、 P2禾卩P3以及P16、 P17、 P18和P19分別提供邏輯APICIDLO、 Ll、 L2和 L3以及L16、 L17、 L18禾卩L19。(當(dāng)然,P0…P4禾口 P16 ... P19以及L0 ... L3和L16 ... L19表示ID位,而不是字母"P"或"L"和號碼。)在一些實(shí) 施例中,封裝0和1包括多于兩個的內(nèi)核(例如參加圖8),并且內(nèi)核可以包 括多于兩個的處理器。在所說明的實(shí)施例中,在物理ID P3和P16之間以 及相應(yīng)的邏輯IDL3和L16之間存在間隙。對此的理由是在這些實(shí)施例中, 集群包括16個處理器的ID,無論是否存在16個實(shí)際處理器。處理器封裝 可以包括一個芯片(管芯)或多于一個芯片。處理器封裝可以包括零個、 一個 或多于一個的存儲器芯片。
重定向邏輯18從設(shè)備26接收一個值(例如,16位的值)并且向封裝0
或封裝1提供中斷。使用哪個處理器來響應(yīng)中斷的決定可以在各種位置中
作出。例如,取決于實(shí)施例,該決定可以在IOH12中的處理器選擇邏輯20 中和/或在非內(nèi)核中的處理器選擇子邏輯中作出(比如非內(nèi)核42中的處理器 選擇子邏輯36或非內(nèi)核52中的處理器選擇子邏輯56)。子邏輯48中的過 濾器48和子邏輯56中的過濾器58可以被用來基于例如電源狀態(tài)(c-狀態(tài)) 和/或處理器優(yōu)先級將處理器過濾出來而不予考慮。類似的過濾器可以在處 理器選擇邏輯20中使用。在一些實(shí)施例中,不存在處理器選擇邏輯20,而 僅存在處理器選擇子邏輯。
圖2類似于圖1,并說明IOH112,其具有可能與圖1中的IOHAPIC 14、 重定向邏輯18、處理器選擇邏輯20以及中斷接口電路130類似或相同的 IOH APIC 114、重定向邏輯118、處理器選擇邏輯120以及中斷接口電路 130。圖2還說明包括處理器集群0和處理器集群1的處理器封裝0,包括 處理器集群2和處理器集群3的處理器封裝1,包括處理器集群2(N-l)和處 理器集群2(N-1)+1的處理器封裝N-1。處理器封裝0、 1 ...N-l通過互連結(jié) 構(gòu)142-0、 142-1 ... 142-N-1耦合到IOH 112。在一些實(shí)施例中,存在單獨(dú)的 將處理器分開的互連結(jié)構(gòu),而在其他的實(shí)施例中為每個處理器封裝使用一 組互連結(jié)構(gòu),或為每個集群使用一組中斷。中斷的集群ID表示集群中的哪 個將要接收該中斷。
例如,假設(shè)集群ID是0000000000000010b (此處b表示二進(jìn)制)。那將 表示集群2將要接收中斷。與將中斷廣播給所有的處理器的方法相比較, 這占用較少的功率且占用較少的互連結(jié)構(gòu)上的流量。中斷不在互連結(jié)構(gòu) 142-0和142-N-1上被發(fā)送,所以在這些互連結(jié)構(gòu)上存在較少的流量,其有 助于帶寬和降低功率。同樣,在集群0、 1、 3、 2(N-1)和2(N-1)+1中的處理 器不需要檢査中斷是否被引導(dǎo)至它們,其降低了功率(特別地,當(dāng)處理器必 須退出深度低功耗狀態(tài)來確定中斷是否被引導(dǎo)至它時)。由于局部性,在不 同集群中的處理器之間也可能存在較少的高速緩存行的流量。其他的實(shí)施 例可以在處理器封裝中包括甚至更多的處理器集群。其他的組件(比如非內(nèi) 核,如果包括的話)未在圖2中示出??赡艽嬖诹硗獾慕M件,比如IOH和處 理器封裝之間的橋接器。此外,在系統(tǒng)中也可能存在一個以上IOH。
圖3說明,電路板190(比如印刷電路板)包括多個插槽,所述多個插槽
包括用于接收處理器封裝O的插槽O、用于接收處理器封裝N-1的插槽N-1 以及用于接收IOH芯片的插槽194。在一些實(shí)施例中,電路板190包括用 于處理器封裝和各種其他的芯片的另外的插槽,但是在其他的實(shí)施例中, 電路板190僅包括兩個插槽。如本文所使用,術(shù)語"插槽"涵蓋各種用于 將一個芯片或多個芯片耦合至電路板的技術(shù)。
2. APIC ID初始化
在一些實(shí)施例中,物理APIC ID在例如重置后過程中被硬件和/或微代 碼靜態(tài)地初始化/鎖存,并一直保持到下一個電源周期為止。圖4說明保存 32位物理APIC ID的寄存器llO,其在一些實(shí)施例中被包括在相應(yīng)的本地 APIC內(nèi)。
使用在邏輯模式中的邏輯APIC ID被劃分成兩個域——在處理器集群 內(nèi)的16位寬集群ID和16位寬邏輯ID。邏輯ID的16個最高位包含目的 地集群的地址或標(biāo)識號碼,而較低的16位識別集群內(nèi)的單獨(dú)的本地APIC 單元。邏輯ID部分可以是集群中每處理器具有1位的位掩碼——例如,在 處理器集群中位0將為處理器0設(shè)置,位1為處理器1設(shè)置等等。圖5說 明保存32位邏輯APIC ID的寄存器112,其采用位16至31保存集群ID以 及位0至15保存集群內(nèi)邏輯ID。實(shí)際看來,許多系統(tǒng)將具有少量的處理器 集群,使得,例如只需要一位或兩位來識別集群ID。在不同的實(shí)施例中, 剩余的位可以作不同處理。例如,在一些系統(tǒng)中一些位被忽視而在其他的 系統(tǒng)中被使用。
通過初始化算法,基于平臺拓?fù)淇梢栽谶壿婣PIC ID和物理APIC ID 之間存在已建立的持久的聯(lián)系。這為路由結(jié)構(gòu)提供了所要將中斷路由到(而 不是進(jìn)行廣播)的特定處理器封裝(插槽)的情況。
在處理器集群可以容納限度為16個處理器的的情形下,如果在處理器 封裝中有多于16個處理器,那么每個封裝將具有多個集群。如果在集群中 的處理器少于16個,那么可以對APICID進(jìn)行填充。
邏輯APIC ID創(chuàng)建邏輯216從物理APIC ID創(chuàng)建邏輯APIC ID。邏輯 APIC ID創(chuàng)建邏輯216可以在硬件、軟件或微代碼或者它們的組合中實(shí)現(xiàn)。 硬件可以存在于非內(nèi)核或本地APIC或別處。在一些實(shí)施例中,邏輯APIC ID
的得出,使得物理APIC ID的較低的4位被"解碼"(即1<<物理APIC ID[3:0]) 來在集群內(nèi)部提供16位邏輯ID。物理APICID的剩余16位然后組成邏輯 xAPIC ID的集群ID部分。因此使用下列公式從本地xAPIC ID得出邏輯 xAPIC ID:
邏輯APIC ID =[(物理APIC ID[19:4〗<< 16) || (1 物理APIC ID[3:0])]
在這個公式中,符號II表示"或",但可以用加號來代替并且將得到相同 的結(jié)果。
這個公式可以以類似的方式重述如下 邏輯ID = (1 本地xAPIC ID[3:0])〃集群內(nèi)邏輯ID II (本地xAPIC ID[19:4] 16) 〃集群ID
圖7說明通過將寄存器210中的物理APIC ID轉(zhuǎn)換成寄存器212中的 邏輯APIC ID來得出邏輯APIC的過程的實(shí)例。位20-31可以被忽略,或
被用于各種目的。
圖8示出通過處理器封裝0和1中的物理APIC ID獲取邏輯APIC ID的 實(shí)例,其中處理器封裝O和1每個包括四個內(nèi)核,而每個內(nèi)核具有兩個處 理器。由于每個封裝的處理器少于16個,每個封裝只有一個集群。參見封 裝0,處理器PO的物理APIC ID被示為0^QOab。 "b"表示二進(jìn)制。第一個 O來自集群ID,表示該集群是封裝O中的集群。為了在圖中節(jié)約空間,圖8 中未說明來自集群ID的其他位。四個下劃線的O位于集群內(nèi)ID中,表示 物理APIC ID是0 (未列出所有的零)。遵循上述過程,通過從原本包含多個 零的集群內(nèi)邏輯ID中的最低位(LSB)中以一個"1"開始,然后將該"1" 按物理ID的前四位中給出的量進(jìn)行移位,來創(chuàng)建邏輯APICID。由于,處 理器PO的物理ID的前四位是0000, "1"未被移位,因此邏輯ID是OOOlh (此處"h"表示十六進(jìn)制)。使用十六進(jìn)制以允許在圖8中說明大的數(shù)。集 群ID(0)保持物理ID的位4-19中的不變。在處理器P1的情形下,物理ID 的四個LSB是OOOl,所以"l"被移位一位,使得集群O的集群ID是O, 邏輯ID是0002h,其由于1被移位一位而引起。例如,在P5的情形下,"1"
被向左移位5位,即變成十進(jìn)制的32或十六進(jìn)制的20。對于封裝1也進(jìn) 行相同的操作,除了在物理和邏輯APICID中的集群ID都是l。
初始化可以在時間的多個點(diǎn)上發(fā)生,例如,取決于實(shí)現(xiàn)的容易性。初 始化可以何時發(fā)生的實(shí)例,包括在重置后過程中當(dāng)物理APIC ID被初始化 時,或者在操作系統(tǒng)首次讀取邏輯APIC ID時。上述需要時對APIC ID進(jìn) 行填充的算法可以確保每個APIC集群被限于單一的處理器封裝。
3.處理器選擇邏輯和重定向
處理器選擇邏輯從可用的選項中選擇處理器來接收中斷。由本地APIC 接收中斷是處理器接收中斷的一個實(shí)例。在現(xiàn)有技術(shù)中,通過最低優(yōu)先級 方案來為中斷選擇處理器。但是,如下面所說明的,在決定由哪個處理器 來接收中斷時可以考慮處理器優(yōu)先級之外的其他因素或者將其他因素加上 處理器優(yōu)先級一起來考慮。
操作系統(tǒng)可以選擇集群以及集群內(nèi)的至少一個處理器來作為中斷可 用的。該信息可以被直接或間接地包括在設(shè)備(比如圖1中的設(shè)備26)所 提供的中斷中。例如,在直接的實(shí)現(xiàn)中,中斷可以包括一16位域,以位 映射的方式為集群中每個處理器分配一位(盡管可能存在少于16個處理 器,在此情形下一些位可不被使用)。當(dāng)"1"處在與一處理器相關(guān)聯(lián)的 位置中時,該處理器是可用的,在以上所討論的公式和圖8中,這種位 置用于從物理APIC ID提供邏輯APIC ID。這可以稱作邏輯目的地ID。 作為實(shí)例,邏輯目的地ID位掩碼可以是00101101,其表示處理器PO、 P2、 P3和P5對中斷是可用的。這假定了在集群中有8個處理器,因而 未示出最左邊的8位。當(dāng)然,"0"和"1"的作用可以顛倒,從而0代表 可用的處理器,以及1代表不可用的處理器。以上所討論的處理器選擇 邏輯可以選擇可用的處理器中的哪一個來接收中斷。注意,雖然通常只 有一個處理器接收中斷,在一些情形下,中斷可能被指引至多于一個的 處理器。
作為替代的,來自設(shè)備36的中斷可以包括索弓l(比如16-位的索引),其 提供重定向表格的索引,該重定向表格可以被包括在圖1中的重定向邏輯 19中。參照圖9,重定向表格230包括,例如不同的索引值的64位表項。
表項234是個實(shí)例。圖10示出根據(jù)一些實(shí)施例的示例性表項234的細(xì)節(jié), 但是在其他的實(shí)施例中它可能是不同的。參照圖io,位48-63表示集群ID, 其在圖10的實(shí)例中表示集群2將接收中斷。見與圖2有關(guān)的實(shí)例。還參照 圖10,邏輯目的地ID為處理器選擇邏輯(或子邏輯)列出可用的處理器來考 慮。目的地ID位掩碼011b表示處理器P0和Pl是可用的,而其他的處理 器是不可用的。處于說明的便利,16個位中只有三個在圖IO中示出。作為 另一個實(shí)例,目的地位掩碼可以是00101101b,其表示處理器P0、 P2、 P3 和P5是可用的,而處理器P1、 P4、 P6和P7是不可用的。在這個實(shí)例中沒 有處理器P8-P15??赡苤挥幸粋€處理器是可用的。位0到31可以給出各 種類型的路由信息,比如是否涉及直接的中斷。"最低優(yōu)先級"在圖10中 示出,但如前所述,可以考慮其他因素比如電源狀態(tài),從而嚴(yán)格來說最低 優(yōu)先級選擇可能不被考慮。
可能存在數(shù)個實(shí)現(xiàn),其可以用于基于處理器電源狀態(tài)的情況和優(yōu)先級, 在集群內(nèi)部對中斷進(jìn)行路由。 一個可能的在"非內(nèi)核"中的實(shí)現(xiàn)將使用處 理器功耗狀態(tài)消息和優(yōu)先級來提供對中斷進(jìn)行路由,來使二者都進(jìn)行能察 覺功耗的中斷路由,其將性能問題考慮在內(nèi)。非內(nèi)核將了解處理器的C-狀 態(tài)(功耗節(jié)省狀態(tài))——這些被稱為,例如,C0、 Cl、 C2...C6——其中CO 是處理器正在運(yùn)行代碼的狀態(tài),而C1、 ... C6是空閑狀態(tài),其中處理器是 停止的Cl是最低的功耗節(jié)約狀態(tài)并且C6是較高的功耗節(jié)約狀態(tài)。同樣, 進(jìn)入Cl的延遲(以及微體系結(jié)構(gòu)的副作用)可能是最低的,而對C6來說是 最高的。為了從較深的C-狀態(tài)(比如C6)提供最高的值,可能希望允許已經(jīng) 進(jìn)入C6狀態(tài)的處理器保持駐留在那個狀態(tài)中最長可能的間隔。在這個可能 的實(shí)現(xiàn)中,非內(nèi)核識別目標(biāo)將通過下述步驟來進(jìn)行(1)識別處在最低標(biāo)號 的C-狀態(tài)中的處理器,以及(2)在這些處理器中找出具有最低優(yōu)先級的處理 器作為中斷的目標(biāo)。有幾種方式來在其中實(shí)現(xiàn)這些方法。 一種實(shí)現(xiàn)可以保 留封裝內(nèi)的處理器的各種C-狀態(tài)的位圖,將這些與進(jìn)入的目標(biāo)位圖進(jìn)行與 運(yùn)算,并挑選該位圖中最高或最低的APIC ID作為目標(biāo)。其他的實(shí)現(xiàn)細(xì)節(jié) 可以被使用。
附加的信息和實(shí)施例
本文所稱的"邏輯"可以在電路、軟件、微代碼或它們的組合中實(shí)現(xiàn)。 實(shí)施例是本發(fā)明的一種實(shí)現(xiàn)或?qū)嵗T诒菊f明中提及的"某實(shí)施例"、 "一個實(shí)施例"、"一些實(shí)施例"或"其他實(shí)施例"表示與實(shí)施例相聯(lián)系來 描述的特定的特性、結(jié)構(gòu)或特征被包括在至少一些實(shí)施例中,但不一定是 在所有實(shí)施例中。"某實(shí)施例"、"一個實(shí)施例"或"一些實(shí)施例"的各次出 現(xiàn)并不一定都指的是同一個實(shí)施例。
當(dāng)敘述元素"A"耦合到元素"B"時,其表示元素A可以直接耦合到 元素B,或者間接地通過例如元素C來耦合。
當(dāng)說明書或權(quán)利要求稱部件、特性、結(jié)構(gòu)、過程或特征A "引起"部 件、特性、結(jié)構(gòu)、過程或特征B時,其表示"A"至少是"B"的部分原因, 但可能還存在另一個部件、特性、結(jié)構(gòu)、過程或特征在協(xié)助引起"B"。同 樣地,A響應(yīng)于B不表示其并不還響應(yīng)于C。
如果說明書稱部件、特性、結(jié)構(gòu)、過程或特征"可以"、"可能"或"能" 被包括時,該特定的部件、特性、結(jié)構(gòu)、過程或特征并不被要求被包括。 如果說明書或權(quán)利要求提到"某個"元素,其并不表示該元素只有一個。
本發(fā)明并不限于本文所描述的特定細(xì)節(jié)。確實(shí)地,可以在本發(fā)明范圍 內(nèi)給出前述描述和附圖的許多其他變型。因此,定義本發(fā)明范圍的是下面 的權(quán)利要求,包括對其進(jìn)行的任何修改。
權(quán)利要求
1、一種裝置,包括處理器選擇邏輯,用于接收與中斷相關(guān)聯(lián)的邏輯目的地標(biāo)識號碼,所述中斷每個都具有處理器集群標(biāo)識號碼以用于識別所述中斷所引導(dǎo)至的處理器集群,并且其中,所述邏輯目的地標(biāo)識號碼每個都用于識別在所識別的處理器集群中哪些處理器可用于接收相應(yīng)的一個中斷,以及其中,所述處理器選擇邏輯用于選擇所述可用的處理器中的一個處理器來接收所述一個中斷,以及其中,所述可用的處理器中所選擇的一個處理器是通過所述邏輯目的地標(biāo)識號碼中相應(yīng)位的相對位置來識別的。
2、 根據(jù)權(quán)利要求l所述的裝置,其中,在進(jìn)行選擇的過程中,響應(yīng)于 所述可用的處理器的電源狀態(tài),所述處理器選擇邏輯選擇所述一個處理器 來接收所述一個中斷。
3、 根據(jù)權(quán)利要求1所述的裝置,其中,響應(yīng)于所述可用的處理器的處 理器優(yōu)先級,所述處理器選擇邏輯選擇所述一個處理器來接收所述一個中 斷。
4、 根據(jù)權(quán)利要求l所述的裝置,其中,在進(jìn)行選擇的過程中,響應(yīng)于 所述可用的處理器的電源狀態(tài)和處理器優(yōu)先級,所述處理器選擇邏輯選擇 所述一個處理器來接收所述一個中斷。
5、 根據(jù)權(quán)利要求l所述的裝置,還包括處于所述處理器集群標(biāo)識號碼 可以識別的所述處理器集群之中的第一和第二處理器集群,并且還包括包 含所述第一集群的第一處理器封裝和包含所述第二集群的第二處理器封 裝。
6、 根據(jù)權(quán)利要求5所述的裝置,還包括處于所述處理器集群標(biāo)識號碼 可以識別的所述處理器集群之中的第三和第四處理器集群。
7、 根據(jù)權(quán)利要求l所述的裝置,還包括重定向表格,該重定向表格包 括包含所述邏輯目的地標(biāo)識號碼的表項。
8、 根據(jù)權(quán)利要求7所述的裝置,其中,所述裝置包括與設(shè)備通過接口 進(jìn)行連接的接口電路,以提供作為所述重定向表格的索引的值。
9、 根據(jù)權(quán)利要求1所述的裝置,其中,所述邏輯目的地標(biāo)識號碼中的 一些將所識別的處理器集群中的僅一個處理器識別為可用于接收相應(yīng)的一 個中斷,在該情形中該一個處理器是所被選擇的那一個處理器。
10、 根據(jù)權(quán)利要求1所述的裝置,其中,通常所述處理器中只有一個 被選擇來接收所述相應(yīng)的中斷,但在一些情形下多于一個處理器可以被選 擇來接收所述相應(yīng)的中斷。
11、 一種方法,包括從處理器集群標(biāo)識號碼確定將中斷引導(dǎo)至多個處理器集群中的哪些; 接收與所述中斷相關(guān)聯(lián)的邏輯目的地標(biāo)識號碼,并且其中,所述邏輯目的地標(biāo)識號碼每個都用于將所識別的處理器集群中特定的處理器識別為可用于接收相應(yīng)的一個中斷,和選擇所述可用的處理器中的一個處理器來接收所述一個中斷,并且其中,所述可用的處理器中所選擇的一個處理器是通過所述邏輯目的地標(biāo)識號碼中相應(yīng)位的相對位置來識別的。
12、 根據(jù)權(quán)利要求ll所述的方法,其中,在進(jìn)行選擇的過程中,響應(yīng) 于所述可用的處理器的電源狀態(tài)和處理器優(yōu)先級,所述處理器選擇邏輯選 擇所述一個處理器來接收所述一個中斷。
13、 根據(jù)權(quán)利要求11所述的方法,還包括通過重定向表格來選擇所述 邏輯目的地標(biāo)識號碼。
14、 一種系統(tǒng),包括處理器封裝,所述處理器封裝每個都包括至少一個處理器集群;和邏輯,用于接收中斷,所述中斷每個都包括處理器集群標(biāo)識號碼,以 及用于基于相應(yīng)的處理器集群標(biāo)識號碼來將所述中斷引導(dǎo)至一個處理器集 群,并且其中,對于每一個處理器集群,該集群中的所有處理器都包含在 單個處理器封裝中;和處理器選擇邏輯,用于接收與所述中斷相關(guān)聯(lián)的邏輯目的地標(biāo)識號碼, 所述中斷每個都具有一個處理器集群標(biāo)識號碼,并且其中,所述邏輯目的 地標(biāo)識號碼每個都用于識別在所識別的處理器集群中哪些處理器可用于接 收相應(yīng)的一個中斷,以及其中,所述處理器選擇邏輯用于選擇所述可用的處理器的一個處理器 來接收所述一個中斷,以及其中,所述可用的處理器中所選擇的一個處理 器是通過所述邏輯目的地標(biāo)識號碼中相應(yīng)位的相對位置來識別的。
15、 根據(jù)權(quán)利要求14所述的系統(tǒng),還包括輸入輸出中心,所述輸入輸 出中心包括重定向表格,所述重定向表格用來提供所述處理器集群標(biāo)識號 碼中的至少一些以及所述邏輯目的地標(biāo)識號碼中的至少一些,并且其中, 所述處理器選擇邏輯被包括在所述輸入輸出中心中。
16、 根據(jù)權(quán)利要求14所述的系統(tǒng),其中,所述處理器選擇邏輯包括包 含在第一個處理器封裝中的第一處理器選擇子邏輯和包含在第二個處理器 封裝中的第二處理器選擇子邏輯。
17、 根據(jù)權(quán)利要求14所述的系統(tǒng),其中,在進(jìn)行選擇的過程中,響應(yīng) 于所述可用的處理器的電源狀態(tài),所述處理器選擇邏輯選擇所述一個處理 器來接收所述一個中斷。
18、 根據(jù)權(quán)利要求14所述的系統(tǒng),其中,響應(yīng)于所述可用的處理器的 處理器,所述處理器選擇邏輯選擇所述一個處理器來接收所述一個中斷。
19、 根據(jù)權(quán)利要求14所述的系統(tǒng),其中,在進(jìn)行選擇的過程中,響應(yīng) 于所述可用的處理器的電源狀態(tài)和處理器,所述處理器選擇邏輯選擇所述 一個處理器來接收所述一個中斷。
20、 一種裝置,包括接收電路,用于接收來自設(shè)備的中斷請求;重定向邏輯,用于接收來自所述設(shè)備的所述中斷請求并響應(yīng)于所述中 斷請求來提供中斷消息,其中,所述中斷消息包括用于識別處理器集群的 處理器集群標(biāo)識號碼和用于將所述處理器集群中特定的處理器識別為可用 于接收所述中斷的邏輯目的地標(biāo)識號碼,并且其中,所述特定的處理器是 通過所述邏輯目的地標(biāo)識號碼中相應(yīng)位的相對位置來識別的。
21、 根據(jù)權(quán)利要求20所述的裝置,其中,對于一些中斷,只有一個處 理器在所述邏輯目的地標(biāo)識號碼中被識別為可用的,并且在所述邏輯目的 地標(biāo)識號碼中只有一個相應(yīng)位。
22、 根據(jù)權(quán)利要求20所述的裝置,其中,所述重定向邏輯包括包含所 述邏輯目的地標(biāo)識號碼的表項。
全文摘要
在一些實(shí)施例中,一種裝置包括處理器選擇邏輯,用于接收與中斷相關(guān)聯(lián)的邏輯目的地標(biāo)識號碼,所述中斷每個都具有處理器集群標(biāo)識號碼,用于識別所述中斷所引導(dǎo)至的處理器集群。所述邏輯目的地標(biāo)識號碼每個都用于識別在所識別的處理器集群中哪些處理器可用來接收中斷中相對應(yīng)的一個。所述處理器選擇邏輯用于選擇所述可用的處理器的一個來接收所述中斷,以及所述可用的處理器中所選擇的一個通過所述邏輯目的地標(biāo)識號碼中相應(yīng)位的相對位置來被識別。還描述了其它實(shí)施例。
文檔編號G06F9/48GK101382910SQ20081021276
公開日2009年3月11日 申請日期2008年9月4日 優(yōu)先權(quán)日2007年9月6日
發(fā)明者J·B·克羅斯蘭, K·K·蒂魯瓦盧爾, L·P·胡德, R·S·帕塔薩拉蒂, S·D·考??? S·穆特拉沙納魯 申請人:英特爾公司