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

多核處理器系統(tǒng)、控制程序以及控制方法

文檔序號:6352099閱讀:152來源:國知局
專利名稱:多核處理器系統(tǒng)、控制程序以及控制方法
技術(shù)領(lǐng)域
本發(fā)明涉及控制中斷處理的執(zhí)行的多核處理器系統(tǒng)、控制程序以及控制方法。
背景技術(shù)
以往,CPU (Central Processing Unit)的中斷請求能夠大致分為硬件中斷請求和軟件中斷請求的2類。硬件中斷請求是從CPU的周邊設(shè)備對CPU產(chǎn)生的中斷請求。具體而言,例如為,在移動電話的動畫再生過程中,利用者使用觸摸面板通過觸摸操作進行了快進操作的情況下,從觸摸面板向CPU發(fā)出的硬件中斷請求。軟件中斷請求是由于執(zhí)行中的程序而產(chǎn)生的中斷請求。通過硬件中斷請求,在該CPU上運行的OS使執(zhí)行中的任務(wù)退避,立即執(zhí)行該硬件中斷請求的硬件中斷處理程序(中斷處理)。另外,還存在硬件中斷處理程序調(diào)出軟件中斷 的情況。另外,在多核處理器系統(tǒng)中,在對主CPU產(chǎn)生硬件中斷請求的情況下,主CPU使軟件中斷請求產(chǎn)生。此時存在接受軟件中斷請求的任務(wù)被分配給從屬CPU的情況。在該任務(wù)被分配給從屬CPU的情況下,使用處理器間中斷通信,使從屬CPU執(zhí)行軟件中斷請求的軟件中斷處理程序(中斷處理)。非專利文獻I :高橋浩和、小田逸郎、山幡為佐著“ Linuxカーネル解読室2. 6”ソフ卜バンククリヱイテイブ株式會社出版2006年11月30日p. 62-63然而,當(dāng)通過處理器間中斷通信而產(chǎn)生軟件中斷請求時,軟件中斷請求的軟件中斷處理程序通過在就緒隊列排隊而等待執(zhí)行。由于在就緒隊列中按等待順序執(zhí)行處理,所以存在當(dāng)在就緒隊列上登記多個任務(wù)時,軟件中斷處理程序的執(zhí)行開始變緩這樣的問題點。S卩,軟件中斷處理程序從被調(diào)出到被開始執(zhí)行為止,與硬件中斷處理程序從被調(diào)出到被行開執(zhí)始為止相比,存在延遲這樣的問題點,并存在中斷的響應(yīng)較遲這樣的問題點。

發(fā)明內(nèi)容
本發(fā)明的目的在于,提供一種由于消除上述的以往技術(shù)的問題點,所以能夠使優(yōu)先級高的中斷的響應(yīng)時間高速化的多核處理器系統(tǒng)、控制程序以及控制方法。根據(jù)本實施方式的ー觀點,提供ー種多核處理器系統(tǒng),其具備使針對多核處理器中的一個內(nèi)核的軟件中斷請求的中斷處理進行等待,利用上述一個內(nèi)核按等待順序執(zhí)行等待中的處理的第一執(zhí)行單元;使針對上述一個內(nèi)核的硬件中斷請求的中斷處理優(yōu)先于利用上述ー個內(nèi)核執(zhí)行中的處理而執(zhí)行的第二執(zhí)行單元;請求并判斷上述軟件中斷請求是否是特定的軟件中斷請求的判斷単元;通過上述請求判斷単元判斷為上述軟件中斷請求是上述特定的軟件中斷請求的情況下,不通過上述第一執(zhí)行單元使上述軟件中斷請求的中斷處理進行等待,而通過上述第二執(zhí)行單元使上述軟件中斷請求的中斷處理優(yōu)先執(zhí)行的執(zhí)行控制單元。
根據(jù)本多核處理器系統(tǒng)、控制程序以及控制方法,起到能夠使優(yōu)先級高的中斷的響應(yīng)時間高速化這樣的效果。


