新四季網

信息處理裝置和控制信息處理裝置的方法

2023-05-08 13:42:11

專利名稱:信息處理裝置和控制信息處理裝置的方法
技術領域:
本文討論的實施例涉及信息處理裝置和控制信息處理裝置的方法。
背景技術:
已經存在有關信息處理裝置的多種常規控制方法,所述信息處理裝置包括具有處理器和存儲單元的多個節點,包含在多個節點中的處理器控制待在其硬體線程中執行的處理之間的同步。通常,線程是被軟體並行執行的程序的處理單元,而多線程是多個線程在一個處理器上的並行執行。另一方面,硬體線程也被稱為硬體多線程,並被稱作以下技術。例如,硬體線程是用於共享諸如包含在CPU (Central Processing Unit,中央處理器)中的相同核上的功能單元、寄存器、TLB (Translation Look-asideBuffer,旁路轉換緩衝、轉換旁視緩衝)以及系統總線控制器等硬體資源的技術。換言之,硬體線程是用於共享硬體資源以在同一核上同時運行多個線程的技術。關於硬體線程,除同步運行多個線程的技術以外,已經知道通過時分多路復用來運行多個線程的多種實施方法,諸如VMT (VerticalMult1-Threading,垂直多線程)和 SMT (Simultaneous Mult1-Threading,同步多線程)。例如,考慮以下情形,在上面提到的硬體線程中,包含在第一節點中的第一處理器所包含的第一硬體線程中的正在運行的處理需要包含在第二節點中的第二存儲單元中所存儲的數據。對於上面提到的情形中的處理之間的同步的控制方法,存在例如輪詢系統中的控制方法。換言之,第一處理器使第一硬體線程中正在運行的處理中止並且執行輪詢處理以訪問第一存儲單元,直到包含在第二節點中的第二處理器將數據拷貝到第一存儲單元的處理完成。當第二處理器將數據拷貝到第一存儲單元的處理完成時,第一處理器從第一存儲單元中讀取數據,並且恢復在第一硬體線程中被中止的處理(suspended process)。此外,對於上面提到的情形中的控制處理之間的同步的另一種方法,存在例如中斷系統中的控制方法。換言之,第一處理器使第一硬體線程中正在運行的處理中止,並且隨後向第一處理器發出中斷通知,該中斷通知通告第二處理器已經完成將數據拷貝到第一存儲單元的處理。然後第一處理器執行作為OS (Operating System,作業系統)的內核處理的各種處理,諸如處理切換時的寄存器保存處理、通過OS的權限切換處理、用於啟動中斷處理程序以從第一存儲單元中讀取數據的處理。然後第一處理器從第一存儲單元讀取數據,從而恢復在第一硬體線程中被中止的處理。專利文獻1:國際專利申請的日本國家公布N0.2006-500639專利文獻2:日本已公開專利N0.2006-031691然而,在上面提到的已知技術中,雖然該處理在第一硬體線程中被中止,但是執行存取第一存儲單元的輪詢處理。因此,存在以下問題:在多個硬體線程之間共享的硬體資源(諸如在其他硬體線程之間共享的系統總線控制器)在第一處理器中沒有被有效地使用。
此外,在上面提到的已知技術中,存在以下問題:由於在第一硬體線程中執行的作業系統的內核處理(諸如處理切換時的寄存器保存和恢復處理會引起開銷),因此不可能快速切換處理。因此,本發明的實施例一個方面的目的是當包含在多個節點中的處理單元對在多個節點的各個處理單元中所執行的處理之間的同步進行控制時,促進硬體資源的有效使用。

發明內容
根據實施例的方面,信息處理裝置包括多個節點,其中每一節點包括:處理單元,該處理器單元執行處理並且控制處理的狀態;存儲單元,當處理單元將處理狀態從第一狀態轉變到第二狀態時,該存儲單元存儲標識該處理單元的標識信息;接收單元,該接收單元接收從包含在自身節點或另一節點中的另一處理單元中傳送的標識信息;以及輸出單元,當由接收單元接收的標識信息與在存儲單元中存儲的標識信息一致時,該輸出單元輸出將處理狀態從第二狀態轉變到第一狀態的控制信號。


圖1是示出根據第一實施例的信息處理裝置的配置的框圖;圖2是示出根據第一實施例的處理的順序圖;圖3是示出根據第一實施例的喚醒(WAKEUP)包的配置的示意圖;圖4是示出根據第一實施例的處理的時間圖;圖5是示出根據第一實施例的處理的流程圖;圖6是示出根據第二實施例的信息處理裝置的配置的框圖;圖7是示出根據第二實施例的處理的流程圖;以及圖8是示出根據第二實施例的喚醒信號開啟(ON)處理的流程圖。
具體實施例方式將參考

