欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于帶有專用線程管理的多核處理的方法和設(shè)備的制作方法

文檔序號:6569910閱讀:240來源:國知局
專利名稱:用于帶有專用線程管理的多核處理的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及到通過多個處理器核執(zhí)行計算機(jī)指令的方法和設(shè)備,特 別涉及到使用專用線程管理以通過多個處理器核執(zhí)行計算機(jī)指令。
背景技術(shù)
對各種應(yīng)用(如多媒體、網(wǎng)絡(luò)連接、以及高性能計算)的計算需求 在復(fù)雜性和要處理的數(shù)據(jù)的量上都有所增加。與此同時,僅僅通過增加時 鐘速度來提高微處理器性能變得日益困難,這是因為相對于能耗以及所需 的散熱的增加,在性能改進(jìn)方面其工藝技術(shù)上的改進(jìn)現(xiàn)在已經(jīng)達(dá)到了回報 正日益減小的點(diǎn)。考慮到這些限制,并行處理開始成為在改進(jìn)微處理器性 能上的一種有希望的選擇。線程級并4亍(Thread-level parallelism, TLP )是一種并行處理技術(shù), 在該技術(shù)中,程序線程并發(fā)運(yùn)行,提高了應(yīng)用的整體性能。從廣義上而言, 存在兩種形式的TLP:并發(fā)多線程(SMT),以及片上多處理器(CMP )。
SMT在一個處理單元上復(fù)制寄存器和程序計數(shù)器,使得多個線程的 狀態(tài)能被一次存儲。在一個SMT處理器中,這些線程每次被部分執(zhí)行, 處理器在線程間快速地切換執(zhí)行,提供了執(zhí)行的虛擬并發(fā)。這種能力的獲 得以增加處理單元的復(fù)雜性、以及所復(fù)制的寄存器和計數(shù)器所需要的額外 硬件為代價。此外,并發(fā)仍然是"虛擬的,, 一一雖然該方法提供了快速的 線程切換,但它并沒有克服在任意給定的時間內(nèi)只有一個線程被實際執(zhí)行 這一最基本的局限。CMP包括至少兩個處理單元,每個處理單元才丸行其自己的線程。與 SMT處理器相比,CMP提供了真正的并發(fā),但它的性能會潛在地受到當(dāng)
一個在指定處理單元上運(yùn)行的線程需要切換時所產(chǎn)生的延遲的影響。這些
現(xiàn)有技術(shù)CMP的基本問題是線程管理任務(wù)在CMP自身的一個或多個處理
單元上以軟件的方式執(zhí)行,在很多情況下,要訪問芯片外存儲器以存儲線 程管理所必需的數(shù)據(jù)結(jié)構(gòu)。這一機(jī)制減少了處理單元的數(shù)量以及線程執(zhí)行 所用到的存儲器帶寬。另外,由于線程管理任務(wù)本身是所要執(zhí)行線程中的 一個,因此在管理處理單元分配、調(diào)度線程的扭j亍以及實時同步目標(biāo)方面
其能力受到制約。最近,SMT和CMP在混合實現(xiàn)中被結(jié)合在一起,其中的多個SMT 處理器被集成到一個芯片上。其結(jié)果是在線程處理中有大量的虛擬和實際 的并行,但目前的混合實現(xiàn)并沒有解決由帶內(nèi)(in-band)線程管理所帶來 的問題。因此,需要一種通過將專用線程管理單元集成到多核處理器以克服 現(xiàn)有技術(shù)的缺陷,從而提供改進(jìn)的微處理器性能的方法和設(shè)備。

