两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

用于選擇接收中斷的處理器的裝置、方法和系統(tǒng)的制作方法

文檔序號:6443116閱讀:245來源:國知局
專利名稱:用于選擇接收中斷的處理器的裝置、方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明的實施例一般涉及多個處理器中斷。
背景技術(shù)
高級可編程中斷控制器(APIC)是一種根據(jù)可編程的過程或優(yōu)先級來接收中斷請求并提供中斷輸出的可編程中斷控制器(PIC)。本地APIC在處理器(比如微處理器)中使用。I/O APIC在芯片組設(shè)備(比如輸入/輸出(I/O)控制中心(ICH))和外圍設(shè)備上使用。 外圍設(shè)備的實例包括耦合到ICH的、與外圍組件互連(PCI)標準之一或PCI Express(PCIe) 標準(比如2006年12月20日PCI-SIG 提供的PCI Express 基本規(guī)范2. 0版)之一兼容的設(shè)備。xAPIC是擴展的APIC,其類似于早期的APIC但是具有一些另外的特性,并且在 xAPIC體系結(jié)構(gòu)中,本地和I/O APIC通過系統(tǒng)總線而并非通過APIC總線來通信。進一步擴展的xAPIC包括另外的擴展和特性。處理器封裝可以包括多于一個的內(nèi)核,每個處理器封裝可以包括多于一個的處理器。物理模式中斷是發(fā)出中斷的設(shè)備通過物理標識號碼為其指定處理器的中斷,或者是向所有處理器廣播的中斷。邏輯模式中斷是發(fā)出中斷的設(shè)備通過一個或多個邏輯標識號碼為其指定一個或多個處理器的中斷。APIC中斷傳送包括被引導中斷(單個處理器目標)、多播(多個處理器目標)以及廣播(所有處理器)。在最低優(yōu)先級中斷中,使用一過程來選擇處于最低處理器優(yōu)先級中的處理器來響應(yīng)該中斷。最低優(yōu)先級可以在芯片組決定——通常以特別的方式或以處理器優(yōu)先級的過期數(shù)據(jù)進行。因為優(yōu)先級信息常常是不可靠的,一些芯片僅選擇特定的處理器(比如通過輪詢技術(shù))并以廣播方式向該處理器提供中斷,這種方式中其他的處理器也接收到中斷但不對它們作響應(yīng)。邏輯模式在被引導中斷方面提供顯著地更重大的靈活性,并且是微軟視窗和一些 Linux收縮包裝的操作系統(tǒng)使用的模式。xAPIC體系結(jié)構(gòu)的邏輯模式向操作系統(tǒng)軟件提供在初始化邏輯APIC標識號碼(ID)過程中的靈活性,該邏輯APIC標識號碼是系統(tǒng)中每個處理器的唯一標識符。(處理器還具有物理APIC ID)。其他的處理器以及設(shè)備或IOxAPIC使用該ID向該處理器發(fā)送中斷。盡管在邏輯xAPIC ID初始化過程中具有靈活性,平臺的實際物理拓撲與如何分配ID之間并沒有聯(lián)系。盡管操作系統(tǒng)初始化提供了操作系統(tǒng)在對處理器進行分組中的更多的靈活性,在平臺層,這使被引導的邏輯模式中斷的路由過程變得復(fù)雜。通過廣播該中斷,以及假如該中斷匹配處理器的本地APIC ID則使該本地處理器邏輯接收該中斷,邏輯模式中斷的路由過程得以完成。由每個處理器檢查每個中斷導致性能和功耗的低效。例如,在廣播方法下,即使處理器處于低功耗狀態(tài),每個處理器都要檢查來了解中斷是否被引導至該處理器。由于中斷出現(xiàn)相當頻繁,這使得處理器難以持續(xù)處于深度低功耗狀態(tài)。此外,由于將中斷發(fā)送至該中斷未被引導至的封裝的過程中在互連結(jié)構(gòu)上具有的流量,性能被降低。在一種方法下,通過以處理器啟動的順序分配邏輯ID,操作系統(tǒng)試圖讓同一封裝中的各個處理器構(gòu)成一處理器的邏輯集群。如果依靠這種方法,它僅提供部分解決方案并且仍然使用廣播。因此,依然存在創(chuàng)造能以有效的方式被路由至處理器的邏輯APIC的需求。