本發明的優選的實施例。以下實施例僅僅說明了示例,並不限制本公開的技術。此外,實施例可在不引起矛盾的範圍內適當地組合。[a]第一實施例第一實施例的信息處理裝置的配置圖1示出了根據第一實施例的信息處理裝置的配置的框圖。以下,SC表示系統控制器,CPU示表中央處理單元,以及MAC表示存儲器存取控制器。此外,IC-Ctrl表示內部連接控制器,IC-1F表示內部連接接口,以及SVP表示服務處理器。此外,以下,節點表示信息處理單元的單元。SC控制諸如在CPU和MAC之間的數據傳輸等處理,其被安裝在節點上以控制整個節點。MAC連接在本地存儲器和共享存儲器(其是諸如DIMM (Dual Inline MemoryModule,雙列直插式存儲模塊)等存儲器)與SC之間以控制對本地存儲器和共享存儲器的存取。此外,IC-ctrl是控制節點之間通信的控制器。IC-1F是由IC_ctrl控制的節點之間的通信接口。SVP包含在每一節點中,是以與諸如每一節點的CPU等算術處理單元獨立的方式來控制和監視每一節點中的硬體的處理器,並且經由包括在另一節點中的SVP,LAN (Local Area Network,區域網)等通過通信來發送和接收信息。如圖1所示,根據第一實施例的信息處理裝置I包括節點10和20。節點10包括SC 11。節點10還包括經由圖1中的點劃線所表示的系統總線12分別連接到SC 11的CPU13a 和 13b、MAC 14 和 IC-ctrl 15。節點10還包括分別連接到MAC 14的本地存儲器16a和共享存儲器16b。節點10還包括分別連接到IC-ctrl 15的喚醒(WAKEUP)信號生成單元17a和17b。節點10還包括SVP 18。SC 11將CPU 13a和13b存取本地存儲器16a和共享存儲器16b的請求傳送到MAC
14。此外,SC 11將節點20對共享存儲器16b的存取傳送到MAC 14。此外,SC 11控制在CPU 13a和13b與喚醒信號生成單元17a和17b之間的信息輸入和輸出。此外,SC 11將CPU 13a和13b對節點20的存取傳送到IC-ctrl 15。此外,SC 11將從CPU 13a和13b到喚醒信號生成單元17a和17b的數據分別輸入到喚醒信號生成單元17a和17b。此外,IC-ctrl 15將從節點20到喚醒信號生成單元17a和17b的數據分別輸入到喚醒信號生成單元17a和17b。節點20具有與節點10相同的配置,並且包括不同附圖標記而具有相同名稱的元件具有相同的配置和功能。節點20包括SC 21、系統總線22、CPU 23a和23b、MAC 24、IC-ctrl 25、本地存儲器26a、共享存儲器26b、喚醒信號生成單元27a和27b、以及SVP 28。節點20中的SC 21、系統總線22、CPU 23a和23b、MAC24、IC_ctrl25分別對應於節點10中的SC 11、系統總線12、CPU 13a和13b、MAC 14和Cl-ctrl 15。此外,節點20中的本地存儲器26a、共享存儲器26b以及SVP 28分別對應於節點10中的本地存儲器16a、共享存儲器16b以及SVP18。此外,節點20中的喚醒信號生成單元27a和27b分別對應於節點10中的喚醒信號生成單元17a和17b。節點10和20可經由IC-1F 3連接到IC-ctrl 15和25來彼此通信。此外,節點10的SVP 18和節點20的SVP 28可經由預定通信線路連接而彼此通信。第一實施例的CPU和喚醒信號生成單元的配置將以CPU 23a為代表來給出CPU 13a,13b,23a和23b的配置說明。換言之,CPU13a,13b和23b的配置與CPU 23a的配置相同。此外,將以喚醒信號生成單元27a為代表來給出喚醒信號生成單元17a,17b,27a和27b的配置。換言之,喚醒信號生成單元17a,17b和27b的配置與喚醒信號生成單元27a相同。如圖1所示,CPU 23a是例如多核CPU,並且包含在多核CPU中的CPU核對應於硬體線程23a-l和23a-2。在CPU 23a的相同核上,硬體線程23a_l和23a_2共享CPU 23a的硬體資源來分別執行處理。此外,CPU 23a包括連接到SC21的系統總線控制器23a_3,系統總線控制器23a_3是線程23a-l和23a-2控制待由CPU 23a通過系統總線22所執行的數據輸入和輸出的接口。換言之,系統總線控制器23a-3是在硬體線程23a-l和23a_2之間共享的輸入/輸出接口。此外,如圖1所示,喚醒信號生成單元27a包括休眠ID(SleepID)寄存器27a_l和27a-2、喚醒數據寄存器27a-3、比較單元27a_5和27a_6和與(AND)單元27a_7和27a_8。休眠標識符(Sleep Identification)被簡寫為休眠ID。休眠ID是標識硬體線程23a_l和23a_2的標識信息。在處理的執行期間,由於出現等待數據輸入(wait-for-data-1nput),硬體線程23a-l和23a-2中止處理時,將休眠ID分別輸出到相應的喚醒信號生成單元27a和 27b。對應於CPU 23a的硬體線程23a_l的休眠ID寄存器27a_l、比較單元27a_5、與單元27a-7被提供。類似的,對應於CPU 23a的硬體線程23a_2的休眠ID寄存器27a_2、比較單元27a-6、與單元27a-8被提供。休眠ID寄存器是存儲待被硬體線程23a_l輸出到喚醒信號生成單元27a的休眠ID的寄存器。標識硬體線程23a-l的休眠ID從硬體線程23a-l中輸出,經由系統總線控制器23a-3和SC 21在系統總線22上傳輸,並被放置在休眠ID寄存器27a_l中。類似的,休眠ID寄存器27a_2是存儲待被硬體線程23a_2輸出到喚醒信號生成單元27a的休眠ID的寄存器。標識硬體線程23a-2的休眠ID從硬體線程23a_2輸出,經由系統總線控制器23a-3和SC 21在系統總線22上傳輸,並被放置在休眠ID寄存器27a_2中。標識包含在節點20中的CPU 23a和23b的硬體線程的休眠ID在節點20的系統啟動時,由SVP 28預先通知給節點10的SVP 18。SVP 18在未示出的存儲器中分別存儲標識節點20的CPU 23a和23b的硬體線程的休眠ID,即已經被SVP 28通知的休眠ID,並且使節點10的CPU 13a和13b的硬體線程可用。另外,標識包含在節點20中的CPU 23a和23b的硬體線程的休眠ID可被通知給節點10,以使硬體線程執行每一處理。另外,對於由硬體線程執行的處理,當出現等待數據輸入時,可基於待放置在相應休眠ID寄存器中的休眠ID的輸出,將休眠ID通知給節點10。所通知的休眠ID可通過例如SC 11經由MAC 14存儲在本地存儲器16a等中,從而使節點10的CPU 13a和13b的硬體線程可用。喚醒數據寄存器27a_3是放置包含在由節點10的CPU 13a和13b經由IC-1F 3和IC-ctrl 25所通知的喚醒數據中的休眠ID的寄存器。喚醒數據是向節點20的CPU 23a和23b通知由節點10的CPU 13a和13b執行的預定處理已經完成的數據。預定處理是,例如節點10的CPU 13a或13b的硬體線程將CPU 23a的硬體線程23a_l或23a_2等待的數據從節點10的本地存儲器16a拷貝到節點20的共享存儲器26b的處理。節點20的CPU 23a和23b停止硬體線程,以等待由CPU 23a和23b所執行的預定處理完成,並且當CPU 13a和13b通知喚醒數據時,啟動所停止的硬體線程。然後,CPU 23a和23b經由系統總線控制器23a-3和SC21獲取拷貝到共享存儲器26b的數據,從而恢復被中止的處理。比較單元27a_5對放置在喚醒數據寄存器27a_3和休眠ID寄存器27a_l中的休眠ID進行比較。當放置在喚醒數據寄存器27a-3與休眠ID寄存器27a_l中的休眠ID彼此一致時,比較單元27a-5輸出選擇信號到與單元27a-7。與單元27a_7是邏輯門,其在節點10的CPU 13a和13b通知喚醒數據時,將從比較單元27a-5中輸出的選擇信號與從IC-ctrl 25中輸出的包接收脈衝相與。當接收喚醒包時,IC-ctrl 25生成一個包接收脈衝。與單兀27a_7向硬體線程23a_l輸出表不選擇信號和包接收脈衝相與的信號。換言之,當通知的休眠ID和放置在休眠ID寄存器27a-l中的休眠ID —致時,與單元27a_7將指令輸出到硬體線程23a-l,從而取消停止、啟動和恢復處理。根據所述指令,硬體線程23a-l取消停止、啟動和恢復該處理。換言之,由包接收脈衝和選擇信號的相與而生成的喚醒信號僅在一個脈衝內開啟(turn on),以取消硬體線程23a-l的停止狀態。類似的,比較單元27a_6對放置在喚醒數據寄存器27a_3和休眠ID寄存器27a_2中的休眠ID進行比較。當放置在喚醒數據寄存器27a-3和休眠ID寄存器27a_2中的休眠ID彼此一致時,比較單元27a-6將選擇信號輸出到與單元27a-8。與單元27a_8是邏輯門,其在節點10的CPU 13a和13b通知喚醒數據時,將從比較單元27a-6輸出的選擇信號與從IC-ctrl 25輸出的包接收脈衝相與。與單元27a_8將表示選擇信號和包接收脈衝相與的信號輸出到硬體線程23a-2。換言之,當所通知的休眠ID與放置在休眠ID寄存器27a-2中的休眠ID —致時,與單元27a_8將指令輸出到硬體線程23a-2,從而取消停止,啟動和恢復該處理。根據所述指令,硬體線程23a-2取消停止,啟動和恢復所述處理。第一實施例的處理順序圖2示出了根據第一實施例的處理順序圖。圖2說明了以下示例:在處理執行期間,節點20的硬體線程23a-l需要節點10所保存的數據,並且等待直到節點10的CPU 13a將該數據拷貝到節點20的共享存儲器26b的處理完成。然而,圖2僅僅說明示例。在處理執行期間,節點10或20的硬體線程等待,直到節點10或20的另一 CPU的處理完成為止,處理都是類似的。例如,首先,在信息處理裝置I或節點20啟動時,節點20的SVP 28向節點10的SVP 18通知包含在節點20中的所有硬體線程的休眠ID (步驟S11)。步驟Sll是以下處理:在信息處理裝置I或節點啟動時,在執行硬體線程中的處理之前,節點的SVP向另一節點通知作為在其自身節點中的硬體線程的標識信息的休眠ID,等等。接下來,節點20的硬體線程23a_l在喚醒信號生成單元27a的休眠ID寄存器27a-l中放置硬體線程23a-l的休眠ID (步驟S12)。接下來,硬體線程23a_l停止線程(步驟 S13)。另一方面,節點10的CPU 13a執行將存儲在節點10的本地存儲器16a中的數據(節點20的硬體線程23a-l等待該數據的輸入)拷貝到節點20的共享存儲器26b的處理,並且完成該處理(步驟S14)。接下來,CPU13a發出包含硬體線程23a-l的休眠ID和CPU23a(包含硬體線程23a-l)的CPU ID的喚醒命令,以輸出到IC-ctrl 15(步驟S15)。在步驟S15的處理中,CPU 13a通知節點20的硬體線程23a_l所述處理完成。接下來,如圖3所示,根據CPU 13a發出的喚醒命令,節點10的IC-ctrl 15生成包括例如CPU ID和喚醒數據的喚醒包,以傳輸到節點20的IC-Ctrl 25 (步驟S16)。CPU ID表示中央處理單元標識符,是標識CPU的信息。網絡中繼設備根據CPU ID來確定包括作為傳輸目標的CPU的節點,從而喚醒包到達其目標節點。此外,喚醒數據是至少包括硬體線程23a-l的休眠ID的數據,在步驟Sll中節點20的SVP 28預先通知休眠ID。當從IC-ctrl 15接收到喚醒包時,IC-ctrl 25將包含在喚醒數據中的休眠ID寫入到喚醒數據寄存器27a-3,並且將包接收脈衝輸出到與單元27a-7(步驟S17)。接下來,喚醒信號生成單元27a將喚醒信號輸出到硬體線程23a-l (步驟S18)。接下來,當接收到喚醒信號時,硬體線程23a-l啟動被停止的線程(步驟S19)。第一實施例的處理的時間4示出了根據第一實施例的處理的時間圖。在圖4中,假設CPU 23a的硬體線程23a-l和23a-2交替使用系統總線控制器23a_3以輸入和輸出用於執行其各自的處理所需的數據。執行其各自的處理所需的數據是以下數據:例如,存儲在本地存儲器26a中的程序和存儲在共享存儲器26b中的數據。圖4說明了以下示例:其中,在處理執行期間,節點20的硬體線程23a_l需要節點10所保存的數據,並且等待直到節點10的CPU 13a將該數據拷貝到節點20的共享存儲器26b的處理完成。然而,圖4僅僅說明示例。在處理執行期間,節點10或20的另一硬體線程等待直到節點10或20的另一 CPU的處理完成時,所述處理是類似的。而且,在圖4中可以看出,圖解「I」對應於硬體線程23a-l訪問系統總線控制器23a-3,圖解「2」對應於硬體線程23a-2訪問系統總線控制器23a-3,在所述圖解的右側是「系統總線控制器23a_3」。在時刻tl,節點10的CPU 13a啟動將節點20的CPU 23a的硬體線程23a_l為執行處理所需要的數據拷貝到節點20的共享存儲器26b的處理。在時刻t2,硬體線程23a-l需要由CPU 13a拷貝到共享存儲器26b的數據,但是由於數據拷貝沒有完成,因此不可能繼續該處理,而進入等待數據的狀態中。然後,硬體線程23a-l停止該線程。當硬體線程23a_l停止該線程時,硬體線程23a_l對系統總線控制器23a_3的訪問被停止,並且進入只被執行另一處理的硬體線程23a-2訪問的佔用狀態。在時刻t3,當硬體線程23a_l —直等待的數據拷貝完成時,CPU13a發出啟動硬體線程23a_l的喚醒命令。當硬體線程23a_l根據喚醒命令啟動時,硬體線程23a_l恢復處理並且經由系統總線控制器23a-3獲取拷貝到共享存儲器26b的數據。第一實施例的處理的流程5示出根據第一實施例的處理的流程圖。圖5說明了在處理執行期間節點20的硬體線程23a-l需要節點10所保存的數據並且等待直到節點10的CPU 13a將數據拷貝到節點20的共享存儲器26b的處理完成的示例。然而,圖5僅僅說明了示例。在處理執行期間,節點10或20的硬體線程等待直到節點10或20的另一 CPU的處理完成時,所述處理是類似的。首先,節點10使SVP 18接收標識包含在節點20中的CPU 23a和23b的硬體線程的休眠ID,所述休眠ID已經從節點20的SVP 28傳輸(步驟SlOl )。步驟SlOl是以下處理:在信息處理裝置I或節點啟動時,在硬體線程中的處理執行之前,節點的SVP向另一節點預先通知作為在其自身節點中的硬體線程的標識信息的休眠ID,等等。接下來,節點10使MAC 14執行將CPU 23a的硬體線程23a_l等待的、待被拷貝的數據(由節點10保存的數據)拷貝到節點20的共享存儲器26b的處理(步驟S102)。步驟S102的處理可由提供給MAC 14的未示出的DMA控制器來執行。接下來,節點10使CPU 13a確定步驟S102的處理是否結束(步驟S103)。當確定步驟S102的處理已經結束(步驟S103為是)時,節點10使該處理進入步驟S104。另一方面,當確定步驟S102的處理沒有結束(步驟S103為否)時,節點10使該處理進入步驟S102並且通過MAC 14或未示出的DMA控制器等繼續步驟S102的處理。接下來,節點10使CPU 13a指定CPU ID和休眠ID,並且發出喚醒命令(步驟S104)。此外,例如,節點20的CPU 23a的ID被指定為CPUID,並且硬體線程23a_l的休眠ID被指定為休眠ID。接下來,根據在步驟S104中發出的喚醒命令,節點10使CPU 13a生成喚醒包並且將該喚醒命令傳輸到節點20 (步驟S105)。另一方面,節點20使SVP 28將標識包括在節點20中的CPU 23a和23b的硬體線程的休眠ID傳輸到節點10的SVP 18 (步驟S201)。步驟S201是以下處理:在信息處理裝置I或節點啟動時,在硬體線程中的處理執行之前,節點的SVP向另一節點預先通知作為在其自身節點中的硬體線程的標識信息的休眠ID。接下來,節點20使CPU 23a和23b的硬體線程執行其各自的處理(步驟S202)。接下來,節點20使CPU 23a和23b的硬體線程確定在步驟S202的處理執行期間是否等待在節點10中的步驟S102的處理完成(步驟S203)。當確定結果為等待在節點10中的步驟S102中的處理完成時(步驟S203為是),節點20使處理進入步驟S204。當確定結果為不等待在節點10中的步驟S102中的處理完成時(步驟S203為否),節點20使處理進入步驟S202並且使硬體線程繼續處理。此處,例如,已經確定為等待在節點10中的步驟S102的處理完成的硬體線程是硬體線程23a-l。接下來,節點20使等待在節點10中的處理完成的硬體線程23a_l將硬體線程23a-l的休眠ID放置在休眠ID寄存器27a-l中(步驟S204)。接下來,節點20中止正被硬體線程23a-l執行的處理(下文中,被中止的處理被稱為中止處理)並且停止該線程(步驟S205)。接下來,節點20使喚醒信號生成單元27a確定是否已經從節點10接收了喚醒包(步驟S206)。當確定已經接收到來自節點10的喚醒包(步驟S206為是)時,節點20使該處理進入步驟S207。另一方面,當確定沒有接收到喚醒包(步驟S206為否),節點20重複步驟 S206。接下來,節點20使喚醒信號生成單元27a將喚醒包的喚醒數據放置在喚醒數據寄存器27a-3中(步驟S207)。接下來,節點20使比較單元27a_5確定休眠ID寄存器27a_l的值是否等於包含在喚醒數據寄存器27a-3的喚醒數據中的休眠ID (步驟S208)。當確定休眠ID寄存器27a_l的值等於包含在喚醒數據寄存器27a-3的喚醒數據中的休眠ID (步驟S208為是)時,節點20使處理進入步驟S209。當確定休眠ID寄存器27a-l的值不等於包含在喚醒數據寄存器27a-3的喚醒數據中的休眠ID(步驟S208為否)時,節點20使該處理進入步驟S206。接下來,節點20使與單元27a_7生成輸出到硬體線程23a_l的喚醒信號(步驟S209)。接下來,節點20使硬體線程23a-l響應於喚醒信號的輸出啟動在步驟S205中被停止的硬體線程(步驟S210),並且恢復中止處理(步驟S211)。第一實施例的效果與以預定周期使用CPU資源的輪詢系統相比,當CPU中共享系統總線控制器的部分硬體線程被停止時,其他的硬體線程可佔用諸如系統總線控制器等CPU資源。因此,其他的硬體線程可執行更多的處理。此外,在恢復處理時,不需要進行通過作業系統處理的寄存器保存和恢復處理,因此,與中斷系統相比,可以縮短啟動硬體線程和恢復處理所需的時間。此外,對於硬體線程休眠ID是不變的,以使指令能夠啟動硬體線程,而不用在處理之間通知休眠ID0
此外,休眠ID被指定來通知喚醒信號,因此,可以在特定的硬體線程上啟動和停止處理。因此,可以防止錯誤的處理啟動和停止。此外,CPUID被指定來啟動硬體線程的處理,因此,可以控制在CPU之間的通信的同步化。[b]第二實施例關於根據第二實施例的信息處理裝置的元件,將相同的名稱和附圖標記分配給與根據第一實施例的信息處理裝置的功能和處理的相同的元件,因此其說明將被忽略,而將僅僅說明具有不同功能和處理的元件。第二實施例的信息處理裝置的配置圖6是示出根據第二實施例的信息處理裝置的配置的框圖。如圖6所示,第二實施例的信息處理裝置2包括節點30和40。與根據第一實施例的信息處理裝置I的節點10相比,節點30包括喚醒信號生成單元37a和38a,代替喚醒信號生成單元17a。此外,節點30包括喚醒信號生成單元37b和38b,代替喚醒信號生成單元17b。節點40具有與節點30相同的配置,並且具有不同附圖標記和相同名稱的元件具有相同的配置和功能。與根據第一實施例的信息處理裝置I的節點20相比,節點40包括喚醒信號生成單元47a和48a,代替喚醒信號生成單元27a。此外,節點40包括喚醒信號生成單元47b和48b,代替喚醒信號生成單元27b。第二實施例的喚醒信號生成單元的配置將以喚醒信號生成單元47a作為代表來給出喚醒信號生成單元37a,37b,47a和47b的配置的說明。換言之,喚醒信號生成單元37a,37b和47b與喚醒信號生成單元47a的配置相同。如圖6所示,喚醒信號生成單元47a包括休眠ID寄存器27a_l、喚醒數據寄存器27a-3、比較單元27a-5、與單元27a_7、定時器27a_9和或(OR)單元27a_ll。對應於硬體線程23a_l的喚醒信號生成單元47a被提供。類似地,對應於硬體線程23a_2的喚醒信號生成單元48a被提供。類似地,對應於包含在CPU 23b中的硬體線程的喚醒信號生成單元47b和48b被提供。CPU 13a,13b,23a和23b的硬體線程讀取其相應的喚醒數據寄存器中的內容。當接收到的喚醒數據與在喚醒信號生成單元37a到48b中其各自的喚醒信號生成單元的休眠ID寄存器中的休眠ID —致時,將休眠ID寫入到其各自的喚醒數據寄存器中。因此,當多個硬體線程處於等待處理的狀態時,硬體線程存取其相應的喚醒數據寄存器,這能夠確認到其自身的硬體線程的喚醒數據的接收。此外,在寫入喚醒數據寄存器的喚醒數據被其相應的硬體線程讀取之前,防止喚醒數據寄存器使用到其他硬體線程的喚醒數據進行更新。定時器27a_9為以下定時器:在處理執行期間,因出現等待數據輸入,硬體線程23a-l基於中止處理而輸出硬體線程23a-l的休眠ID時,該定時器通過系統總線22設置定時器值。當預定的定時器值被設置時,定時器27a-9以預定的時間間隔來減去定時器值,並且當定時器值變為0時,將開啟(ON)信號輸出給或單元27a-ll。在第二實施例中,與單元27a_7向或單元27a_ll輸出表示從比較單元27a_5輸出的選擇信號和從IC-ctrl 25輸出的包接收脈衝的相與的信號。或單元27a-ll是將表示從與單兀27a-7輸出的與信號和從定時器27a-9中輸出的開啟信號相或的邏輯門。換言之,當定時器27a_9計時了預定時間時,或單元27a_ll將指令輸出給硬體線程23a_l以取消停止,開啟和恢復該處理。或者,當所通知的休眠ID與放置在休眠ID寄存器27a-l中的休眠ID 一致時,或單元27a-ll將指令輸出給硬體線程23a-l,以取消停止,啟動和恢復該處理。根據該指令,硬體線程23a_l取消停止,啟動和恢復該處理。類似的,包含在喚醒信號生成單元48a中的定時器為以下定時器:在處理執行期間,因出現等待數據輸入中止處理,硬體線程23a-2輸出硬體線程23a-2的休眠ID時,該定時器設置定時器值。當預定的定時器值被設置時,包含在喚醒信號生成單元48a中的定時器以預定的時間間隔減去定時器值,並且當定時器值變為0時,將開啟信號輸出到包含在喚醒信號生成單元48a中的或單元。第二實施例的處理圖7是示出根據第二實施例的處理的流程圖。圖7說明了以下示例:在處理執行期間,節點40的硬體線程23a-l需要節點30所保存的數據,並且等待直到節點30的CPU13a將數據拷貝到節點40的共享存儲器26b的處理完成。然而,圖7僅僅說明了示例。在處理執行期間當節點30或40的硬體線程等待直到節點30或40的另一 CPU的處理完成時,所述處理是類似的。在圖7中,節點30中的處理與在圖5中說明的第一實施例的節點10中的處理相同,因此,該說明被忽略了。另一方面,節點40使SVP 28向節點30的SVP 18傳輸休眠ID,所述休眠ID通知包含在節點40中的CPU23a和23b的硬體線程(步驟S401)。步驟S401是以下過程:在信息處理裝置2或節點啟動時,在硬體線程中的處理執行之前,節點的SVP向另一節點預先通知作為在其自身的節點中的硬體線程的標識信息的休眠ID,等等。接下來,在CPU 23a和23b的硬體線程中,節點40執行其各自的處理(步驟S402)。接下來,節點40使CPU 23a和23b的硬體線程確定在步驟S402的處理執行期間是否等待在節點30中的步驟S102的處理完成(步驟S403)。當確定結果為等待在節點30中的步驟S102的處理完成(步驟S403為是)時,節點40使該處理進入到步驟S404。當確定結果為不等待在節點30中的步驟S102的處理完成(步驟S403為否)時,節點40使該處理進入步驟S402,並且使硬體線程繼續執行處理。此處,例如,已經確定等待在節點30中的步驟S102的處理完成的硬體線程是硬體線程23a-l。接下來,節點40使等待處理完成的硬體線程23a_l將硬體線程23a_l的休眠ID放置在休眠ID寄存器27a-l中,並且設置定時器27a-9中的定時器值(步驟S404)。接下來,節點40中止正在被硬體線程23a-l執行的處理(下文中被中止的處理被稱為中止處理)並且停止該線程(步驟S405)。接下來,節點40使喚醒信號生成單元47a執行稍後參考圖8所說明的喚醒信號開啟處理(步驟S406 )。接下來,節點40確定喚醒信號生成單元47a是否已經開啟喚醒信號(步驟S407)。當確定喚醒信號已經開啟(步驟S407為是)時,節點40啟動在步驟S405中被停止的硬體線程23a-l (步驟S408)。當確定喚醒信號未開啟(步驟S407為否)時,節點40使處理進入步驟 S406。接下來,節點40使硬體線程23a_l確定其自身的線程的休眠ID是否已經放置在喚醒數據寄存器27a-3中(步驟S409)。當確定其自身的線程的休眠ID已經放置在喚醒數據寄存器27a-3中(步驟S409為是)時,硬體線程23a_l恢復中止處理(步驟S410)。當確定其自身的線程的休眠ID沒有被放置在喚醒數據寄存器27a-3中(步驟S409為否)時,硬體線程23a-l進行處理切換(步驟S411)。然後硬體線程23a-l執行不同於中止處理的另一處理(步驟S412)。 接下來,硬體線程23a_l確定其自身線程的休眠ID是否已經被放置在喚醒數據寄存器27a-3中(步驟S413)。當確定其自身線程的休眠ID已經被放置在喚醒數據寄存器27a-3中(步驟S413為是)時,硬體線程23a-l切換處理(步驟S414),並且恢復中止處理(步驟S410)。當確定其自身線程的休眠ID沒有被設置在喚醒數據寄存器27a-3中(步驟S413為否)時,硬體線程23a-l通過輪詢處理而重複步驟S413。第二實施例的喚醒信號開啟處理的流程8是示出根據第二實施例的喚醒信號開啟處理的流程圖。根據第二實施例的喚醒信號開啟處理是在圖7的步驟S406中說明的處理。節點40使喚醒信號生成單元47a確定定時器27a_9是否已經超時(步驟S406a)。當確定定時器27a-9已經超時(步驟S406a為是),節點40使喚醒信號生成單元47a開啟喚醒信號(步驟S406e)。另一方面,當確定定時器27a-9沒有超時(步驟S406a為否)時,節點40使喚醒信號生成單元47a確定是否已經從節點3接收喚醒包(步驟S406b)。當確定已經從節點30接收到喚醒包(步驟S406b為是)時,節點40使處理進入步驟S406c。另一方面,當確定沒有從節點30接收到喚醒包(步驟S406b為否)時,節點40使處理進入步驟S406a。接下來,節點40使比較單元27a_5確定休眠ID寄存器27a_l的值是否等於包含在所接收的喚醒數據中的休眠ID(步驟S406c)。當確定休眠ID寄存器的值等於包含在接收到的喚醒數據中的休眠ID(步驟S406c為是)時,節點40使處理進入步驟S406d。當確定休眠ID寄存器的值不等於包含在接收到的喚醒數據中的休眠ID (步驟S406c為否)時,節點40使處理進入步驟S406a。接下來,節點40使喚醒信號生成單元47a將接收到的喚醒包的喚醒數據放置在喚醒數據寄存器27a-3中(步驟S406d)。接下來,節點40使喚醒信號生成單元47a開啟輸出到硬體線程23a-l的喚醒信號(步驟S406e)。當步驟S406e的處理結束時,節點40使處理進入在圖7中示出的步驟S407。第二實施例的效果當在固定的時間段內執行某一處理時,作業系統切換到另一處理執行,因此,當線程停止較長時間,甚至當接收到啟動指令時,處理可能超時而自動地切換到非預期的另一處理。因此,可以通過在處理切換之前使用定時器啟動硬體線程,來防止作業系統將正在運行的處理切換到另一處理。此外,處理可以結合定時器和喚醒數據寄存器,通過將所執行的處理從正在運行的處理切換到下一個希望執行的處理來管理處理的切換。在第一和第二實施例中,硬體線程的停止狀態被設置為第一狀態,並且硬體線程的運行狀態被設置為第二狀態。假設已經寫入節點所保存的數據並且已寫入結束的另一節點的硬體線程,向等待數據寫入結束且處於第一狀態的硬體線程通知該結束。假設響應於該通知,硬體線程從第一狀態轉換到第二狀態。然而,本公開的技術不限於第一狀態是硬體線程的停止狀態並且第二狀態是硬體線程的運行狀態的情形。換言之,本公開的技術可被廣泛地應用於以下技術:當硬體線程處於第一狀態直到在其自身節點或另一節點的硬體線程上運行的處理轉換到期望的狀態時,指定硬體線程,通知到期望狀態的轉換,並且從第一狀態轉換到第二狀態。在第一和第二實施例中的信息處理裝置I和2中所包括的節點數目、在每一節點中所包括的CPU的數目、以及在每一個CPU中所包括的硬體線程的數目可任意地改變。此夕卜,對應於每一硬體線程所提供的喚醒信號生成單元可被提供給每一 CPU如第一實施例的情形,或被提供給每一硬體線程如第二實施例的情形。當包括在多個節點中的處理器控制在其各自的處理單元中執行的處理之間的同步時,可促進硬體資源的有效使用。
權利要求
1.一種信息處理裝置,所述信息處理裝置包括多個節點,其中,每一節點包括: 處理單元,所述處理單元執行處理並且控制所述處理的狀態; 存儲單元,當所述處理單元將所述處理的狀態從第一狀態轉換到第二狀態時,所述存儲單元存儲標識所述處理單元的標識信息; 接收單元,所述接收單元接收從包括在其自身節點或另一節點中的另一處理單元傳輸的標識信息;以及 輸出單元,當由所述接收單元接收到的標識信息與存儲在所述存儲單元中的標識信息一致時,所述輸出單元輸出控制信號,所述控制信號將所述處理的狀態從第二狀態轉換到第一狀態。
2.如權利要求1所述的信息處理裝置,其中,每一節點還包括: 定時單元,所述定時單元對到預定定時所消逝的時間進行計時;以及其中 當所述定時單元計時了預定時間時,不管所述接收單元是否已經接收到標識信息,所述輸出單元生成並且輸出控制信號。
3.如權利要求2所述的信息處理裝置,其中,當所述定時單元計時了預定時間時,一旦接收到由所述輸出單元輸出的控制信號,則所述處理單元響應於所述控制信號執行與作為待被轉換狀態的對象的處理不同的處理。
4.如權利要求1所述的信息處理裝置,其中,在將標識處理單元的標識信息存儲在所述存儲單元之前,將所述標識信息預先通知給其他的處理單元。
5.如權利要求4所述的信息處理裝置,其中, 所述第一狀態是所述處理單元正在執行處理的狀態, 所述第二狀態是所述處理單元正在停止處理的狀態,以及 當所述處理單元等待並且其他的處理單元執行的處理結束時,其他的處理單元傳輸已經被預先通知給自身節點的所述標識信息。
6.如權利要求1到5中的任何一項所述的信息處理裝置,其中,所述接收單元經由在節點之間的通信接口來接收所述標識信息。
7.—種控制信息處理裝置的方法,所述信息處理裝置包括多個節點,其中,每一節點包括執行處理和控制所述處理的狀態的處理單元,所述方法包括: 當所述處理單元將所述處理的狀態從第一狀態轉換到第二狀態時,在存儲單元中存儲標識所述處理單元的標識信息; 接收從包含在自身節點或另一節點中的另一處理單元傳輸的標識信息; 當由所述接收單元接收到的標識信息與存儲在所述存儲單元中的標識信息一致時,輸出將所述處理的狀態從所述第二狀態轉換到所述第一狀態的控制信號。
全文摘要
本發明公開了信息處理裝置和控制信息處理裝置的方法。當由於等待另一個CPU的處理而中止處理時,硬體線程使喚醒信號生成單元的休眠ID寄存器存儲標識硬體線程的休眠ID。當硬體線程等待的處理結束時,喚醒信號生成單元使喚醒信號生成單元的喚醒數據寄存器存儲由節點通知的休眠ID。當休眠ID寄存器的休眠ID與喚醒數據寄存器的休眠ID彼此一致時,喚醒信號生成單元將使硬體線程的停止取消的喚醒信號輸出到所述硬體線程。
文檔編號G06F9/46GK103197954SQ20121050075
公開日2013年7月10日 申請日期2012年11月29日 優先權日2011年12月28日
發明者鯉沼秀之, 木沢秀行, 宮內啟次 申請人:富士通株式會社

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