發(fā)明內(nèi)容
本發(fā)明通過將專用線程管理集成到CMP克月1了現(xiàn)有的SMT處理器 和CMP的缺點(diǎn),該CMP具有通過片上網(wǎng)絡(luò)互相連"l妻的處理單元、接口塊、 功能塊。在這種體系結(jié)構(gòu)中,帶外發(fā)生的線程管理允許快速、低延遲的線 程切換,而不產(chǎn)生與基于軟件的線程管理線程相關(guān)的開銷。 [OOIO]在一個方面,本發(fā)明提供了一種在一個具有多個處理器核的設(shè)備中 實現(xiàn)多核虛擬的方法。至少一個調(diào)度指令與一個用于執(zhí)行的指令被接收。 響應(yīng)所述的至少一個調(diào)度指令,所述的至少一個用于執(zhí)行的指令被分配到 一個處理器核去執(zhí)行。在一個實施例中,分配該指令可以在帶外進(jìn)行。分 配該至少一個指令可以包括從多個處理器核選擇一個處理器核以執(zhí)4亍該 指令,以及分配該用于執(zhí)行的指令到所選擇的處理器核。該處理器核可以 被選擇,例如,從多個同質(zhì)的處理器核中選擇。處理器核的功率狀態(tài)可以 可選擇地被改變。在另一個實施例中,分配該指令包括識別與所要執(zhí)行的指令相關(guān)的 線程,以及分配所要執(zhí)行的指令到與所識別的線程相關(guān)的處理器核。在又 一個實施例中,分配該指令包括從多個處理器核中根據(jù)功率因素和熱量分 配因素中的至少一個選擇用于執(zhí)行的處理器核,以及分配至少一個用于執(zhí) 行的指令到所選擇的處理器核。在再一個實施例中,分配該指令包括從多
個處理器核中根據(jù)所存儲的處理器狀態(tài)信息選擇用于執(zhí)行的處理器核,以 及分配至少一個用于執(zhí)行的指令到所選擇的處理器核。在一個實施例中,接收至少一個用于執(zhí)行的指令包括接收多個用于 執(zhí)行的線程,每個線程包括至少一個用于執(zhí)行的指令,從所接收的多個用 于執(zhí)行的線程中選擇一個,以及從所選擇的線程接收至少一個用于執(zhí)行的 指令。在各種實施例中,該方法可以包括多個可選擇的步驟。該方法還可 以包括從處理器核接收標(biāo)志其已經(jīng)執(zhí)行了所分配的至少一個指令的消息。 線程狀態(tài)和信息或處理器核的狀態(tài)可以被存儲。在一個處理器核執(zhí)行第一 所分配的指令后,如果檢測到線程間的依賴性,所執(zhí)行的指令在第二所分 配的指令執(zhí)行后可以被再次分配,使得第 一所分配的指令可以沒有線程間 依賴性地被再次4丸行。在另 一個方面,本發(fā)明提供了具有多個處理器核以及線程管理單元 的設(shè)備,該設(shè)備接收用于執(zhí)行的指令和調(diào)度指令,并分配用于執(zhí)行的指令 到處理器核以響應(yīng)該調(diào)度指令。多個處理器核可以是同質(zhì)的,并且線程管 理單元可以只以^哽件或以石更件和軟件相結(jié)合的方式實現(xiàn)??梢砸圆煌乃?度運(yùn)行的多個處理器核可以在一個網(wǎng)絡(luò)中互相連接,或通過網(wǎng)絡(luò)連接,該 網(wǎng)絡(luò)可以是光學(xué)的。該設(shè)備還可以包括至少一個外圍設(shè)備。
線程管理單元可以包括一個或多個狀態(tài)機(jī),微處理器,以及專用存 儲器。該微處理器可以被專用于調(diào)度、線程管理、以及資源分配中的一個 或多個。線程管理單元可以被專用于存儲線程和資源信息。
在又一個方面,本發(fā)明提供了一種編譯軟件程序的方法??删幾g的
句被創(chuàng)建。增加機(jī)器可讀目標(biāo)代碼語句,以通知線程管理單元分配所創(chuàng)建 的機(jī)器可讀目標(biāo)代碼語句到處理器核。該方法還可以包括重復(fù)創(chuàng)建機(jī)器可讀目標(biāo)代碼語句,從而提供多個 所創(chuàng)建的機(jī)器可讀目標(biāo)代碼語句以及所述多個語句的組合到多個線程中, 每對線程通過邊界相分離。在這個實施例中,所述增加用于通知線程管理 單元的語句包括于線程間邊界增加用于通知線程管理單元的機(jī)器可讀目 標(biāo)代碼語句。在又一個實施例中,所述增加用于通知線程管理單元的語句 包括增加用于響應(yīng)可編"i奪源代碼語句通知線程管理單元的機(jī)器可讀目標(biāo) 代碼語句,該可編譯源代碼語句標(biāo)志了線程間的邊界。通過下面的描述、附圖以及權(quán)利要求,本發(fā)明的前述以及其它特征
和優(yōu)點(diǎn)將會更為明顯。