本發(fā)明將通過以下給出的詳細說明和通過本發(fā)明實施例的附圖得到更為充分的理解,然而,這些附圖不應(yīng)被用來將本發(fā)明限制于所述的特定的實施例,而僅是出于說明和理解的目的。圖I是根據(jù)本發(fā)明的一些實施例,表示包括多內(nèi)核處理器封裝、輸入/輸出中心以及設(shè)備的系統(tǒng)的框圖。圖2是根據(jù)本發(fā)明的一些實施例,表示包括多內(nèi)核處理器封裝、輸入/輸出中心以及設(shè)備的系統(tǒng)的框圖。圖3是表示在本發(fā)明的一些實施例中使用的電路板上的插槽的框圖。圖4是表示在本發(fā)明的一些實施例中使用的物理APIC ID寄存器的框圖。圖5是表示在本發(fā)明的一些實施例中使用的邏輯APIC ID寄存器的框圖。圖6是表示邏輯APIC ID創(chuàng)建邏輯的框圖。圖7說明在本發(fā)明的一些實施例中使用的從物理APIC ID生成邏輯APIC ID的過程。圖8根據(jù)本發(fā)明的一些實施例,說明具有每個封裝四個內(nèi)核和每個內(nèi)核兩個邏輯處理器的兩插槽系統(tǒng)的物理和邏輯APIC ID。圖9是表示在本發(fā)明的一些實施例中使用的具有多個表項的APIC重定向表格的框圖。圖10是表不在本發(fā)明的一些實施例中使用的APIC重定向表格的表項的框圖。
具體實施例方式在一些實施例中,系統(tǒng)為每個處理器從處理器的物理ID創(chuàng)建邏輯APICID。邏輯 APIC ID包括處理器集群ID和該集群內(nèi)的處理器號碼(集群內(nèi)ID)。邏輯APIC ID的創(chuàng)建使得集群內(nèi)的所有處理器被包含在同一處理器封裝內(nèi)。這有助于減少互連結(jié)構(gòu)上的流量, 因為中斷可以只被引導至一個處理器封裝,而不是被廣播至所有的處理器封裝。此外,這減少了功耗,因為其他處理器封裝中的處理器(或在一些情形下,同一處理器封裝內(nèi)的其他集群)并不接收中斷,以及因此而不必去確定該中斷是否被引導至它們。在一些情形下,這防止處理器不得不退出睡眠狀態(tài)。在一些實施例中,邏輯目的地標識號碼可以包括可用于響應(yīng)中斷的處理器。處理器選擇邏輯選擇可用的處理器中的一個來接收中斷。在下列敘述中,物理APIC ID是物理處理器標識號碼的實例,以及邏輯APIC ID是邏輯處理器標識號碼的實例。邏輯APIC ID創(chuàng)建邏輯是邏輯標識號碼創(chuàng)建邏輯的實例。I.系統(tǒng)概述圖I說明了可以在本發(fā)明的一些實施例中使用的系統(tǒng),但是其他的實施例可以包括包含不同細節(jié)的系統(tǒng)。參照圖I,系統(tǒng)包括多個處理器封裝,所述多個處理器封裝至少包括耦合至輸入/輸出中心(IOH) 12的處理器封裝0和處理器封裝I。IOH 12包括IOH I/O APIC 14、重定向邏輯18以及處理器選擇邏輯20。PCIe設(shè)備26包括通過中斷接口電路30 耦合至IOH 12的PCIe I/O APIC 28。設(shè)備36 (比如鍵盤和鼠標)通過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或擴展的xAPIC??商鎿Q地,可以使用中斷控制器而非 APIC0封裝0包括內(nèi)核0和I以及本文所稱非內(nèi)核42的另外的電路。內(nèi)核0包括處理器70-1和70-2,其分別包括本地APIC 72-1和72-2,以及內(nèi)核I包括處理器70-3和70-4, 其分別包括本地APIC 72-3和72-4。封裝I包括內(nèi)核2和3以及本文所稱非內(nèi)核52的另外的電路。內(nèi)核2包括處理器76-1和76-2,其分別包括本地APIC 78-1和78_2,以及內(nèi)核 3包括處理器76-3和76-4,其分別包括本地APIC 78-3和78_4。封裝0和I還將包括各種未明確說明的組件。存儲器64(比如主存儲器DRAM)耦合至非內(nèi)核42,以及存儲器66耦合至非內(nèi)核52。存儲器60 (包括保存操作系統(tǒng)的硬盤)耦合至IOH 12。存儲器60和IOH 12之間可以存在中間組件。BIOS存儲器62耦合至IOH 12。處理器70-1、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 P0、P1、P2和P3以及P16、P17、P18和P19分別提供邏輯 APIC ID L0、L1、I^PL3 以及 L16、L17、L18 和 L19。(當然,PO. P4 和 P16. P19 以及L0. L3和L16. L19表示ID位,而不是字母“P”或“L”和號碼。)在一些實施例中,封裝0和I包括多于兩個的內(nèi)核(例如參加圖8),并且內(nèi)核可以包括多于兩個的處理器。在所說明的實施例中,在物理ID P3和P16之間以及相應(yīng)的邏輯ID L3和L16之間存在間隙。 對此的理由是在這些實施例中,集群包括16個處理器的ID,無論是否存在16個實際處理器。處理器封裝可以包括一個芯片(管芯)或多于一個芯片。處理器封裝可以包括零個、 一個或多于一個的存儲器芯片。重定向邏輯18從設(shè)備26接收一個值(例如,16位的值)并且向封裝0或封裝I 提供中斷。使用哪個處理器來響應(yīng)中斷的決定可以在各種位置中作出。例如,取決于實施例,該決定可以在IOH 12中的處理器選擇邏輯20中和/或在非內(nèi)核中的處理器選擇子邏輯中作出(比如非內(nèi)核42中的處理器選擇子邏輯46或非內(nèi)核52中的處理器選擇子邏輯 56)。子邏輯46中的過濾器48和子邏輯56中的過濾器58可以被用來基于例如電源狀態(tài) (c-狀態(tài))和/或處理器優(yōu)先級將處理器過濾出來而不予考慮。類似的過濾器可以在處理器選擇邏輯20中使用。在一些實施例中,不存在處理器選擇邏輯20,而僅存在處理器選擇子邏輯。圖2類似于圖1,并說明IOH 112,其具有可能與圖I中的IOH APIC 14、重定向邏輯18、處理器選擇邏輯20以及中斷接口電路130類似或相同的IOH APIC 114、重定向邏輯 118、處理器選擇邏輯120以及中斷接口電路130。圖2還說明包括處理器集群0和處理器集群I的處理器封裝0,包括處理器集群2和處理器集群3的處理器封裝1,包括處理器集群2 (N-I)和處理器集群2 (N-I)+1的處理器封裝N-I。處理器封裝O、I... N-I通過互連結(jié)構(gòu)142-0、142-1. . . 142-N-1耦合到IOH 112。在一些實施例中,存在單獨的將處理器分開的互連結(jié)構(gòu),而在其他的實施例中為每個處理器封裝使用一組互連結(jié)構(gòu),或為每個集群使用一組中斷。中斷的集群ID表示集群中的哪個將要接收該中斷。例如,假設(shè)集群ID是0000000000000010b (此處b表示二進制)。那將表示集群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 中的處理器不需要檢查中斷是否被引導至它們,其降低了功率(特別地,當處理器必須退出深度低功耗狀態(tài)來確定中斷是否被引導至它時)。由于局部性,在不同集群中的處理器之間也可能存在較少的高速緩存行的流量。其他的實施例可以在處理器封裝中包括甚至更多的處理器集群。其他的組件(比如非內(nèi)核,如果包括的話)未在圖2中示出??赡艽嬖诹硗獾慕M件,比如IOH和處理器封裝之間的橋接器。此外,在系統(tǒng)中也可能存在一個以上I0H。圖3說明,電路板190(比如印刷電路板)包括多個插槽,所述多個插槽包括用于接收處理器封裝0的插槽O、用于接收處理器封裝N-I的插槽N-I以及用于接收IOH芯片的插槽194。在一些實施例中,電路板190包括用于處理器封裝和各種其他的芯片的另外的插槽,但是在其他的實施例中,電路板190僅包括兩個插槽。如本文所使用,術(shù)語“插槽”涵蓋各種用于將一個芯片或多個芯片耦合至電路板的技術(shù)。2. APIC ID 初始化在一些實施例中,物理APIC ID在例如重置后過程中被硬件和/或微代碼靜態(tài)地初始化/鎖存,并一直保持到下一個電源周期為止。圖4說明保存32位物理APIC ID的寄存器110,其在一些實施例中被包括在相應(yīng)的本地APIC內(nèi)。使用在邏輯模式中的邏輯APIC ID被劃分成兩個域——在處理器集群內(nèi)的16位寬集群ID和16位寬邏輯ID。邏輯ID的16個最高位包含目的地集群的地址或標識號碼, 而較低的16位識別集群內(nèi)的單獨的本地APIC單元。邏輯ID部分可以是集群中每處理器具有I位的位掩碼一例如,在處理器集群中位0將為處理器0設(shè)置,位I為處理器I設(shè)置等等。圖5說明保存32位邏輯APIC ID的寄存器112,其采用位16至31保存集群ID以及位0至15保存集群內(nèi)邏輯ID。實際看來,許多系統(tǒng)將具有少量的處理器集群,使得,例如只需要一位或兩位來識別集群ID。在不同的實施例中,剩余的位可以作不同處理。例如,在一些系統(tǒng)中一些位被忽視而在其他的系統(tǒng)中被使用。通過初始化算法,基于平臺拓撲可以在邏輯APIC ID和物理APIC ID之間存在已建立的持久的聯(lián)系。這為路由結(jié)構(gòu)提供了所要將中斷路由到(而不是進行廣播)的特定處理器封裝(插槽)的情況。在處理器集群可以容納限度為16個處理器的的情形下,如果在處理器封裝中有多于16個處理器,那么每個封裝將具有多個集群。如果在集群中的處理器少于16個,那么可以對APIC ID進行填充。邏輯APIC ID創(chuàng)建邏輯216從物理APIC ID創(chuàng)建邏輯APIC ID。邏輯APIC ID創(chuàng)建邏輯216可以在硬件、軟件或微代碼或者它們的組合中實現(xiàn)。硬件可以存在于非內(nèi)核或本地APIC或別處。在一些實施例中,邏輯APIC ID的得出,使得物理APIC ID的較低的4位被“解碼”(即I <<物理APIC ID[3:0])來在集群內(nèi)部提供16位邏輯ID。物理APIC ID 的剩余16位然后組成邏輯xAPIC ID的集群ID部分。因此使用下列公式從本地xAPIC ID得出邏輯xAPIC ID 邏輯APIC ID =[(物理 APIC ID[19:4] << 16) | | (I <<物理 APIC ID[3:0])] 在這個公式中,符號I I表示“或”,但可以用加號來代替并且將得到相同的結(jié)果。這個公式可以以類似的方式重述如下邏輯ID = (I <<本地 xAPIC ID[3:0]) //集群內(nèi)邏輯 IDI I (本地 xAPIC ID[19:4] << 16)//集群 ID圖7說明通過將寄存器210中的物理APIC ID轉(zhuǎn)換成寄存器212中的邏輯APIC ID來得出邏輯APIC的過程的實例。位20-31可以被忽略,或被用于各種目的。圖8示出通過處理器封裝0和I中的物理APIC ID獲取邏輯APIC ID的實例,其中處理器封裝0和I每個包括四個內(nèi)核,而每個內(nèi)核具有兩個處理器。由于每個封裝的處理器少于16個,每個封裝只有一個集群。參見封裝0,處理器PO的物理APIC ID被示為 0_b?!癰”表示二進制。第一個0來自集群ID,表示該集群是封裝0中的集群。為了在圖中節(jié)約空間,圖8中未說明來自集群ID的其他位。四個下劃線的0位于集群內(nèi)ID中,表示物理APIC ID是0(未列出所有的零)。遵循上述過程,通過從原本包含多個零的集群內(nèi)邏輯ID中的最低位(LSB)中以一個“I”開始,然后將該“I”按物理ID的前四位中給出的量進行移位,來創(chuàng)建邏輯APIC ID。由于,處理器PO的物理ID的前四位是0000,“I”未被移位,因此邏輯ID是OOOlh (此處“h”表示十六進制)。使用十六進制以允許在圖8中說明大的數(shù)。集群ID(O)保持物理ID的位4-19中的不變。在處理器Pl的情形下,物理ID 的四個LSB是0001,所以“I”被移位一位,使得集群0的集群ID是0,邏輯ID是0002h,其由于I被移位一位而引起。例如,在P5的情形下,“I”被向左移位5位,即變成十進制的32 或十六進制的20。對于封裝I也進行相同的操作,除了在物理和邏輯APIC ID中的集群ID 者P是I。初始化可以在時間的多個點上發(fā)生,例如,取決于實現(xiàn)的容易性。初始化可以何時發(fā)生的實例,包括在重置后過程中當物理APIC ID被初始化時,或者在操作系統(tǒng)首次讀取邏輯APIC ID時。上述需要時對APIC ID進行填充的算法可以確保每個APIC集群被限于單一的處理器封裝。3.處理器選擇邏輯和重定向處理器選擇邏輯從可用的選項中選擇處理器來接收中斷。由本地APIC接收中斷是處理器接收中斷的一個實例。在現(xiàn)有技術(shù)中,通過最低優(yōu)先級方案來為中斷選擇處理器。 但是,如下面所說明的,在決定由哪個處理器來接收中斷時可以考慮處理器優(yōu)先級之外的其他因素或者將其他因素加上處理器優(yōu)先級一起來考慮。操作系統(tǒng)可以選擇集群以及集群內(nèi)的至少一個處理器來作為中斷可用的。該信息可以被直接或間接地包括在設(shè)備(比如圖I中的設(shè)備26)所提供的中斷中。例如,在直接的實現(xiàn)中,中斷可以包括一 16位域,以位映射的方式為集群中每個處理器分配一位(盡管可能存在少于16個處理器,在此情形下一些位可不被使用)。當“I”處在與一處理器相關(guān)聯(lián)的位置中時,該處理器是可用的,在以上所討論的公式和圖8中,這種位置用于從物理APIC ID提供邏輯APIC ID。這可以稱作邏輯目的地ID。作為實例,邏輯目的地ID位掩碼可以是 00101101,其表示處理器P0、P2、P3和P5對中斷是可用的。這假定了在集群中有8個處理器,因而未示出最左邊的8位。當然,“0”和“I”的作用可以顛倒,從而0代表可用的處理器,以及I代表不可用的處理器。以上所討論的處理器選擇邏輯可以選擇可用的處理器中的哪一個來接收中斷。注意,雖然通常只有一個處理器接收中斷,在一些情形下,中斷可能被指引至多于一個的處理器。作為替代的,來自設(shè)備36的中斷可以包括索引(比如16-位的索引),其提供重定向表格的索引,該重定向表格可以被包括在圖I中的重定向邏輯19中。參照圖9,重定向表格230包括,例如不同的索引值的64位表項。表項234是個實例。圖10示出根據(jù)一些實施例的示例性表項234的細節(jié),但是在其他的實施例中它可能是不同的。參照圖10,位48-63 表示集群ID,其在圖10的實例中表示集群2將接收中斷。見與圖2有關(guān)的實例。還參照圖 10,邏輯目的地ID為處理器選擇邏輯(或子邏輯)列出可用的處理器來考慮。目的地ID位掩碼Ollb表示處理器PO和Pl是可用的,而其他的處理器是不可用的。處于說明的便利, 16個位中只有三個在圖10中示出。作為另一個實例,目的地位掩碼可以是00101101b,其表示處理器P0、P2、P3和P5是可用的,而處理器P1、P4、P6和P7是不可用的。在這個實例中沒有處理器P8-P15??赡苤挥幸粋€處理器是可用的。位0到31可以給出各種類型的路由信息,比如是否涉及直接的中斷?!白畹蛢?yōu)先級”在圖10中示出,但如前所述,可以考慮其他因素比如電源狀態(tài),從而嚴格來說最低優(yōu)先級選擇可能不被考慮??赡艽嬖跀?shù)個實現(xiàn),其可以用于基于處理器電源狀態(tài)的情況和優(yōu)先級,在集群內(nèi)部對中斷進行路由。一個可能的在“非內(nèi)核”中的實現(xiàn)將使用處理器功耗狀態(tài)消息和優(yōu)先級來提供對中斷進行路由,來使二者都進行能察覺功耗的中斷路由,其將性能問題考慮在內(nèi)。非內(nèi)核將了解處理器的C-狀態(tài)(功耗節(jié)省狀態(tài))——這些被稱為,例如,CO、Cl、 C2. . . C6——其中CO是處理器正在運行代碼的狀態(tài),而Cl、. . . C6是空閑狀態(tài),其中處理器是停止的C1是最低的功耗節(jié)約狀態(tài)并且C6是較高的功耗節(jié)約狀態(tài)。同樣,進入Cl的延遲 (以及微體系結(jié)構(gòu)的副作用)可能是最低的,而對C6來說是最高的。為了從較深的C-狀態(tài) (比如C6)提供最高的值,可能希望允許已經(jīng)進入C6狀態(tài)的處理器保持駐留在那個狀態(tài)中最長可能的間隔。在這個可能的實現(xiàn)中,非內(nèi)核識別目標將通過下述步驟來進行(I)識別處在最低標號的C-狀態(tài)中的處理器,以及(2)在這些處理器中找出具有最低優(yōu)先級的處理器作為中斷的目標。有幾種方式來在其中實現(xiàn)這些方法。一種實現(xiàn)可以保留封裝內(nèi)的處理器的各種C-狀態(tài)的位圖,將這些與進入的目標位圖進行與運算,并挑選該位圖中最高或最低的APIC ID作為目標。其他的實現(xiàn)細節(jié)可以被使用。附加的信息和實施例本文所稱的“邏輯”可以在電路、軟件、微代碼或它們的組合中實現(xiàn)。實施例是本發(fā)明的一種實現(xiàn)或?qū)嵗T诒菊f明中提及的“某實施例”、“一個實施例”、“一些實施例”或“其他實施例”表示與實施例相聯(lián)系來描述的特定的特性、結(jié)構(gòu)或特征被包括在至少一些實施例中,但不一定是在所有實施例中?!澳硨嵤├薄ⅰ耙粋€實施例”或 “一些實施例”的各次出現(xiàn)并不一定都指的是同一個實施例。當敘述元素“A”耦合到元素“B”時,其表示元素A可以直接耦合到元素B,或者間接地通過例如元素C來f禹合。當說明書或權(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ā)明并不限于本文所描述的特定細節(jié)。確實地,可以在本發(fā)明范圍內(nèi)給出前述描述和附圖的許多其他變型。因此,定義本發(fā)明范圍的是下面的權(quán)利要求,包括對其進行的任何修改。
權(quán)利要求
1.一種裝置,包括包括處理器集群的處理器封裝,每一個集群包括多個處理器,每個處理器具有本地高級可編程中斷控制器(APIC),其具有用于保存物理APIC標識符(ID)的寄存器,所述本地 APIC具有基于所述物理APIC ID的邏輯APIC ID。
2.根據(jù)權(quán)利要求I所述的裝置,還包括處理器選擇邏輯,用于接收與中斷相關(guān)聯(lián)的邏輯目的地標識號碼,所述中斷每個都具有處理器集群標識號碼以用于識別所述中斷所引導至的處理器集群,并且其中,所述邏輯目的地標識號碼每個都用于識別在所識別的處理器集群中哪些處理器可用于接收相應(yīng)的一個中斷,以及其中,所述處理器選擇邏輯用于選擇所述可用的處理器中的一個處理器來接收所述一個中斷,以及其中,所述可用的處理器中所選擇的一個處理器是通過所述邏輯目的地標識號碼中相應(yīng)位的相對位置來識別的,并且其中,在所述識別的集群中的所述可用的處理器中的未被選擇來接收所述一個中斷的其他處理器不接收所述一個中斷。
3.根據(jù)權(quán)利要求I所述的裝置,還包括邏輯APICID創(chuàng)建邏輯,用于從所述物理APIC ID創(chuàng)建所述邏輯APIC ID。
4.根據(jù)權(quán)利要求3所述的裝置,其中,所述邏輯APICID創(chuàng)建邏輯用于將所述邏輯APIC ID劃分成第一域和第二域。
5.根據(jù)權(quán)利要求4所述的裝置,其中,所述第一域是用于識別目的地集群的集群域。
6.根據(jù)權(quán)利要求4所述的裝置,其中,所述第二域是用于識別所述目的地集群中的邏輯APIC的邏輯域。
7.根據(jù)權(quán)利要求2所述的裝置,其中,在進行選擇的過程中,響應(yīng)于所述可用的處理器的電源狀態(tài),所述處理器選擇邏輯選擇所述一個處理器來接收所述一個中斷。
8.根據(jù)權(quán)利要求2所述的裝置,其中,響應(yīng)于所述可用的處理器的處理器優(yōu)先級,所述處理器選擇邏輯選擇所述一個處理器來接收所述一個中斷。
9.根據(jù)權(quán)利要求2所述的裝置,其中,在進行選擇的過程中,響應(yīng)于所述可用的處理器的電源狀態(tài)和處理器優(yōu)先級,所述處理器選擇邏輯選擇所述一個處理器來接收所述一個中斷。
10.根據(jù)權(quán)利要求I所述的裝置,還包括重定向表格,該重定向表格包括包含所述邏輯 APIC ID的表項。
11.根據(jù)權(quán)利要求10所述的裝置,其中,所述裝置包括與設(shè)備通過接口進行連接的接口電路,以提供作為所述重定向表格的索引的值。
12.根據(jù)權(quán)利要求2所述的裝置,其中,所述邏輯目的地標識號碼中的一些將所識別的處理器集群中的僅一個處理器識別為可用于接收相應(yīng)的一個中斷,在該情形中該一個處理器是所被選擇的那一個處理器。
13.—種方法,包括為重置后的處理器集群封裝的處理器的本地APIC初始化物理高級可編程中斷控制器 (APIC)標識符(ID);以及從所述物理APIC ID創(chuàng)建邏輯APIC ID,并且將所述邏輯APIC ID劃分成第一域和第二域。
14.根據(jù)權(quán)利要求13所述的方法,還包括從處理器集群標識號碼確定將中斷引導至多個處理器集群中的哪些;接收與所述中斷相關(guān)聯(lián)的邏輯目的地標識號碼,并且其中,所述邏輯目的地標識號碼每個都用于將所識別的處理器集群中特定的處理器識別為可用于接收相應(yīng)的一個中斷,以及選擇所述可用的處理器中的至少一個處理器來接收所述一個中斷,并且其中,所述可用的處理器中所選擇的至少一個處理器是通過所述邏輯目的地標識號碼中相應(yīng)位的相對位置來識別的,并且其中,在所述識別的集群中的所述可用的處理器中的未被選擇來接收所述一個中斷的其他處理器不接收所述一個中斷。
15.根據(jù)權(quán)利要求13所述的方法,還包括,在進行選擇的過程中,響應(yīng)于所述可用的處理器的電源狀態(tài)和處理器優(yōu)先級,選擇所述一個處理器來接收所述一個中斷。
16.根據(jù)權(quán)利要求13所述的方法,還包括,通過重定向表格選擇所述邏輯APICID。
17.—種系統(tǒng),包括處理器封裝,所述處理器封裝每個都包括至少一個處理器集群,每一個集群包括多個處理器,每個處理器具有本地高級可編程中斷控制器(APIC),其具有用于保存物理APIC標識符(ID)的寄存器,所述本地APIC具有基于所述物理APIC ID的邏輯APIC ID;和中斷接收邏輯,用于接收中斷,所述中斷每個都包括處理器集群標識號碼,以及用于基于相應(yīng)的處理器集群標識號碼來將所述中斷引導至一個處理器集群,并且其中,對于每一個處理器集群,該集群中的所有處理器都包含在單個處理器封裝中;和處理器選擇邏輯,用于接收與所述中斷相關(guān)聯(lián)的邏輯目的地標識號碼,所述中斷每個都具有一個處理器集群標識號碼,并且其中,所述邏輯目的地標識號碼每個都用于識別在所識別的處理器集群中哪些處理器可用于接收相應(yīng)的一個中斷,以及其中,所述處理器選擇邏輯用于選擇所述可用的處理器中的至少一個處理器來接收所述一個中斷,以及其中,所述可用的處理器中所選擇的至少一個處理器是通過所述邏輯目的地標識號碼中相應(yīng)位的相對位置來識別的,并且其中,在所述識別的集群中的所述可用的處理器中的未被選擇來接收所述一個中斷的其他處理器不接收所述一個中斷。
18.根據(jù)權(quán)利要求17所述的系統(tǒng),還包括輸入輸出中心,所述輸入輸出中心包括重定向表格,所述重定向表格用來提供所述處理器集群標識號碼中的至少一些以及所述邏輯目的地標識號碼中的至少一些,并且其中,所述處理器選擇邏輯被包括在所述輸入輸出中心中。
19.根據(jù)權(quán)利要求17所述的系統(tǒng),其中,所述處理器選擇邏輯包括包含在第一個處理器封裝中的第一處理器選擇子邏輯和包含在第二個處理器封裝中的第二處理器選擇子邏輯。
全文摘要
在一些實施例中,一種裝置包括處理器選擇邏輯,用于接收與中斷相關(guān)聯(lián)的邏輯目的地標識號碼,所述中斷每個都具有處理器集群標識號碼,用于識別所述中斷所引導至的處理器集群。所述邏輯目的地標識號碼每個都用于識別在所識別的處理器集群中哪些處理器可用來接收中斷中相對應(yīng)的一個。所述處理器選擇邏輯用于選擇所述可用的處理器的一個來接收所述中斷,以及所述可用的處理器中所選擇的一個通過所述邏輯目的地標識號碼中相應(yīng)位的相對位置來被識別。還描述了其它實施例。
文檔編號G06F9/38GK102609311SQ201110439938
公開日2012年7月25日 申請日期2008年9月4日 優(yōu)先權(quán)日2007年9月6日
發(fā)明者J·B·克羅斯蘭, K·K·蒂魯瓦盧爾, L·P·胡德, R·S·帕塔薩拉蒂, S·D·考??? S·穆特拉沙納魯 申請人:英特爾公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
潢川县| 泾源县| 万州区| 和龙市| 日照市| 黄平县| 醴陵市| 旺苍县| 牟定县| 黄大仙区| 光山县| 高陵县| 甘泉县| 望都县| 金塔县| 壤塘县| 景洪市| 清苑县| 新野县| 晋宁县| 北川| 延庆县| 图们市| 双辽市| 婺源县| 滕州市| 兴文县| 三河市| 定远县| 石景山区| 无为县| 云梦县| 武宣县| 冕宁县| 嫩江县| 穆棱市| 壶关县| 绥江县| 彰武县| 通许县| 柳州市|