圖I是表示動畫再生過程中的ー個例子的說明圖。圖2是表示產(chǎn)生了硬件中斷請求的例子的說明圖。圖3是表示立即執(zhí)行查找處理的例子的說明圖。圖4是表示多核處理器系統(tǒng)的硬件的框圖。圖5是表不實施例I的用例表的一個例子的說明圖。圖6是表示多核處理器系統(tǒng)的框圖。 圖7是表示實施例I的說明圖。圖8是表示實施例I的多核處理器系統(tǒng)的控制處理順序的流程圖(其I)。圖9是表示實施例I的多核處理器系統(tǒng)的控制處理順序的流程圖(其2)。圖10是表示實施例2的用例表的一個例子的說明圖。圖11是表示在實施例2中可中斷的任務(wù)為執(zhí)行狀態(tài)的說明圖。圖12是表示在實施例2中不可中斷的任務(wù)為執(zhí)行狀態(tài)的說明圖(其I)。圖13是表示在實施例2中不可中斷的任務(wù)為執(zhí)行狀態(tài)的說明圖(其2)。圖14是表示實施例2的多核處理器系統(tǒng)的控制處理順序的流程圖。
具體實施例方式以下參照附圖,詳細說明多核處理器系統(tǒng)、控制程序以及控制方法的優(yōu)選的實施方式。其中,在本實施方式的多核處理器系統(tǒng)中,多核處理器是指安裝有多個內(nèi)核的處理器。只要是安裝了多個內(nèi)核的處理器即可,可以是安裝了多個內(nèi)核的単一處理器,也可以是并聯(lián)單核處理器的處理器組。其中,在本實施方式中,為了簡化說明,以并聯(lián)單核處理器的處理器組為例進行說明。圖I是表示動畫再生過程中的一個例子的說明圖。在圖I中,例舉了多核處理器系統(tǒng)100為手機的情況。在主CPUlOl中播放器處理為執(zhí)行中,GUI(Graphic User Interface 圖形用戶接ロ)處理被登記在就緒隊列141中。另ー方面,在從屬CPU102中動畫解碼處理為執(zhí)行中。在此,就緒隊列141 (或者就緒隊列142)如公知那樣是指用于管理能夠執(zhí)行狀態(tài)的任務(wù)的數(shù)據(jù)結(jié)構(gòu)。通過提取登記在就緒隊列141 (或者就緒隊列142)中的任務(wù)的上下文信息,能夠執(zhí)行任務(wù)。上下文信息是表示將程序的內(nèi)部狀態(tài)、程序配置在存儲器上的何處的信息。圖2是表示產(chǎn)生了硬件中斷請求的例子的說明圖。在圖2中,由于利用者對動畫進行快進,所以從I / O (Input / Output)設(shè)備103 (在圖2中為液晶面板)產(chǎn)生硬件中斷請求。當(dāng)主CPUlOl檢測到該硬件中斷請求時,主0S121使播放器處理退避到就緒隊列142,而執(zhí)行作為硬件中斷處理程序的觸摸面板驅(qū)動程序。接著,若要使主0S121從觸摸面板驅(qū)動程序,基于軟件中斷請求來執(zhí)行查找處理,則主0S121確定作為中斷對象的動畫解碼處理被分配給了哪個CPU。
在此,確定為動畫解碼處理被分配給從屬CPU102。由于主0S121將動畫解碼處理分配給從屬CPU102,所以主CPUlOl通過處理器間中斷通信來將調(diào)出查找處理的軟件中斷請求向從屬CPU102通知。管理程序112監(jiān)控處理器間通信,檢測該軟件中斷請求。管理程序112若檢測到該軟件中斷請求,則判斷該軟件中斷請求的軟件中斷處理程序、即查找處理是否是優(yōu)先級高的處理。此外,管理程序112基于查找處理的優(yōu)先級,判斷是否是特定的軟件中斷請求。在此,管理程序112判斷為查找處理是優(yōu)先級高的處理。然后管理程序112使從屬CPU102產(chǎn)生偽硬件中斷請求。具體地說,將與預(yù)定的查找處理對應(yīng)的寄存器值設(shè)定到從屬CPU102內(nèi)的與硬件中斷相關(guān)的寄存器中。圖3表示立即執(zhí)行查找處理的例子的說明圖。若在從屬CPU102內(nèi)的與硬件中斷相關(guān)的寄存器中設(shè)定了值,從屬CPU102則確定與該設(shè)定的值對應(yīng)的地址。然后,在從屬CPU102上運行的從屬0S122使執(zhí)行中的動畫解碼處理退避在就緒隊列142的前端,通過跳 轉(zhuǎn)到該確定的地址來執(zhí)行查找處理。由此,能夠立即執(zhí)行查找處理,能夠提高與優(yōu)先級高的處理相關(guān)的響應(yīng)性。此外,如果查找處理是優(yōu)先級低的處理,則與以往同樣,從屬0S122將該查找處理積存在就緒隊列142中使其進行等待。(多核處理器系統(tǒng)100的硬件)圖4是表示多核處理器系統(tǒng)100的硬件的框圖。在圖4中,多核處理器系統(tǒng)100具有主CPU101、從屬CPU102、共享存儲器104、I / O設(shè)備103。另外,各部通過總線105連接。雖然在圖I中例舉了多核處理器系統(tǒng)100為手機,但不局限于此,還可以例舉多核處理器系統(tǒng)100為手機、電子書閱讀設(shè)備等便攜式信息終端、個人計算機。主CPUlOl和從屬CPU102分別具有內(nèi)核、寄存器和高速緩沖存儲器。在各CPU的寄存器中具有與硬件中斷相關(guān)的寄存器(以下,為“硬件中斷寄存器”)。若硬件中斷寄存器被設(shè)定值,則基于該設(shè)定的值來確定與中斷處理相關(guān)的地址,CPU能夠通過跳轉(zhuǎn)到該地址而立即執(zhí)行該中斷處理。各CPU中具有中斷向量表,在該中斷向量表中記述有寄存器的值和中斷處理的地址的對應(yīng)關(guān)系。在硬件中斷請求中,在硬件中斷寄存器中設(shè)定與該硬件中斷請求對應(yīng)的值。各CPU若在該CPU所具有的硬件中斷寄存器中被設(shè)定了值,則各CPU從中斷向量表檢索設(shè)定的值,確定對應(yīng)的地址。然后,該CPU跳轉(zhuǎn)到確定的地址。另外,在本實施方式中,中斷向量表不僅記述有與硬件中斷處理相關(guān)的地址,還記述有與軟件中斷處理相關(guān)的地址。然后,按每個硬件中斷請求以及軟件中斷請求,預(yù)先決定在硬件中斷寄存器中能夠設(shè)定的值。主CPUlOl執(zhí)行管理程序111和主0S121,掌管多核處理器系統(tǒng)100的整體控制。主0S121具備調(diào)度程序131,該調(diào)度程序131控制將任務(wù)分配給哪個CPU,并控制主CPUlOl中的任務(wù)的切換。從屬CPU102執(zhí)行管理程序112和從屬0S122。從屬0S122具備調(diào)度程序132,該調(diào)度程序132控制從屬CPU102中的任務(wù)的切換。其次,管理程序111和管理程序112分別是在主CPUlOl和從屬CPU102等硬件上直接運行的程序,是存儲在該硬件內(nèi)的寄存器中的程序。管理程序111能夠?qū)嵤┲苯訁⒄罩鰿PUlOI、讀出主CPUlOI內(nèi)的寄存器的信息、或者改寫主CPUlOI內(nèi)的寄存器的信息的特權(quán)指令。管理程序112能夠?qū)嵤┲苯訁⒄諒膶貱PU102內(nèi)的寄存器、讀出從屬CPU102內(nèi)的寄存器的信息、或改寫從屬CPU102內(nèi)的寄存器的信息的特權(quán)指令。I / O設(shè)備103是用戶能夠直接操作的設(shè)備、或用戶能夠經(jīng)由網(wǎng)絡(luò)操作的設(shè)備。例如,舉出了鍵盤、能夠進行觸摸操作的液晶面板、鼠標(biāo)等。例如,如果是鍵盤,則具備用于文字、數(shù)字、各種指示等輸入的鍵,來進行數(shù)據(jù)的輸入。例如,如果是能夠進行觸摸操作的液晶面板,則進行該數(shù)據(jù)的輸入,進行文字、數(shù)字、圖像等的輸出。共享存儲器104是多核處理器所共享的存儲器,其存儲有進程表151和用例表500。具體地說,共享存儲器104具備ROM (Read Only Memory :只讀存儲器)、RAM (RandomAccess Memory :隨機存取存儲器)、閃存ROM等。例如,閃存ROM存儲各OS的程序,ROM存儲應(yīng)用程序,RAM被用作主CPUlOl和從屬CPU102的工作區(qū)使用。共享存儲器104所存儲的程序通過被加載到各CPU,來 使該各CPU執(zhí)行被編碼的處理。進程表151是指表示任務(wù)被分配給哪個CPU、CPU正執(zhí)行哪個任務(wù)的信息。各OS在該OS啟動后讀出進程表151并將其預(yù)先存儲在各CPU的高速緩沖存儲器中。當(dāng)調(diào)度程序131分配任務(wù)時,在進程表151中進行登記。當(dāng)各調(diào)度程序產(chǎn)生任務(wù)切換吋,向進程表151中登記哪個任務(wù)變?yōu)閳?zhí)行狀態(tài)。另外,當(dāng)各調(diào)度程序改寫進程表151時,通過執(zhí)行窺探(Snoop)處理,由此更新全部CPU的高速緩沖存儲器所存儲的進程表151。接著,使用圖5來說明用例表500。圖5是表示實施例I的用例表500的一個例子的說明圖。用例表500是按每個函數(shù)表示是否在執(zhí)行中斷時使處理強制執(zhí)行的信息、和表示是否能夠在該函數(shù)執(zhí)行中進行中斷的信息。例如,在FuncA被記述為“強制跳轉(zhuǎn)”,在FuncB被記述為“處理程序處理”。即,若作為軟件中斷調(diào)出FuncA,則在多核處理器系統(tǒng)100中,立即執(zhí)行FuncA。另ー方面,若作為軟件中斷調(diào)出FuncB,則在多核處理器系統(tǒng)100中,將FuncB登記到就緒隊列142。在本實施方式中,被記述為“強制跳轉(zhuǎn)”的函數(shù)表示優(yōu)先級高的處理,被記述為“處理程序處理”的函數(shù)表示優(yōu)先級不高的(優(yōu)先級低的)處理。作為優(yōu)先級高的中斷處理,例如舉出了與特定的硬件中斷請求連動的中斷處理。例如,圖3所示那樣的查找處理是與觸摸面板驅(qū)動程序連動的中斷處理。特定的硬件中斷請求是指例如由用戶操作而產(chǎn)生的硬件中斷請求。在此,用戶操作例如舉出了觸摸面板操作、鍵盤觸摸、鼠標(biāo)操作等。另外,用例表500預(yù)先在應(yīng)用程序的設(shè)計者進行設(shè)計時被創(chuàng)建。由此,設(shè)計者也可以將想要提高優(yōu)先級的處理作為優(yōu)先級高的處理登記在用例表500中。另外,將表示在用例表500中,中斷時強制執(zhí)行處理的信息被記述為“強制跳轉(zhuǎn)”的函數(shù)的地址被登記在上述的中斷向量表中。此外,用例表500還可以在與多核處理器系統(tǒng)100啟動同時存儲到各CPU的高速緩沖存儲器中。(多核處理器系統(tǒng)100)圖6是表示多核處理器系統(tǒng)100的框圖。多核處理器系統(tǒng)100的各CPU包括第一執(zhí)行部601、第二執(zhí)行部602、請求判斷部603、優(yōu)先判斷部604和執(zhí)行控制部605。各部(第一執(zhí)行部601 執(zhí)行控制部605)例如,能夠使各CPU執(zhí)行共享存儲器104所存儲的程序。第一執(zhí)行部601和第二執(zhí)行部602是設(shè)置在各CPU上運行的OS(在本實施方式中為主0S121以及從屬0S122)中的程序。請求判斷部603、優(yōu)先判斷部604和執(zhí)行控制部605是設(shè)置在各CPU上運行的管理程序(在本實施方式中為管理程序111以及管理程序112)中的程序。第一執(zhí)行部601使軟件中斷請求的軟件中斷處理程序進行等待,按等待順序執(zhí)行等待中的處理。第二執(zhí)行部602使硬件中斷請求的軟件中斷處理程序優(yōu)先于執(zhí)行中的處理而執(zhí)行。請求判斷部603判斷軟件中斷請求是否是特定的軟件中斷請求。在本實施方式中,關(guān)于軟件中斷請求是否是特定的軟件中斷請求,判斷軟件中斷請求的軟件中斷處理程序是否是優(yōu)先級高的處理。在通過請求判斷部603判斷為軟件中斷請求是特定的軟件中斷請求的情況下,執(zhí)行控制部605不通過第一執(zhí)行部601使軟件中斷請求的軟件中斷處理程序進行等待,而通 過第二執(zhí)行部602使之優(yōu)先執(zhí)行。另外,在通過請求判斷部603判斷為軟件中斷請求是特定的軟件中斷請求的情況下,優(yōu)先判斷部604基于規(guī)定基準來判斷執(zhí)行中的處理是否允許優(yōu)先于該執(zhí)行中的處理而執(zhí)行軟件中斷請求的軟件中斷處理程序。在通過優(yōu)先判斷部604判斷為執(zhí)行中的處理未允許優(yōu)先于執(zhí)行中的處理而執(zhí)行軟件中斷請求的軟件中斷處理程序的情況下,執(zhí)行控制部605在執(zhí)行中的處理結(jié)束后或任務(wù)切換時,通過第二執(zhí)行部602使軟件中斷請求的軟件中斷處理程序優(yōu)先執(zhí)行?;谏厦嬗涊d,使用附圖來詳細說明實施例I以及實施例2。首先,在實施例I中,說明基于通過處理器間中斷通信而調(diào)出的軟件中斷處理程序是否是優(yōu)先級高的函數(shù),來使該軟件中斷處理程序立即執(zhí)行、或者使其等待。接著,在實施例2中,說明基于執(zhí)行中的任務(wù)是否允許中斷,來使軟件中斷處理程序立即執(zhí)行、或者在該執(zhí)行中的任務(wù)已結(jié)束或者任務(wù)切換時判斷該軟件中斷處理程序的例子。(實施例I)圖7是表示實施例I的說明圖。首先,(I)若經(jīng)由I / O設(shè)備103對主CPUlOl產(chǎn)生硬件中斷的請求,則主0S121 (2)使主CPUlOl執(zhí)行中的任務(wù)A立即退避。然后,主0S121 (3)執(zhí)行該硬件中斷請求的硬件中斷處理程序。然后,主0S121使用進程表151確定被分配了通過硬件中斷處理程序調(diào)出的軟件中斷處理程序而接受中斷的任務(wù)的CPU。在此,將接受該中斷的任務(wù)設(shè)為任務(wù)B,確定從屬CPU102為被分配了任務(wù)B的CPU。然后,主0S121 (4)通過處理器間中斷通信向從屬CPU102通知軟件中斷請求。管理程序112監(jiān)控處理器間通信,檢測該軟件中斷請求。管理程序112當(dāng)檢測到軟件中斷請求時,檢索從用例表500檢測到的軟件中斷請求的軟件中斷處理程序,判斷該軟件中斷處理程序是否是優(yōu)先級高的處理。在此,假設(shè)軟件中斷處理程序為優(yōu)先級高的處理。在判斷為軟件中斷處理程序是優(yōu)先級高的處理吋,(5)管理程序112使從屬CPU102產(chǎn)生偽硬件中斷請求。產(chǎn)生偽硬件中斷請求例如指表示管理程序112在從屬CPU102的寄存器內(nèi)的硬件中斷寄存器設(shè)定與軟件中斷處理程序?qū)?yīng)的值。從屬CPU102使用中斷向量表確定與設(shè)定的值對應(yīng)的地址。然后,(6)從屬0S122使執(zhí)行中的任務(wù)B退避到就緒隊列142的前端,(7)通過跳到確定的地址而執(zhí)行軟件中斷處理程序。(實施例I的多核處理器系統(tǒng)100的控制處理順序)圖8以及圖9是表示實施例I的多核處理器系統(tǒng)100的控制處理順序的流程圖。在此,以對主CPUlOl產(chǎn)生了硬件中斷請求的情況為例進行說明。首先,主CPUlOl檢測到硬件中斷請求(步驟S801),在主CPUlOl上運行的主0S121中斷執(zhí)行中的任務(wù),使之退避到就緒隊列141 (步驟S802)。然后,主0S121執(zhí)行硬件中斷請求的硬件中斷處理程序(步驟S803),使用エ序表151確定被分配了接受中斷的任務(wù)的CPU (步驟S804)。接著,主0S121判斷確定的CPU是否為主CPUlOl (步驟S805),如果確定的CPU是主CPUlOl (步驟S805 :是),則執(zhí)行通常的中斷處理(步驟S806)。另ー方面,在判斷為確定的CPU不是主CPUlOl的情況下(步驟S805 :否),主0S121對確定的CPU實施處理器間中斷通信(步驟S807)。在此,在處理器間中斷通信中,向確定的CPU賦予與調(diào)出的函數(shù)相關(guān)的信息來通知軟件中斷請求。 另ー方面,在從屬CPU102上運行的管理程序112監(jiān)控處理器間通信,判斷是否檢測到處理器間中斷通信(步驟S808)。其中,管理程序112僅檢測針對從屬CPU102的處理器間中斷通信。管理程序112在判斷為未檢測到處理器間中斷通信的情況下(步驟S808 否),返回步驟S808。即,管理程序112常時監(jiān)控處理器間通信,從而能夠檢測處理器間中斷通信。管理程序112在判斷為檢測到處理器間中斷通信的情況下(步驟S808 :是),使用用例表500判斷軟件中斷請求的軟件中斷處理程序是否是優(yōu)先級高的處理(步驟S809)。管理程序112在判斷為軟件中斷請求的軟件中斷處理程序為優(yōu)先級高的處理的情況下(步驟S809 :是),在從屬CPU102的硬件中斷寄存器中設(shè)定與軟件中斷請求相關(guān)的值(步驟S810)。接著,通過在硬件中斷寄存器中設(shè)定值,從屬CPU102檢測硬件中斷請求(步驟S811)0此外,實際上雖是軟件中斷請求,但由于從屬CPU102僅檢測在硬件中斷寄存器設(shè)定值,所以對于是否是硬件中斷請求并沒有判斷。在從屬CPU102上運行的從屬0S122中斷執(zhí)行中的任務(wù)使之退避到就緒隊列142 (步驟S812)。然后,從屬0S122執(zhí)行軟件中斷請求的軟件中斷處理程序(步驟S813),移至步驟S817。另ー方面,管理程序112在判斷為軟件中斷請求的軟件中斷處理程序不是優(yōu)先級高的處理的情況下(步驟S809 :否),將軟件中斷請求通知給從屬0S122(步驟S814)。在此,管理程序112通知軟件中斷請求是指,表示通知通過積存到就緒隊列142而進行等待的指示。從屬0S122若受理該通知,則將軟件中斷處理程序登記到就緒隊列142 (步驟S815),通過按登記到就緒隊列142的順序執(zhí)行處理,來執(zhí)行軟件中斷處理程序(步驟S816)。接著步驟S813或者步驟S816,從屬0S122判斷該軟件中斷處理程序是否已結(jié)束(步驟S817)。從屬0S122在判斷為軟件中斷處理程序未結(jié)束的情況下(步驟S817 :否),返回步驟S817。另ー方面,從屬0S122在判斷為軟件中斷處理程序已結(jié)束的情況下(步驟S817 是),向主CPUlOl通知軟件中斷處理程序的結(jié)束(步驟S818)。另外,在本實施方式中,在從屬CPU102上運行的管理程序112常時監(jiān)控處理器間通信,從而管理程序112檢測處理器間中斷通信。另外,例如,還可以將在主CPUlOl上運行的管理程序111實施處理器間中斷通信的情況通知給在實施之前在從屬CPU102上運行的管理程序112,然后,實施處理器間中斷通信。由此,在從屬CPU102上運行的管理程序112不用常時監(jiān)視,管理程序112就能夠檢測處理器間中斷通信。(實施例2)在實施例2中,說明基于執(zhí)行中的任務(wù)是否允許中斷,來判斷立即執(zhí)行優(yōu)先級高的軟件中斷處理程序、或者在該執(zhí)行中的任務(wù)結(jié)束或者產(chǎn)生任務(wù)的切換時執(zhí)行該軟件中斷處理程序的例子。在此,在實施例2中,在執(zhí)行中的任務(wù)不允許中斷的情況下,將表示執(zhí)行中的任務(wù)是否已結(jié)束或者是否發(fā)生任務(wù)的切換的標(biāo)志設(shè)為ProcessID。如果ProcessID為0,則表示任務(wù)處于執(zhí)行中,如果ProcessID為1,則表示執(zhí)行中的任務(wù)已結(jié)束或產(chǎn)生任務(wù)的切換。圖10是表示實施例2的用例表的ー個例子的說明圖。在用例表1000中,具有按每個函數(shù)表示是否在中斷時強制執(zhí)行處理的信息、和表示該函數(shù)在執(zhí)行中是否能夠中斷的信息,而且,還具有按每個任務(wù)表示是否能夠在執(zhí)行中進行中斷的信息。例如,F(xiàn)uncA被記 述為“強制跳轉(zhuǎn)”、“不可中斷”,F(xiàn)uncB被記述為“處理程序處理”、“可中斷”。而且,例如任務(wù)A被記述為“一”、“可中斷”,任務(wù)B被記述為“一”、“可中斷”,任務(wù)C被記述為“一”、“不可中斷”。其中,在本實施方式中,由于作為中斷處理程序僅調(diào)出函數(shù),因此在任務(wù)A 任務(wù)B中沒有記述表示在中斷時是否強制執(zhí)行處理。例如,如果在任務(wù)A執(zhí)行中產(chǎn)生軟件中斷,與任務(wù)A相關(guān)的表示執(zhí)行中是否能夠中斷的信息為“可中斷”,因此使任務(wù)A退避,調(diào)出并執(zhí)行軟件中斷處理程序。另ー方面,與任務(wù)C相關(guān)的表示執(zhí)行中是否能夠中斷的信息為“不可中斷”。在任務(wù)C執(zhí)行中產(chǎn)生了軟件中斷的情況下,從任務(wù)C的執(zhí)行結(jié)束起或任務(wù)的切換產(chǎn)生時,調(diào)出并執(zhí)行軟件中斷處理程序。其中,在實施例2中,在共享存儲器104存儲有用例表1000。用例表1000可以在多核處理器系統(tǒng)100啟動的同時被存儲在各CPU的高速緩沖存儲器中。圖11是表示在實施例2中可中斷的任務(wù)為執(zhí)行狀態(tài)的說明圖。在圖11中,將接受硬件中斷處理程序所調(diào)出的軟件中斷的任務(wù)設(shè)為任務(wù)B。首先,(I)若針對主CPUlOl產(chǎn)生硬件中斷請求,則主0S121 (2)將任務(wù)A中斷并使之退避到就緒隊列141,(3)執(zhí)行硬件中斷請求的硬件中斷處理程序。然后,主0S121確定通過硬件中斷處理程序所調(diào)出的軟件中斷處理程序而中斷的任務(wù)B被分配給了哪ー個CPU。在此,任務(wù)B在從屬CPU102中處于執(zhí)行中,因此確定了從屬CPU102。主0S121 (4)通過處理器間中斷通信向從屬CPU102通知軟件中斷請求。管理程序112監(jiān)控處理器間通信,檢測對從屬CPU102的該處理器間中斷通信。然后,管理程序112使用用例表1000判斷軟件中斷請求的軟件中斷處理程序是否是優(yōu)先級高的處理。在此,設(shè)軟件中斷請求的軟件中斷處理程序為優(yōu)先級高的處理。接著,管理程序112確定執(zhí)行中的任務(wù),使用用例表1000判斷該執(zhí)行中的任務(wù)是否允許優(yōu)先于該執(zhí)行中的任務(wù)而執(zhí)行中斷處理。在此,判斷為任務(wù)B是能夠中斷的任務(wù)。若判斷為任務(wù)B是能夠中斷的任務(wù),則管理程序112 (5)對從屬CPU102產(chǎn)生偽硬件中斷請求。即,在硬件中斷寄存器設(shè)定與軟件中斷請求對應(yīng)的值。然后,從屬CPU102通過檢測到在硬件中斷寄存器設(shè)定值,來檢測硬件中斷請求,從屬0S122 (6)使執(zhí)行中的任務(wù)B退避到就緒隊列142,(7)執(zhí)行軟件中斷請求的軟件中斷處理程序。圖12是表示在實施例2中表示不可中斷的任務(wù)為執(zhí)行狀態(tài)的說明圖(其I)。在圖12中,將接受硬件中斷處理程序所調(diào)出的軟件中斷的任務(wù)設(shè)為任務(wù)C。由于圖12的(I) (4)與圖11的(I) (4)相同,故省略他們的說明。管理程序112監(jiān)控處理器間通信,檢測對從屬CPU102的該處理器間中斷通信。然后,管理程序112確定執(zhí)行中的任務(wù),使用用例表1000來判斷該執(zhí)行中的任務(wù)C是否是能夠中斷的任務(wù)。在此,判斷為任務(wù)C是不可中斷的任務(wù)。然后,管理程序112(5)將ProcessID設(shè)定為O。從屬0S122使用進程表151判斷任務(wù)C是否已結(jié)束或是否產(chǎn)生任務(wù)的切換。圖13是表示在實施例2中的不可中斷的任務(wù)為執(zhí)行狀態(tài)的說明圖(其2)。(6)若任務(wù)C結(jié)束或產(chǎn)生任務(wù)的切換,則從屬0S122檢測任務(wù)C的結(jié)束,(7)設(shè)定為ProcessID =
I。管理程序112 (8)檢測出ProcessID從O變化到I,從而使從屬CPU102產(chǎn)生偽硬件中斷請求。然后,若產(chǎn)生該偽硬件中斷請求,則從屬0S122 (9)執(zhí)行軟件中斷處理程序。(實施例2的多核處理器系統(tǒng)100的控制處理順序)圖14是表示實施例2的多核處理器系統(tǒng)100的控制處理順序的流程圖。對于主 CPUlOl的處理,由于與圖8所示的實施例I的多核處理器系統(tǒng)100的控制處理順序相同,所以未圖示并省略說明。在此,說明從屬CPU102從主CPUlOl接受到處理器間中斷通信的情況下的處理。其中,對于主CPUlOl的處理,設(shè)為步驟S1401 步驟S1407(分別與圖8的步驟S801 步驟S807相同)。首先,在從屬CPU102上運行的管理程序112監(jiān)控處理器間通信,判斷是否檢測到處理器間中斷通信(步驟S1408)。管理程序112在判斷為未檢測到處理器間中斷通信的情況下(步驟S1408 :否),返回步驟S1408。S卩,管理程序112常時監(jiān)控處理器間通信,從而能夠檢測處理器間中斷通信。另ー方面,管理程序112在判斷為檢測到處理器間中斷通信的情況下(步驟S1408 :是),使用用例表1000判斷軟件中斷請求的軟件中斷處理程序是否是優(yōu)先級高的處理(步驟S1409)。管理程序112在判斷為軟件中斷處理程序是優(yōu)先級高的處理的情況下(步驟S1409 :是),判斷執(zhí)行中的任務(wù)是否是能夠中斷的エ序(步驟S1410)。管理程序112在判斷為執(zhí)行中的任務(wù)不是能夠中斷的エ序的情況下(步驟S1410 否),設(shè)為ProcesssID = O (步驟S1411),從屬0S122判斷是否執(zhí)行中的任務(wù)已結(jié)束、或者是否發(fā)生任務(wù)的切換(步驟S1417)。從屬0S122在判斷為該任務(wù)處于執(zhí)行中的情況下(步驟S1417 :否),返回步驟S1413。另ー方面,從屬0S122在判斷為執(zhí)行中的任務(wù)已結(jié)束、或者產(chǎn)生了任務(wù)的切換的情況下(步驟S1417 :是),設(shè)為ProcessID = I (步驟S1418)。另外,接著步驟S1411,管理程序112判斷ProcessID是否為I (步驟S1412),在判斷為ProcessID不為I的情況下(步驟S1412 :否),返回步驟S1412。另ー方面,在判斷為ProcessID為I的情況下(步驟S1412 :是),在硬件中斷寄存器中設(shè)定與軟件中斷請求相關(guān)的值(步驟S1413)。從屬CPU102檢測硬件中斷請求(步驟S1414),從屬0S122中斷執(zhí)行中的任務(wù)使之退避到就緒隊列142(步驟S1415)。接著,從屬0S122執(zhí)行軟件中斷處理程序(步驟S1416),移至步驟S1420。另ー方面,在步驟S1409中,管理程序112在判斷為軟件中斷處理程序不是優(yōu)先級高的處理的情況下(步驟S1409 :否),向從屬0S122通知軟件中斷請求(步驟S1419)。從屬0S122通過將軟件中斷處理程序積存到就緒隊列142中,從而使軟件中斷處理程序進行等待(步驟S1420),按等待順序執(zhí)行等待中的處理,來執(zhí)行軟件中斷處理程序(步驟S1421)。
接著步驟S1416或者步驟S1421,從屬0S122判斷軟件中斷處理程序是否已結(jié)束(步驟S1422)。從屬0S122判斷為軟件中斷處理程序未結(jié)束的情況下(步驟S1422 :否),返回步驟S1420。另ー方面,從屬0S122判斷為軟件中斷處理程序已結(jié)束的情況下(步驟S1422 是),向主CPUlOl通知結(jié)束(步驟S1423)。如以上說明的那樣,根據(jù)多核處理器系統(tǒng)、控制程序以及控制方法,不便特定的軟件中斷請求的中斷處理進行等待,而優(yōu)先于執(zhí)行中的處理來執(zhí)行,從而能夠使中斷的響應(yīng)時間高速化。另外,通過特定的軟件中斷請求是與特定的硬件中斷請求連動的軟件中斷請求,從而能夠使從外部設(shè)備輸出的中斷的響應(yīng)時間高速化。另外,通過特定的硬件中斷請求是基于用戶操作的硬件中斷請求,從而能夠使基于用戶操作的中斷的響應(yīng)時間高速化,用戶能夠感覺不到響應(yīng)時間的壓力而進行操作。
另外,在執(zhí)行中的處理不允許優(yōu)先于該執(zhí)行中的處理而執(zhí)行軟件中斷請求的中斷處理的情況下,在執(zhí)行中的處理結(jié)束后或產(chǎn)生任務(wù)的切換時執(zhí)行該中斷處理。由此,不停止優(yōu)先級高的執(zhí)行中的處理,就能夠使中斷的響應(yīng)時間高速化。附圖標(biāo)記說明100多核處理器系統(tǒng);601第一執(zhí)行部;602第二執(zhí)行部;603請求判斷部;604優(yōu)先判斷部;605執(zhí)行控制部。
權(quán)利要求
1.ー種多核處理器系統(tǒng),其特征在于,具有 第一執(zhí)行單元,其使針對多核處理器中的一個內(nèi)核的軟件中斷請求的中斷處理進行等待,利用所述ー個內(nèi)核按等待順序執(zhí)行等待中的處理; 第二執(zhí)行單元,其使針對所述ー個內(nèi)核的硬件中斷請求的中斷處理優(yōu)先于利用所述ー個內(nèi)核執(zhí)行中的處理而執(zhí)行; 請求判斷単元,其判斷所述軟件中斷請求是否是特定的軟件中斷請求; 執(zhí)行控制単元,在通過所述請求判斷単元判斷為所述軟件中斷請求是所述特定的軟件中斷請求的情況下,該執(zhí)行控制單元不通過所述第一執(zhí)行單元使所述軟件中斷請求的中斷處理進行等待,而通過所述第二執(zhí)行單元使所述軟件中斷請求的中斷處理優(yōu)先執(zhí)行。
2.根據(jù)權(quán)利要求I所述的多核處理器系統(tǒng),其特征在干, 所述特定的軟件中斷請求是與特定的硬件中斷請求連動的軟件中斷請求。
3.根據(jù)權(quán)利要求2所述的多核處理器系統(tǒng),其特征在干, 所述特定的硬件中斷請求是由用戶操作而產(chǎn)生的硬件中斷請求。
4.根據(jù)權(quán)利要求I 3中任一項所述的多核處理器系統(tǒng),其特征在干, 該多核處理器系統(tǒng)具備優(yōu)先判斷単元, 在通過所述請求判斷単元判斷為所述軟件中斷請求是所述特定的軟件中斷請求的情況下,該優(yōu)先判斷単元基于特定的基準來判斷所述執(zhí)行中的處理是否允許優(yōu)先于該執(zhí)行中的處理而執(zhí)行所述軟件中斷請求的中斷處理, 在通過所述優(yōu)先判斷単元判斷為所述執(zhí)行中的處理不允許優(yōu)先于所述執(zhí)行中的處理而執(zhí)行所述軟件中斷請求的中斷處理的情況下,在由所述ー個內(nèi)核執(zhí)行中的處理結(jié)束后或者進行處理的切換時,所述執(zhí)行控制單元通過所述第二執(zhí)行單元使所述軟件中斷請求的中斷處理優(yōu)先執(zhí)行。
5.—種控制程序,其特征在于,使具有第一執(zhí)行エ序和第二執(zhí)行エ序的ー個內(nèi)核執(zhí)行請求判斷エ序和執(zhí)行控制エ序,其中 該第一執(zhí)行エ序,使針對多核處理器中的一個內(nèi)核的軟件中斷請求的中斷處理進行等待,利用所述ー個內(nèi)核按等待順序執(zhí)行等待中的處理;該第二執(zhí)行エ序,使針對所述ー個內(nèi)核的硬件中斷請求的中斷處理優(yōu)先于利用所述ー個內(nèi)核執(zhí)行中的處理而執(zhí)行; 所述請求判斷エ序,判斷所述軟件中斷請求是否是特定的軟件中斷請求; 所述執(zhí)行控制エ序,在通過所述請求判斷エ序判斷為所述軟件中斷請求是所述特定的軟件中斷請求的情況下,不通過所述第一執(zhí)行エ序使所述軟件中斷請求的中斷處理進行等待,而通過所述第二執(zhí)行エ序使所述軟件中斷請求的中斷處理優(yōu)先執(zhí)行。
6.一種控制方法,其特征在干, 該控制方法使具有第一執(zhí)行エ序和第二執(zhí)行エ序的ー個內(nèi)核執(zhí)行判斷エ序和執(zhí)行控制エ序,其中, 該第一執(zhí)行エ序中,使針對多核處理器中的ー個內(nèi)核的軟件中斷請求的中斷處理進行等待,由所述ー個內(nèi)核按等待順序執(zhí)行等待中的處理;該第二執(zhí)行エ序中,使針對所述ー個內(nèi)核的硬件中斷請求的中斷處理優(yōu)先于利用所述ー個內(nèi)核執(zhí)行中的處理而執(zhí)行, 所述判斷エ序中,請求判斷所述軟件中斷請求方式是否是特定的軟件中斷請求; 所述執(zhí)行控制エ序中,在通過所述請求判斷エ序判斷為所述軟件中斷請求是所述特定的軟件中斷請求的情況下,不通過所述第一執(zhí)行エ序使所述軟件中斷請求的中斷處理進行等待,而通過所述 第二執(zhí)行エ序優(yōu)先使所述軟件中斷請求的中斷處理優(yōu)先執(zhí)行。
全文摘要
管理程序(112)監(jiān)控處理器間通信,當(dāng)檢測到軟件中斷請求時,判斷檢測到的軟件中斷請求的軟件中斷處理程序是否是優(yōu)先級高的處理。管理程序(112)在判斷為軟件中斷處理程序是優(yōu)先級高的處理時,(5)使從屬CPU(102)產(chǎn)生偽硬件中斷請求。從屬OS(122)(6)使執(zhí)行中的任務(wù)B退避到就緒隊列(142)的前端,(7)優(yōu)先于任務(wù)B而執(zhí)行軟件中斷處理程序。
文檔編號G06F9/48GK102822802SQ201080065900
公開日2012年12月12日 申請日期2010年3月30日 優(yōu)先權(quán)日2010年3月30日
發(fā)明者山內(nèi)宏真, 山下浩一郎, 鈴木貴久, 栗原康志 申請人:富士通株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
南溪县| 中山市| 阳谷县| 禹州市| 莱阳市| 横山县| 贡嘎县| 万年县| 乐业县| 淮南市| 镇雄县| 乐陵市| 江山市| 林甸县| 新昌县| 嵩明县| 巴塘县| 定安县| 香格里拉县| 屯昌县| 无锡市| 香港| 慈利县| 简阳市| 永和县| 叙永县| 绍兴县| 仪征市| 蓬溪县| 江津市| 阿拉尔市| 淮安市| 筠连县| 庆城县| 涪陵区| 高雄市| 庆元县| 青田县| 辽中县| 崇信县| 冷水江市|