本發(fā)明的優(yōu)點(diǎn)通過參考以下附圖并結(jié)合以下相應(yīng)說明可以被更好地 理解圖1為在一個多核環(huán)境中提供了專用線程管理的本發(fā)明的一個實施 例的框圖;圖2為根據(jù)本發(fā)明在一個具有多個處理器核的設(shè)備中提供多核虛擬 化方法的流程圖;圖3為線程管理單元的一個實施例的框圖;以及
圖。;、 , 、、、 、 、、、、在這些圖中,相同的引用標(biāo)記一般是指從不同角度所涉及的相同部 分。這些圖并不是必要地4要比例畫出,其重點(diǎn)應(yīng)放在本發(fā)明的原則和扭X念 上。
具體實施例方式本發(fā)明的實施例通過將專用線程管理集成到CMP克服了當(dāng)前的多 核技術(shù)的缺陷,該CMP具有互相連接的處理單元、接口塊、功能塊???以只以硬件或以硬件和軟件的結(jié)合實現(xiàn)線程管理,從而在無需基于軟件的 線程管理線程的開銷下允許線程切換。本發(fā)明的硬件實施例并不需要SMT方法中的復(fù)制的寄存器和程序 計數(shù)器,使得它比SMT更簡單而且更便宜,盡管在本發(fā)明的方法和設(shè)備 中結(jié)合使用SMT能夠帶來額外的益處。使用片上網(wǎng)絡(luò)以連接系統(tǒng)塊,包 括管理單元本身,提供了一種空間有效且可縮放的連接,該連接允許使用 大量的處理單元和功能塊,同時為功率消耗管理提供靈活性。該線程管理 單元與功能塊進(jìn)行通信,管理處理單元,并在系統(tǒng)中進(jìn)行資源分配、線程 調(diào)度、以及目標(biāo)同步。本發(fā)明的實施例通過結(jié)合片上網(wǎng)絡(luò)體系結(jié)構(gòu)以 一種成本有效的方式 改進(jìn)了線程級并行性,該體系結(jié)構(gòu)將大量的處理單元集成到具有專用線程 管理單元的單個集成電路中,該專用線程管理單元在帶外運(yùn)行,也就是,獨(dú)立于任意的特定處理單元。在一個實施例中,線程管理單元完全以硬件 實現(xiàn),通常是帶有其自己的專用存儲器和具有到其它功能塊的全局通路。 在其他實施例中,線程管理單元可以被基本上或部分地以硬件實現(xiàn)。在處理單元的片上網(wǎng)絡(luò)中使用專用線程管理單元消除了現(xiàn)有SMT 和CMP方法的固有開銷,其中的線程管理由軟件線程本身實現(xiàn),導(dǎo)致了 性能的全面改進(jìn)。本發(fā)明的實施例認(rèn)識到通過實現(xiàn)線程管理的全局性,而 不是對特定處理單元的局部性,可以比現(xiàn)有的SMT方法在執(zhí)行上有更多 的并行性。線程管理的全局化也提供了更好的資源分配、更高的處理器利 用率、以及全局的功率管理。
體系結(jié)構(gòu)參考圖1,本發(fā)明的一個典型實施例包括至少兩個處理單元100、線 程管理單元104、片上網(wǎng)絡(luò)互連108,以及一些可選擇的組件,例如包括 功能塊112,這些功能塊可以例如是外部接口 ,其具有網(wǎng)絡(luò)接口單元(未 明確顯示),例如是具有網(wǎng)絡(luò)接口單元(同樣沒有明確顯示)的外部存儲 器接口 116。每個處理單元100包括,例如,微處理器核、數(shù)據(jù)和指令高速緩存、 以及網(wǎng)絡(luò)接口單元。正如圖2中的描述,線程管理單元104的實施例典型 地包括微處理器核或狀態(tài)機(jī)200、專用存儲器204,以及網(wǎng)絡(luò)接口單元208。 網(wǎng)絡(luò)互連108典型地包括至少一個路由器120以及連接路由器120到處理 單元100的網(wǎng)絡(luò)接口單元或網(wǎng)絡(luò)上的其它功能塊112的信號線。
任意節(jié)點(diǎn),如處理器IOO或功能塊112,采用片上網(wǎng)絡(luò)結(jié)構(gòu)108,能 夠與任意的其它節(jié)點(diǎn)通信。這一體系結(jié)構(gòu)允許在一個芯片上存在大量的節(jié) 點(diǎn),例如圖1所示的實施例具有16個處理單元100。每個處理單元100具 有帶有局部緩沖高速存儲器和網(wǎng)絡(luò)接口單元的微處理器核。大量的處理單
元提供了更高水平的并行計算性能。通過片上網(wǎng)絡(luò)體系108與帶外的、專 用線程管理單元104的結(jié)合允許在一個集成電路上實現(xiàn)大量的處理單元。
在一個典型的實施例中,節(jié)點(diǎn)間的通信通過網(wǎng)絡(luò)108以將消息作為 數(shù)據(jù)包發(fā)送的形式發(fā)生,其中包括命令、數(shù)據(jù)、或命令和數(shù)據(jù)的組合。
線程管理單元在運(yùn)行中,當(dāng)處理器被初始化時,線程管理單元開始執(zhí)行,并分配 其中的一個處理單元從存儲器獲取程序指令并執(zhí)行。例如,參考圖3,線 程管理單元在響應(yīng)至少一個調(diào)度指令以分配用于執(zhí)行的程序指令(步驟
308 )前,可以接收至少一個所述調(diào)度指令(步驟300 )和至少一個程序指 令(步驟304)。如果,當(dāng)執(zhí)行所分配的指令時,處理單元遇到一個要產(chǎn)生另一個線 程的程序指令,它通過網(wǎng)絡(luò)發(fā)送消息到線程管理單元。在收到該消息后(步 驟300'), 假如其它處理單元是可用的,線程管理單元為該新線程分配另 一個處理單元以獲取并執(zhí)行指令(步驟308,)。按照此類方式,多個線程 可以在多個處理單元上并發(fā)地被執(zhí)行直到不再有可由線程管理單元分配 的未決線程或不再有可用的處理單元。當(dāng)沒有可用的處理單元可被分配 時,線程管理單元將會在存儲器內(nèi)的一個運(yùn)行隊列中存儲額外的線程。
在一些情況下,線程管理單元中的調(diào)度邏輯可以中斷正在執(zhí)行的線 程并用一個具有更高優(yōu)先級的線程取代。在這種情況下,被中斷的線程將 會被插入到運(yùn)行隊列中使得當(dāng) 一個處理單元變?yōu)榭捎脿顟B(tài)時,該線程能被 重新運(yùn)行。當(dāng)一個給定的處理單元完成與所分配的線程相關(guān)聯(lián)的指令的執(zhí)行 時,該處理單元發(fā)送一個消息到線程管理單元,標(biāo)志它現(xiàn)在已經(jīng)空閑(步 驟300")。線程管理單元現(xiàn)在可以分配一個新的線程到空閑的處理單元中 執(zhí)行(步驟308")并且這一處理過程只要存在需要執(zhí)行的線程就將被重復(fù) 進(jìn)行。在一些實施例中,線程管理單元可以空置一個空閑的處理單元以減 少總體的功率消耗,或者在一些情況下可以將一個正在執(zhí)行的線程從一個 物理的處理單元移到另一個以改善能量負(fù)載的分配和熱量的散發(fā)。
線程管理單元另外還監(jiān)視芯片上的處理單元和功能塊的狀態(tài)以檢測 任何的停止?fàn)顩r,也就是說,其中的一個處理單元等待另一個處理單元或 功能塊以執(zhí)行指令。線程管理單元還跟蹤各個線程的狀態(tài),例如,像運(yùn)行、 睡眠、等待。線程狀態(tài)信息被存儲在管理單元的本地存儲器中并被管理單 元使用,以在線程執(zhí)行的調(diào)度中做出決定。采用已知的線程狀態(tài)和調(diào)度規(guī)則,例如,可以包括優(yōu)先級、關(guān)聯(lián)性 (affinity)或公平性的任意組合,線程管理單元發(fā)送消息到特定處理單元 以執(zhí)行來自存儲器指定位置的指令。因此,任意處理單元的運(yùn)行在任意給 定的時間,基于由線程管理單元所作出的決定,能以極小的延遲做出改變。 這些由線程管理單元所使用的調(diào)度規(guī)則是可配置的,例如,在啟動時進(jìn)行
配置( boot-up )。進(jìn)一步參考圖2,線程管理單元104的某些實施例可以選擇性地包 含中斷控制器208和系統(tǒng)計時器/計數(shù)器212。在一些實施例中,線程管理 單元104首先接收所有的中斷,然后分發(fā)一個合適的消息到合適的處理單 元或功能塊112以處理該中斷。線程管理單元也可以支持線程和系統(tǒng)資源(如功能塊或外部接口 ) 間的關(guān)聯(lián)性(affinity),以及線程間的關(guān)聯(lián)性。例如,線程可以被編譯器 或與特定處理單元、功能塊、或其它線程相關(guān)聯(lián)的最終用戶指定。線程管 理單元利用線程的關(guān)聯(lián)性來優(yōu)化處理單元的分配,例如,減少運(yùn)行特定線 程的第一處理單元和與所述第一處理單元具有關(guān)聯(lián)性的處理單元或系統(tǒng) 資源間的物理距離。由于線程管理單元并沒有與任何特定的處理單元相關(guān)聯(lián),而是該片 上網(wǎng)絡(luò)中的自治節(jié)點(diǎn),因此線程管理在帶外執(zhí)行。這一方法較在帶內(nèi)處理
統(tǒng)線程管理機(jī)制具有幾個優(yōu)點(diǎn)。首先,帶外管理對于任何的處理單元都不 產(chǎn)生線程管理開銷,解放了處理單元去處理計算任務(wù)。第二,由于在整個 片上網(wǎng)絡(luò)上管理線程和片上資源而非局部管理,它提供了更好的資源分配 和使用,并改進(jìn)了效率和性能。第三,片上網(wǎng)絡(luò)和集中的調(diào)度和同步機(jī)制 的結(jié)合允許多核體系結(jié)構(gòu)擴(kuò)展到成千上萬個處理單元。最后,帶外的線程 管理單元也能空置系統(tǒng)資源以降低功率消耗。如圖3所示,線程管理單元104包括用于存儲信息的專用存儲器204, 這些信息為執(zhí)行對線程的調(diào)度和管理所需要。存儲在存儲器204中的信息 可以包括要調(diào)度執(zhí)行的線程的隊列,各種處理單元和功能單元的狀態(tài), 各種被執(zhí)行的線程的狀態(tài),任一鎖、互斥鎖、或共享的對象的占有權(quán)和訪 問權(quán),以及信號量。由于該專用存儲器204被直接連接到位于線程管理單 元104中的微處理器或狀態(tài)機(jī)200,線程管理單元104能夠在無需訪問共 享或片外存儲器的情況下執(zhí)行它的功能。這導(dǎo)致了調(diào)度和管理任務(wù)的更快 執(zhí)行,也保證了執(zhí)行調(diào)度或管理操作時所需要的時鐘周期的數(shù)目。
軟件開發(fā)過程
處理單元的片上網(wǎng)絡(luò)和專用線程管理單元的組合允許線程管理過程
能被有效率地管理而無需來自軟件開發(fā)者的任何明確指示。因此,軟件開 發(fā)者能夠利用新的或現(xiàn)有的多線程軟件應(yīng)用,并在不修改該應(yīng)用本身的底 層源代碼的情況下,為了在本發(fā)明實施例上執(zhí)行,用專用的編譯器、專用 的連接器、或者上述兩者,處理該應(yīng)用。參考圖4,在一個實施例中,專用的編譯器或連接器將可編譯源代 碼語句(步驟400)切換成與該源代碼語句相應(yīng)的且由位于片上網(wǎng)絡(luò)的處 理器可作為線程執(zhí)行的一個或多個機(jī)器可讀目標(biāo)代碼語句(步驟404)。專 用的編譯器或連接器也添加了特定的機(jī)器可讀目標(biāo)代碼語句,所述語句通 知處理單元開始執(zhí)行與新線程相關(guān)的指令(步驟408)。這些特定語句可以 被放置在例如線程間的邊界處,該邊界或者由編譯器或連接器自動識別, 或者由開發(fā)者特別指定??蛇x的,編譯器或預(yù)處理器可以執(zhí)行靜態(tài)代碼分析以提取并向開發(fā) 者提供關(guān)于并行性的附加時機(jī)。使用并行性的附加時機(jī)能通過對用于更高 層次語言(如JAVA)的運(yùn)行時虛擬機(jī)的實現(xiàn)被實現(xiàn)。
由此可見,前面描述了 一種采用專用線程管理的多核處理的高優(yōu)越 性的方法。此處所用的術(shù)語和表達(dá)被作為描述而非限制,采用上述術(shù)語和 表達(dá)也不是為了排斥與任何所顯示、描述的特征或其部分相等價的內(nèi)容, 但應(yīng)當(dāng)認(rèn)識到各種可能的修改在本發(fā)明的權(quán)利要求范圍內(nèi)都是可能的。
權(quán)利要求
1、一種在具有多個處理器核的設(shè)備中用于多核虛擬化的方法,該方法包括 接收至少一個調(diào)度指令; 接收至少一個用于執(zhí)行的指令;以及 響應(yīng)所述的至少一個調(diào)度指令,分配所述的至少一個用于執(zhí)行的指令到處理器核執(zhí)行。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述分配所述至少一 個指令在帶外進(jìn)行。
3、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述的分配所述的至 少一個指令包括從多個處理器核中選擇一個用于執(zhí)行的處理器核;以及 分配至少一個用于執(zhí)行的指令到所選定的處理器核。
4、 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述的選擇處理器核 包括從多個同質(zhì)的處理器核選擇一個用于執(zhí)行的處理器核。
5、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述的分配所述的至 少一個指令包括識別與所述的至少 一 個用于執(zhí)行的指令相關(guān)的線程;以及 分配至少 一個用于執(zhí)行的指令到與所識別的線程相關(guān)的處理器核。
6、 根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括改變處理器核 的功率狀態(tài)。
7、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述的分配所述的至 少一個指令包括利用功率因素和熱量分配因素中的至少 一個從多個處理器核選擇一 個用于執(zhí)行的處理器核;以及分配至少一個用于執(zhí)行的指令到所選擇的處理器核。
8、 根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括從處理器核接 收標(biāo)志其已經(jīng)執(zhí)行了所分配的至少 一 個指令的消息。
9、 根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括存儲處理器核 的狀態(tài)。
10、 根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括存儲線程狀態(tài) 和4言息。
11、 根據(jù)權(quán)利要求9所述的方法,其特征在于,所述的分配所述的至 少一個指令包括利用所存儲的處理器狀態(tài)信息從多個處理器核中選擇一個用于執(zhí)行的處理器核;以及分配至少一個用于執(zhí)行的指令到所選擇的處理器核。
12、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述的接收至少一個 用于執(zhí)行的指令包括接收多個用于執(zhí)行的線程,每個線程包括至少一個用于執(zhí)行的指令; 從所接收的多個用于執(zhí)行的線程中選擇一個;以及 從所選擇的線程中接收至少一個用于執(zhí)行的指令。
13、 根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括 處理器核執(zhí)行第一所分配的指令后檢測線程間依賴性;以及 在執(zhí)行第二所分配的指令后再次分配所執(zhí)行的指令,其中所述的第二所分配的指令的執(zhí)行允許沒有線程間依賴性地再次執(zhí)行第一所分配的指 令。
14、 一種設(shè)備,包括 多個處理器核;以及 線程管理單元,其中,所述的線程管理單元接收用于執(zhí)行的指令以及調(diào)度指令;以及 線程管理單元分配用于執(zhí)行的指令到處理器核以響應(yīng)調(diào)度指令。
15、 根據(jù)權(quán)利要求14所述的設(shè)備,其特征在于,所述的多個處理器 核是同質(zhì)的。
16、 根據(jù)權(quán)利要求14所述的設(shè)備,其特征在于,所述的線程管理單 元完全以硬件實現(xiàn)。
17、 根據(jù)權(quán)利要求14所述的設(shè)備,其特征在于,所述的線程管理單 元以硬件和軟件實現(xiàn)。
18、 根據(jù)權(quán)利要求14所述的設(shè)備,其特征在于,所述的處理器核在 一個網(wǎng)絡(luò)中互相連接。
19、 根據(jù)權(quán)利要求14所述的設(shè)備,其特征在于,所述的處理器核通 過網(wǎng)絡(luò)連接。
20、 根據(jù)權(quán)利要求14所述的設(shè)備,其特征在于,所述的處理器核通過一個光學(xué)網(wǎng)絡(luò)互相連4矣。
21、 根據(jù)權(quán)利要求14所述的設(shè)備,其特征在于,所述的線程管理單 元包括狀態(tài)4幾。
22、 根據(jù)權(quán)利要求14所述的設(shè)備,其特征在于,所述的線程管理單 元包括被專用于調(diào)度、線程管理、以及資源分配中的一個或多個的微處理 器。
23、 根據(jù)權(quán)利要求14所述的設(shè)備,其特征在于,所述的線程管理單 元包括用于存儲線程和資源信息的專用存儲器。
24、 根據(jù)權(quán)利要求14所述的設(shè)備,其特征在于,還包括至少一個外 圍設(shè)備。
25、 根據(jù)權(quán)利要求14所述的設(shè)備,其特征在于,所述的多個處理器 核中的至少兩個以不同的速度運(yùn)行。
26、 一種編譯軟件程序的方法,該方法包括 接收可編譯的源代碼語句;創(chuàng)建與可編譯源代碼語句相應(yīng)的機(jī)器可讀目標(biāo)代碼語句;以及 增加機(jī)器可讀目標(biāo)代碼語句以用于通知線程管理單元分配所創(chuàng)建的 機(jī)器可讀目標(biāo)代碼語句到處理器核。
27、 根據(jù)權(quán)利要求26所述的方法,其特征在于,還包括重復(fù)創(chuàng)建機(jī)器可讀目標(biāo)代碼語句,以提供多個所創(chuàng)建的機(jī)器可讀目標(biāo) 代碼語句;以及組合所述多個語句到多個線程中,每對線程通過邊界相分離。
28、 根據(jù)權(quán)利要求27所述的方法,其特征在于,所述的增加用于通 知線程管理單元的語句包括于線程間邊界增加用于通知線程管理單元的 機(jī)器可讀目標(biāo)代碼語句。
29、 根據(jù)權(quán)利要求26所述的方法,其特征在于,所述的增加用于信 號通知線程管理單元的語句包括增加用于響應(yīng)標(biāo)志線程間邊界的可編譯 源代碼語句通知線程管理單元的機(jī)器可讀目標(biāo)代碼語句。
全文摘要
在具有通過片上網(wǎng)絡(luò)相互連接的處理單元、接口塊、以及功能塊的CMP上實現(xiàn)專用線程管理的方法和設(shè)備。在各種實施例中,線程管理在帶外實現(xiàn)以允許快速、低延遲的線程切換,而不會產(chǎn)生與基于軟件的線程管理線程相關(guān)的開銷。
文檔編號G06F9/38GK101366004SQ200680046045
公開日2009年2月11日 申請日期2006年12月6日 優(yōu)先權(quán)日2005年12月6日
發(fā)明者A·S·庫蘭德 申請人:波士頓電路公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
鄢陵县| 霍城县| 和龙市| 阿巴嘎旗| 惠来县| 远安县| 屏东市| 尚义县| 鲁甸县| 卢湾区| 利川市| 弥勒县| 全州县| 安岳县| 通江县| 沽源县| 横峰县| 犍为县| 江津市| 广饶县| 波密县| 西安市| 循化| 垣曲县| 临夏市| 新巴尔虎右旗| 康保县| 陈巴尔虎旗| 鲁甸县| 青川县| 龙岩市| 霞浦县| 克什克腾旗| 沅江市| 苍山县| 鄄城县| 奉节县| 车致| 乐陵市| 兴化市| 烟台市|