亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于多處理器的中斷最優(yōu)化的制作方法

文檔序號(hào):6599225閱讀:296來(lái)源:國(guó)知局
專利名稱:用于多處理器的中斷最優(yōu)化的制作方法
用于多處理器的中斷最優(yōu)化
背景技術(shù)
中斷可以將要通過(guò)執(zhí)行中斷處理程序來(lái)進(jìn)行服務(wù)的事件通知給計(jì)算系統(tǒng),中斷處 理程序也可以被已知為中斷服務(wù)例程(ISR)。這種通知事件可以被稱為中斷請(qǐng)求(IRQ)。處 理器可以經(jīng)歷環(huán)境切換(context switch)以從其當(dāng)前的任務(wù)轉(zhuǎn)換到執(zhí)行與接收的中斷相 關(guān)聯(lián)的中斷處理程序。從當(dāng)前的處理器任務(wù)的轉(zhuǎn)換可以被認(rèn)為是當(dāng)前任務(wù)的中斷。將接收 的中斷分配給特定的處理器或處理器核心以在多處理器計(jì)算系統(tǒng)內(nèi)執(zhí)行會(huì)呈現(xiàn)額外的復(fù) 雜性。本文中進(jìn)行的公開(kāi)是針對(duì)這些考慮以及其它考慮而給出的。

發(fā)明內(nèi)容
本文中對(duì)用于在多處理器計(jì)算系統(tǒng)內(nèi)對(duì)中斷進(jìn)行處理的技術(shù)進(jìn)行了描述。多處理 器計(jì)算系統(tǒng)可以具有多個(gè)處理器、具有多個(gè)處理器核心的處理器、每個(gè)都具有多個(gè)處理器 核心的多個(gè)處理器,或者其任意組合。特定的處理器或核心可以被確定為用于執(zhí)行特定的 中斷處理程序的優(yōu)選處理器。該處理器或處理器核心可以被稱為用于該特定中斷處理程序 的優(yōu)選處理器。能夠接收與中斷處理程序相關(guān)聯(lián)的中斷。一個(gè)或更多個(gè)接受處理器可以被 確定為用于響應(yīng)于對(duì)中斷的接收來(lái)執(zhí)行中斷處理程序的候選。響應(yīng)于優(yōu)選處理器是接受處 理器,可以指派優(yōu)選處理器執(zhí)行中斷處理程序。被傳遞給中斷控制器模塊的附加信息可以支持對(duì)中斷響應(yīng)資源進(jìn)行分配,以維持 處理器核心對(duì)中斷服務(wù)例程的聯(lián)系(affinity)。該聯(lián)系可以通過(guò)將之前執(zhí)行了中斷處理程 序的處理器視為優(yōu)選處理器,并優(yōu)選地在該處理器上執(zhí)行特定中斷處理程序來(lái)支持高速高 速緩存效率。高速高速緩存效率可以與將中斷處理程序的執(zhí)行指派給當(dāng)前空閑或者當(dāng)前正 在處理較低優(yōu)先級(jí)任務(wù)的不同處理器的好處相平衡。以上的概述僅僅是示例性的,并非意在以任何方式進(jìn)行限制。除了以上所描述的 示例性的方面、實(shí)施例以及特征,通過(guò)參考附圖以及以下的詳細(xì)描述,其它方面、實(shí)施例以 及特征將變得明顯。


