多核處理器進(jìn)程調(diào)度系統(tǒng)和多核處理器進(jìn)程調(diào)度方法
【專利摘要】本發(fā)明提供一種多核處理器進(jìn)程調(diào)度系統(tǒng)及其多核處理器進(jìn)程調(diào)度方法。該單芯片多處理模塊邏輯裝置判斷一單芯片多處理模塊線程的一中斷級別,根據(jù)該中斷級別決定該單芯片多處理模塊線程的處理順序,根據(jù)該處理順序處理該單芯片多處理模塊線程,并傳送該已處理線程至該單芯片多處理模塊物理裝置。該單芯片多處理模塊物理裝置自該單芯片多處理模塊邏輯裝置接收該已處理線程,判斷該已處理線程的中斷級別,根據(jù)中斷級別決定該已處理線程的處理順序,根據(jù)處理順序處理該已處理程式,并傳送該線程的運(yùn)算結(jié)果至該單芯片多處理模塊邏輯裝置。
【專利說明】多核處理器進(jìn)程調(diào)度系統(tǒng)和多核處理器進(jìn)程調(diào)度方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明提供一種多核處理器進(jìn)程調(diào)度系統(tǒng)及其多核處理器進(jìn)程調(diào)度方法。更具體而言,本發(fā)明提供一種關(guān)在中斷級別排序線程的單芯片多核處理器進(jìn)程調(diào)度系統(tǒng)及其單芯片多核處理器進(jìn)程調(diào)度方法。
【背景技術(shù)】
[0002]單芯片多處理模塊皿11“ 1^0(368801*8,⑶?)是一種專門用來處理多線程運(yùn)算工作的多核微處理器。在云計(jì)算,沒安裝實(shí)體011'的計(jì)算機(jī)(即011'邏輯裝置),仍可通過遠(yuǎn)程接口線程以及網(wǎng)際網(wǎng)路,由云計(jì)算具有實(shí)體011的計(jì)算機(jī)(即011主機(jī)裝置),來協(xié)助處理多線程運(yùn)算工作,以實(shí)現(xiàn)多線程運(yùn)算的資源分配,此即為邏輯0^1運(yùn)算。然而,受限在網(wǎng)絡(luò)頻寬,云計(jì)算的邏輯¢:11運(yùn)算的效能,往往無法有效地發(fā)揮。
[0003]為了使云計(jì)算的邏輯0^運(yùn)算更有效率,一般可針對0^線程的編譯器進(jìn)行改善。具體而言,通過改善0^1邏輯裝置的遠(yuǎn)程接口線程,讓編譯器重新編譯0^1線程,以最佳化遠(yuǎn)程線程接口可使得線程代碼更為精簡。如此便可使0^1邏輯裝置與0^1主機(jī)裝置的間的溝通次數(shù)降低,進(jìn)而提升圖形加速效能。然而,上述方法僅能減少011邏輯裝置與0^1主機(jī)裝置的間的溝通次數(shù),故在需要處理大量的圖片或多線程數(shù)據(jù)的時候,上述方法的效果將相當(dāng)有限除了上述方法,另一種方式是通過監(jiān)控的方式,紀(jì)錄并分析011'主機(jī)裝置的工作量,并當(dāng)需要執(zhí)行¢:11線程時,依據(jù)¢:11主機(jī)裝置的工作量來分配,使得云計(jì)算的所有(^丁主機(jī)裝置的工作量能夠均勻分配。然而,這種方法需要搭配額外的算法,故當(dāng)需要動態(tài)進(jìn)行邏輯0^1運(yùn)算時,就必須重新計(jì)算分配策略,以至在邏輯0^1運(yùn)算的時間增加。
[0004]如何提供更有效地提升云計(jì)算的邏輯0^運(yùn)算的效能,確為所屬【技術(shù)領(lǐng)域】中亟需克服的重要問題。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的主要目的在在提供一種多核處理器進(jìn)程調(diào)度系統(tǒng)及其多核處理器進(jìn)程調(diào)度方法,以提升云計(jì)算的邏輯0^1運(yùn)算的效能。本發(fā)明提供的多核處理器進(jìn)程調(diào)度系統(tǒng)及其多核處理器進(jìn)程調(diào)度方法在偵測到一單芯片多處理模塊線程(即¢:11線程)時,會先行判斷該0^1線程的一中斷級別,并根據(jù)該中斷級別決定該0^1線程的處理順序,以進(jìn)行最佳的排序線程處理。因此,無論是在單芯片多處理模塊邏輯裝置端或是在單芯片多處理模塊物理裝置端,本發(fā)明都可有效地節(jié)省處理0^1線程所需的時間。
[0006]為達(dá)上述目的,本發(fā)明的提供的一種多核處理器進(jìn)程調(diào)度系統(tǒng)包括一種單芯片多處理模塊邏輯裝置和一種與上述單芯片多處理模塊邏輯裝置搭配的單芯片多處理模塊物理裝置。
[0007]本發(fā)明是通過中斷級別的判斷機(jī)制進(jìn)行排序線程處理,以節(jié)省處理0^1線程所需的時間,進(jìn)而提升云計(jì)算的邏輯011運(yùn)算的效能。因此,當(dāng)需要處理大量的圖片或多線程資料的時候,亦或是需要動態(tài)進(jìn)行邏輯¢:11運(yùn)算時,本發(fā)明仍可有效地節(jié)省處理0^線程所需的時間??傃缘?,本發(fā)明可有效地提升云計(jì)算的邏輯011運(yùn)算的效能。
[0008]為達(dá)上述目的,本發(fā)明提供了一種單芯片多處理模塊邏輯裝置。該單芯片多處理模塊邏輯裝置包含一輸入/輸出接口、一中斷級別判斷器以及一電性連結(jié)至該輸入/輸出接口及該中斷級別判斷器的處理器。該中斷級別判斷器用以判斷一單芯片多處理模塊線程的一中斷級別。該處理器用以執(zhí)行下列操作:根據(jù)該中斷級別決定該單芯片多處理模塊線程的一處理順序;根據(jù)該處理順序處理該單芯片多處理模塊線程;通過該輸入丨輸出接口傳送該已處理單芯片多處理模塊線程至一單芯片多處理模塊物理裝置;以及通過該輸入/輸出接口自該單芯片多處理模塊物理裝置接收該已處理單芯片多處理模塊線程的一運(yùn)算結(jié)果。
[0009]為達(dá)上述目的,本發(fā)明提供了一種與上述單芯片多處理模塊邏輯裝置搭配的單芯片多處理模塊物理裝置。該單芯片多處理模塊物理裝置包含一輸入/輸出接口、一中斷級別判斷器以及一電性連結(jié)至該輸入/輸出接口及該中斷級別判斷器的處理器。該輸入/輸出接口用以自一單芯片多處理模塊邏輯裝置接收一已處理單芯片多處理模塊線程。該中斷級別判斷器用以判斷該已處理單芯片多處理模塊線程的一中斷級別。該處理器用以執(zhí)行下列操作:根據(jù)該中斷級別決定該已處理單芯片多處理模塊線程的一處理順序;根據(jù)該處理順序處理該已處理單芯片多處理模塊線程;以及通過該輸入/輸出接口,傳送該已處理單芯片多處理模塊線程的一運(yùn)算結(jié)果至該單芯片多處理模塊邏輯裝置。
[0010]為達(dá)上述目的,本發(fā)明提供了一種用在一單芯片多處理模塊邏輯裝置的單芯片多處理模塊線程前端處理方法,該單芯片多處理模塊邏輯裝置包含一輸入/輸出接口、一中斷級別判斷器以及一電性連結(jié)至該輸入/輸出接口及該中斷級別判斷器的處理器,該單芯片多處理模塊線程前端處理方法包含下列步驟:
使該中斷級別判斷器,判斷一單芯片多處理模塊線程的一中斷級別;
使該處理器根據(jù)該中斷級別,決定該單芯片多處理模塊線程的一處理順序;
使該處理器根據(jù)該處理順序,處理該單芯片多處理模塊線程;
使該處理器通過該輸入/輸出接口,傳送一已處理單芯片多處理模塊線程至一單芯片多處理模塊物理裝置;以及使該處理器通過該輸入/輸出接口,自該單芯片多處理模塊物理裝置接收該已處理單芯片多處理模塊線程的一運(yùn)算結(jié)果。
[0011]為達(dá)上述目的,本發(fā)明提供了一種與上述單芯片多處理模塊線程前端處理方法搭配的單芯片多處理模塊線程后端處理方法。該單芯片多處理模塊線程后端處理方法用在一單芯片多處理模塊物理裝置,并包含一輸入/輸出接口、一中斷級別判斷器以及一電性連結(jié)至該輸入/輸出接口及該中斷級別判斷器的處理器,該單芯片多處理模塊線程后端處理方法包含下列步驟:
使該單芯片多處理模塊物理裝置的該輸入/輸出接口自一單芯片多處理模塊邏輯裝置接收一已處理單芯片多處理模塊線程;
使該單芯片多處理模塊物理裝置的該中斷級別判斷器判斷該已處理單芯片多處理模塊線程的一中斷級別;使該單芯片多處理模塊物理裝置的該處理器根據(jù)該中斷級別,決定該已處理單芯片多處理模塊線程的一處理順序;
使該單芯片多處理模塊物理裝置的該處理器根據(jù)該處理順序,處理該已處理單芯片多處理模塊線程;以及使該單芯片多處理模塊物理裝置的該處理器通過該輸入/輸出接口,傳送該已處理單芯片多處理模塊線程的一運(yùn)算結(jié)果至該單芯片多處理模塊邏輯裝置。
[0012]本發(fā)明的有益之處是多核處理器進(jìn)程調(diào)度系統(tǒng)和多核處理器進(jìn)程調(diào)度方法在應(yīng)用上的優(yōu)勢有兩個方面:為用戶帶來更強(qiáng)大的計(jì)算性能;更重要的,則是可滿足用戶同時進(jìn)行多任務(wù)處理和多任務(wù)計(jì)算環(huán)境的要求。多核的中斷處理和單核有很大不同。多核的各處理器之間需要通過中斷方式進(jìn)行通信,所以多個處理器之間的本地中斷控制器和負(fù)責(zé)仲裁各核之間中斷分配的全局中斷控制器也需要封裝在芯片內(nèi)部。另外,多核011是一個多任務(wù)系統(tǒng)。由在不同任務(wù)會競爭共享資源,因此需要系統(tǒng)提供同步與互斥機(jī)制。而傳統(tǒng)的用在單核的解決機(jī)制并不能滿足多核,需要利用硬件提供的“讀一修改一寫”的原子操作或其他同步互斥機(jī)制來保證。
【專利附圖】
【附圖說明】
[0013]圖1為本發(fā)明第一實(shí)施例所述的單芯片多處理模塊排序線程系統(tǒng)1的一架構(gòu)示意圖;
圖2為本發(fā)明第一實(shí)施例所述的單芯片多處理模塊邏輯裝置11針對單芯片多處理模塊線程20的一順序示意圖;
圖3為本發(fā)明第一實(shí)施例所述的單芯片多處理模塊邏輯裝置11針對單芯片多處理模塊線程20的另一順序示意圖;
圖4為本發(fā)明第一實(shí)施例所述的待處理線程組I的一示意圖;
圖5為本發(fā)明第一實(shí)施例所述的采用輪詢算法處理待處理線程組I的一處理時間示意圖;
圖6為本發(fā)明第一實(shí)施例所述的采用先入先處理演算法處理待處理線程組I的一處理時間示意圖;
圖7為本發(fā)明第一實(shí)施例所述的采用中斷級別排序線程機(jī)制處理待處理線程組I的一處理時間示意圖;
圖8為本發(fā)明第二實(shí)施例所述的單芯片多處理模塊線程排序線程方法的一流程圖。
【具體實(shí)施方式】
[0014]本發(fā)明的第一實(shí)施例為一種單芯片多處理模塊線程排序線程系統(tǒng)。單芯片多處理模塊線程排序線程系統(tǒng)1的架構(gòu)示意圖如圖1所示。單芯片多處理模塊線程排序線程系統(tǒng)1包含一單芯片多處理模塊邏輯裝置11以及一單芯片多處理模塊物理裝置13。單芯片多處理模塊線程排序線程系統(tǒng)1可為一包含復(fù)數(shù)個計(jì)算機(jī)的計(jì)算機(jī)叢集,其中單芯片多處理模塊邏輯裝置11為該云計(jì)算的一個不具有實(shí)體單芯片多處理模塊的計(jì)算機(jī),而單芯片多處理模塊物理裝置13為該云計(jì)算的一個具有實(shí)體單芯片多處理模塊的計(jì)算機(jī),且單芯片多處理模塊邏輯裝置11以及單芯片多處理模塊物理裝置13的間可通過因特網(wǎng)連接而進(jìn)行通訊及數(shù)據(jù)傳遞。
[0015]單芯片多處理模塊邏輯裝置11可包含一輸入/輸出接口 111、一中斷級別判斷器113以及一電性連結(jié)至輸入/輸出接口 111及中斷級別判斷器113的處理器115。單芯片多處理模塊邏輯裝置11可具有不同的實(shí)施態(tài)樣,如桌上型電腦、平板計(jì)算機(jī)、筆記型計(jì)算機(jī)、智能電話等可形成計(jì)算機(jī)叢集的各種電子裝置,只是單芯片多處理模塊邏輯裝置11并不具有實(shí)體單芯片多處理模塊。
[0016]中斷級別判斷器113用以隨時監(jiān)視單芯片多處理模塊邏輯裝置11欲處理的線程,并判斷及分析這些線程的中斷級別,可包含一般的中央處理模塊(即⑴線程以及單芯片多處理模塊(即(^幾)線程。一般的中央處理模塊線程可由單芯片多處理模塊邏輯裝置11自行處理即可,但因單芯片多處理模塊邏輯裝置11不具有實(shí)體的單芯片多處理模塊,故單芯片多處理模塊程式必須由單芯片多處理模塊邏輯裝置11以及單芯片多處理模塊物理裝置13雙方處理。
[0017]當(dāng)單芯片多處理模塊邏輯裝置11的使用者欲執(zhí)行一單芯片多處理模塊線程20時,中斷級別判斷器113會先行分析單芯片多處理模塊線程20,并據(jù)以判斷單芯片多處理模塊線程20的一中斷級別。中斷級別判斷器113可根據(jù)單芯片多處理模塊線程20的各種特性,作為判斷單芯片多處理模塊線程20的中斷級別的依據(jù)。舉例而言,中斷級別判斷器113可根據(jù)單芯片多處理模塊邏輯裝置11處理單芯片多處理模塊線程20所需的時間、單芯片多處理模塊物理裝置13處理單芯片多處理模塊線程20所需的時間、單芯片多處理模塊線程20的數(shù)據(jù)量、單芯片多處理模塊邏輯裝置11的運(yùn)算速度、單芯片多處理模塊物理裝置13的運(yùn)算速度、以及傳輸頻寬效能等等作為判斷單芯片多處理模塊線程20的中斷級別的依據(jù)。
[0018]本質(zhì)上,依據(jù)的因素越多,則中斷級別判斷器113對在單芯片多處理模塊線程20的中斷級別判斷將更為準(zhǔn)確,但相對地也可能較為耗時。在實(shí)際實(shí)施時,使用者可根據(jù)不同的需求,在中斷級別判斷的準(zhǔn)確性與處理時間上取得最佳的平衡,且可根據(jù)不同的情況,適當(dāng)?shù)馗淖兯罁?jù)的因素。
[0019]為了便在說明,中斷級別判斷器113將僅根據(jù)單芯片多處理模塊物理裝置13處理單芯片多處理模塊線程20的一處理時間,作為判斷單芯片多處理模塊線程20的一中斷級別的依據(jù),其中若該處理時間越長,則表示該中斷級別越高。通過中斷級別判斷器113對在單芯片多處理模塊線程20的中斷級別判斷,處理器115會根據(jù)單芯片多處理模塊線程20的中斷級別決定單芯片多處理模塊線程20的一處理順序,再根據(jù)該處理順序處理單芯片多處理模塊線程20。
[0020]處理器115可通過一實(shí)時操作系統(tǒng)'社10113706111,1^108),實(shí)時地處理單芯片多處理模塊線程20。具體而言,倘若在單芯片多處理模塊線程20的處理順序上,原本已有一預(yù)定線程要被處理器115處理,處理器115會先行中斷該預(yù)定線程,以優(yōu)先處理單芯片多處理模塊線程20,此即為搶奪式(作一咖竹&一)的排序線程。處理器115亦會暫時保存該預(yù)定線程的內(nèi)存以及緩存器狀態(tài),并在處理完單芯片多處理模塊線程20后,恢復(fù)該預(yù)定線程中斷前的內(nèi)存以及緩存器狀態(tài),以恢復(fù)處理該預(yù)定程式。本實(shí)施例所述的預(yù)定線程可以是一般的中央處理模塊線程或者是單芯片多處理模塊線程。
[0021]以下將以圖2及圖3作為范例,進(jìn)一步說明單芯片多處理模塊邏輯裝置11如何根據(jù)單芯片多處理模塊線程20的處理順序,處理單芯片多處理模塊線程20。圖2及圖3分別為單芯片多處理模塊邏輯裝置11針對單芯片多處理模塊線程20的二個處理順序示意圖。
[0022]如圖2所示,假設(shè)現(xiàn)有4個線程必須被處理器115,分別是線程I1、線程丁2、線程13及線程14,其中線程II及線程12為僅需要由單芯片多處理模塊邏輯裝置11單獨(dú)處理的中央處理模塊線程,而線程!'3及線程!'4為需要單芯片多處理模塊邏輯裝置11及單芯片多處理模塊物理裝置13雙方皆處理的單芯片多處理模塊線程。
[0023]在本范例中,將假設(shè)中斷級別判斷器113是根據(jù)單芯片多處理模塊物理裝置13各自處理線程I1、線程12、線程13及線程14的處理時間,判斷線程I1、線程12、線程13及線程丁4
各自的一個中斷級別。因此,在中斷級別判斷器113對線程I1、線程12、線程13及線程丁4進(jìn)行分析后,即可獲得線程I1、線程12、線程13及線程14各自的一個中斷級別。
[0024]根據(jù)該等中斷級別,處理器115將針對線程I1、線程12、程式13及線程14進(jìn)行排序線程,建立如圖2所示的處理順序,也就是,處理器115將依照線程14、線程13、線程丁1及線程12的順序進(jìn)行處理。線程II及線程12屬在僅需要由單芯片多處理模塊邏輯裝置11單獨(dú)處理的中央處理模塊程式,故其僅依據(jù)單芯片多處理模塊邏輯裝置11的處理時間進(jìn)行排序線程,故線程II及線程12的處理順序?yàn)榫€程II優(yōu)先(處理時間較長),而線程丁2較后(處理時間較短\應(yīng)理解,關(guān)在中央處理模塊線程,例如線程II及線程12,的處理順序并不影響本發(fā)明的可實(shí)施態(tài)樣,而僅是為了便在說明。
[0025]在處理器115處理線程14的時候,倘若中斷級別判斷器113偵測到使用者欲執(zhí)行單芯片多處理模塊線程20(即圖2的線程15),則中斷級別判斷器113將根據(jù)單芯片多處理模塊物理裝置13處理線程15的處理時間,判斷線程15的中斷級別。由在單芯片多處理模塊物理裝置13處理線程15的處理時間高在線程I1、線程12、線程13及線程14,處理器115將判斷線程15的處理順序?yàn)榈谝惶幚眄樞?。在是,處理?5將會中斷目前所處理的線程(即線程14),并優(yōu)先處理線程15,并在處理完線程15的后,恢復(fù)處理線程14。換言的,處理器115將依照線程15、線程14、線程13、程式II及線程12的順序進(jìn)行處理。
[0026]相似地,圖3繪示了另一種處理順序的情況。在處理器115處理線程14的時候,倘若中斷級別判斷器113偵測到使用者欲執(zhí)行單芯片多處理模塊線程20(即圖3的線程!'5),則中斷級別判斷器113將根據(jù)單芯片多處理模塊物理裝置13處理線程15的處理時間,判斷線程15的中斷級別。由在單芯片多處理模塊物理裝置13處理線程15的處理時間介在線程13及線程II的間,處理器115將判斷線程15的處理順序?yàn)榈谌幚眄樞颉T谑?,處理?5將依序執(zhí)行線程14及線程13,并在執(zhí)行完線程13的后,中斷原先預(yù)定在第三處理順序處理的一預(yù)定線程(即線程11),并優(yōu)先處理線程!'5。然后,在處理完線程!'5的后,恢復(fù)處理線程II。換言的,處理器115將依照線程14、線程13、線程15、線程II及線程12的順序進(jìn)行處理。
[0027]在處理器115處理完單芯片多處理模塊線程20的后,處理器115可通過輸入/輸出接口 111將已處理的處理單芯片多處理模塊線程22傳送至具有實(shí)體單芯片多處理模塊的單芯片多處理模塊物理裝置13作進(jìn)一步的處理。輸入/輸出界面111可根據(jù),例如但不限在,傳輸控制協(xié)議/因特網(wǎng)協(xié)議(1(:1/11),并由因特網(wǎng)與單芯片多處理模塊物理裝置13進(jìn)行通訊及數(shù)據(jù)傳遞。最后,當(dāng)單芯片多處理模塊物理裝置13將單芯片多處理模塊邏輯裝置11傳送的已處理處理單芯片多處理模塊線程22處理完后,處理器115可通過輸入丨輸出接口 111自單芯片多處理模塊物理裝置13接收已處理單芯片多處理模塊程式22的一運(yùn)算結(jié)果,以完成一次邏輯單芯片多處理模塊運(yùn)算。
[0028]以下將進(jìn)一步說明單芯片多處理模塊物理裝置13的操作。相似在單芯片多處理模塊邏輯裝置11,單芯片多處理模塊物理裝置13可包含一輸入/輸出接口 131、一中斷級別判斷器133以及一電性連結(jié)至輸入/輸出接口 131及中斷級別判斷器133的處理器135。單芯片多處理模塊物理裝置13亦可具有不同的實(shí)施態(tài)樣,例如但不限在:桌上型計(jì)算機(jī)、平板計(jì)算機(jī)、筆記型計(jì)算機(jī)、行動電話等可形成計(jì)算機(jī)叢集的各種電子裝置,只是單芯片多處理模塊物理裝置13具有實(shí)體單芯片多處理模塊。
[0029]如同上述,單芯片多處理模塊邏輯裝置11的處理器115可通過輸入/輸出接口111將已處理的處理單芯片多處理模塊線程22傳送至具有實(shí)體單芯片多處理模塊的單芯片多處理模塊物理裝置13作進(jìn)一步的處理。因此,輸入/輸出界面131被用以自單芯片多處理模塊邏輯裝置11接收已處理單芯片多處理模塊線程22。輸入/輸出接口 131同樣可根據(jù),例如但不限在,傳輸控制協(xié)議/因特網(wǎng)協(xié)議(扣?/〗?,并由因特網(wǎng)與單芯片多處理模塊物理裝置13進(jìn)行通訊及數(shù)據(jù)傳遞。
[0030]在輸入/輸出接口 131接收到已處理單芯片多處理模塊線程22的后,中斷級別判斷器133將分析已處理單芯片多處理模塊線程22,并根據(jù)單芯片多處理模塊物理裝置13處理已處理單芯片多處理模塊線程22的一處理時間,判斷已處理單芯片多處理模塊線程22的一中斷級別。應(yīng)理解,相似在中斷級別判斷器113,中斷級別判斷器133亦可根據(jù)已處理單芯片多處理模塊線程22的其它特性,作為判斷已處理單芯片多處理模塊線程22的中斷級別的依據(jù),并不局限在上述的判斷依據(jù)。
[0031]通過中斷級別判斷器133對在已處理單芯片多處理模塊線程22的中斷級別判斷,處理器135會根據(jù)已處理單芯片多處理模塊線程22的中斷級別決定已處理單芯片多處理模塊線程22的一處理順序,再根據(jù)該處理順序,進(jìn)一步處理已處理單芯片多處理模塊線程22。
[0032]同樣地,相似在處理器115,處理器135亦可通過一實(shí)時操作系統(tǒng),實(shí)時地處理已處理單芯片多處理模塊線程22。具體而言,倘若在已處理單芯片多處理模塊線程22的處理順序上,原本已有一預(yù)定線程要被處理器135處理,處理器135會先行中斷該預(yù)定線程,以優(yōu)先處理已處理單芯片多處理模塊線程22。處理器135亦會暫時保存該預(yù)定線程的記憶體以及緩存器狀態(tài),并在處理完已處理單芯片多處理模塊程式22后,恢復(fù)該預(yù)定線程中斷前的內(nèi)存以及緩存器狀態(tài),以恢復(fù)處理該預(yù)定線程。本實(shí)施例所述的預(yù)定線程可以是一般的中央處理模塊線程或者是單芯片多處理模塊程式。
[0033]相似在上述針對單芯片多處理模塊邏輯裝置11如何根據(jù)單芯片多處理模塊線程20的處理順序,處理單芯片多處理模塊線程20所作的說明,本領(lǐng)域具有通常知識者應(yīng)可輕易推及單芯片多處理模塊物理裝置13如何根據(jù)已處理單芯片多處理模塊線程22的處理順序,處理已處理單芯片多處理模塊線程22,在此不多贅述。
[0034]在處理器135進(jìn)一步處理完已處理爾形處理模塊線程22的后,處理器135將通過輸入/輸出接口 131傳送已處理單芯片多處理模塊線程22的一運(yùn)算結(jié)果至單芯片多處理模塊邏輯裝置11的輸入/輸出界面111,以完成一次邏輯單芯片多處理模塊運(yùn)算。換言的,不具有實(shí)體單芯片多處理模塊的單芯片多處理模塊邏輯裝置11可通過具有實(shí)體單芯片多處理模塊的單芯片多處理模塊物理裝置13的協(xié)助,完成單芯片多處理模塊線程20的運(yùn)算。
[0035]通過中斷級別機(jī)制進(jìn)行排序線程,可有效地節(jié)省單芯片多處理模塊線程排序線程系統(tǒng)1整體的運(yùn)算時間。以下將以一示范性的例子進(jìn)一步說明本發(fā)明與二種常見的排序線程算法的間的比較結(jié)果,包括輪詢算法以及先入先處理算法。
[0036]圖4為一待處理線程組I的一示意圖,其中待處理線程組I包括5個需要被處理的線程,分別是線程I1、線程12、線程13、線程14及線程15。線程II及線程12為僅需要由單芯片多處理模塊邏輯裝置11單獨(dú)處理的中央處理模塊程式,而線程13、線程14及線程丁5為需要單芯片多處理模塊邏輯裝置11及單芯片多處理模塊物理裝置13雙方皆處理的單芯片多處理模塊線程。為便在說明,在單芯片多處理模塊物理裝置13處理線程!'3、線程丁4及線程15的期間,不考慮存在其他需要被處理的線程。
[0037]圖5為一采用輪詢算法處理待處理線程組I的一處理時間示意圖,其中假設(shè)每一次處理的時間配額為5個單位時間。如圖5所示,單芯片多處理模塊邏輯裝置11將根據(jù)排序線程表?的排序線程方式,依序處理線程I1、線程12、線程13、線程14及線程15,其中每個線程的處理時間為5個單位時間;而單芯片多處理模塊物理裝置13將根據(jù)排序線程表811的排序線程方式,依序處理線程13、線程14及線程15,其中每個線程的處理時間為5個單位時間。
[0038]如此,單芯片多處理模塊邏輯裝置11處理完線程I1、線程12、線程13、線程14及線程15所需的處理時間為31個單位時間,而單芯片多處理模塊物理裝置13處理完線程丁3、線程14及線程15所需的處理時間為41個單位時間。針對線程13、線程14及線程丁5,在單芯片多處理模塊邏輯裝置11處理完的前,單芯片多處理模塊物理裝置13是無法處理的,以至在單芯片多處理模塊物理裝置13在處理線程13及處理線程14的間,存有2個單位時間的間置時間II。
[0039]圖6為一采用先入先處理算法處理待處理線程組I的一處理時間示意圖。如圖6所示,單芯片多處理模塊邏輯裝置11將根據(jù)排序線程表?的排序線程方式,依序處理線程丁1、線程12、線程13、線程14及線程15,且每處理完一個程式才會處理下一個線程;而形處理模塊主機(jī)裝置13將根據(jù)排序線程表%的排序線程方式,依序處理線程13、線程14及線程丁5,且每處理完一個線程才會處理下一個線程。
[0040]如此,單芯片多處理模塊邏輯裝置11處理完線程I1、線程12、線程13、線程14及線程15所需的處理時間為31個單位時間,而單芯片多處理模塊物理裝置13處理完線程丁3、線程14及線程15所需的處理時間為51個單位時間。針對線程13、線程14及線程丁5,在單芯片多處理模塊邏輯裝置11處理完的前,單芯片多處理模塊物理裝置13是無法處理的,以至在單芯片多處理模塊物理裝置13在處理線程13及處理線程14的間,存有2個單位時間的間置時間II。
[0041]圖7為采用本實(shí)施例所述的中斷級別排序線程機(jī)制處理待處理線程組I的一處理時間示意圖。通過中斷級別判斷器113及中斷級別判斷器133對在待處理線程的分析,可判斷待處理線程組I所包含的各個線程的中斷級別,并據(jù)以安排出最佳的處理順序,以節(jié)省單芯片多處理模塊線程排序線程系統(tǒng)1整體的運(yùn)算時間。
[0042]針對待處理線程組I所包含的各個線程,若需要單芯片多處理模塊物理裝置13處理的時間越長,則單芯片多處理模塊線程排序線程系統(tǒng)1將判定其中斷級別越高。因此,待處理線程組I所包含的各個線程的處理順序依序?yàn)?線程15、線程14、線程13、線程II及線程12。如同上述,線程II及線程12屬在僅需要由單芯片多處理模塊邏輯裝置11單獨(dú)處理的中央處理模塊線程,故其僅依據(jù)單芯片多處理模塊邏輯裝置11的處理時間進(jìn)行排序線程,故線程II及線程12的處理順序?yàn)榫€程II優(yōu)先(處理時間較長),而線程12較后(處理時間較短X
[0043]在是,如圖7所示,單芯片多處理模塊邏輯裝置11處理完線程I1、線程12、線程丁3、線程14及線程15所需的處理時間為31個單位時間,而單芯片多處理模塊物理裝置13處理完線程13、線程14及線程15所需的處理時間為29個單位時間。
[0044]相較在輪詢算法以及先入先處理算法,采用本實(shí)施例所述的中斷級別排序線程機(jī)制,其單芯片多處理模塊邏輯裝置11的處理時間同樣為31個單位時間。然而,采用本實(shí)施例所述的中斷級別排序線程機(jī)制,其單芯片多處理模塊物理裝置13的處理時間僅為29個單位時間。換言的,采用本實(shí)施例所述的中斷級別排序線程機(jī)制處理完待處理線程組I'所需的時間僅為31個單位時間,但采用輪詢算法以及采用先入先處理算法處理完待處理線程組I所需的時間需分別為41個單位時間及51個單位時間。據(jù)此,通過中斷級別機(jī)制進(jìn)行排序線程,可有效地節(jié)省單芯片多處理模塊線程排序線程系統(tǒng)1整體的運(yùn)算時間。
[0045]本發(fā)明的第二實(shí)施例為一種單芯片多處理模塊線程排序線程方法。本實(shí)施例所述的多核處理器進(jìn)程調(diào)度方法可實(shí)施在第一實(shí)施例所述的單芯片多處理模塊排序線程系統(tǒng)1。因此,本實(shí)施例后續(xù)所述的單芯片多處理模塊邏輯裝置以及單芯片多處理模塊物理裝置可視為第一實(shí)施例所述的單芯片多處理模塊邏輯裝置11以及單芯片多處理模塊物理裝置13。
[0046]本實(shí)施例后續(xù)所述的單芯片多處理模塊邏輯裝置可包含一輸入/輸出接口、一中斷級別判斷器以及一電性連結(jié)至該輸入/輸出接口及該中斷級別判斷器的處理器。本實(shí)施例后續(xù)所述的單芯片多處理模塊物理裝置可包含一輸入/輸出接口、一中斷級別判斷器以及一電性連結(jié)至該輸入/輸出接口及該中斷級別判斷器的處理器。
[0047]如圖8所示,本實(shí)施例所述的單芯片多處理模塊線程排序線程方法可包含一單芯片多處理模塊線程前端處理方法及一單芯片多處理模塊線程后端處理方法。單芯片多處理模塊線程前端處理方法用在單芯片多處理模塊邏輯裝置,而單芯片多處理模塊線程后端處理方法用在單芯片多處理模塊物理裝置。單芯片多處理模塊線程前端處理方法,共包含步驟3401、步驟3402、步驟3403、步驟3404及步驟3405 ;而單芯片多處理模塊線程后端處理方法,共包含步驟3501、步驟3502、步驟3503、步驟3504及步驟3505。
[0048]首先,在單芯片多處理模塊邏輯裝置端,在步驟3401,使其中斷級別判斷器,判斷一單芯片多處理模塊線程的一中斷級別。較佳地,該中斷級別判斷器是根據(jù)該單芯片多處理模塊物理裝置處理該單芯片多處理模塊線程的一處理時間,判斷該單芯片多處理模塊線程的該中斷級別。
[0049]在步驟3402,使處理器根據(jù)該中斷級別,決定該單芯片多處理模塊線程的一處理順序??蛇x擇地,在步驟3403,使該處理器根據(jù)該處理順序,中斷處理一預(yù)定線程,以優(yōu)先處理該單芯片多處理模塊線程;以及使該處理器在處理該單芯片多處理模塊線程后,恢復(fù)處理該預(yù)定線程。
[0050]在步驟3403,使其處理器根據(jù)該處理順序,處理該單芯片多處理模塊線程。在步驟3404,使其處理器通過其輸入/輸出接口,傳送該已處理單芯片多處理模塊線程至該單芯片多處理模塊物理裝置。
[0051]然后,在單芯片多處理模塊物理裝置端,在步驟3501,使其輸入/輸出接口自該單芯片多處理模塊邏輯裝置接收該已處理單芯片多處理模塊線程。在步驟3502,使其中斷級別判斷器判斷該已處理單芯片多處理模塊線程的一中斷級別。較佳地,該中斷級別判斷器是根據(jù)該單芯片多處理模塊物理裝置處理該單芯片多處理模塊線程的一處理時間,判斷該單芯片多處理模塊程式的該中斷級別。
[0052]在步驟3503,使其處理器根據(jù)該中斷級別,決定該已處理單芯片多處理模塊線程的一處理順序。可選擇地,在步驟3503,更使該處理器根據(jù)該處理順序,中斷處理一預(yù)定線程,以優(yōu)先處理該單芯片多處理模塊線程;以及使該處理器在處理該單芯片多處理模塊線程后,恢復(fù)處理該預(yù)定線程。
[0053]在步驟3504,使其處理器根據(jù)該處理順序,進(jìn)一步處理該已處理單芯片多處理模塊線程。在步驟3505,使其處理器通過其輸入/輸出接口,傳送該已處理單芯片多處理模塊線程的一運(yùn)算結(jié)果至該單芯片多處理模塊邏輯裝置。
[0054]最后,在單芯片多處理模塊邏輯裝置端,在步驟3405,使其處理器通過其輸入丨輸出接口,自該單芯片多處理模塊物理裝置接收該已處理單芯片多處理模塊線程的該運(yùn)算結(jié)果。
[0055]除了上述步驟,本實(shí)施例所述的單芯片多處理模塊線程排序線程方法亦能執(zhí)行第一實(shí)施例所述的單芯片多處理模塊排序線程系統(tǒng)1的所有操作及實(shí)現(xiàn)相對應(yīng)的所有功能。因所屬【技術(shù)領(lǐng)域】具有通常知識者可基在第一實(shí)施例的揭露內(nèi)容而直接瞭解本實(shí)施例所述的單芯片多處理模塊線程排序線程方法如何執(zhí)行此等操作及實(shí)現(xiàn)此等功能,在此不再贅述。
[0056]綜上所述,本發(fā)明提供了一種多核處理器進(jìn)程調(diào)度系統(tǒng)及其多核處理器進(jìn)程調(diào)度方法。本發(fā)明提供的多核處理器進(jìn)程調(diào)度系統(tǒng)及其多核處理器進(jìn)程調(diào)度方法,在偵測到一單芯片多處理模塊線程(即0^1線程)時,會先行判斷該0^1線程的一中斷級別,并根據(jù)該中斷級別決定該011線程的處理順序,以進(jìn)行最佳的排序線程處理。因此,無論是在單芯片多處理模塊邏輯裝置端或是在單芯片多處理模塊物理裝置端,本發(fā)明都可有效地節(jié)省處理00'線程所需的時間。
[0057]本發(fā)明是通過中斷級別的判斷機(jī)制進(jìn)行排序線程處理,以節(jié)省處理0^1線程所需的時間,進(jìn)而提升云計(jì)算的邏輯011運(yùn)算的效能。因此,當(dāng)需要處理大量的圖片或多線程資料的時候,亦或是需要動態(tài)進(jìn)行邏輯¢:11運(yùn)算時,本發(fā)明仍可有效地節(jié)省處理0^線程所需的時間??傃缘模景l(fā)明可有效地提升云計(jì)算的邏輯011運(yùn)算的效能。
[0058]上述實(shí)施例所闡述的內(nèi)容僅用以例舉本發(fā)明的部分可實(shí)施態(tài)樣,以及闡釋本發(fā)明的技術(shù)特征,并非用以限制本發(fā)明的實(shí)質(zhì)保護(hù)范圍。因此,任何熟悉本【技術(shù)領(lǐng)域】者可輕易完成的改變或均等性的安排均屬在本發(fā)明所主張的范爵,且本發(fā)明的權(quán)利保護(hù)范圍實(shí)以申請專利范圍為準(zhǔn)。
【權(quán)利要求】
1.一種多核處理器進(jìn)程調(diào)度系統(tǒng)包括一種單芯片多處理模塊邏輯裝置和一種與上述單芯片多處理模塊邏輯裝置搭配的單芯片多處理模塊物理裝置;一種單芯片多處理模塊邏輯裝置,包含:一輸入/輸出接口 ;一中斷級別判斷器,用以判斷一單芯片多處理模塊線程的一中斷級別;以及一處理器,電性連結(jié)至該輸入/輸出接口及該中斷級別判斷器,用以執(zhí)行以下操作:根據(jù)該中斷級別,決定該單芯片多處理模塊線程的一處理順序;根據(jù)該處理順序,處理該單芯片多處理模塊線程;通過該輸入/輸出接口,傳送一已處理單芯片多處理模塊線程至一單芯片多處理模塊物理裝置;以及通過該輸入/輸出接口,自該單芯片多處理模塊物理裝置接收該已處理單芯片多處理模塊線程的一運(yùn)算結(jié)果。
2.根據(jù)權(quán)利要求1所述的單芯片多處理模塊邏輯裝置,其中該處理器是根據(jù)該處理順序,中斷處理一預(yù)定線程,以優(yōu)先處理該單芯片多處理模塊線程。
3.根據(jù)權(quán)利要求2所述的單芯片多處理模塊邏輯裝置,其中該處理器更在處理該單芯片多處理模塊線程后,恢復(fù)處理該預(yù)定線程。
4.根據(jù)權(quán)利要求1所述的單芯片多處理模塊邏輯裝置,其中該中斷級別判斷器是根據(jù)該單芯片多處理模塊物理裝置處理該單芯片多處理模塊線程的一處理時間,判斷該單芯片多處理模塊線程的該中斷級別。
5.根據(jù)權(quán)利要求1所述的單芯片多處理模塊邏輯裝置搭配的單芯片多處理模塊物理裝置,包含:一輸入/輸出接口,用以自該單芯片多處理模塊邏輯裝置接收該已處理單芯片多處理模塊線程;一中斷級別判斷器,用以判斷該已處理單芯片多處理模塊程式的一中斷級別; 一處理器,電性連結(jié)至該輸入/輸出接口及該中斷級別判斷器,用以執(zhí)行以下操作;根據(jù)該中斷級別,決定該已處理單芯片多處理模塊線程的一處理順序;根據(jù)該處理順序,處理該已處理單芯片多處理模塊程式;以及通過該輸入/輸出接口,傳送該已處理單芯片多處理模塊線程的一運(yùn)算結(jié)果至該單芯片多處理模塊邏輯裝置。
6.一種多核處理器進(jìn)程調(diào)度方法包括:一種單芯片多處理模塊邏輯裝置的單芯片多處理模塊線程前端處理方法,一種單芯片多處理模塊線程前端處理方法搭配的單芯片多處理模塊線程后端處理方法;一種單芯片多處理模塊邏輯裝置的單芯片多處理模塊線程前端處理方法,該單芯片多處理模塊邏輯裝置包含一輸入/輸出接口、一中斷級別判斷器以及一電性連結(jié)至該輸入/輸出介面及該中斷級別判斷器的處理器,該單芯片多處理模塊線程前端處理方法包含下列步驟: 使該中斷級別判斷器,判斷一單芯片多處理模塊線程的一中斷級別; 使該處理器根據(jù)該中斷級別,決定該單芯片多處理模塊線程的一處理順序; 使該處理器根據(jù)該處理順序,處理該單芯片多處理模塊線程; 使該處理器通過該輸入/輸出接口,傳送一已處理單芯片多處理模塊線程至一單芯片多處理模塊物理裝置;使該處理器通過該輸入/輸出接口,自該單芯片多處理模塊物理裝置接收該已處理單芯片多處理模塊線程的一運(yùn)算結(jié)果。
7.根據(jù)權(quán)利要求9所述的單芯片多處理模塊線程前端處理方法搭配的單芯片多處理模塊線程后端處理方法,用在一單芯片多處理模塊主機(jī)裝置,該單芯片多處理模塊物理裝置包含一輸入/輸出接口、一中斷級別判斷器以及一電性連結(jié)至該輸入/輸出接口及該中斷級別判斷器的處理器,該單芯片多處理模塊線程后端處理方法包含下列步驟: 使該單芯片多處理模塊物理裝置的該輸入/輸出界面自一單芯片多處理模塊邏輯裝置接收一已處理單芯片多處理模塊程式;使該單芯片多處理模塊物理裝置的該中斷級別判斷器判斷該已處理單芯片多處理模塊線程的一中斷級別;使該單芯片多處理模塊物理裝置的該處理器根據(jù)該中斷級別,決定該已處理單芯片多處理模塊線程的一處理順序;使該單芯片多處理模塊物理裝置的該處理器根據(jù)該處理順序,處理該已處理單芯片多處理模塊線程;以及使該單芯片多處理模塊物理裝置的該處理器通過該輸入/輸出接口,傳送該已處理單芯片多處理模塊線程的一運(yùn)算結(jié)果至該單芯片多處理模塊邏輯裝置。
【文檔編號】G06F9/48GK104503836SQ201510010205
【公開日】2015年4月8日 申請日期:2015年1月8日 優(yōu)先權(quán)日:2015年1月8日
【發(fā)明者】武傳勝, 曾子維, 蕫立文, 孫良旭, 李林林, 王杰, 張繼生, 張玉軍 申請人:武傳勝