結(jié)合附圖,本公開(kāi)的以上以及其它特征通過(guò)以下的描述以及所附權(quán)利要求書(shū)將變 得更充分明顯。可以理解的是,這些附圖僅僅描繪了根據(jù)本公開(kāi)的幾個(gè)實(shí)施例,因此,不 被認(rèn)為是對(duì)其范圍的限制,將通過(guò)使用附圖利用附加的特性和細(xì)節(jié)對(duì)本公開(kāi)進(jìn)行描述,其 中圖1是示出用于多處理器的工作環(huán)境的框圖;圖2是示出具有中斷控制器的多核處理器的框圖;圖3是示出多核處理器內(nèi)的中斷控制器和中斷請(qǐng)求仲裁器的框圖;圖4是示出中斷消息的數(shù)據(jù)結(jié)構(gòu)圖;圖5是示出用于利用優(yōu)選處理器核心和仲裁器授權(quán)對(duì)中斷進(jìn)行指派的處理的流 程圖6是示出用于利用具有被推定的指派的單個(gè)優(yōu)選處理器核心對(duì)中斷進(jìn)行指派的處理的流程圖;圖7是示出用于利用優(yōu)選處理器核心的有序列表對(duì)中斷進(jìn)行指派的處理的流程 圖;以及圖8是示出全部根據(jù)本公開(kāi)布置的示例性計(jì)算系統(tǒng)的框圖。
具體實(shí)施例方式在下面的詳細(xì)描述中,參考形成說(shuō)明書(shū)一部分的附圖。在附圖中,除非上下文另行 規(guī)定,相似的附圖標(biāo)記一般標(biāo)識(shí)相似的部件。詳細(xì)的說(shuō)明書(shū)、附圖以及權(quán)利要求書(shū)中所描述 的示例性實(shí)施例不意味著是限制性的。在不脫離這里呈現(xiàn)的主題的實(shí)質(zhì)或范圍的情況下, 可以采用其它的實(shí)施例,并可以進(jìn)行其它改變。將會(huì)理解的是如這里總體描述、以及附圖 中所示的本公開(kāi)的實(shí)施例能夠以許多各種不同的結(jié)構(gòu)被布置、替換、組合、分開(kāi)以及設(shè)計(jì), 其全部都是這里明確預(yù)期的。除其它外,下面的公開(kāi)闡述了與用于將中斷分配給多處理器內(nèi)的特定處理器核心 的技術(shù)相關(guān)的方法、裝置、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品。通過(guò)使用這里給出的技術(shù)和概念,調(diào)度 和通信中斷響應(yīng)可以將附加信息提供給中斷控制器電路,以試圖維持處理器核心對(duì)中斷服 務(wù)例程的聯(lián)系。該聯(lián)系可以通過(guò)在之前執(zhí)行了中斷處理程序的處理器上執(zhí)行該中斷處理程 序來(lái)支持高速高速緩存效率。該高速高速緩存效率還可以與將中斷處理程序的執(zhí)行指派給 當(dāng)前空閑或者當(dāng)前正在處理優(yōu)先級(jí)比中斷處理程序的優(yōu)先級(jí)低的任務(wù)的處理器的好處相 平衡。現(xiàn)在參考附圖(其中,在幾個(gè)圖中,相同的附圖標(biāo)記表示相同的元件),對(duì)多處理器系 統(tǒng)內(nèi)的中斷最優(yōu)化的方面進(jìn)行描述。現(xiàn)在轉(zhuǎn)到圖1,功能框圖100示出根據(jù)這里給出的實(shí)施例的、用于多處理器110的 工作環(huán)境。多處理器110可以包含多個(gè)處理器或多個(gè)處理器核心。多個(gè)核心能夠總體上支 持并行處理、并行任務(wù)、并行線程、單獨(dú)的順序過(guò)程或者其任意組合。存儲(chǔ)器120可以被多 處理器110訪問(wèn)。多處理器110可以從存儲(chǔ)器120進(jìn)行讀取以及向存儲(chǔ)器120進(jìn)行寫(xiě)入。 這種讀取和寫(xiě)入可以涉及與多處理器110的多個(gè)核心的操作相關(guān)聯(lián)的指令和數(shù)據(jù)。通常, 多處理器110內(nèi)的每一個(gè)處理器核心可以單獨(dú)對(duì)存儲(chǔ)器120進(jìn)行訪問(wèn)。存儲(chǔ)器120可以是 RAM、SRAM、DRAM、SDRAM或者任意類型的易失性或非易失性存儲(chǔ)器。與多處理器110的多個(gè)核心上的操作相關(guān)聯(lián)的指令和數(shù)據(jù)可以被存儲(chǔ)在存儲(chǔ)媒 體130設(shè)備上。存儲(chǔ)媒體130可以支持信息的非易失性存儲(chǔ)。存儲(chǔ)媒體130可以被多處理 器110內(nèi)的多個(gè)處理器核心訪問(wèn)。存儲(chǔ)媒體130可以存儲(chǔ)軟件132以在多處理器110內(nèi)的 多個(gè)處理器核心上執(zhí)行。以例子而非限制的方式,計(jì)算機(jī)可讀媒體可以包括計(jì)算機(jī)存儲(chǔ)媒 體和通信媒體。計(jì)算機(jī)存儲(chǔ)媒體可以包括以用于信息(諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程 序模塊或其它數(shù)據(jù))的存儲(chǔ)的任何方法或技術(shù)來(lái)實(shí)現(xiàn)的易失性的、非易失性的、可拆除的 以及不可拆除的媒體。計(jì)算機(jī)存儲(chǔ)媒體包括但不限于RAM、R0M、EPR0M、EEPR0M、快擦寫(xiě)存儲(chǔ) 器、其它固態(tài)存儲(chǔ)器技術(shù)、CD-ROM、DVD、HD-DVD、BLU-RAY、其它的光存儲(chǔ)、盒式磁帶、磁帶、磁 盤(pán)存儲(chǔ)、其它磁存儲(chǔ)設(shè)備,或者任何其它能夠被用來(lái)存儲(chǔ)期望信息并且能夠被多處理器110 訪問(wèn)的介質(zhì)。與多處理器110相關(guān)聯(lián)的軟件132、或者其它的指令、代碼、模塊或程序可以包括用于對(duì)中斷事件進(jìn)行響應(yīng)的模塊。這種模塊可以被稱為中斷服務(wù)例程(ISR)或中斷處理程 序134。中斷處理程序134可以與特定中斷事件、特定中斷起因、中斷來(lái)源或者特定中斷信 號(hào)線相關(guān)聯(lián)。中斷處理程序134可以響應(yīng)于在多處理器110處接收到相關(guān)聯(lián)的中斷來(lái)執(zhí)行。 中斷處理程序134可以中斷或搶先于與多處理器110相關(guān)聯(lián)的其它操作。這種搶先可以支 持迅速響應(yīng)于在多處理器110到達(dá)的中斷來(lái)執(zhí)行中斷處理程序134。迅速響應(yīng)能夠支持各 種軟件模塊的實(shí)時(shí)的、硬實(shí)時(shí)的、軟實(shí)時(shí)的或者近實(shí)時(shí)的操作。
中斷處理程序134模塊的一個(gè)例子可以與如下內(nèi)容相關(guān)聯(lián)設(shè)備驅(qū)動(dòng)器、或者與 對(duì)外部設(shè)備的支持相關(guān)聯(lián)的其它軟件、固件或者模塊。除了外部設(shè)備,這種模塊可以支持提 供中斷的內(nèi)部電路塊。所支持的設(shè)備或者相關(guān)聯(lián)的接口電路可以被視為與設(shè)備驅(qū)動(dòng)器、ISR 或者中斷處理程序134相關(guān)聯(lián)的中斷的來(lái)源。在接收到中斷信號(hào)時(shí),可以在特定時(shí)限內(nèi)、或 者根據(jù)與中斷處理程序134和其它操作相關(guān)聯(lián)的優(yōu)先級(jí)立即執(zhí)行相關(guān)聯(lián)的中斷處理程序 134。外部時(shí)鐘140可以給多處理器110提供時(shí)鐘信號(hào)。外部時(shí)鐘140可以包括晶體振 蕩器或者任何其它時(shí)鐘或振蕩器源。外部時(shí)鐘140可以包括時(shí)鐘驅(qū)動(dòng)器電路。與外部時(shí)鐘 140相關(guān)聯(lián)的時(shí)鐘信號(hào)可以被用來(lái)在多處理器110內(nèi)對(duì)各種電路進(jìn)行定時(shí)和同步。多處理 器110還可以與實(shí)時(shí)時(shí)鐘(RTC) 145連接。實(shí)時(shí)時(shí)鐘145可以被用于維持人的時(shí)間,諸如一 天中的時(shí)間、一周中的天、日歷日期和年等。RTC 145可以向與定時(shí)器、報(bào)警器或者看門(mén)狗電 路相關(guān)的多處理器110生成中斷事件。與多處理器110連接的各種設(shè)備可以生成中斷。這種中斷可以通知多處理器110 響應(yīng)于該中斷請(qǐng)求了服務(wù)??梢詧?zhí)行中斷處理程序134來(lái)為設(shè)備的中斷服務(wù)。作為非限制 性的例子,圖1中示出若干不同的設(shè)備。例如,中斷設(shè)備可以是網(wǎng)絡(luò)接口 150。網(wǎng)絡(luò)接口 150 可以被用來(lái)附加到網(wǎng)絡(luò)155。當(dāng)從網(wǎng)絡(luò)155接收到數(shù)據(jù)包時(shí),網(wǎng)絡(luò)接口 150可以生成中斷。 然后可以執(zhí)行與網(wǎng)絡(luò)接口 150相關(guān)聯(lián)的中斷處理程序134來(lái)從網(wǎng)絡(luò)接口 150接收數(shù)據(jù)包。 相似地,無(wú)線電接口 160可以使用天線165來(lái)向或從無(wú)線網(wǎng)絡(luò)或移動(dòng)通信系統(tǒng)發(fā)送或接收 無(wú)線數(shù)據(jù)包。一個(gè)或更多個(gè)接口總線170也可以連接到多處理器110。接口總線的示例可以包 括工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)(ISA)總線、外圍組件互連(PCI)總線、PCI-Express總線、加速圖形端口 (AGP)總線、通用串行總線(USB)、高級(jí)技術(shù)附件(ATA)總線、串行ATA(SATA)總線、小型計(jì) 算機(jī)系統(tǒng)接口(SCSI)以及其它的用于計(jì)算機(jī)和嵌入式處理器系統(tǒng)中的這種總線和接口。 總線或者與總線相關(guān)聯(lián)的接口電路可以包含一個(gè)或更多個(gè)用于中斷多處理器110的中斷 機(jī)制。模擬接口 180可以連接到多處理器110。模擬接口 180可以包括數(shù)字到模擬轉(zhuǎn)換器、 模擬到數(shù)字轉(zhuǎn)換器或者二者都包括。模擬接口 180可以被用于視頻、音頻、紅外線、雷達(dá)或 者任何其它模擬信號(hào)。模擬接口 180或者支持模擬接口 180的電路可以向多處理器110生 成中斷。一個(gè)或更多個(gè)人機(jī)接口 190可以連接到多處理器110。人機(jī)接口 190可以包括視 頻顯示器、鍵盤(pán)、麥克風(fēng)、光筆、投影機(jī)、語(yǔ)音識(shí)別、開(kāi)關(guān)、按鈕、指示器或者用于從人接收輸 入或者向人提供輸出的任何其它機(jī)構(gòu)。人機(jī)接口 190或者與其相關(guān)聯(lián)的電路可以將中斷提 供給多處理器110?,F(xiàn)在轉(zhuǎn)到圖2,框圖示出根據(jù)本文中所給出的實(shí)施例的、具有中斷控制器的多核處 理器。多處理器Iio可以具有多個(gè)內(nèi)部處理器核心,諸如核心1到核心N(210A-210E)。這些可以集體地或總體上被稱為處理器核心210。到達(dá)多處理器110的中斷可以來(lái)自外部接 口 230。與外部接口 230相關(guān)聯(lián)的中斷可以源自如針對(duì)圖1討論的外部設(shè)備。相似地,多處 理器110內(nèi)部的設(shè)備可以生成中斷。例如,定時(shí)器240、電源管理機(jī)構(gòu)242、直接存儲(chǔ)器訪問(wèn) (DMA)控制器244或者其它的片上外圍設(shè)備246可以生成與源自外部接口 230的中斷相似 的中斷。來(lái)自內(nèi)部設(shè)備和外部接口 230的各種中斷信號(hào)可以被單獨(dú)在中斷線225上運(yùn)載到 中斷控制器220。中斷線225中的每一個(gè)中斷線可以與單獨(dú)的中斷處理程序134相關(guān)聯(lián),或 者中斷處理程序134可以與中斷線225中的多于一個(gè)中斷線相關(guān)聯(lián)。中斷控制器220可以 通過(guò)中斷總線215與處理器核心210連接。中斷總線215可以是串行總線、并行總線或者 用于在中斷控制器220與多個(gè)處理器核心210之間傳遞信號(hào)的任何通道。中斷總線可以是 也用于在中斷控制器220與多個(gè)處理器核心210之間傳遞信號(hào)的通用系統(tǒng)、I/O或存儲(chǔ)總 線。中斷總線215可以在中斷控制器220與處理器核心210之間運(yùn)載與中斷信息相關(guān)的消 息。在中斷總線215上傳遞的消息可以被編碼成信號(hào)、脈沖、邏輯電平、包、幀或者本領(lǐng)域已 知的任何其它表示。
通過(guò)先占處理器執(zhí)行資源,中斷可以使當(dāng)前執(zhí)行的處理延遲。通過(guò)上下文切換能 夠發(fā)生從當(dāng)前任務(wù)到中斷處理程序134的交換。上下文切換可以使得操作不按順序完成。 上下文切換可以使得操作被中止以及被重新執(zhí)行。上下文切換可以使得內(nèi)部緩沖器被清 空、或者使得高速高速緩存被更改。來(lái)自中斷處理程序134的代碼或數(shù)據(jù)可以使高速高速 緩存線和轉(zhuǎn)換后備緩沖器(TLB,translation lookaside buffer)入口無(wú)效。高速緩存可 以在更快速的高速緩存存儲(chǔ)器中維持最近被訪問(wèn)的數(shù)據(jù)或代碼以用于迅速的隨后訪問(wèn)。這 會(huì)是有益的,因?yàn)橹貜?fù)訪問(wèn)的意圖以及參考的位置暗示最近訪問(wèn)的存儲(chǔ)器位置或者附近的 那些很可能是在不遠(yuǎn)的將來(lái)再次進(jìn)行訪問(wèn)的候選。如果與中斷處理程序134相關(guān)聯(lián)的代碼 或數(shù)據(jù)以被修改的狀態(tài)被高速緩存在另一處理器核心上,則中斷響應(yīng)延遲和中斷處理時(shí)間 可以被延遲。在中斷頻繁、中斷服務(wù)例程涉及相當(dāng)大量的代碼或數(shù)據(jù)、或者相當(dāng)大量的整體計(jì) 算時(shí)間被投入到為中斷進(jìn)行服務(wù)的系統(tǒng)中,破壞性的效果會(huì)增加。這種狀況在涉及大量數(shù) 據(jù)的復(fù)雜的計(jì)算任務(wù)被依賴于實(shí)時(shí)調(diào)度的通用或?qū)S糜?jì)算系統(tǒng)中都會(huì)發(fā)生。在正在處理大 量的網(wǎng)絡(luò)流量或存儲(chǔ)系統(tǒng)I/O操作的服務(wù)器計(jì)算機(jī)中會(huì)出現(xiàn)類似的狀況。嵌入式計(jì)算系統(tǒng) 是被嵌入在常常支持控制和通信功能的設(shè)備或系統(tǒng)內(nèi)的專用計(jì)算系統(tǒng)。例如,嵌入式處理 器可以被應(yīng)用于發(fā)動(dòng)機(jī)控制器、機(jī)器人控制器、通信設(shè)備、調(diào)制解調(diào)器、移動(dòng)電話、遠(yuǎn)程控制 以及本領(lǐng)域中已知的無(wú)數(shù)的其它應(yīng)用。嵌入式計(jì)算系統(tǒng)可以在它們大量的計(jì)算時(shí)間進(jìn)行對(duì) 中斷的響應(yīng)。因此,嵌入式環(huán)境內(nèi)多處理器110操作的效率可以按有效的且高效率的方式, 從改進(jìn)的、用于給中斷分配資源的技術(shù)中得到實(shí)質(zhì)的益處。中斷在計(jì)算系統(tǒng)內(nèi)是周期性的或者至少是重復(fù)執(zhí)行。同樣的代碼和數(shù)據(jù)可以在執(zhí) 行特定中斷處理程序134的每個(gè)實(shí)例中通用。在代碼和數(shù)據(jù)資源已經(jīng)被分配給響應(yīng)處理器 核心的情況下,可以支持執(zhí)行中斷處理程序134中提高的效率。此預(yù)分配還可以涉及已經(jīng) 在響應(yīng)處理器核心被高速緩存的代碼或數(shù)據(jù),從而帶來(lái)改進(jìn)的高速緩存效率。因此,將特定 中斷處理程序134的執(zhí)行分配給處理了該中斷處理程序134先前的實(shí)例的處理器核心可以 提高效率。
在某些情形中,執(zhí)行了特定中斷處理程序134先前的實(shí)例的處理器核心在中斷到 達(dá)時(shí)會(huì)忙于當(dāng)前的任務(wù)。如果當(dāng)前的任務(wù)是高優(yōu)先級(jí)的任務(wù),則執(zhí)行中斷處理程序134的 上下文切換可以被延遲或禁止地破壞(prohibitively disruptive)。如果與處理器相關(guān)聯(lián) 的當(dāng)前的任務(wù)是低優(yōu)先級(jí)的任務(wù),則當(dāng)前的任務(wù)可以被搶先或被延遲以執(zhí)行中斷處理程序 134。在二者中的任一情形中,其它的處理器核心可能是空閑的或正在執(zhí)行更低優(yōu)先級(jí)的任 務(wù),因此,將中斷指派給其它處理器中的一個(gè)處理器較之在優(yōu)選處理器上搶先或等待可以 支持提高的系統(tǒng)效率。
可能存在與在先前執(zhí)行了同樣的中斷處理程序134的處理器上執(zhí)行中斷處理程 序134相關(guān)聯(lián)的高速緩存效率??商孢x地,可能存在將中斷處理程序134的執(zhí)行指派給當(dāng) 前可能空閑的或者正在處理低優(yōu)先級(jí)的任務(wù)的不同處理器的任務(wù)優(yōu)先級(jí)動(dòng)機(jī)。使用能夠通 過(guò)對(duì)這些效率因素進(jìn)行加、組合或加權(quán)在一起而建立的分值或花費(fèi),可以實(shí)現(xiàn)這兩種效率 之間的平衡。分值或花費(fèi)隨后可以被用來(lái)確定中斷分配?,F(xiàn)在轉(zhuǎn)到圖3,框圖300示出根據(jù)本文中所提出的實(shí)施例的方面的、多核處理器內(nèi) 的中斷控制器220和中斷請(qǐng)求仲裁器310。中斷控制器220可以接收和鎖存在一個(gè)或更多 個(gè)中斷線225上到達(dá)的中斷請(qǐng)求。響應(yīng)于中斷請(qǐng)求事件,中斷控制器220可以識(shí)別處理器 核心210中的哪個(gè)是優(yōu)選的對(duì)于中斷的響應(yīng)者??梢曰谑窍惹皥?zhí)行中斷處理程序134的 核心為該未決的中斷確立優(yōu)選的響應(yīng)者。該優(yōu)選的響應(yīng)者狀態(tài)可以被說(shuō)成是維持中斷處理 程序134與優(yōu)選核心之間的核心聯(lián)系。對(duì)于執(zhí)行特定中斷處理程序的最初實(shí)例,因?yàn)闆](méi)有 先前的執(zhí)行,所以可以使用另一種用于確立優(yōu)選的技術(shù)。該最初的核心聯(lián)系或者基本情形 的核心優(yōu)選可以被隨機(jī)地確立、靜態(tài)地指定、通過(guò)對(duì)最不忙的核心進(jìn)行測(cè)量被指派、通過(guò)對(duì) 一個(gè)或更多個(gè)系統(tǒng)參數(shù)的測(cè)量被指派或者通過(guò)用于確定最初優(yōu)選核心的任何其它技術(shù)。在接收到中斷時(shí),中斷控制器220可以針對(duì)與該未決的中斷相關(guān)聯(lián)的中斷處理程 序134確定優(yōu)先級(jí)。可以根據(jù)存儲(chǔ)器或其它電路中的數(shù)據(jù)表來(lái)確定該優(yōu)先級(jí)。優(yōu)選核心的 標(biāo)識(shí)以及中斷處理程序134的優(yōu)先級(jí)可以在中斷總線215上從中斷控制器220被傳遞到一 個(gè)或更多個(gè)處理器核心210。在信息被傳遞給所有處理器核心210的實(shí)例中,該傳遞可以被 稱為在中斷總線215上的廣播。被發(fā)送給處理器核心210的表明中斷是未決的消息可以被 稱為中斷消息。中斷消息可以被用來(lái)促使處理器核心210將它們自身提供成接受者、或者 接受核心,以執(zhí)行與該未決的中斷相關(guān)聯(lián)的中斷處理程序134。根據(jù)一些實(shí)施例,中斷控制器220可以確定有資格的核心的列表并將該列表與中 斷消息內(nèi)的優(yōu)選核心標(biāo)識(shí)以及中斷處理程序134的優(yōu)先級(jí)一起提供給處理器核心210。根 據(jù)其它實(shí)施例,中斷控制器220可以確定有資格的核心的列表以及僅將中斷消息信息傳送 給在該資格列表上的處理器核心210。處理器核心210中的任一個(gè)核心都可以在中斷總線215上由本地中斷控制器 330A-330E代表。本地中斷控制器330A-330E可以集體地或總體上被稱為本地中斷控制器 330。當(dāng)消息針對(duì)處理器核心210中的一個(gè)或更多個(gè)處理器核心被發(fā)送到中斷總線215上 時(shí),該消息可以被與各個(gè)處理器核心210相關(guān)聯(lián)的本地中斷控制器330接收。為了與本地 中斷控制器330進(jìn)行區(qū)分,中斷控制器220也可以被稱為主要中斷控制器或主中斷控制器。每個(gè)接收到中斷消息的本地中斷控制器330可以確定它是否將會(huì)請(qǐng)求指派以在 與本地中斷控制器330相關(guān)聯(lián)的處理器核心210上執(zhí)行與該未決的中斷相關(guān)聯(lián)的中斷處理程序134。這可以通過(guò)提供相關(guān)聯(lián)的處理器核心210以對(duì)該未決的中斷進(jìn)行服務(wù)來(lái)進(jìn)行。 確定是否請(qǐng)求中斷可以通過(guò)檢查相應(yīng)的處理器核心210是否是有資格的來(lái)進(jìn)行??梢酝ㄟ^(guò) 硬編碼列表、所提供的系統(tǒng)配置或者通過(guò)對(duì)系統(tǒng)特性進(jìn)行評(píng)估來(lái)確定資格。如果有資格,確 定可以進(jìn)一步取決于對(duì)處理器核心210上正在執(zhí)行的當(dāng)前任務(wù)的優(yōu)先級(jí)進(jìn)行的評(píng)估。當(dāng) 前任務(wù)305A-305C可能正在各個(gè)處理器核心210中的每個(gè)處理器核心上執(zhí)行。當(dāng)前任務(wù) 305A-305C可以集體地或總體上被稱為當(dāng)前任務(wù)305。在每個(gè)處理器核心210處,可以將與 正在處理器核心210執(zhí)行的當(dāng)前任務(wù)305相關(guān)聯(lián)的優(yōu)先級(jí)與中斷消息中所指定的中斷處理 程序134的優(yōu)先級(jí)相比較。如果處理器核心210是有資格的核心且正在執(zhí)行優(yōu)先級(jí)低于未 決的中斷處理程序134的優(yōu)先級(jí)的當(dāng)前任務(wù)305,則本地中斷控制器330可以請(qǐng)求對(duì)于該中 斷的控制。本地中斷控制器330可以通過(guò)在中斷總線215上將核心響應(yīng)消息傳遞給中斷請(qǐng)求仲裁器310來(lái)請(qǐng)求未決中斷的控制。這種核心響應(yīng)消息可以包括正在發(fā)送該消息的處理器 核心210的標(biāo)識(shí)。核心響應(yīng)消息還可以包括“拒絕”或“請(qǐng)求”指示器以指定與處理器核心 210相關(guān)聯(lián)的本地中斷控制器330期望請(qǐng)求該未決的中斷還是拒絕該未決的中斷。中斷請(qǐng)求仲裁器310可以對(duì)核心響應(yīng)消息進(jìn)行評(píng)估。中斷請(qǐng)求仲裁器310能夠確 定一個(gè)處理器核心210被授權(quán)對(duì)于該未決的中斷的控制。其它的請(qǐng)求處理器核心210可以 被否決對(duì)于該中斷的控制。中斷請(qǐng)求仲裁器310可以將仲裁器消息通過(guò)中斷總線215傳遞 給本地中斷控制器330。仲裁器消息可以標(biāo)識(shí)要被授權(quán)負(fù)責(zé)通過(guò)執(zhí)行相關(guān)聯(lián)的中斷處理程 序134對(duì)該未決的中斷進(jìn)行服務(wù)的處理器核心210。這種類型的仲裁器消息可以按廣播的 形式被發(fā)送給所有本地中斷控制器330。這種對(duì)一個(gè)處理器核心210的授權(quán)可以暗示所有 其它的處理器核心210被否決該中斷??商孢x地,中斷請(qǐng)求仲裁器310可以單獨(dú)將仲裁器 消息傳遞給每個(gè)處理器核心210,將授權(quán)消息發(fā)送給一個(gè)處理器核心210并將否決消息發(fā) 送給其它的請(qǐng)求處理器核心210。中斷請(qǐng)求仲裁器310可以優(yōu)先將控制提供給優(yōu)選處理器核心210。這樣,如果優(yōu)選 處理器核心210請(qǐng)求中斷的控制,它能夠被授權(quán)控制而其它的請(qǐng)求者可能被否決控制。如 果另一處理器核心210先請(qǐng)求控制,對(duì)該處理器核心210的響應(yīng)可以被延遲,直到優(yōu)選處理 器核心210請(qǐng)求控制或者發(fā)送“拒絕”消息。如果優(yōu)選處理器核心210請(qǐng)求控制,其它的請(qǐng) 求可以被否決,且優(yōu)選處理器核心210可以被授權(quán)控制。如果優(yōu)選處理器核心210拒絕控 制,則其它的請(qǐng)求處理器核心210可以被授權(quán)中斷的控制。該途徑可以利用可用的處理器 核心支持具有改進(jìn)的等待時(shí)間的服務(wù)中斷同時(shí)維持優(yōu)選處理器核心210對(duì)每個(gè)中斷處理 程序134的聯(lián)系。根據(jù)實(shí)施例,優(yōu)選處理器核心210可以假定它將會(huì)被授權(quán)該未決的中斷的控制。 這樣,優(yōu)選處理器核心210可以立即開(kāi)始處理該中斷。仍然可以發(fā)送請(qǐng)求,使得其它的請(qǐng)求 者可以被仲裁器否決控制。根據(jù)實(shí)施例,中斷請(qǐng)求仲裁器310可以包括定時(shí)器320。如果優(yōu)選處理器核心210 在定時(shí)器320的時(shí)間段內(nèi)沒(méi)有響應(yīng),則另一請(qǐng)求處理器核心可以被授權(quán)該未決的中斷的控 制。優(yōu)選處理器核心210接下來(lái)的請(qǐng)求隨后會(huì)被否決。根據(jù)實(shí)施例,中斷控制器220可以在不同的處理器核心被指派了中斷的控制時(shí)對(duì) 其優(yōu)選處理器核心210的指派進(jìn)行更新。可以由中斷控制器220對(duì)仲裁器消息進(jìn)行檢查以確定哪個(gè)核心被指派了該未決中斷的控制。如果仲裁器消息不將該未決中斷指派給優(yōu)選處 理器核心210,則中斷控制器220可以對(duì)其優(yōu)選處理器核心210的指派進(jìn)行更新,使得被授 權(quán)了該未決中斷的控制的另一處理器核心210變成新的優(yōu)選處理器核心。新的優(yōu)選處理器 核心210可以在該特定中斷的下一個(gè)實(shí)例中被使用,因?yàn)樗S后會(huì)更有可能具有與中斷處 理程序134相關(guān)的代碼、數(shù)據(jù)以及TLB。根據(jù)實(shí)施例,優(yōu)選處理器核心可以被表示成處理器核心的有序列表。有序列表可 以標(biāo)識(shí)處理器核心210可以被分配控制以通過(guò)執(zhí)行相關(guān)聯(lián)的中斷處理程序134對(duì)未決的中 斷進(jìn)行響應(yīng)的優(yōu)選的次序。當(dāng)在中斷總線215上將優(yōu)選的列表傳遞給本地中斷控制器330 時(shí),中斷控制器220可以將中斷消息廣播給所有的處理器核心210、處理器核心210的子集、 僅僅給優(yōu)選的列表上的處理器核心210或者其任意的組合。中斷請(qǐng)求仲裁器310可以分配 未決中斷的控制,使得按照優(yōu)選列表所表明的次序?qū)?yōu)選給處理器核心210。
中斷控制器220、中斷請(qǐng)求仲裁器310以及各種本地中斷控制器330可以作為支持 處理器核心210的同一集成電路內(nèi)的模塊或電路被實(shí)施。這種集成電路可以被稱為多處理 器110。中斷控制器220、中斷請(qǐng)求仲裁器310以及各種本地中斷控制器330可以作為獨(dú)立 于處理器核心210的集成電路中的模塊或電路被實(shí)施。處理器核心210也可以是單獨(dú)的各 個(gè)處理器。所討論的集成電路可以是專用的、諸如現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)的可編程集成 電路、片上系統(tǒng)、基板上的系統(tǒng)、封裝上的系統(tǒng)或者以用于對(duì)電路進(jìn)行集成或封裝的任何其 它的途徑被實(shí)施。雖然作為單獨(dú)的模塊或電路被示例和討論,中斷控制器220、中斷請(qǐng)求仲 裁器310以及各種本地中斷控制器330可以在不脫離本文中所公開(kāi)的技術(shù)的精神和范圍的 情況下以任意的組合進(jìn)行功能上的組合或者被不同地分區(qū)。一同地,中斷控制器220、中斷 請(qǐng)求仲裁器310、中斷總線215、各種本地中斷控制器330的任意的組合或者其任意的子集 可以被稱為中斷分配系統(tǒng)?,F(xiàn)在轉(zhuǎn)到圖4,數(shù)據(jù)結(jié)構(gòu)圖400示出根據(jù)本文中所提出的實(shí)施例的中斷消息。中斷 消息410A-410B是可以在中斷總線215上從中斷控制器220傳輸給多個(gè)處理器核心210的 消息的例子。中斷消息410A可以被用來(lái)表明中斷從中斷線225中的一個(gè)中斷線到達(dá)了中 斷控制器220。中斷消息410A可以包括中斷優(yōu)先級(jí)。中斷優(yōu)先級(jí)可以是與用于對(duì)未決的中 斷進(jìn)行服務(wù)的中斷處理程序134相關(guān)聯(lián)的優(yōu)先級(jí)。中斷消息410A還可以表明優(yōu)選核心ID 以識(shí)別用于執(zhí)行與在中斷線225處接收到的中斷相關(guān)聯(lián)的中斷處理程序134的優(yōu)選處理器 核心210??商孢x地,第二中斷消息410B可以通過(guò)提供核心ID的有序列表以表明用于對(duì)未 決的中斷進(jìn)行處理的處理器核心210的有序優(yōu)選來(lái)表明核心聯(lián)系。有序的列表可以通過(guò)列 表中的次序來(lái)表明可以執(zhí)行與未決中斷相關(guān)聯(lián)的中斷處理程序134的處理器核心210的優(yōu) 選。例如,有序的列表可以首先表明最優(yōu)選核心,其次表明第二優(yōu)選核心等。次序可以基于 對(duì)針對(duì)中斷處理程序134的高速緩存狀態(tài)的估計(jì)。可以通過(guò)基于給定核心最近執(zhí)行特定中 斷處理程序的時(shí)間順序來(lái)建立這種估計(jì)。核心響應(yīng)消息420可以從與多個(gè)各處理器核心210相關(guān)聯(lián)的本地中斷控制器330 發(fā)出。核心響應(yīng)消息420可以指向(direct to)中斷控制器220和中斷請(qǐng)求仲裁器310。 核心響應(yīng)消息420可以表明各個(gè)處理器核心210通過(guò)從中斷請(qǐng)求仲裁器310請(qǐng)求中斷的指 派而接受該未決的中斷的控制。核心響應(yīng)消息420可以包括標(biāo)識(shí)該響應(yīng)源自哪個(gè)特定處理 器核心210的源核心ID。核心響應(yīng)消息420還可以表明處理器核心210 “請(qǐng)求”或“拒絕”未決的中斷。仲裁器消息430A可以從中斷請(qǐng)求仲裁器310發(fā)到中斷總線215上,以表明將中 斷授權(quán)給特定的處理器核心210。例如,仲裁器消息430A可以包括表明將會(huì)執(zhí)行中斷處理 程序134以對(duì)未決中斷進(jìn)行響應(yīng)的特定的處理器核心210的被授權(quán)核心ID。仲裁器消息 430A可以被廣播給多個(gè)處理器核心210以向處理器核心210表明哪個(gè)核心被分配了執(zhí)行與 該未決的中斷相關(guān)聯(lián)的中斷處理程序134的任務(wù)。可替選地,第二仲裁器消息430B可以被 用來(lái)將中斷處理程序134的授權(quán)各自傳遞給特定的處理器核心210。仲裁器消息430B可以 包括用于沿中斷總線215將特定的仲裁器消息430發(fā)送給指定處理器核心210的目標(biāo)核心 ID。仲裁器消息430B還可以包括對(duì)由目標(biāo) 核心ID標(biāo)識(shí)的特定處理器核心210的“授權(quán)”或 “否決”指示器。當(dāng)使用第二仲裁器消息430B時(shí),中斷請(qǐng)求仲裁器310可以將各仲裁器消息 430B發(fā)送給每個(gè)處理器核心210。除了發(fā)送給被指派了針對(duì)未決中斷的中斷處理程序134 的執(zhí)行的處理器核心210的單個(gè)“授權(quán)”仲裁器消息430B以外,這些消息可以表明對(duì)于處 理器核心中的每個(gè)處理器核心的“否決”。針對(duì)圖4所討論的消息可以作為包、信號(hào)、控制線、總線信號(hào)或者用于在對(duì)指派中 斷中涉及的模塊之間發(fā)信號(hào)或進(jìn)行通信的任何其它的機(jī)制。這些模塊可以包括如針對(duì)圖 3所討論的中斷控制器220、中斷請(qǐng)求仲裁器310、各種本地中斷控制器330以及中斷總線 215?,F(xiàn)在參考圖5,將針對(duì)多處理器內(nèi)中斷的分配,對(duì)本文中所提出的實(shí)施例提供附加 的細(xì)節(jié)。具體地,圖5是示出根據(jù)本文中所提出的實(shí)施例的方面的、用于使用優(yōu)選處理器核 心和仲裁器授權(quán)對(duì)中斷進(jìn)行指派的過(guò)程500的流程圖。應(yīng)當(dāng)了解本文中所描述的邏輯操作(1)作為一系列被計(jì)算機(jī)實(shí)施的動(dòng)作或在計(jì) 算系統(tǒng)上運(yùn)行的程序模塊和/或(2)作為計(jì)算系統(tǒng)內(nèi)互連的機(jī)器邏輯電路或電路模塊被實(shí) 施。該實(shí)施是取決于計(jì)算系統(tǒng)的性能和其它需求來(lái)進(jìn)行的選取的內(nèi)容。相應(yīng)地,本文中所描 述的邏輯操作以各種形式被稱為狀態(tài)操作、結(jié)構(gòu)設(shè)備、動(dòng)作或者模塊。這些操作、結(jié)構(gòu)設(shè)備、 動(dòng)作或者模塊可以用軟件、固件、專用數(shù)字邏輯、以及其任意的組合被實(shí)施。還應(yīng)當(dāng)了解可 以進(jìn)行比圖中所示出的以及本文中所描述的更多的或更少的操作。這些操作還可以被順序 地、并行地或者以不同于本文中所描述的那些次序的次序來(lái)進(jìn)行。過(guò)程500可以在操作510開(kāi)始,其中,優(yōu)選核心被確定以優(yōu)選地對(duì)特定中斷處理程 序134進(jìn)行服務(wù)。最初,針對(duì)特定中斷處理程序134的優(yōu)選核心可以被隨機(jī)地指派、被預(yù) 先指定為特定的核心或者通過(guò)任何其它的初始化機(jī)制被指派。初始化可以由操作系統(tǒng)、由 BIOS或者由結(jié)構(gòu)設(shè)置或電路來(lái)進(jìn)行規(guī)定。接下來(lái),在操作520,接收到與特定中斷處理程序134相關(guān)聯(lián)的中斷。所接收的中 斷可以在到中斷控制器220的中斷線225上到達(dá)。在操作530,可以確定所接收的中斷的優(yōu) 先級(jí)。該確定可以基于中斷的來(lái)源或者在用信號(hào)通知中斷時(shí)所涉及的特定的中斷線225。 在操作540,可以生成中斷消息410A。中斷消息410A可以由中斷控制器220生成并在中斷 總線215上傳輸。中斷消息可以表明操作530中確定的中斷優(yōu)先級(jí)以及操作510中確定的 優(yōu)選核心ID。中斷消息410A的生成以及被傳輸?shù)街袛嗫偩€215上還可以觸發(fā)與定時(shí)器320 相關(guān)聯(lián)的定時(shí)器期間的開(kāi)始。在中斷消息410A到達(dá)處理器核心210時(shí),每個(gè)本地中斷控制器330可以評(píng)估各個(gè)處理器核心210是否要請(qǐng)求該中斷。這可以基于該中斷具有高于正在處理器核心210上執(zhí) 行的當(dāng)前任務(wù)305的優(yōu)先級(jí)。本地中斷控制器330然后可以生成要被傳遞到中斷總線215 的核心響應(yīng)消息420。在操作550,在中斷請(qǐng)求仲裁器310以及在中斷控制器220可以接收 到核心響應(yīng)消息420。
在操作560,中斷請(qǐng)求仲裁器310可以確定用于執(zhí)行與未決的中斷相關(guān)聯(lián)的中斷 處理程序134的被授權(quán)的核心。該確定可以基于在操作550接收到核心響應(yīng)420來(lái)進(jìn)行。 如果在操作550接收到的核心響應(yīng)420在與定時(shí)器320相關(guān)聯(lián)的超時(shí)(time-out)期間之 后被接收到,則它們可以被忽略。如果來(lái)自優(yōu)選核心的核心響應(yīng)420表明優(yōu)選核心請(qǐng)求該 中斷,則該中斷可以被指派給優(yōu)選核心。如果來(lái)自優(yōu)選核心的核心響應(yīng)420表明優(yōu)選核心 拒絕該中斷,或者,如果優(yōu)選核心在定時(shí)器期間內(nèi)未響應(yīng),則該中斷可以被分配給另一個(gè)請(qǐng) 求處理器核心210。請(qǐng)求處理器核心210可以被認(rèn)為是用于對(duì)該中斷進(jìn)行處理的接受核心。在操作570,可以生成仲裁器消息430A、430B以指定被授權(quán)的處理器核心210。仲 裁器消息430A、430B可以在中斷總線215上被傳遞給與各個(gè)處理器核心210相關(guān)聯(lián)的本地 中斷控制器330。在操作575,可以觸發(fā)被授權(quán)的處理器核心210執(zhí)行中斷處理程序134以 對(duì)未決的中斷進(jìn)行服務(wù)。一旦中斷處理程序134的執(zhí)行完成,被授權(quán)的處理器核心210就 可以恢復(fù)執(zhí)行它的當(dāng)前任務(wù)305。在操作580,中斷控制器220可以對(duì)其優(yōu)選處理器核心210的指派進(jìn)行更新。中斷 控制器220可以對(duì)仲裁器消息430A、430B將中斷授權(quán)給處理器核心210進(jìn)行檢查。如果仲 裁器消息未將該未決的中斷指派給優(yōu)選處理器核心210,則中斷控制器220可以對(duì)其優(yōu)選 處理器核心210的指派進(jìn)行更新,使得被授權(quán)了未決中斷的控制的處理器核心210可以變 成新的優(yōu)選處理器核心210。該被更新的優(yōu)選處理器核心210可以在該特定中斷的下一個(gè) 實(shí)例期間被使用。過(guò)程500在操作580之后可以終止?,F(xiàn)在參考圖6,將針對(duì)多處理器內(nèi)中斷的分配,對(duì)本文中所提出的實(shí)施例提供附加 的細(xì)節(jié)。具體地,圖6是根據(jù)這里提供的實(shí)施例的各方面的示出用于利用具有推定的指派 的單個(gè)優(yōu)選處理器核心對(duì)中斷進(jìn)行指派的過(guò)程600的各方面的流程圖。過(guò)程600在操作610開(kāi)始,其中,優(yōu)選核心被確定以優(yōu)選地對(duì)特定中斷處理程序 134進(jìn)行服務(wù)。最初,針對(duì)特定中斷處理程序134的優(yōu)選核心可以被隨機(jī)地指派、被預(yù)先指 定成特定的核心或者通過(guò)任何其它的初始化機(jī)制被指派。初始化可以由操作系統(tǒng)、由BIOS 或者由結(jié)構(gòu)設(shè)置或電路來(lái)進(jìn)行規(guī)定。接下來(lái),在操作620,接收到與特定中斷處理程序134相關(guān)聯(lián)的中斷。所接收的中 斷可以在到中斷控制器220的中斷線225上到達(dá)。在操作630,可以確定針對(duì)所接收的中 斷的優(yōu)先級(jí)。在操作640,可以生成中斷消息410A。中斷消息410A可以由中斷控制器220 生成以及在中斷總線215上被傳輸。中斷消息410A可以表明操作630中所確定的中斷優(yōu) 先級(jí)以及操作510中所確定的優(yōu)選核心ID。中斷消息410A的生成以及被傳輸?shù)街袛嗫偩€ 215上還可以觸發(fā)與定時(shí)器320相關(guān)聯(lián)的定時(shí)器期間的開(kāi)始。在中斷消息410A到達(dá)處理器核心210時(shí),每個(gè)本地中斷控制器330可以評(píng)估各個(gè) 處理器核心210是否要請(qǐng)求該中斷。該確定可以基于該中斷具有高于正在處理器核心210 上執(zhí)行的當(dāng)前任務(wù)305的優(yōu)先級(jí)。在操作645,與優(yōu)選處理器核心相關(guān)聯(lián)的本地中斷控制器 330可以確定優(yōu)選核心是否將會(huì)請(qǐng)求該中斷。
如果優(yōu)選核心將會(huì)請(qǐng)求該中斷,則過(guò)程600可以轉(zhuǎn)換到操作650,其中,在不等待 與中斷控制器220或中斷請(qǐng)求仲裁器310的附加交互的情況下,優(yōu)選核心推定地開(kāi)始執(zhí)行 中斷處理程序134。與優(yōu)選處理器核心210相關(guān)聯(lián)的本地中斷控制器330仍然可以生成表 明優(yōu)選處理器核心210得到該中斷的核心響應(yīng)消息420。在操作655,該核心響應(yīng)消息420 可以由中斷請(qǐng)求仲裁器310接收。在操作660,中斷請(qǐng)求仲裁器310可以推定優(yōu)選核心正在 自動(dòng)執(zhí)行中斷處理程序134,因?yàn)閺脑搩?yōu)選核心接收到了 “請(qǐng)求”核心響應(yīng)消息420。中斷 請(qǐng)求仲裁器310然后可以向其它本地中斷控制器330生成將優(yōu)選核心指定成被授權(quán)的處理 器核心210的仲裁器消息430A、430B。該過(guò)程在操作660之后可以終止。代替地,如果在操作645確定優(yōu)選核心將不會(huì)請(qǐng)求該中斷,則過(guò)程600可以轉(zhuǎn)換 到操作670,其中,在中斷請(qǐng)求仲裁器310以及在中斷控制器220可以接收到核心響應(yīng)消息 420。在操作675,中斷請(qǐng)求仲裁器310可以確定用于執(zhí)行與未決中斷相關(guān)聯(lián)的中斷處 理程序134的被授權(quán)核心。該確定可以基于在操作670接收到核心響應(yīng)420來(lái)進(jìn)行。如果 在與定時(shí)器320相關(guān)聯(lián)的超時(shí)期間之后接收到在操作670接收到的核心響應(yīng)420,則它們可 以被忽略。請(qǐng)求處理器核心210可以被認(rèn)為是用于對(duì)該中斷進(jìn)行處理的接受核心。 在操作680,可以生成仲裁器消息430A、430B以指定被授權(quán)的處理器核心210。仲 裁器消息430A、430B可以在中斷總線215上被傳遞給與各個(gè)處理器核心210相關(guān)聯(lián)的本地 中斷控制器330。在操作685,可以觸發(fā)被授權(quán)的處理器核心210執(zhí)行中斷處理程序134以 對(duì)該未決中斷進(jìn)行服務(wù)。一旦中斷處理程序134的執(zhí)行完成,被授權(quán)的處理器核心210就 可以恢復(fù)執(zhí)行它的當(dāng)前任務(wù)305。在操作690,中斷控制器220可以對(duì)其優(yōu)選處理器核心210的指派進(jìn)行更新。中斷 控制器220可以對(duì)仲裁器消息430A、430B將中斷授權(quán)給處理器核心210進(jìn)行檢查。如果仲 裁器消息未將未決中斷指派給優(yōu)選處理器核心210,則中斷控制器220可以對(duì)其優(yōu)選處理 器核心210的指派進(jìn)行更新,以使得被授權(quán)了未決中斷的控制的處理器核心210可以變成 新的優(yōu)選處理器核心210。該更新的優(yōu)選處理器核心210可以在該特定中斷的下一個(gè)實(shí)例 期間被使用。過(guò)程600在操作690之后可以終止?,F(xiàn)在參考圖7,將針對(duì)多處理器內(nèi)中斷的分配,對(duì)本文中所提出的實(shí)施例提供附加 的細(xì)節(jié)。具體地,圖7是示出用于使用優(yōu)選處理器核心的有序的列表對(duì)中斷進(jìn)行指派的過(guò) 程700的流程圖。過(guò)程700在操作710開(kāi)始,其中,優(yōu)選核心的有序列表被確定以優(yōu)選地對(duì) 特定中斷處理程序134進(jìn)行服務(wù)。最初,針對(duì)特定中斷處理程序134的優(yōu)選核心的有序列 表可以被隨機(jī)地指派、被預(yù)先指定成特定的核心列表、或者通過(guò)任何其它的初始化機(jī)制被 指派。初始化可以由操作系統(tǒng)、由BIOS、或者由結(jié)構(gòu)設(shè)置或電路來(lái)進(jìn)行規(guī)定。接下來(lái),在操作720,接收到與特定中斷處理程序134相關(guān)聯(lián)的中斷。所接收的中 斷可以在到中斷控制器220的中斷線225上到達(dá)。在操作730,可以確定接收的中斷的優(yōu)先 級(jí)。在操作740,可以生成中斷消息410B。中斷消息410B可以由中斷控制器220生成并在 中斷總線215上傳輸。中斷消息410B可以表明操作730中所確定的中斷優(yōu)先級(jí)。中斷消 息410B還可以表明操作710中所確定的優(yōu)選處理器核心210的有序列表。中斷消息410B 的生成以及在中斷總線215上的傳輸?shù)竭€可以觸發(fā)與定時(shí)器320相關(guān)聯(lián)的定時(shí)器期間的開(kāi) 始。
在中斷消息410B到達(dá)處理器核心210時(shí),每個(gè)本地中斷控制器330可以評(píng)估各個(gè)處理器核心210是否要請(qǐng)求該中斷。這可以基于該中斷具有高于正在處理器核心210上執(zhí) 行的當(dāng)前任務(wù)305的優(yōu)先級(jí)。本地中斷控制器330然后可以生成要傳遞到中斷總線215上 的核心響應(yīng)消息420。在操作750,在中斷請(qǐng)求仲裁器310可以接收到核心響應(yīng)消息420。 在中斷控制器220也可以接收到核心響應(yīng)消息420。在操作760,中斷請(qǐng)求仲裁器310可以確定用于執(zhí)行與該未決的中斷相關(guān)聯(lián)的中 斷處理程序134的被授權(quán)的核心。此確定可以基于在操作750接收到核心響應(yīng)420來(lái)進(jìn)行。 如果在與定時(shí)器320相關(guān)聯(lián)的超時(shí)期間之后接收到在操作750處接收到的核心響應(yīng)420,則 它們可以被忽略。來(lái)自最優(yōu)選核心或有序列表的“請(qǐng)求”核心響應(yīng)420可以確定中斷指派。 中斷可以被分配給請(qǐng)求該中斷的核心中的在有序列表上排名最高的優(yōu)選核心。請(qǐng)求處理器 核心210可以被認(rèn)為是接受對(duì)該中斷的控制。在操作770,可以生成仲裁器消息430A、430B以從而指定被授權(quán)的處理器核心 210。仲裁器消息430A、430B可以在中斷總線215上被傳遞給與各個(gè)處理器核心210相關(guān) 聯(lián)的本地中斷控制器330。在操作775,可以觸發(fā)授權(quán)的處理器核心210執(zhí)行中斷處理程序 134以對(duì)未決中斷進(jìn)行服務(wù)。一旦中斷處理程序134的執(zhí)行完成,被授權(quán)的處理器核心210 就可以恢復(fù)執(zhí)行它的當(dāng)前任務(wù)305。在操作780,中斷控制器220可以對(duì)其優(yōu)選處理器核心210的有序列表進(jìn)行更新。 中斷控制器220可以對(duì)仲裁器消息430A、430B將中斷授權(quán)給處理器核心210進(jìn)行檢查。如 果仲裁器消息未將未決中斷指派給最優(yōu)選處理器核心210,則中斷控制器220可以對(duì)其優(yōu) 選處理器核心210的指派進(jìn)行更新,以使得被授權(quán)了對(duì)于未決中斷的控制的處理器核心 210在有序列表中向上移動(dòng)以及可以變成列表上的新的優(yōu)選處理器核心210。優(yōu)選處理器 核心210的有序列表的該更新可以在該具體中斷的下一個(gè)實(shí)例期間被使用。過(guò)程700在操 作780之后可以終止?,F(xiàn)在轉(zhuǎn)到圖8,框圖示出根據(jù)本公開(kāi)的、被設(shè)置成用于多處理器中斷最優(yōu)化的示例 計(jì)算設(shè)備10。在非常基本的結(jié)構(gòu)11中,計(jì)算設(shè)備10 —般包括一個(gè)或更多個(gè)處理器12以及 系統(tǒng)存儲(chǔ)器20。存儲(chǔ)器總線30可以被用于處理器12與系統(tǒng)存儲(chǔ)器20之間的通信。依據(jù)期望的結(jié)構(gòu),處理器12可以是任何類型,包括但不限于微處理器(μ P)、微 控制器(μ C)、數(shù)字信號(hào)處理器(DSP)、或者其任意組合。處理器12可以包括一個(gè)更多等級(jí) 的高速緩存(如,等級(jí)一高速緩存16和等級(jí)二高速緩存17)、處理器核心13、以及寄存器 14。例子處理器核心13可以包括運(yùn)算邏輯單元(ALU)、浮點(diǎn)單元(FPU)、數(shù)字信號(hào)處理核心 (DSP核心)或者其任意的組合。例子存儲(chǔ)器控制器15也可以被用于處理器12,或者在一 些實(shí)施中,存儲(chǔ)器控制器15可以是處理器12內(nèi)部的一部分。根據(jù)所期望的結(jié)構(gòu),系統(tǒng)存儲(chǔ)器20可以是任何類型的,包括但不限于易失性存儲(chǔ) 器(如,RAM)、非易失性存儲(chǔ)器(如,ROM、快擦寫(xiě)存儲(chǔ)器等)或者其任意的組合。系統(tǒng)存儲(chǔ) 器20可以包括操作系統(tǒng)21、一個(gè)或多個(gè)應(yīng)用22以及程序數(shù)據(jù)24。應(yīng)用22可以包括被設(shè) 置成用于支持多個(gè)處理器的虛擬化的虛擬多處理器中斷最優(yōu)化23或者多處理器,為本文 中所公開(kāi)的中斷最優(yōu)化所支持。如下面將要進(jìn)一步描述的,程序數(shù)據(jù)24包括多處理器中斷 最優(yōu)化數(shù)據(jù)25。在一些實(shí)施例中,應(yīng)用22可以被設(shè)置成用于通過(guò)程序數(shù)據(jù)24在操作系統(tǒng) 21上進(jìn)行操作,以使得如本文中所討論的具有中斷最優(yōu)化的多處理器可以作為計(jì)算設(shè)備10上的虛擬計(jì)算環(huán)境被操作。計(jì)算設(shè)備10還可以支持一個(gè)或更多個(gè)多處理器作為其處理 器12。如本文中所討論的,一個(gè)或更多個(gè)的這些多處理器可以將中斷最優(yōu)化作為特征。所 描述的基本配置在圖8中由虛線11內(nèi)的那些部件進(jìn)行示例。計(jì)算設(shè)備10可以具有附加的特征或功能性、以及附加的接口以促進(jìn)基本結(jié)構(gòu)11 與任何所需的設(shè)備和接口之間的通信。例如,總線/接口控制器40可以被用來(lái)促進(jìn)基本結(jié) 構(gòu)11與一個(gè)或更多個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備50之間通過(guò)存儲(chǔ)接口總線41的通信。數(shù)據(jù)存儲(chǔ)設(shè)備 50可以是可移除的存儲(chǔ)設(shè)備51、不可移除的存儲(chǔ)設(shè)備52或者其組合。僅舉幾例,可移除的 存儲(chǔ)設(shè)備和不可移除的存儲(chǔ)設(shè)備的例子包括諸如軟盤(pán)驅(qū)動(dòng)以及硬盤(pán)驅(qū)動(dòng)(HDD)的磁盤(pán)設(shè) 備、諸如壓縮盤(pán)(CD)驅(qū)動(dòng)或數(shù)字多功能光盤(pán)(DVD)驅(qū)動(dòng)的光盤(pán)驅(qū)動(dòng)、固態(tài)驅(qū)動(dòng)(SSD)以及 磁帶驅(qū)動(dòng)。示例計(jì)算機(jī)存儲(chǔ)媒體可以包括以用于信息(如,計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程 序模塊或者其它數(shù)據(jù))的存儲(chǔ)的任意方法或技術(shù)來(lái)實(shí)施的易失性的和非易失性的、可移除 的和不可移除的媒體。系統(tǒng)存儲(chǔ)器20、可移除的存儲(chǔ)51以及不可 移除的存儲(chǔ)52是計(jì)算機(jī)存儲(chǔ)媒體的所 有例子。計(jì)算機(jī)存儲(chǔ)媒體包括但不限于RAM、R0M、EEPR0M、閃存或其它的存儲(chǔ)技術(shù)、CD-ROM、 數(shù)字多功能光盤(pán)(DVD)或者其它的光存儲(chǔ)、磁盒、磁帶、磁盤(pán)存儲(chǔ)或其它的磁存儲(chǔ)設(shè)備,或 者可以被用來(lái)存儲(chǔ)所期望的信息以及可以被計(jì)算設(shè)備10訪問(wèn)的任何其它的介質(zhì)。任何這 種計(jì)算機(jī)存儲(chǔ)媒體都可以是設(shè)備10的一部分。計(jì)算設(shè)備10還可以包括用于促進(jìn)通過(guò)總線/接口控制器40從各種接口設(shè)備(例 如,輸出接口、外設(shè)接口以及通信接口)到基本配置11的通信的接口總線42。例子輸出設(shè) 備60包括圖形處理單元61和音頻處理單元62,其可以被配置成用于通過(guò)一個(gè)或更多個(gè)A/ V端口 63與諸如顯示器或揚(yáng)聲器的各種外部設(shè)備進(jìn)行通信。示例外圍設(shè)備接口 70包括串 行接口控制器71或并行接口控制器72,其可以被配置成用于通過(guò)一個(gè)或更多個(gè)I/O端口 73與諸如輸入設(shè)備(例如,鍵盤(pán)、鼠標(biāo)、筆、聲音輸入設(shè)備、觸摸輸入設(shè)備等)或其它外圍設(shè) 備(例如,打印機(jī)、掃描儀等)的外部設(shè)備進(jìn)行通信。例子通信設(shè)備80包括網(wǎng)絡(luò)控制器81, 其可以被設(shè)置成用于促進(jìn)與通過(guò)一個(gè)或更多個(gè)通信端口 82在網(wǎng)絡(luò)通信鏈接上與一個(gè)或更 多個(gè)其它的計(jì)算設(shè)備90的通信。網(wǎng)絡(luò)通信鏈接可以是通信媒體的一個(gè)例子。通信媒體一般可以由計(jì)算機(jī)可讀指 令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或者被調(diào)制的數(shù)據(jù)信號(hào)(如,載波或其它傳送機(jī)制)中的其它數(shù)據(jù) 來(lái)實(shí)施,以及可以包括任何信息輸送媒體?!氨徽{(diào)制的數(shù)據(jù)信號(hào)”是其特性中的一個(gè)或更多 個(gè)特性以在信號(hào)中對(duì)信息進(jìn)行編碼的方式被設(shè)置或被改變的信號(hào)。以例子而非限制的方 式,通信媒體可以包括有線媒體(如,有線網(wǎng)絡(luò)或者直接連線的連接)、以及無(wú)線媒體(如, 聲、射頻(RF)、微波、紅外線(IR)以及其它的無(wú)線媒體)。本文中所使用的術(shù)語(yǔ)計(jì)算機(jī)可讀 媒體可以包括存儲(chǔ)媒體和通信媒體這二者。計(jì)算設(shè)備10可以作為小型封裝便攜(或移動(dòng))電子設(shè)備(如,蜂窩電話、個(gè)人數(shù) 字助理(PDA)、個(gè)人媒體播放器設(shè)備、無(wú)線網(wǎng)絡(luò)監(jiān)視設(shè)備、個(gè)人耳機(jī)設(shè)備、專用設(shè)備或者包括 以上功能中的任意功能的混合設(shè)備)的一部分被實(shí)施。本公開(kāi)并未根據(jù)本申請(qǐng)中所描述的特定實(shí)施例而受到限制,這些實(shí)施例旨在對(duì)各 種方面進(jìn)行說(shuō)明。如對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō)將會(huì)是明顯的那樣,可以進(jìn)行許多修改和變 化而并不脫離其精神和范圍。本公開(kāi)的范圍內(nèi)的功能上等同的方法和裝置以及本申請(qǐng)中所列舉的那些,根據(jù)以上的描述對(duì)于本領(lǐng)域技術(shù)人員將會(huì)是明顯的。這種修改和變化旨在落 入所附權(quán)利要求的范圍內(nèi)。本公開(kāi)僅由所附權(quán)利要求的術(shù)語(yǔ)連同這種權(quán)利要求被冠以的等 同物的全部范圍來(lái)進(jìn)行限制。要理解的是,本公開(kāi)不限于特定的方法、系統(tǒng)、部件、裝置或組 件,其當(dāng)然可以變化。還要理解的是,本申請(qǐng)中所使用的技術(shù)術(shù)語(yǔ)僅用于對(duì)特定的實(shí)施例進(jìn) 行描述的目的,并非旨在進(jìn)行限制。針對(duì)本申請(qǐng)中所使用的任何基本上為復(fù)數(shù)的和/或單數(shù)的術(shù)語(yǔ),本領(lǐng)域技術(shù)人員 可以適合于情況和/或應(yīng)用進(jìn)行從復(fù)數(shù)到單數(shù)和/或從單數(shù)到復(fù)數(shù)的詮釋。在本申請(qǐng)中為 了清楚起見(jiàn)而明確地闡述了各種單/復(fù)數(shù)變化。本領(lǐng)域技術(shù)人員將會(huì)理解的是,通常,本申請(qǐng)中、特別是所附權(quán)利要求(例如所附 權(quán)利要求的主體)中所使用的術(shù)語(yǔ)通常旨在作為“開(kāi)放式的”術(shù)語(yǔ)(例如,術(shù)語(yǔ)“包括”應(yīng)當(dāng) 被解釋成“包括但不限于”、術(shù)語(yǔ)“具有”應(yīng)當(dāng)被解釋成“至少具有”、術(shù)語(yǔ)“包含”應(yīng)當(dāng)被解釋 成“包含但不限于”、等等)。本領(lǐng)域技術(shù)人員將會(huì)進(jìn)一步理解的是,如果旨在引入具體數(shù)量 的權(quán)利要求重述,這種意圖將會(huì)被明確地表述在權(quán)利要求中,而在沒(méi)有這種表述的情況下, 則不存在這種意圖。例如,作為對(duì)理解的輔助,隨后的所附權(quán)利要求可以包含使用引導(dǎo)性的 用語(yǔ) “至少一個(gè)”和“一個(gè)或多個(gè)”,以引入權(quán)利要求的重述。然而,使用這些用語(yǔ)不應(yīng)當(dāng)被 解釋成隱含通過(guò)不定冠詞“一”或“一個(gè)”來(lái)引入權(quán)利要求的重述而將任何包含這種引入權(quán) 利要求重述的特定權(quán)利要求限制于僅包含一個(gè)這種重述的實(shí)施例,即使是當(dāng)同樣的權(quán)利要 求包括引導(dǎo)性的用語(yǔ)“一個(gè)或多個(gè)”或“至少一個(gè)”和諸如“一”、“一個(gè)”的不定冠詞的時(shí)候 (例如,“一”和/或“一個(gè)” 一般應(yīng)當(dāng)被闡釋成意思是“至少一個(gè)”或“一個(gè)或更多個(gè)”);同 樣的內(nèi)容對(duì)于被用來(lái)引入權(quán)利要求重述的定冠詞的使用同樣適用。另外,即使具體數(shù)量的 引入的權(quán)利要求重述被明確地表述,本領(lǐng)域技術(shù)人員將會(huì)認(rèn)識(shí)到的是,這種重述應(yīng)當(dāng)被解 釋成意思是至少為所表述的數(shù)量(例如,僅有“兩個(gè)重述”的表述在沒(méi)有其它修改內(nèi)容的情 況下意思是至少兩個(gè)重述、或者兩個(gè)或更多個(gè)重述)。此外,在使用類似于“A、B以及C等 等中的至少一個(gè)”的習(xí)慣用法的那些情形中,這種習(xí)慣用法通常旨在從本領(lǐng)域技術(shù)人員將 會(huì)理解該習(xí)慣用法的角度出發(fā)(例如,“具有A、B以及C中的至少一個(gè)的系統(tǒng)”將會(huì)包括但 不限于只具有A、只具有B、只具有C、同時(shí)具有A和B、同時(shí)具有A和C、同時(shí)具有B和C、和 /或同時(shí)具有A、B和C等等的系統(tǒng))。在使用類似于“A、B或者C等等中的至少一個(gè)”的習(xí) 慣用法的那些情形中,這種習(xí)慣用法通常旨在從本領(lǐng)域技術(shù)人員將會(huì)理解該習(xí)慣用法的角 度出發(fā)(例如,“具有A、B或者C中的至少一個(gè)的系統(tǒng)”將會(huì)包括但不限于只具有A、只具有 B、只具有C、同時(shí)具有A和B、同時(shí)具有A和C、同時(shí)具有B和C、和/或同時(shí)具有A、B和C等 等的系統(tǒng))。本領(lǐng)域技術(shù)人員將會(huì)進(jìn)一步理解的是,任何出現(xiàn)了兩個(gè)或更多個(gè)可替選的術(shù)語(yǔ) 的分開(kāi)的詞語(yǔ)和/或用語(yǔ)(無(wú)論在說(shuō)明書(shū)、權(quán)利要求還是附圖中)實(shí)質(zhì)上均應(yīng)當(dāng)被理解成 預(yù)見(jiàn)了包括這些術(shù)語(yǔ)中的一個(gè)、術(shù)語(yǔ)中的任一個(gè)、或者兩個(gè)術(shù)語(yǔ)的這些可能性。例如,用語(yǔ) "A或B”將會(huì)被理解成包括“A”或者“B”或者“A和B”的可能性。另外,在本公開(kāi)的特征或方面以馬庫(kù)什組的形式被描述之處,本領(lǐng)域技術(shù)人員將 會(huì)認(rèn)識(shí)到的是,本公開(kāi)也因而以馬庫(kù)什組的成分中的任意的各個(gè)成分或子組的形式被描 述。如本領(lǐng)域技術(shù)人員將會(huì)理解的,為了任何的以及所有的目的,例如在提供書(shū)面說(shuō) 明書(shū)的方面,本申請(qǐng)中所公開(kāi)的所有范圍也涵蓋任何的以及所有的可能的子范圍以及其子范圍的組合。任何所列出的范圍均能夠被容易地識(shí)別成充分的描述以及使同樣的范圍能夠 至少被分解成同等的兩部分、三部分、四部分、五部分、十部分,等等。作為非限制性的例子, 本申請(qǐng)中所討論的每個(gè)范圍均能夠被容易地分解成下三分之一、中三分之一以及上三分之 一等。如本領(lǐng)域技術(shù)人員還將會(huì)理解的,諸如“直到”、“至少”、“大 于”、“小于”等的所有語(yǔ) 言均包括所表述的數(shù)量并且是指能夠隨之被分解成如以上所討論的子范圍的范圍。最后, 如本領(lǐng)域技術(shù)人員將會(huì)理解的,范圍包括各個(gè)單獨(dú)的成分。所以,例如,具有1-3個(gè)單元的 組是指具有1、2或者3個(gè)單元的組。類似地,具有1-5個(gè)單元的組是指具有1、2、3、4或者 5個(gè)單元的組等。
權(quán)利要求
一種用于在多處理器計(jì)算系統(tǒng)內(nèi)對(duì)中斷進(jìn)行處理的方法,所述方法包括確立多處理器計(jì)算系統(tǒng)內(nèi)用于執(zhí)行中斷處理程序的優(yōu)選處理器;接收與所述中斷處理程序相關(guān)聯(lián)的中斷;響應(yīng)于接收所述中斷,確定一個(gè)或更多個(gè)接受執(zhí)行所述中斷處理程序的處理器;以及由仲裁器確定所述中斷處理程序到接受執(zhí)行的所述處理器中的一個(gè)處理器的指派。
2.如權(quán)利要求1所述的方法,其中,所述中斷處理程序的指派包括響應(yīng)于所述優(yōu)選處 理器是接受執(zhí)行的所述處理器中的一個(gè)處理器,將所述中斷處理程序指派給所述優(yōu)選處理器。
3.如權(quán)利要求1所述的方法,其中,響應(yīng)于與相應(yīng)處理器的當(dāng)前任務(wù)相關(guān)聯(lián)的第一優(yōu) 先級(jí)低于與所述中斷處理程序相關(guān)聯(lián)的第二優(yōu)先級(jí),發(fā)生接受執(zhí)行。
4.如權(quán)利要求1所述的方法,還包括將所述優(yōu)選處理器更新為執(zhí)行所述中斷處理程 序的最近處理器。
5.如權(quán)利要求1所述的方法,其中,將一個(gè)或更多個(gè)接受處理器確定為候選包括響應(yīng) 于將接收到的中斷提供給相應(yīng)接受處理器,從所述處理器接收接受消息。
6.如權(quán)利要求1所述的方法,其中,用于執(zhí)行中斷處理程序的優(yōu)選處理器被指定為處 理器的有序列表。
7.如權(quán)利要求1所述的方法,其中,所述優(yōu)選處理器是執(zhí)行所述中斷處理程序的最近 處理器。
8.一種用于在多處理器計(jì)算系統(tǒng)內(nèi)對(duì)中斷進(jìn)行處理的系統(tǒng),所述系統(tǒng)包括多個(gè)處理器核心;中斷線,用于向所述多處理器請(qǐng)求中斷服務(wù);以及中斷控制器模塊,用于維持針對(duì)多個(gè)處理器核心中的一個(gè)優(yōu)選處理器核心的聯(lián)系以對(duì)中斷進(jìn)行服務(wù),從所述中斷線接收所述中斷,確定多個(gè)處理器核心中的哪個(gè)處理器核心請(qǐng)求該所述中斷,以及響應(yīng)于多個(gè)處理器核心中的一個(gè)優(yōu)選處理器核心請(qǐng)求所述中斷,將所述中斷分配給所 述多個(gè)處理器核心中的所述一個(gè)優(yōu)選處理器核心。
9.如權(quán)利要求8所述的系統(tǒng),其中,請(qǐng)求所述中斷的任何處理器核心是空閑的或者正 在執(zhí)行優(yōu)先級(jí)低于與所述中斷相關(guān)聯(lián)的優(yōu)先級(jí)的當(dāng)前任務(wù)。
10.如權(quán)利要求8所述的系統(tǒng),其中,所述多個(gè)處理器核心中的一個(gè)優(yōu)選處理器核心是 對(duì)所述中斷進(jìn)行服務(wù)的最近處理器。
11.如權(quán)利要求8所述的系統(tǒng),其中,所述中斷控制器模塊還用于將所述多個(gè)處理器 核心中的所述一個(gè)優(yōu)選處理器核心更新成對(duì)所述中斷進(jìn)行服務(wù)的最近處理器。
12.如權(quán)利要求8所述的系統(tǒng),其中,確定多個(gè)處理器核心中的哪個(gè)處理器核心請(qǐng)求所 述中斷包括從請(qǐng)求所述中斷的處理器核心中的每個(gè)處理器核心接收請(qǐng)求消息。
13.如權(quán)利要求12所述的系統(tǒng),其中,指定了最大時(shí)間窗口以接收所述請(qǐng)求消息。
14.如權(quán)利要求8所述的系統(tǒng),其中,所述中斷控制器模塊還用于將授權(quán)消息傳輸給 所述中斷處理程序的處理器核心中被指派執(zhí)行的一個(gè)處理器核心。
15.一種計(jì)算機(jī)存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)可執(zhí)行的指令,所述指令在被計(jì)算機(jī)系統(tǒng)執(zhí)行時(shí),使得計(jì)算機(jī)系統(tǒng)接收與中斷處理程序相關(guān)聯(lián)的中斷; 將接收到的中斷提供給一個(gè)或更多個(gè)處理器;以及響應(yīng)于由仲裁器將接收到的中斷指派給所述處理器中的一個(gè)處理器,將該處理器確定 為優(yōu)選處理器。
16.如權(quán)利要求15所述的計(jì)算機(jī)存儲(chǔ)介質(zhì),其中,所述仲裁器從接受接收到的中斷的 處理器接收請(qǐng)求,并響應(yīng)于所述優(yōu)選處理器是接受接收到的中斷的處理器中的一個(gè)處理 器,將所述中斷處理程序指派給所述處理器中的一個(gè)處理器。
17.如權(quán)利要求16所述的計(jì)算機(jī)存儲(chǔ)介質(zhì),其中,接受執(zhí)行的一個(gè)或更多個(gè)處理器包 括空閑的或者正在執(zhí)行優(yōu)先級(jí)低于與所述中斷處理程序相關(guān)聯(lián)的優(yōu)先級(jí)的相應(yīng)任務(wù)的每 一個(gè)接受處理器核心。
18.如權(quán)利要求16所述的計(jì)算機(jī)存儲(chǔ)介質(zhì),其中,優(yōu)選處理器核心由優(yōu)選處理器核心 的有序列表來(lái)指定。
19.如權(quán)利要求18所述的計(jì)算機(jī)存儲(chǔ)介質(zhì),其中,對(duì)所述中斷處理程序進(jìn)行指派包括 按照由優(yōu)選處理器核心的有序列表的順序所指定的,將優(yōu)選給予接受執(zhí)行的處理器。
20.如權(quán)利要求15所述的計(jì)算機(jī)存儲(chǔ)介質(zhì),還包括使計(jì)算機(jī)系統(tǒng)將授權(quán)消息傳輸給 接收對(duì)接收到的中斷的指派的處理器。
21.一種用于針對(duì)多個(gè)處理器對(duì)外部中斷進(jìn)行最優(yōu)化的方法,所述方法包括 在與所述處理器中的一個(gè)處理器相關(guān)聯(lián)的本地中斷控制器處接收提供以執(zhí)行與中斷相關(guān)聯(lián)的中斷處理程序,所述提供指定所述中斷處理程序的優(yōu)先級(jí);響應(yīng)于所述處理器執(zhí)行優(yōu)先級(jí)低于所述中斷處理程序的指定的優(yōu)先級(jí)的任務(wù),確定請(qǐng) 求對(duì)所提供的中斷的控制;響應(yīng)于確定請(qǐng)求對(duì)所提供的中斷的控制,向中斷仲裁器請(qǐng)求對(duì)所提供的中斷的控制;以及響應(yīng)于從所述中斷仲裁器接收到授權(quán),執(zhí)行所述中斷處理程序。
22.如權(quán)利要求21所述的方法,還包括維持與所述中斷處理程序相關(guān)聯(lián)的優(yōu)先級(jí)以由主中斷控制器收回; 響應(yīng)于接收所述中斷,在所述主中斷控制器生成所述提供;以及 將所述提供從所述主中斷控制器傳輸?shù)剿霰镜刂袛嗫刂破鳌?br> 23.如權(quán)利要求21所述的方法,還包括在所述中斷仲裁器接收對(duì)于所提供的中斷的控制的請(qǐng)求;響應(yīng)于接收到所述請(qǐng)求以及所述處理器是所述中斷處理程序的優(yōu)選處理器,由所述中 斷仲裁器將所述中斷處理程序指派給所述處理器;以及響應(yīng)于將所述中斷處理程序指派給所述處理器,將授權(quán)從所述中斷仲裁器傳輸給所述 本地中斷控制器。
全文摘要
本發(fā)明涉及用于多處理器的中斷最優(yōu)化。本文中對(duì)技術(shù)進(jìn)行了描述以用于在多處理器計(jì)算系統(tǒng)內(nèi)對(duì)中斷進(jìn)行處理。被傳遞給中斷控制器模塊的信息可以支持對(duì)中斷響應(yīng)資源進(jìn)行分配,以維持處理器與中斷服務(wù)例程的聯(lián)系。通過(guò)在先前執(zhí)行了中斷處理程序的處理器上執(zhí)行特定中斷處理程序,該聯(lián)系可以支持高速緩存效率。高速緩存效率可以與將中斷處理程序的執(zhí)行指派給當(dāng)前空閑或者當(dāng)前正在處理較低優(yōu)先級(jí)任務(wù)的另一處理器的好處相平衡。
文檔編號(hào)G06F9/48GK101872315SQ201010124820
公開(kāi)日2010年10月27日 申請(qǐng)日期2010年2月26日 優(yōu)先權(quán)日2009年4月24日
發(fā)明者安德魯·沃爾夫 申請(qǐng)人:勒斯塔爾技術(shù)有限責(zé)任公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1