TWI289766B - Information processor, information processing method and program - Google Patents
Information processor, information processing method and program Download PDFInfo
- Publication number
- TWI289766B TWI289766B TW094124585A TW94124585A TWI289766B TW I289766 B TWI289766 B TW I289766B TW 094124585 A TW094124585 A TW 094124585A TW 94124585 A TW94124585 A TW 94124585A TW I289766 B TWI289766 B TW I289766B
- Authority
- TW
- Taiwan
- Prior art keywords
- processor
- processing
- sub
- information processing
- information
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/483—Multiproc
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Multi Processors (AREA)
- Power Sources (AREA)
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
Description
1289766 (1) 九、發明說明 t胃明所屬之技術領域】 #發明係有關於資訊處理裝置及資訊處理方法以及程 3 ’尤其是適用於複數處理器所致之分散處理被執行時的 資訊處理裝置及資訊處理方法以及程式。 【先前技術】 近年來,使用複數處理器或電腦,讓處理被分散執行 的分散處理受到矚目。作爲進行分散處理的方法有,令透 過通訊網而連接之複數電腦來執行處理之方法,或令被設 於1台電腦上的複數處理器來執行處理之方法,以及將上 述2種方法加以組合來執行處理之方法。 要求(指示)執行分散處理的裝置或處理器,係將用 來執行分散處理所必需的資料及程式,送訊至被要求執行 之其他裝置或其他處理器。收到分散處理所必需的資料及 程式的裝置或處理器,會執行所要求的處理,並將施行過 所要求之處理的資料,送訊至分散處理之要求來源的裝置 或處理器。 身爲分散處理要求來源的裝置或處理器,係將從被要 求執行之其他裝置或其他處理器所送訊過來的資料加以接 收,並根據所收到的資料,執行所定的處理,或將收到的 資料予以記錄。 先前,如上述,已有藉由使用均等的模組構造、共通 的運算模組,以及均等的軟體來執行分散處理,來實現高 -4- (2) 1289766 速處理用電腦架構的技術(例如申請專利範圍第1至專利 文獻5 )。 又’近年來’資訊處理裝置的時脈速度之提升和積體 度的提升,可將非常高速處理器聚集在同一晶片上,因此 複數處理器所致之分散處理,可以不必藉助大型的裝置, 就能加以實現。 〔專利文獻1〕日本特開2002-342165號公報 ® 〔專利文獻2〕日本特開2002-351850號公報 〔專利文獻3〕日本特開2002-358289號公報 〔專利文獻4〕日本特開2002-366533號公報 〔專利文獻5〕日本特開2002-366534號公報 上述專利文獻中,作爲基本的處理用模組係爲處理器 元素(PE ) 。PE,係具備有處理單元(PU )、直接記憶 體存取控制器(DMAC )及複數之附加處理單元(APU ) ,亦即相對於主處理器的複數子處理器。 【發明內容】 〔發明所欲解決之課題〕 近年來,隨著資訊處理裝置的時脈速度之提升與積體 度之提升,雖然使得處理上所必須之消費電力已較先前大 幅提高,但在先前的分散處理系統中,都沒有爲了讓其執 行所被要求的處理且抑制處理器(或處理器群)的消費電 力,而考慮到被分散之處理的分配目標處理器之選擇方法 -5- (3) (3)1289766 本發明係有鑑於此種狀況而硏發,爲了能夠令其執行 被要求的處理,且可抑制處理器(或處理器群)之消費電 力,而適切地選擇被分散之處理的分配目標,並使以邏輯 執行緒方式而動作中之機能保持在正常狀態,而可實現高 信賴性之資訊處理。 〔用以解決課題之手段〕 本發明之資訊處理裝置,其特徵爲,具備:第1資訊 處理手段;和複數之第2資訊處理手段·,第1資訊處理手 段係具備:應用程式執行控制手段,其係控制應用程式之 執行;和動作資訊取得手段,其係取得第2資訊處理手段 之動作的相關資訊;和分散處理控制手段,藉由其執行是 受到應用程式執行控制手段加以執行控制的應用程式,而 將第1資訊處理手段及複數之第2資訊處理手段所被分配 之複數處理總結成一個提供機能的處理單位,並根據動作 資訊取得手段所取得到的動作資訊,而控制爲了提供處理 單位所對應之機能所需之分散處理;分散處理控制手段, 係控制著處理單位所對應之分散處理,使得第1資訊處理 手段及第2資訊處理手段中,相對於全處理能力之使用中 的處理能力的比率,不會超過1以上。 第1資訊處理手段中,係可更具備:時脈數比設定手 段,其係根據分散處理控制手段所致之控制,而將相對於 第1資訊處理手段及第2資訊處理手段所能動作之最大動 作時脈數的、現在可能動作之時脈數的比,加以設定。 -6 - (4) (4)1289766 時脈數比設定手段,係可設定時脈數的比,使得相對 於第1資訊處理手段及第2資訊處理手段所能動作之最大 動作時脈數的、現在可能動作之時脈數的比,成爲共通。 時脈數比設定手段,係可將相對於第1資訊處理手段 及第2資訊處理手段所能動作之最大動作時脈數的、現在 可能動作之時脈數的比,以第1資訊處理手段及第2資訊 處理手段爲個別獨立的方式,而加以設定。 分散處理控制手段,係對可能動作之最大動作時脈數 的設定,可針對相對於全處理能力之使用中的處理能力之 比率爲低的第2資訊處理手段,讓其優先地被分配處理單 位所對應之分散處理。 本發明之資訊處理方法,係屬於具備第1資訊處理手 段和複數之第2資訊處理手段之資訊處理裝置的資訊處理 方法,其特徵爲,含有:分散處理開始要求步驟,其係藉 由第1資訊處理手段所致之應用程式的執行,而將複數之 第2資訊處理手段所被分配之複數處理總結成一個提供機 能的處理單位,並要求爲了提供處理單位所對應之機能所 需之分散處理之開始;和分配控制步驟,其係根據第1資 訊處理手段及第2資訊處理手段之動作相關的動作資訊, 來控制前記處理單位所對應之前記分散處理的分配,使得 第1資訊處理手段及第2資訊處理手段中,相對於全處理 能力之使用中的處理能力的比率,不會超過1以上。 本發明之資訊處理程式,係屬於用來令電腦執行有使 用第1資訊處理手段與複數第2資訊處理手段的分散處理 (5) 1289766 所需之程式,其特徵爲,令電腦執行含有以下步驟之處理 :分散處理開始要求步驟,其係藉由第1資訊處理手段所 致之應用程式的執行,而將複數之第2資訊處理手段所被 分配之複數處理總結成一個提供機能的處理單位,並要求 爲了提供處理單位所對應之機能所需之分散處理之開始; 和分配控制步驟,其係根據第1資訊處理手段及第2資訊 處理手段之動作相關的動作資訊,來控制前記處理單位所 ® 對應之前記分散處理的分配,使得第1資訊處理手段及第 2資訊處理手段中,相對於全處理能力之使用中的處理能 力的比率,不會超過1以上。 本發明之資訊處理裝置及資訊處理方法以及程式中, 係藉由第1資訊處理手段所致之應用程式之執行,而執行 分散處理;並根據第1資訊處理手段及第2資訊處理手段 之動作相關的動作資訊,以使得第1資訊處理手段及第2 資訊處理手段中,相對於全處理能力的使用中之處理能力 ® 的比率不會超過1以上的方式,來控制處理單位所對應之 分散處理的分配。 〔發明效果〕 若根據本發明,則可執行分散處理。尤其是,因爲是 以使得第1資訊處理手段及第2資訊處理手段中,相對於 全處理能力的使用中之處理能力的比率不會超過1以上的 方式,來控制處理單位所對應之分散處理的分配,所以能 夠使得以邏輯執行緒方式而動作中之機能保持在正常狀態 -8- (6) 1289766 而可實現高信賴性之資訊處理。 【實施方式】 以下將說明本發明的實施形態,但若將本說明書所記 載之發明,和發明實施形態的對應關係加以例示,則如下 所示。本記載,係用來確認支持本說明書中所記載之發明 的實施形態,是有記載於本說明書中。因此,雖然發明的 • 實施形態中有所記載,但作爲對應於發明者,就算是這裡 所未有記載的實施形態,其並非意味著該實施形態並非本 發明所對應者。反之,就算是實施形態是以對應於發明的 方式而記載於此,這也並非意味著該實施形態,並無對應 於本發明以外之發明。 再者,本記載並非代表本說明書中所記載之發明的全 體。換言之,本記載並不能夠否定,屬於本說明書所記載 之發明且該申請中尙未請求之發明的存在,亦即,不能否 ^ 定將來可能分割申請、藉由修正而出現、追加之發明的存 在。 申請專利範圍第1項之資訊處理裝置,其特徵爲,具 備:第1資訊處理手段(例如圖1的主處理器42);和 複數之第2資訊處理手段(例如圖1的子處理器43); 第1資訊處理手段係具備:應用程式執行控制手段(例如 圖8的應用程式執行控制部1 0 1 ),其係控制應用程式之 執行;和動作資訊取得手段(例如圖8的動作資訊取得 1 04 ),其係取得第2資訊處理手段之動作的相關資訊; -9 - (7) 1289766 和分散處理控制手段(例如圖8的邏輯執行緒執行控制部 1 02 ),藉由其執行是受到應用程式執行控制手段加以執 行控制的應用程式,而將第1資訊處理手段及複數之第2 資訊處理手段所被分配之複數處理總結成一個提供機能的 處理單位,並根據動作資訊取得手段所取得到的動作資訊 ,而控制爲了提供處理單位所對應之機能所需之分散處理 ;分散處理控制手段,係控制著處理單位所對應之分散處 • 理,使得第1資訊處理手段及第2資訊處理手段中,相對 於全處理能力之使用中的處理能力的比率,不會超過1以 上。 第1資訊處理手段中,係可更具備:時脈數比設定手 段(例如圖8的動作率設定部1 03 ),其係根據分散處理 控制手段所致之控制,而將枏對於第1資訊處理手段及第 2資訊處理手段所能動作之最大動作時脈數的、現在可能 動作之時脈數的比(例如處理器動作率SCPU_RATE[k]) •,加以設定。 申請專利範圍第6項所記載之資訊處理方法,係屬於 具備第1資訊處理手段(例如主處理器42 )和複數之第2 資訊處理手段(例如子處理器43 )之資訊處理裝置的資 訊處理方法,其特徵爲,含有:分散處理開始要求步驟( 例如圖11的步驟S1或圖15的步驟S31之處理),其係 藉由第1資訊處理手段所致之應用程式的執行,而將複數 之第2資訊處理手段所被分配之複數處理總結成一個提供 機能的處理單位,並要求爲了提供處理單位所對應之機能 -10- (8) 1289766 所需之分散處理之開始;和分配控制步驟( 步驟S2至步驟S13之處理或使用圖16及礓 處理),其係根據第1資訊處理手段及第2 之動作相關的動作資訊,來控制前記處理單 記分散處理的分配,使得第1資訊處理手段 理手段中,相對於全處理能力之使用中的處 ,不會超過1以上。 又,即便是申請專利範圍第7項所記載 步驟所對應之實施形態(但僅爲一例),係 利範圍第6項所記載之資訊處理方法。 以下將參照圖面,說明本發明的實施形 圖1係能夠執行分散處理的通訊系統之 圖示。該通訊系統中,例如,係透過對應 LAN ( Local Area Network ) 、WAN ( Wide )或網際網路等廣域網路等之網路2,而使 1-1至資訊處理裝置1-n彼此連接。 資訊處理裝置1 -1,係一旦被指示要執 處理裝置所致之分散處理,便生成出含有用 之處理所需之資料及程式的軟體胞,並將所 ,透過網路2,送訊至資訊處理裝置1-2至 1 · η之中的任何裝置。 資訊處理裝置1-2至資訊處理裝置Ι-t] 資訊處理裝置1-1所送來的軟體胞加以接收 到的軟體胞,執行被要求的處理。資訊處理 例如圖1 1的 3 1 7所說明之 資訊處理手段 位所對應之前 及第2資訊處 理能力的比率 之程式中,各 相同於申請專 態。 一實施形態的 於家用網路、 Area Network 資訊處理裝置 行由複數資訊 來執行所要求 生成的軟體胞 資訊處理裝置 ,係分別將從 ,並根據所收 裝置1-2至資 •11 - (9) 1289766 訊處理裝置1 -η,係在執行所被要求的處理後,將所被要 求之處理結果所得到的資料,透過網路2送訊至資訊處理 裝置1-1。以下,當無必要——區別資訊處理裝置1 -1至 資訊處理裝置1 -η的時候,就簡稱爲資訊處理裝置1。 資訊處理裝置1 -1,係將從資訊處理裝置1 -1至資訊 處理裝置1 -η之中的任一者所送來的資料加以接收,並根 據所收到的資料,來執行所定的處理,或將收到的資料加 _以記錄。 資訊處理裝置1-1,係被構成爲含有:至少一個資訊 處理控制器1 1、主記憶體1 2、記錄部1 3 -1、記錄部1 3 -2 、匯流排1 4、操作輸入部1 5、通訊部1 6、顯示部1 7,及 碟驅動機1 8。 資訊處理控制器1 1,係將主記憶體1 2中所記錄的各 種程式加以執行,並控制資訊處理裝置1 · 1全體。資訊處 理控制器1 1,係生成軟體胞,並將所生成的軟體胞,透 胃過匯流排1 4而供給至通訊部1 6。資訊處理控制器1 1,係 將從通訊部1 6所供給來的資料,供給至記錄部1 3 _ 1或記 錄部13-2。資訊處理控制器U,係根據從操作輸入部15 所輸入之使用者指令’而將所被指定的資料,從主記憶體 1 2、記錄部1 3 · 2或記錄部1 3 - 2中加以取得,並已取得的 資料,透過匯流排1 4而供給至通訊部1 6。 又,資訊處理控制器1 1上,係被分配有能夠橫跨網 路2全體而唯一特定出資訊處理裝置id的資訊處理裝置 ID。 -12- (10) 1289766 資訊處理控制器1 1,係具備有:匯流排4 1、主處理 器42、子處理器43-1至子處理器43-m、DM AC ( Direct Memory Access Controller,直接記憶體存取控制器)44 、金鑰管理表記錄部45,以及DC(Disk Controller,碟 控制器)46。 主處理器42,係和子處理器43-1至子處理器43-m、 DMAC44、金鑰管理表記錄部45及DC46,透過匯流排41 ® 而彼此連接。又,主處理器42上,是被分配有當成識別 子的用來特定出主處理器42所需之主處理器ID。同樣地 ,每一個子處理器43-1至子處理器43-m上,是被——分 配有當成識別子的用來特定每一個子處理器43-1至子處 理器43-m所需之子處理器ID。 主處理器42,係當要令透過網路2所連接之資訊處 理裝置1-2至資訊處理裝置1-n來執行分散處理的時候, 便生成軟體胞,並將所生成的軟體胞透過匯流排41及匯 ® 流排14,供給至通訊部1 6。又,主處理器4 2,係亦可構 成爲,會執行管理所需之程式以外的程式。此時,主處理 器42便充當子處理器而發揮機能。 主處理器42,係可對子處理器43-1至子處理器43-m ,令每一子處理器獨立執行程式,並以邏輯性的1個機能 (邏輯執行緒)的方式來求出結果。亦即,主處理器4 2 ’係進行子處理器43-1至子處理器43-m所致之程式執行 的排程管理,和資訊處理控制器1 1 (資訊處理裝置1 -1 ) 之整體管理。 -13- (11) 1289766 主處理器42,係具備近端儲存區51-1,會將從主記 憶體1 2所載入的資料及程式,暫時記憶在近端儲存區 5 1 -1。主處理器42,係從近端儲存區5 1 -1讀取資料及程 式,並根據所讀取到的資料及程式,執行各種處理。 子處理器43-1至子處理器43-m,係根據主處理器42 的控制,平行且獨立地執行程式、處理資料。甚至,亦可 能構成爲,因應需要,而由主處理器42所執行的程式, Φ 和每一子處理器43-1至子處理器43-m所執行的每一程式 ,協同動作。 每一子處理器43-1至子處理器43-m,係分別具備近 端儲存區51-2至近端儲存區51- (m+1)。每一子處理器 43-1至子處理器43-m,係在每一近端儲存區51-2至近端 儲存區51- ( m + 1 )中,因應需要,而將資料及程式予以 暫時記億。每一子處理器43-1至子處理器43-m,係從每 一近端儲存區51-2至近端儲存區51- ( m+1 )讀取資料及 程式,並根據所讀取到的資料及程式,執行各種處理。 以下,當無必要——區別子處理器43-1至子處理器 4 3-m的時候,就簡稱爲子處理器43。同樣地,當無必要 ~ ~區別近端儲存區51-2至近端儲存區51- ( m+1 )的時 候,就簡稱爲近端儲存區5 1。 DMAC44,係根據金鑛管理表記錄部45中所記錄的 $處理器金鑰、子處理器金鑰及存取金鑰,而管理從主處 理器42及子處理器43往主記憶體丨2所記憶之程式及資 料的存取。 -14- (12) 1289766 金鑰管理表記錄部45,係記錄著主處理器金鑰、子 處理器金鑰及存取金鑰。此外,關於主處理器金鑰、子處 理器金鑰及存取金鑰的細節將於後述。 DC46,係管理從主處理器42及子處理器43往記錄 部13-1及記錄部13-2的存取。 此外,此處雖然說明了在資訊處理裝置1-1中僅具備 1個資訊處理控制器11的例子,但資訊處理裝置1-1亦 ® 可爲具備有複數個資訊處理控制器11。 主記憶體12,例如,係由RAM所構成。主記憶體12 ,係將主處理器42及子處理器43所執行的各種程式及資 料予以暫時記憶。 記錄部1 3 -1及記錄部1 3 -2,例如,都是由硬碟等所 構成。記錄部13-1及記錄部13-2,係將主處理器42及子 處理器43所執行的各種程式及資料予以記錄。又,記錄 部1 3 -及記錄部1 3 -2,係將從資訊處理控制器1 1所供給 胃 而來的資料予以記錄。以下,當無必要——區別記錄部 13-及記錄部13-2的時候,就簡稱爲記錄部13。 又,資訊處理控制器1 1,係透過匯流排1 4,連接著 操作輸入部1 5、通訊部1 6、顯示部1 7及碟驅動機1 8。 操作輸入部1 5,例如,係由鍵盤、按鈕、觸控面板、滑 鼠等所成,會接受使用者所致之操作輸入,並將操作輸入 所對應之資訊,透過匯流排1 4,供給至資訊處理控制器 11° 通訊部1 6,係將從資訊處理控制器1 1所供給而來的 -15- (13) 1289766 軟體胞,透過網路2而送訊至資訊處理裝置1-2至資訊處 理裝置1-n。又,通訊部16 ’係將從資訊處理裝置i-2至 資訊處理裝置1·η所送來的資料,透過匯流排14而供給 至資訊處理控制器Π。 顯示部1 7,例如,係由CRT ( cathode ray tube )或 LCD ( Liquid Crystal Display)等所構成,會將透過匯流 排1 4所供給而來之資訊處理控制器1 1之處理所產生的資 • 訊(例如包含應用程式執行所產生的資料、應用程式執行 所必須要通知給使用者等的資訊)加以顯示。 碟驅動機18,係當裝著了磁碟片61、光碟62、光磁 碟63、或半導體記憶體64等時,便將它們予以驅動,以 取得其中所記錄的程式或資料。所取得之程式或資料,係 因應需要,而透過匯流排1 4,轉送至資訊處理控制器1 i ,藉由資訊處理控制器1 1而記錄至記錄部1 3。 又,資訊處理裝置1中,爲了對資訊處理裝置1全體 ♦ 進行電源供給,而設有電源部1 9。 此外,資訊處理裝置1-2至資訊處理裝置l-η,由於 係和資訊處理裝置1 -1的構成相同,因此省略其說明。資 訊處理裝置1-2至資訊處理裝置l-n係不限於上述構成, 可因應需要,而追加或刪減機能,可具有對應其機能的構 成。 其次’參照圖2至圖4,說明子處理器43在對主記 億體1 2進行存取時的處理。 如圖2所示,主記憶體1 2中,配置著能夠指定複數 -16 - (14) 1289766 位址的記憶體位置(m e m o r y 1 〇 c at i 〇 η )。對各記憶體位置 ’係分配有用來存放表示資料狀態之資訊所需的追加區段 。追加區段,係含有F/E位元、子處理器ID及LS位址( Local Storage Address)。又,各記憶體位置內,還如後 述般地分配有存取金鑰。 値爲“ 0”的F/E位元,係爲子處理器43所讀取之處 理中的資料、或因爲呈空白狀態而爲非最新資料的無效資 • 料,是代表不可從該記憶體位置讀取。又,値爲“ 〇”的 F/E位元,係表示該當記憶體位置內是可寫入資料,且一 旦寫入資料後,F/E位元便被設定成1。 値爲“ 1 ”的F/E位元,係表示該當記憶體位置的資 料是未被子處理器43讀取,表示是未處理的最新資料。 F/E位元爲“ 1 ”的記憶體位置的資料是可被讀取,在被 子處理器43讀取後,F/E位元便被設定成“ 0” 。又,値 爲“ 1”的F/E位元,係表示記憶體位置是不可寫入資料 •。 再者,上記F/E位元爲“ 〇” (不可讀取/可寫入)之 狀態下’可針對該當記憶體位置設定讀取預約。對F/E位 元爲的記憶體位置進行讀取預約的時候,子處理器 43係將子處理器43的子處理器ID及LS位址做爲讀取預 約資訊而寫入至讀取預約的記憶體位置的追加區段內。然 後,藉由資料讀取側的子處理器43,將資料寫入至已讀 取預約的記憶體位置內,並且F/E位元爲“ 1 ” (可讀取/ 不可寫入)被設定時,事先當作讀取預約資訊而被寫入至 -17- (15) (15)1289766 追加區段的子處理器ID及LS位址會被讀出。 當有必要藉由複數子處理器而將資料進行多階_ iS 時,藉由如此地控制各記憶體位置之資料的讀取/寫人, 進行前階段處理的子處理器43,就可將處理完的資料寫 入至主記憶體1 2中的所定位置後,立即地,由進行後階 段處理的其他子處理器43來將前處理後的資料予以讀出 〇 如圖3所示,各子處理器43內的近端儲存區51,是 由可指定複數位址之記憶體位置所構成。對各記憶體位置 ,係同樣地分配有追加區段。追加區段,係含有忙碌位元 〇 子處理器43是在將主記憶體12內的資料讀取至子處 理器43的近端儲存區5 1的記憶體位置時,將對應之忙碌 位元設定成“ 1 ”而進行預約。忙碌位元被設定爲1的記 憶體位置中,是無法存放其他的資料。在讀取至近端儲存 區5 1的記憶體位置後,忙碌位元便被設定成“ 0” ,就變 成可以存放其他資料。 再者,如圖2所示,在和資訊處理控制器1 1連接的 主記憶體12內,含有複數的沙箱(sandbox)。沙箱係用 來將主記憶體1 2內的領域予以固定,各沙箱係被分配給 各子處理器43,可由所分配的子處理器43做排他性的使 用。亦即,各子處理器43雖然能夠使用被分配給自己的 沙箱,但無法對超過該領域的資料進行存取。 主記憶體1 2,雖然是由複數的記憶體位置所構成’ -18- (16) 1289766 但沙箱係爲這些記憶體位置的集合。 再者,爲了實現主記憶體1 2的排他性控制,使用了 如圖4所不的金鑰管理表。金鑰管理表,係被記錄在金鑰 管理表記錄部45內,並和DMAC44建立關連。金鑰管理 表內的各項目(entry )中,含有子處理器id、子處理器 金鑰及金鑰遮罩。 當子處理器4 3對主記憶體1 2進行存取時,子處理器 Φ 43係向DMAC44,輸出讀取或寫入的指令。該指令內, 係含有用來特定子處理器43的子處理器iD及存取要求目 的地亦即主記憶體1 2的位址。 DMAC44係在要執行從子處理器43所供給而來的指 令時,先參照金鑰管理表,調查存取要求來源之子處理器 43的子處理器金鑰。然後,DM AC 44會將調查到的存取 要求來源之子處理器金鑰,和身爲存取要求目的地的主記 憶體1 2的被分配給記憶體位置之存取金鑰做一比較,只 β 有2兩把金鑰一致的時候,才執行從子處理器4 3供給而 來的指令。 圖4所示的金鑰管理表中所記錄的金鑰遮罩,係可藉 由其任意的位元變成“1” ,而使被賦予關連至該金鑰遮 罩的子處理器金鑰之相對應位元可爲“ 0”或“ 1 ” 。 例如,假設子處理器金鑰爲“ 1 0 1 0 ” 。通常,藉由該 子處理器金鑰只可以存取到帶有“1010” 之存取金鑰的 沙箱。可是,當和該子處理器金鑰賦予關連到的金鑰遮罩 被設定爲“ 〇〇〇 1”時,只有金鑰遮罩被設定爲“ 1 ”的位 -19- (17) 1289766 數,子處理器金鑰和存取金鑰的一致判定會被遮蔽(針對 金鑰遮罩的位元被設定成“ 1 ”的位數,不會被進行判定 ),藉由該子處理器金鑰“1010” ,就可以存取到帶有“ 1 0 1 0 ”或“ 1 0 1 1 ”之任一種存取金鑰的沙箱。 如以上,就可實現主記憶體12的沙箱排他性。亦即 ,當需要藉由複數的子處理器43來將資料做多階段處理 的時候,藉由以上這種構成,就可只讓進行前階段處理的 ^ 子處理器43和進行後階段處理的子處理器43,能夠存取 主記憶體1 2的所定位址,而可保護資料。 例如,金鑰遮罩的値,可考慮變更如下。首先,在資 訊處理裝置1 -1剛剛啓動後的階段中,金鑰遮罩的値全部 “〇” 。假設主處理器42內的程式被執行,並和載入至子 處理器43內的程式進行協同動作。由子處理器43-1所輸 出的處理結果資料,會被記憶在主記憶體1 2,當想要將 主記億體1 2中所記億的處理結果資料,輸入至子處理器 ^ 43-2時,則記憶著由子處理器43-1所輸出之處理結果資 料的主記憶體1 2的領域,必須要能夠從子處理器43 -1及 子處理器43-2來進行存取。此種情況下,主處理器42, 係會將金鑰遮罩的値做適切的變更,設置能夠讓來自複數 之子處理器43存取的主記憶體領域,藉此使得子處理器 43所致之多階段處理成爲可能。 更具體而言,例如,根據從資訊處理裝置1-2至資訊 處理裝置1-n所送來的資料,由子處理器43-1執行所定 處理,並將處理過的資料,記憶至主記憶體1 2的第1領 -20- (18) 1289766 域。然後,子處理器43-2,係從主記憶體12的第1領域 中’讀取出所記憶的資料,並根據所讀取之資料,執行所 定之處理,將處理過的資料,記憶至不同於主記憶體12 之第1領域的第2領域。 此處,若當子處理器43-1的子處理器金鑰係爲“ 010〇” 、主記憶體12的第1領域的存取金鑰係爲“0100 ”、子處理器43-2的子處理器金鑰係爲“ 0101” 、主記 • 憶體12的第2領域的存取金鑰係爲“0101”時,則子處 理器43-2係無法存取主記憶體12的第1領域。於是,藉 由將子處理器43-2的金鑰遮罩改成“ 000 1 ” ,子處理器 4 3 -2就可對主記憶體1 2的第1領域進行存取。 其次,參照圖5及圖6,說明由資訊處理裝置1-1生 成軟體胞,並根據所生成的軟體胞,而令資訊處理裝置 1-2至資訊處理裝置i-n執行分散處理時的處理。 資訊處理裝置1-1的主處理器42,係生成出含有執 行處理所必需指令、程式及資料的軟體胞,透過網路2而 送訊至資訊處理裝置1-2至資訊處理裝置1-n。 圖5係圖示了軟體胞之構成的例子。 軟體胞,是由送訊源ID、送訊目標ID、回應目標ID 、胞介面、DMA指令、程式及資料所構成。 送訊源ID中,含有身爲軟體胞之送訊源之資訊處理 裝置1 -1的網路位址及資訊處理裝置1 -1的資訊處理控制 器1 1的資訊處理裝置ID,再者,還含有資訊處理裝置i _ 1之資訊處理控制器11所具備之主處理器42及子處理器 -21 - (19) 1289766 43的識別子(主處理器ID及子處理器ID )。 送訊目標ID內,含有身爲軟體胞送訊目標的資訊處 理裝置1-2至資訊處理裝置1-η的網路位址、資訊處理裝 置1-2至資訊處理裝置1-η的資訊處理控制器之資訊處理 裝置ID,及資訊處理裝置1-2至資訊處理裝置1-η的資訊 處理控制器所具備的主處理器及子處理器的識別子。 又,回應目標ID內,含有身爲軟體胞之執行結果之 ® 回應目標的資訊處理裝置1-1的網路位址、資訊處理裝置 1-1的資訊處理控制器11之資訊處理裝置ID,及資訊處 理裝置1-1的資訊處理控制器11所具備的主處理器42及 子處理器43的識別子。 胞介面,係爲軟體胞利用上必須之資訊,是由全域 ID、必要之子處理器資訊、沙箱大小、以及前次軟體胞 ID所構成。 全域ID,係可以橫跨整個網路2而將該當軟體胞予 ® 以唯一識別的ID,是根據送訊源ID及軟體胞生成或送訊 的時日(日期及時刻)而產生的。 必須之子處理器資訊,係設定有該當軟體胞在執行上 所必須之子處理器的數目。沙箱大小,係設定有該當軟體 胞在執行上所必須之主記憶體及子處理器的近端儲存區的 記憶體量。 前次軟體胞ID ’係串流資料等之要求序列性執行的1 群軟體胞內的,上一個軟體胞的識別子。 軟體胞的執行會期(session) ’係由DMA指令、程 -22- (20) 1289766 式及資料所構成。DMA指令內,含有程式啓動上所必須 之一連串的DMA指令;程式內則含有被子處理器所執行 的子處理器程式。此處的資料,係爲含有該子處理器程式 的程式所處理的資料。 再者,DMA指令內還含有載入指令、踢除指令、機 能程式執行指令、狀態要求指令、以及狀態回送指令。 載入指令,係將主記憶體1 2內的資訊載入至子處理 ® 器之近端儲存區的指令,除了載入指令本身以外,還含有 主記憶體位址、子處理器ID及LS位址。主記憶體位址 ,係表示資訊的載入源亦即主記憶體之所定領域的位址。 子處理器ID及LS位址則是表示資訊的載入目標亦即子 處理器的識別子及近端儲存區的位址。 踢動指令,係程式執行開始指令,除了踢動指令本身 以外,還含有子處理器ID及程式計數器。子處理器ID係 識別踢動對象之子處理器,程式計數器,係賦予程式執行 •用肖式計數器所需2 ί立ί止。 機能程式執行指令,係某一裝置(例如資訊處理裝置 1-1 )對其他裝置(例如資訊處理裝置1-2至資訊處理裝 置1 _η ),要求機能程式之執行的指令。收到機能程式執 ί了指令的資訊處理裝置(例如資訊處理裝置1 - 2至資訊處 理裝置1 -η )的資訊處理控制器,係藉由機能程式id,來 識別應要啓動之機能程式。 狀態要求指令,係將有關於送訊目標ID所示之資訊 處理裝置卜2至資訊處理裝置l-n之現在的動作狀態(狀 -23- (21) 1289766 況)的裝置資訊,發送至回應目標ID所示之資訊處理裝 置1-1的要求送訊之指令。 狀態回送指令,係收到上記狀態要求指令的資訊處理 裝置1-2至資訊處理裝置1-n,將裝置資訊,回應給該當 狀態要求指令內所含之回應目標ID所示之資訊處理裝置 1 〇 1的指令。狀態回送指令,係將裝置資訊存放至執行會 期的資料領域。 ® 圖6中,圖示了 DMA指令爲狀態回送指令時的軟體 胞的資料領域之構造。 資訊處理裝置ID,係用來識別具備資訊處理控制器 之資訊處理裝置1的識別子,是表示發送狀態回送指令的 資訊處理裝置1-2至資訊處理裝置1-n的ID。資訊處理裝 置ID,係例如,當每一台資訊處理裝置1-2至資訊處理 裝置1-η的電源打開時,藉由資訊處理裝置丨_2至資訊處 理裝置Ι-n之資訊處理控制器11所含之主處理器42,根 — 據電源打開時的曰時、資訊處理裝置1-2至資訊處理裝置 l-n的網路位址及資訊處理裝置丨-2至資訊處理裝置丨-n 的資訊處理控制器1 1中所含之子處理器4 3的數目等而產 生的。 資訊處理裝置種別ID,係含有代表資訊處理裝置1-2 至資訊處理裝置1-η之特徵的値。所謂資訊處理裝置1-2 至資訊處理裝置1-η的特徵,係代表資訊處理裝置卜2至 資訊處理裝置1 -η是何種裝置之資訊,例如,係代表資訊 處理裝置1-2至資訊處理裝置l-n,是硬碟錄影機、pda •24- (22) 1289766 (Personal Digital Assistants )、可攜式 CD ( Compact Disc )播放器等之資訊。又’資訊處理裝置種別ID,亦 可爲代表映像聲音記錄、映像聲音再生等,表示資訊處理 裝置1-2至資訊處理裝置1所具有之機能。代表資訊處 理裝置1-2至資訊處理裝置1-η的特徵或機能的値是預先 決定,收到狀態回送指令的資訊處理裝置1 -1 ’係藉由讀 出資訊處理裝置種別ID,就可掌握資訊處理裝置1-2至 Φ 資訊處理裝置1-n的特徵或機能。 MS ( Master/Slave,主/從)狀態,係代表著資訊處 理裝置1-2至資訊處理裝置1-n是在主機裝置或是從機裝 置的哪種狀態下動作中,因此這裡被設爲〇時表示是以主 機裝置的身分在動作著,被設爲1時表示是以從機裝置的 身分在動作著。 主處理器動作頻率,係代表資訊處理控制器1 1的主 處理器42的動作頻率。主處理器使用率,係表示關於主 胃 處理器42上現在正在動作中的所有程式的,在主處理器 42上的使用率。主處理器使用率,係代表著相對於對象 主處理器42之全處理能力的使用中之處理能力的比率的 値,例如是以用來評估處理器處理能力之單位MIPS的單 位來算出,或著根據每單位時間內之處理器使用時間而算 出。 子處理器數,係代表資訊處理控制器1 1所具備的子 處理器43的數量。子處理器ID,係用來識別資訊處理控 制益1 1之各子處理益4 3所需之識別子。 -25- (23) 1289766 子處理器狀態,係代表各子處理器43的狀態,有“ unused” 、 “reserved” 、 “busy” 等狀態 〇 “unused” 係表示該當子處理器現在並未使用,也沒有使用的預約。 “ reserved”則表示現在雖然未使用,但已經有預約之狀 態。“ busy”則是表示現在正在使用中。 子處理器使用率,係有關於該當子處理器上現在正在 執行的,或該當子處理器上已被預約執行的程式,在子處 ® 理器43上的使用率。亦即,子處理器使用率,係當子處 理器狀態爲“ busy”時,則表示現在的使用率;當子處理 器狀態爲“reserved”時,則表示之後所使用的預定之推 定使用率。 子處理器ID、子處理器狀態及子處理器使用率,係 針對1個子處理器43設定一組,而設定有對應於1個資 訊處理控制器1 1之子處理器43的組數。 主記億體總容量及主記憶體使用量,係分別代表著資 ® 訊處理控制器1 1上所連接之主記憶體1 2的總容量及現在 使用中的容量。 記錄部數,係代表連接在資訊處理控制器1 1上的記 錄部1 3的數目。記錄部ID,係用來將連接在資訊處理控 制器1 1上的記錄部1 3予以唯一識別的資訊。記錄部種別 ID,係代表記錄部13的種類(例如:硬碟、CD±RW、 DVD士RW、記憶體碟、SRAM、ROM等)之資訊。 記錄部總容量及記錄部使用量,分別代表著記錄部 ID所識別的記錄部1 3的總容量及現在使用中的容量。 -26- (24) (24)1289766 記錄部ID、記錄部種別ID、記錄部總容量及記錄部 使用量,係針對1個記錄部1 3設定一組,並只設定有對 應於資訊處理控制器1 1上所連接之記錄部1 3之數量的組 數。亦即,當1個資訊處理控制器1 1是連接著複數之記 錄部1 3的時候,各個記錄部1 3是被分配到不同的記錄部 ID,且記錄部種別ID、記錄部總容量及記錄部使用量亦 被個別地予以管理。 如此一來,資訊處理裝置1 -1,係當要令資訊處理裝 置1-2至資訊處理裝置1-η執行分散處理時,便生成軟體 胞,並將所生成的軟體胞,透過網路2而發送至資訊處理 裝置1-2至資訊處理裝置卜η。 此外,以下,從資訊處理裝置1 -1送往資訊處理裝置 1-2至資訊處理裝置1-η的各種資料,因爲是先存放至軟 體胞內才被發送,而爲重複,因此省略其說明。 資訊處理裝置1-2至資訊處理裝置1-η之中的任一資 訊處理控制器11所含之主處理器42,會生成以上這種構 成的軟體胞,透過網路2而向其他資訊處理裝置1的資訊 處理控制器1 1,發送所生成的軟體胞。送訊源的資訊處 理裝置1、送訊目標之資訊處理裝置1、回應目標之資訊 處理裝置1、以及設於各裝置內的資訊處理控制器1 1,係 分別藉由上記的送訊源ID、送訊目標ID及回應目標ID 而予以識別。 收到軟體胞的資訊處理裝置1的資訊處理控制器1 1 所含之主處理器42,係將該軟體胞存放在主記憶體1 2內 -27- (25) 1289766 。然後,送訊目標的主處理器42,會將軟體胞讀出,處 理其所含有之DMA指令。 具體而言,送訊目標之主處理器42,首先會執行載 入指令。藉此,根據載入指令所指示的主記憶體1 2的位 址,載入指令所含之子處理器ID及LS位址所特定之子 處理器內之近端儲存區51的所定領域內,便會被載入資 訊。此處所載入的資訊,係爲所收到之軟體胞內所含之子 ® 處理器程式或資料,或者其他被指示的資料。 其次,主處理器42會將踢動指令,同樣地連同踢動 指令中所含有之程式計數器而輸出至其所含有之子處理器 ID所指示的子處理器43。 被指示的子處理器,係依照該踢動指令及程式計數器 ’執行子處理器程式。然後,在將執行結果儲存至主記憶 體12後,向主處理器42通知執行完畢的事件。 此外,送訊目標之資訊處理裝置1之資訊處理控制器 ® 11中,執行軟體胞的處理器並非侷限於子處理器43,而 是亦可指定由主處理器42來執行軟體胞所含之機能程式 等之主記憶體用程式。 此時,送訊源之資訊處理裝置1,係向送訊目標之資 訊處理裝置1,不是發送子處理器程式,而是改以發送出 含有主記憶體用程式及要被主記憶體用程式所處理的資料 且DMA指令爲載入指令的軟體胞,.令主記憶體1 2記憶著 主記憶體用程式及要被其所處理之資料。其次,送訊源資 訊處理裝置1,係向送訊目標資訊處理裝置1,發送出含 -28- (26) 1289766 有關於送訊目標之資訊處理裝置內之資訊處理控制器11 的主處理器ID、主記憶體位址、用來識別主記憶體用程 式所需之後述之機能程式ID等之識別子、及程式計數器 ,且DMA指令爲踢動指令或機能程式執行指令的軟體胞 ,令主處理器42執行該當主記憶體用程式。 如以上,適用了本發明的網路系統中,軟體胞之送訊 源的資訊處理裝置1,係除了將子處理器程式或主記憶體 • 用程式藉由軟體胞而發送至送訊目標資訊處理裝置1,還 令該當子處理器程式載入至送訊目標資訊處理裝置1之資 訊處理控制器11所設之子處理器43,而可使該當子處理 器程式或該當主記憶體用程式,在送訊目標資訊處理裝置 1上執行。 軟體胞之送訊目標資訊處理裝置1之資訊處理控制器 1 1中,當收到的軟體胞中所含之程式爲子處理器程式時 ,令該當子處理器程式載入至被指定的子處理器43內。 胃然後,在所指定的子處理器43上,軟體胞所含之子處理 器程式或主記憶體用程式便會執行。 因此,使用者即使不操作軟體胞之送訊目標的資訊處 理裝置1,也能自動地,令子處理器程式或主記憶體用程 式,從軟體胞之送訊源的資訊處理裝置1,分配至送訊目 標的資訊處理裝置1,並藉由軟體胞之送訊目標的資訊處 理裝置1的資訊處理控制器1 1,促使它們執行。又,在 各子處理器43間,是以DMA方式進行資料傳送,且藉由 使用上述的沙箱,即使需要在1個資訊處理控制器1 1內 -29- (27) 1289766 ’將資料予以多階段處理的時候,也能高速且高安全性地 執行處理。 圖7中係圖示了資訊處理控制器丨丨的主記憶體丨2所 記憶之軟體之構成的軟體堆疊。這些軟體(程式),係在 資訊處理裝置1打開電源前,就被記錄在資訊處理控制器 1 1所連接之記錄部1 3內。 驅動程式軟體81-1至81-p,係用來促使硬體動作所 ® 需之專用軟體。驅動程式軟體81-1至8 1-p中,例如有, 促使連接在操作輸入部1 5上的滑鼠動作所需的滑鼠驅動 程式、促使用來讓顯示部1 7顯示出影像所需之顯示卡動 作所需的顯示卡驅動程式、促使透過通訊部1 6而連接之 未圖示的印表機動作所需的印表機驅動程式等等。 核心(0S ) 82,係控制著資訊處理控制器1 1之基本 動作,管理各種資源,例如,將應用程式87所發生的命 令,傳達至驅動程式軟體81-1至81-p。又,核心82係也 ® 會進行應用程式87之執行上下文(某應用程式87所正在 利用之暫存器集或主記憶體影像、檔案處理等)或GUI 之零件等軟體資源的管理。 裝置驅動程式83,係用來執行往資訊處理控制器11 或資訊處理裝置1的資料之輸出入(收送訊)機能所需之 驅動程式,例如,播送接收、螢幕輸出、位元串流輸出入 、網路輸出入用程式等,隨著資訊處理裝置1所具有的機 能’而讓每一資訊處理控制器1 1具備之。 函式庫 84,亦稱 DLL (Dynamic Link Library),是 -30- (28) 1289766 將數個函數像是書庫般予以集結,是將軟體執行上所必須 之機能獨立成檔案的方式而予以共通化而成者,通常係將 檔案本身稱爲DLL。次常式係屬於程式內部的,但函式庫 84係和程式不爲一體而是執行時會被載入,兩者有所區 別。由於以函式庫84的方式所提供的機能係不須重新開 發即可達成,因此可提高應用程式87的開發效率,更可 將相同程式零件讓複數應用程式87來共享,因此可節省 • 磁碟或記憶體的容量。 電源管理器85,係判斷裝置驅動程式83所管理之每 一主處理器42及子處理器43的動作狀況,和被要求執行 之應用程式8 7的執行所需之條件,來管理每一處理器的 消費電力,當決定分散處理的分配,或分散處理之分配是 不可能的時候,便將所要求之處理之執行的取消,通知給 系統服務/開發框架86。亦即,電源管理器85係用來控制 資訊處理控制器1 1的主處理器42及子處理器43所執行 ^ 之分散處理,會管理每一主處理器42及子處理器4 3的動 作狀況,決定受應用程式8 7所要求之邏輯執行緒執行所 需之分散處理的分配,而將程式及資料,分別載入至對應 之主處理器42及子處理器43,而令其執行。 具體而言,電源管理器85,係控制主處理器42及子 處理器43的動作時脈數成最佳的値,以使得受應用程式 8 7所要求之處理爲可以執行,且資訊處理控制器1 1的消 費電力可以降低。此處,將現在設定之時脈數相對於每一 處理器的最大動作時脈數的比,定義爲處理器動作率。處 -31 - (29) 1289766 理器動作率,係可在每一主處理器42及子處理器43中呈 獨立控制,也可是爲統一而加以控制。亦即,主處理器 42及子處理器43,雖然係潛在地能夠以最大動作時脈數 來動作,但實際上是以根據電源管理器85所設定的處理 器動作率的上限動作時脈數來進行動作。 亦即,處理器動作率SCPU —RATE[k] ( k係爲了能夠 區別受到電源管理器85控制之處理器而分配的編號), • 係以上限動作時脈數/最大動作時脈數SCPU_CK[k]來表示 :當處理器動作率,係在每一主處理器42及子處理器43 中,是爲同一而被控制的時候,處理器動作率 SCPU_RATE[k] = SYSTEM_RATE。 又,處理器使用率SCPU__STAT[k],在各處理器中, 是以在規定時間內應用程式之執行所使用的週期數(其中 1週期(1 cycle)係爲CPU最大動作時脈數的倒數)/規 定時間/最大動作時脈數SCPU_CK[k]來表示。 β 例如,假設主處理器42及子處理器43,是可以潛在 的最大動作時脈數1.2MHz來動作。此時,作爲處理器動 作率,例如,若可設定1.0、0.5、0.25,則上限動作時脈 數便爲1.2MHz、600Hz、3 00Hz。具體而言,當處理器動 作率被設定成0.5時,上限動作時脈數,係爲1.2ΜΗζχΟ·5 =60 0Hz。然後,在規定時間lsec內,應用程式的執行是 使用3 00週期的時候,則處理器使用率SCPU_STAT[k], 係爲 300 週期 /lsec/1.2MHz=0.25。 亦即,處理器使用率和處理器動作率’恆成立下式( -32- (30) (30)1289766 1 )的關係。 〇 ‘處理器使用率(SCPU_STAT[k]) $處理器動作率 (SCPU —RATE[k] ) ^ 1.0 · · · (1) 又’電源管理器85,係對未被分派處理的子處理器 43設定爲待命(Suspend )模式,使對應的子處理器不會 被分配到處理,而可降低資訊處理控制器1 1的消費電力 〇 系統服務/開發框架86,係將藉由應用程式87所執行 的處理,分派給資訊處理裝置1的複數子處理器43的每 一個而執行分散處理,或者,提供藉由複數的資訊處理裝 置1而執行之分散處理的系統服務的軟體模組群。 應用程式87,係爲使用資訊處理控制器1 1,以實現 例如播送波的收訊控制、內容的記錄或再生、3次元圖形 演算處理、電子郵件的收授、網頁的瀏覽等等目的所需之 軟體程式。例如,當3次元圖形所需的應用程式8 7被執 行時,便將1畫面份之處理按照像素加以分割,而可基於 同一程式、同一模組資料,以複數的處理器進行平行演算 。亦即,當使用資訊處理控制器1 1,而3次元圖形所需 的應用程式87被執行時,藉由系統服務/開發框架86,被 按照像素而分割後的處理,會分別被分派給複數的子處理 器43,而可使其進行平行演算。 圖8係用來說明由資訊處理控制器1 1去管理每一處 理器的消費電力,並控制分散處理之分配之機能的機能方 塊圖。 -33- (31) 1289766 圖8終,應用程式執行控制部1 Ο 1、邏輯執行緒執行 控制部102、動作率設定部103、動作資訊取得104及動 作資訊記憶體105,係藉由資訊處理裝置1的主處理器42 所實現的機能。 此外,圖8中,當實現這些機能的硬體並非上述的時 候,例如,藉由主處理器42所實現之機能當中的一部份 ,是藉由不同硬體來實現的時候,本發明當然仍是可以適 ® 用。又,這些構成,係可全部構成在單1晶片內,或可構 成爲個別之晶片。 應用程式執行控制部1 0 1,係執行用來執行所定應用 程式所需之演算處理。又,應用程式執行控制部1 〇 1,係 當要令子處理器43當中的任一者執行分散處理時,便向 邏輯執行緒執行控制部 102,供給圖 9 所示的 REQUEST_inf〇rmati〇n (應用程式要求條件)以當作是邏 輯執行緒的設定資訊,而要求邏輯執行緒的生成。所謂邏 胃輯執行緒,係定義爲,將因應複數子處理器43的每一個 之需要而被分配的複數程式(這些程式係可爲對應於同一 應用程式者,亦可爲對應於不同之應用程式),總結成1 個機能而加以提供之處理單位。換言之,因應複數子處理 器43的每一個的需要而被分配的複數個程式,係被記憶 在主記憶體1 2的所定記憶領域之程式,藉由來自應用程 式執行控制部1 0 1之執行受到控制之應用程式的要求,而 從主記憶體1 2載入至所對應之子處理器43的近端儲存區 51而加以執行。 -34- (32) 1289766 圖9所示的從應用程式執行控制部1 〇 1供給至邏輯執 行緒執行控制部102的REQUEST-information ( Α處理器 要求條件)中,開頭是存放有:用來識別應用程式的1 6 位元組之ID (應用程式ID)、表示有無需要在規定時間 內處理完畢的1位元組之REQ_REAL資訊、表示在決定 子處理器之分配時希望能較爲優先的子處理器之子處理器 ID的1位元組之PRIORITYJD、表示所要求之處理所需 ® 要的子處理器數的REQ_NUM資訊,其後則存放有:表示 被分配處理的子處理器所被要求的因爲要求之處理而被佔 用的記憶體容量的REQ_MEM資訊、表示被分配處理的子 處理器所被要求的因爲要求之處理而被佔用的規定時間內 處理週期數的REQ_PC資訊,是數量相同於主處理器42 所被分配的處理、和REQ_NUM資訊所代表之處理所需之 子處理器數而被存放。具體而言,作爲REQ_MEM0及 REQ —PC0,是存放有主處理器42所被要求的記憶體容量 胃 和週期(cycle )數;接著,作爲REQ_MEM1及REQ_PC1 、REQ — MEM2及REQ —PC2···,則分別存放著各子處理器 所被要求的記憶體容量和週期(cycle )數。對應於子處 理器的REQ_MEM及REQ_PC的各資訊的存放順序,係需 要的週期數由大而小依序排列,而當週期數相同時則記憶 體量越大者越優先排列,較爲理想。 此處,REQ + REAL時係代表需要即時處理;所謂處理 週期(cycle )數,係對應於應用程式執行時所需要的處 理量之値。又,應用程式的執行要求及 -35- (33) 1289766 REQUEST-information的供給,有時也會透過網路2,而 從異於自身的其他資訊處理裝置1的資訊處理控制器1 1 來供給之。 回到圖8的說明。 邏輯執行緒執行控制部1 02,係在內部具有暫存器及 記憶體,會進行應用程式執行控制部1 0 1所執行之應用程 式所對應之邏輯執行緒的生成及刪除。具體而言,邏輯執 • 行緒執行控制部1〇2,係根據從應用程式執行控制部1〇 i 供給過來的,圖9所示的REQUEST — information,和動作 資訊記憶體1 05中所記憶之子處理器43的各自動作狀態 ,而對子處理器43,適切地分派分散處理,藉此除了可 抑制消費電力的增加,還可進行所生成之邏輯執行緒的狀 態監視與動作控制。邏輯執行緒執行控制部1 02,係會產 生出記載有應用程式執行控制部1 0 1之全體之管理資訊的 表格,和按照所執行的邏輯執行緒別,而記載有邏輯執行 ^ 緒之執行所需之資訊的表格,因應需要,而參照表格的資 訊,進行更新,藉此而控制邏輯執行緒的執行。 作爲邏輯執行緒執行控制部1 02中所管理的資訊,除 了上述的 REQUEST —information以外,還有:表示資訊 處理控制器11所擁有之子處理器43數的NUM_SCPU、 例如1 sec等之表示進行分散處理之分派時的作爲基準時 間所用的規定時間的TIME_DEF、表示相對於記憶體使用 率的可用份量(margine)的MEM —MARGIN、表示以第k 處理器切換執行緖(應用程式)時的贅算(overhead)量 -36- (34) 1289766 的THREAD_OVERHEAD[k]、表示第k處理器的處理器動 作率之設定値(〇〜1的値)的SCPU_RATE[k]、表示相對 於第k處理器之處理器使用率的處理器動作率的可用份量 的RATE — MARGIN,以及在未被要求即時處理的應用程式 中,當分配處理不成功時,表示打斷分配處理回圈的次數 之 N_GIVEUP。 此處,所謂的第k處理器,係第0代表主處理器42 • ,第1以後則代表子處理器43之中的任一者。又, MEM —MARGIN 中,例如,使用 lOKbytes 的値;在 RATE — MARGIN中,例如使用0.1等之値;它們都是在進 行分散處理之分配之判別時會被使用。又,所謂「切換執 行緒時的贅算量」,具體而言,係將現在處理器中所正在 執行的處理的上下文(context),從近端儲存區51中撤 除,或回復成原本狀態之前所需的週期數。 此外,當在所有的處理器上將處理器動作率以共通的 ® 方式加以控制時,處理器動作率的設定値,係會配合 SYSTEM — RATE。又,會成立下式(2 )。 處理器上限動作時脈數=處理器最大動作時脈數X處理 器動作率 · · · ( 2 ) 動作率設定部1 03,係除了根據邏輯執行緒執行控制 部102的控制,而設定主處理器42及子處理器43的處理 器動作率 SCPU —RATE[k]或 SYSTEM_RATE,同時還將已 設設万之處理器動作率SCPU —RATE[k]或SYSTEM —RATE 的値,供給至動作資訊記憶體1 05而登錄之。 -37- (35) 1289766 動作資訊取得104,係取得子處理器43的動作資訊 ,供給至動作資訊記憶體105。 動作資訊記憶體105,係對應於近端儲存區51-1之 記憶領域之中的至少一部份,將動作資訊取得1 04之處理 所取得到的子處理器43的動作資訊及主處理器42的動作 資訊,和被動作率設定部103所設定之主處理器42及子 處理器 43 的處理器動作率 SCPU —RATE[k]或 ^ SYSTEM —RATE,加以記憶。 動作資訊記憶體1 05中所記錄之資訊中,例如有:表 示主處理器42及子處理器43所能利用之記憶體容量的 MEM一CPU[k] ( kbytes),資訊處理控制器1 1內所設之第 k處理器42或子處理器43之最大動作時脈數的 SCPU_CK[k]、表示第k處理器42或子處理器43之處理 器使用率的SCPU —STAT[k]、表示第k處理器42或子處 理器 43 上現在正在動作之應用程式數的 胃 SCPU —APPNUM[k]、表示能否對第k處理器42或子處理 器43分配程式的旗標SCPU_SUSPEND[k]等。此處,當 SCPU —SUSPEND [k] = 0時,表示第k處理器42或子處理 器43可以被分配程式,當SCPU — SUSPEND[k]=l時,表 示第k處理器42或子處理器43禁止被分配程式。 此處’現在的第k處理器42或子處理器43的動作 時脈數,係以SCPU — CK[k]xSCPU — RATE[k]來表示。又, 處理器動作率與處理器使用率的關係,係滿足下式(3 ) 。亦即,當在所有的處理器上是將處理器動作率共通控制 -38- (36) 1289766 的時候,處理器使用率與處理器使用率的關係,係滿足下 式(4 )。 OS SCPU一STAT[k]S SCPU —RATE[k]S 1 · · · ( 3) OS SCPU —STAT[k]S SYSTEM —RATES 1 · · · ( 4) 又,表示第k處理器42或子處理器43之處理器使 用率的SCPU_STAT[k],係隨著每一新的應用程式所致之 分散處理而增加。例如,第1個應用程式的時候, # S CPU —ST AT [k]的增力口量,係以下式(5)來表示;第2個 以降之應用程式時,SCPU_STAT[k]的增加量,係以下式 (6 )來表示。 SCPU —STAT[k]的増力口量=(REQ一PC[k] + TIME — DEF )+SCPU一CK[k] · · · ( 5 ) SCPU一STAT[k]的増力口 量 =((REQ_PC[k] + THREAD_OVERHEAD[k] ) + TIME —DEF) +SCPU —CK[k] · · · (6) ® 其次,說明資訊處理控制器1 1內所含之主處理器42 及子處理器43的消費電力。 資訊處理控制器11所含之主處理器42及子處理器 43的每一個的消費電力,是隨著與現在處理器動作率成 正比增加的消費電力量,和與現在處理器使用率成正比增 加的消費電力量而決定。與現在處理器動作率成正比增加 的消費電力量PT-A,係爲即使主處理器42或子處理器 43未被分散處理所使用時仍會消耗的電力量,係以下式 (7 )表示。此處,PA係爲動作時脈數比例係數,是隨著 -39- (37) 1289766 硬體構成而預先決定的値。然後,與現在處理器使用率成 正比增加的消費電力量PT-B,則以下式(8 )來表示。此 處,K係爲使用時脈數比比例係數且是隨著硬體構成而預 先決定的値。. PT-A = P A ( W/Cycle ) x S CPU_R ATE [k] x S CPU —CK [k] • · · ( 7 ) PT-B = K ( W/Cycle ) x SCPU —STAT[k] x SCPU —CK[k] • · · ( 8 ) 因此,資訊處理控制器1 1內所含之主處理器42及子 處理器43的合計的消費電力Σ PT,係以下式(9 )來表示 。又,當處理器動作率SCPU_RATE[k],並非各處理器獨 立設定,而是全部視爲共通値(SYSTEM_RATE )而加以 操控的時候,資訊處理控制器11內所含之主處理器42及 子處理器43的合計的消費電力ΣΡΤ’係以下式(10)來 表示。 Σ ΡΤ= Σ ( PA X SCPU_RATE[k] X SCPU_CK[k] + Κ X SCPU — STAT[k]xSCPU一CK[k] ) ---(9) Σ PT= Σ ( PA x S YSTEM_RATE x SCPU 一 CK[k] + K x SCPU — STAT[k]xSCPU — CK[k] ) · · · (l〇) 圖10係爲資訊處理控制器11內所含之主處理器42 及子處理器43的每一個的消費電力PT’與動作時脈數的 關係圖。 如圖10所示,雖然處理器的使用率越大’消費電力 PT越大,但即使處理器的使用率爲0 ’只要仍對處理器供 -40- (38) 1289766 給時脈,就仍會發生爲了處理器及匯流排之控制而消耗的 電力量等、並非依存於應用程式處理的固定消費電力。供 給至主處理器 42及子處理器 43的時脈,係以 SYSTEM —RATExSCPU — CK來表示。亦良卩,艮卩使是同一處 理器使用率(SCPU_STAT ),處理器動作率( SYSTEM —RATE或 S CPU —RATE [k])越大,貝!J固定份量的 消費電力越會增加。 其次,參照圖1 1及圖1 2的流程圖,說明適用了本發 明之資訊處理裝置1上所執行的分散處理分配決定處理1 〇 步驟S 1中,邏輯執行緒執行控制部1 02係接受來自 應用程式執行控制部101的REQUEST_information之供 給,判斷是否有被指示新的分散處理之分配。步驟S1中 ,當判斷爲沒有被指示新的分散處理之分配時,則一直重 複步驟S1的處理直到判斷爲有新的分散處理之分配指示 爲止。 步驟S 1中,當判斷爲有新分散處理之分配的指示時 ,則在步驟S2中,邏輯執行緒執行控制部1 02係從所供 給而來的REQUEST_inf〇rmati〇n中所含的資訊中,取得 有指示要分配之分散處理的執行所需要的子處理器數j。 步驟S 3中,邏輯執行緒執行控制部1 〇2,作爲對應 於存放往各處理器之處理分配計算過程中的暫定値的內部 暫存器的値,而定義了處理器使用率TEMP_STAT[k]及處 理器動作率TEMP一RATE[k]〇 -41 - (39) 1289766 步驟S 4中,邏輯執行緒執行控制部〗02,係將動作 資訊記憶體1 〇 5所記憶之分散處理之分配前,亦即,現在 的各處理器的處理器使用率3€?11_8丁入丁[1^]及處理器動作 率SCPU —RATE[k]的値,加以取得,而代入至處理器使用 率 TEMP 一 STAT[k]及處理器動作率 TEMP — RATE[k]〇 此處’針對在複數設置子處理器43的資訊處理控制 器11中,已經在執行某些應用程式的狀態下,從透過網 • 路2而連接之其他資訊處理裝置1,又送來新的其他應用 程式之執行要求時的情形加以說明。又,邏輯執行緒執行 控制部1 02或動作資訊記憶體1 05現在正在管理的設定値 ,係設定爲 REQ — REAL = 1 (要求即時處理)、 NUM — SCPU = 3、TIME —DEF = 1 ( 1 秒)、RATE —MARGIN =0.1、MEM_MARGIN= 10 〇 使用圖1 3,說明已經執行某些應用程式之狀態的主 處理器42及子處理器43-1至子處理器43-3的處理器動 ^ 作率SYSTEM_RATE (在此處,是將所有處理器上的處理 器動作率視爲共通而進行說明),和處理器使用率 SCPU_STAT[k]的關係。此處,爲了簡化說明,係假設 THREAD_OVERHEAD爲0而進行說明。 此處,主處理器42及子處理器子處理器43-1至子處 理器43-3的處理器動作率SYSTEM —RATE係爲0.5。然後 ,因爲 k=0所代表之主處理器 42的處理器使用率 SCPU_STAT[0]係爲 0.3 , 所以處理器使用率 SCPU — STAT[0]/處理器動作率 SYSTEM —RATE 係爲 0.3/0.5 -42- (40) 1289766 ,主處理器42所能利用的記憶體容量MEM_CPU[0]係爲 5 0 00 ( kbytes ),現在使用中的記憶體容量係爲1000 ( kbytes),代表最大動作時脈數的SCPU_CK[0]係爲1〇〇〇 。因爲k=l所代表之子處理器43-1的處理器使用率 SCPU_STAT[1]係爲 0_4 ,所以處理器使用率 SCPU — STAT[1]/處理器動作率 SYSTEM —RATE 係爲 0.4/0.5 ,子處理器43-1所能利用的記憶體容量MEM_CPU[1]係 # 爲1〇〇 ( kbytes ),現在使用中的記憶體容量係爲20 ( kbytes),代表最大動作時脈數的SCPU_CK[1]係爲1000 。又,k = 2所代表之子處理器4 3 _2的處理器使用率 SCPU_STAT[2]係爲 0.2 ,所以處理器使用率 SCPU一STAT[2]/處理器動作率 SYSTEM_RATE 係爲 0.2/0.5 ,子處理器43-2所能利用的記憶體容量MEM_CPU[2]係 爲100 ( kbytes ),現在使用中的記憶體容量係爲1〇 ( kbytes),代表最大動作時脈數的 SCPU_CK[2]係爲 1000 B 。然後,k = 3所代表之子處理器43-3的處理器使用率 SCPU_STAT[3]係爲 0.1 ,所以處理器使用率 SCPU_STAT[3]/處理器動作率 SYSTEM_RATE 係爲 0.1/0.5 ,子處理器43-3所能利用的記憶體容量MEM_CPU[3]係 爲100 ( kbytes ),現在使用中的記憶體容量係爲5 ( kbytes),代表最大動作時脈數的SCPU_CK[3]係爲1〇〇〇 〇 然後’假設 REQUEST_information中所記載的被新 要求執行之應用程式的動作條件係必須之子處理器數 -43- (41) 1289766 REQ-NUM爲2,主處理器42所被要求的處理週期數 REQ —PC[0]係爲100,所要求之記憶體容量REQ_MEM[0] 爲100( kbytes),第1子處理器43所被要求的處理週期 數 REQ_PC[1]係爲 400,所要求之記憶體容量 REQ — MEM[1]爲50(kbytes),第2子處理器43所被要 求的處理週期數REQ_PC[2]係爲200,所要求之記億體容 量 REQ MEM [2]爲 3 0 ( kbytes )。 Φ 根據以上的條件,在以下的處理中,會進行滿足條件 的分散處理之分配。 步驟S5中,邏輯執行緒執行控制部1〇2,係對代表 要求之處理所需要的子處理器數REQ_NUM,將一表示要 進行第幾號之處理器的分配決定處理的暫存器的値t,設 爲t = 0。此處,t=0的處理器係代表主處理器42,t^l的 處理器係代表子處理器43當中的任一者。 步驟S6中,邏輯執行緒執行控制部1 02,係將表示 ® 資訊處理控制器1 1中所設的處理器當中,能否對第幾號 處理器進行分配處理的暫存器値S,設爲s=0。 步驟S7中,邏輯執行緒執行控制部102,係判斷 REQ — NUM (t)之處理,是能否藉由第s號處理器來執行 〇 具體而言,邏輯執行緒執行控制部1 02,係除了將 REQ — NUM ( t ) 之處理所致之處理器使用率 SCPU_STAT[s]的增加量予以加算,還會以處理器使用率 SCPU — STAT[s]+ RATE —MARGIN不會超過1,以及針對被 -44- (42) 1289766 REQ—NUM (t)之處理所要求之記憶體容量要成立( REQ — MEM[s] + MEM —MARGIN ) < (MEM[s] —CPU-現在的 記憶體使用量)爲條件,來判斷req_num ( t )之處理, 是能否藉由第S號處理器來執行。 步驟S7中,當判斷爲REQ_NUM ( t )的處理係不可 能以第s號處理器來執行時,則在步驟S 8中,邏輯執行 緒執行控制部1 02便將暫存器的値s,設爲s = s + 1。 # 步驟S9中,邏輯執行緒執行控制部102係會判斷是 否s> (資訊處理控制器11內所設置之子處理器43的數 目)。步驟S9中,若判斷爲不是s >(資訊處理控制器 Η內所設置之子處理器43的數目)時,則處理便返回步 驟S7,重複其以降的處理。步驟S9中,若判斷是s> ( 資訊處理控制器1 1內所設置之子處理器4 3的數目)時, 則處理便進入後述之步驟S 1 9。 步驟S7中,若判斷爲REQ —NUM ( t )的處理係可能 ^ 以第s號處理器來執行時,則在步驟S 1 0中,邏輯執行緒 執行控制部1 02,便在表示滿足必要條件之處理器之識別 編號的內部暫存器所對應的SET_CPUID[t]中,記載入已 分配之第s號處理器的處理器ID (主處理器ID或子處理 器 ID)。 步驟S 1 1中,邏輯執行緒執行控制部1 〇2,係會更新 存放分配計算過程中之暫定値的內部暫存器値所對應之處 理器使用率TEMP —ST AT [s],以使得已分配之第s號處理 器的處理量的處理器使用率會被加算。 -45- (43) (43)1289766 步驟S 1 2中,邏輯執行緒執行控制部1 02係將暫存器 t的値,設爲t = t + 1。 步驟S 1 3中,邏輯執行緒執行控制部1 02係參照暫存 器t的値,判斷是否t > j ( j係分散處理所必須之子處理 器數)。步驟S13中,若判斷爲非t > j時,則由於所被 要求之處理分配尙未結束,因此處理會返回步驟S6,重 複其以降之處理。 步驟S 1 3中,若判斷是t > j,則由於所被要求之處理 分配已經結束,因此在步驟S 1 4中,邏輯執行緒執行控制 部1 02係將代表分配已經成功的旗標加以豎起,亦即設 SET_NG = 0。 步驟S 1 5中,邏輯執行緒執行控制部1 02係將所有的 處理器的處理器動作率TEMP_RATE[k],及最新的處理器 使用率TEMP_STAT[k],力口以比較,藉此而判斷是否有需 要隨著新的分散處理之分配,而變更處理器動作率的設定 〇 步驟S 1 5中,當判斷爲有需要變更處理器動作率的設 定時,亦即,無論在哪個處理器上,皆爲處理器動作率 TEMP_RATE[k]〈處理器使用率 TEMP —STAT[k]的時候, 則在步驟S 1 6中,邏輯執行緒執行控制部1 02係會算出新 的處理器動作率,並將算出結果,供給至動作率設定部 103。動作率設定部103,係對主處理器42或子處理器43 當中的對應者,進行處理器動作率的設定變更。 步驟S 1 7中,邏輯執行緒執行控制部1 02,係將動作 -46 - (44) 1289766 資訊記憶體1 〇 5所記憶之分散處理之分配前,亦即,現在 的各處理器的處理器使用率SCPU_STAT[k]及處理器動作 率SCPU_RATE[k]的値,分別更新成,藉由分配計算所得 到的處理器使用率TEMP 一 STAT[k]及TEMP — RATE[k]。 使用圖1 4,說明新分散處理的分配結果,與處理器 動作率之設定。 在用圖1 3說明過的狀態下,如上述,當:必須之子 # 處理器數REQ_NUM係爲2,主處理器42所被要求的處 理週期數REQ_PC[0]係爲 100,所要求之記憶體容量 REQ_MEM[0]係爲100 ( kbytes ),第1子處理器43所被 要求的處理週期數REQ_PC[1]係爲400,所要求之記憶體 容量REQ_MEM[1]係爲50 ( kbytes ),第2子處理器43 所被要求的處理週期數REQ_PC[2]係爲200,所要求之記 憶體容量REQ_MEM[2]係爲30(kbytes)的分散處理之分 配被要求時,如圖14所示,k=0所代表的主處理器42 ® 的處理器使用率SCPU_STAT[0]係變爲0.4,k=l所代表 之子處理器43-1的處理器使用率SCPU_STAT[1]係變爲 0.8,k=2所代表之子處理器 43-2的處理器使用率 SCPU —STAT[2]係變爲0.4,k=3所代表之子處理器43-3 的處理器使用率SCPU_STAT[3]維持0.1不變。 由於RATE —MARGIN = 0.1,因此當新的分散處理的 分配後,處理器動作率是受到個別控制的時候,則只有子 處理器43-1的處理器動作率SCPU_RATE[1]會被更新成 0.9;而當新的分散處理的分配後,處理器動作率仍是共 -47- (45) 1289766 通控制的時候,則所有處理器的處理器動作率會因爲 RATE —MARGIN: 0.1,而使 S Y S TEM_R ATE 被變更成 0.9 。又,在每一處理器上,藉由新的分散處理被分配,主處 理器42所能利用的記憶體容量(MEM_CPU[0]-現在的記 憶體使用量)係變爲3900 ( kbytes ),子處理器43-1所 會g利用的記憶體容量(MEM_CPU[1]-現在的記憶體使用量 )係變爲30 ( kbytes),子處理器43-2所能利用的記億 • 體容量(MEM_CPU[2]-現在的記憶體使用量)係變爲60 (kbytes ),子處理器43-3所能利用的記憶體容量( MEM_CPU[3]-現在的記憶體使用量)則爲95 ( kbytes)不 〇 步驟S 1 5中,若判斷爲沒有必要變更處理器動作率之 設定時,或步驟S17的處理結束後,則在步驟S18中,邏 輯執行緒執行控制部1 02係根據已設定之分配,將程式及 資料載入至對應的處理器,控制邏輯執行緒之處理。主處 ^ 理器42及子處理器43,便會執行所被分配的執行緒之處 理,而結束處理。 步驟S9中,若判斷爲s >(資訊處理控制器1 1內所 設置之子處理器43的數目)時,則在步驟S19中,邏輯 執行緒執行控制部1 0 2係設S E T_N G = 1,並向使用者及 分散處理要求來源的資訊處理裝置1,通知無法進行分散 處理之分配,而結束處理。 藉由如此處理,適用了本發明的資訊處理裝置1上, 就可抑制處理器(或處理器群)的消費電力,而適切地選 -48 - (46) 1289766 擇被分散之處理的分配目標。 藉由上述處理而分配了分散處理的狀態,係爲上述圖 14中的狀態,當處理器動作率是被共通控制時的消費電 力,係藉由下式(11)求出。 Σ ΡΤ= Σ (PAxSYSTEM一RATE[k]+ KxSCPU一STAT[k])x SCPU —CK[k] =(0·9χ4χΡΑ+ ( 0.4 + 0.8 + 0.4 + 0.1) χΚ ) xlOOO • = ( 3.6xPA+ 1.7xK) xlOOO ...(11) 順便一提,特別是,當處理器動作率被共通控制的情 況下,圖14所示的子處理器43-3上,無論處理器使用率 是否爲低,因爲處理器動作率都是很高,所以消費電力上 會有浪費分配的情形。 於是,爲了能更加抑制消費電力,亦可根據新的分散 處理被分配前的處理器動作率 SCPU_RATE[k]或 SYSTEM —RATE,與處理器使用率 S CPU —S T AT [k]之間的 ^ 關係,來決定分散處理的分配目標。 其次,參照圖1 5的流程圖,說明根據新的分散處理 被分配前的處理器動作率與處理器使用率之間的關係,來 決定分散處理的分配目標的分散處理分配決定處理2。 步驟S3 1中,邏輯執行緒執行控制部1 02係接受來自 應用程式執行控制部 101的REQUEST_inf〇rmation之供 給,判斷是否有新的分散處理之分配的指示。步驟S 3 1中 ,當判斷爲沒有被指示新的分散處理之分配時,則一直重 複步驟S3 1的處理直到判斷爲有新的分散處理之分配指示 -49- (47) 1289766 爲止。 此處,在複數設置子處理器43的資訊處理控制器1 1 中,假設已經正在執行某些應用程式之狀態的主處理器 42及子處理器43-1至子處理器43-3的狀態,是和用圖 1 3說明過的情形一樣。 亦即,處理器動作率SYSTEM — RATE爲0.5,k= 0所 代表之主處理器42的處理器使用率SCPU_STAT[0]係爲 • 〇.3,因此,處理器使用率3 0?11^丁人1[[0]/處理器動作率 SYSTEM_RATE[0]係爲0 · 3 / 0.5,主處理器4 2所能利用之 記憶體容量MEM —CPU[0]係爲5000 ( kbytes ),代表最大 動作時脈數的SCPU_CK[0]係爲1 000 °k=l所代表之子 處理器43-1的處理器使用率SCPU_STAT[1]係爲0.4,所 以處理器使用率 SCPU_STAT[1]/處理器動作率 SYSTEM_RATE[1]係爲0 · 4/0 · 5,子處理器4 3 -1所能利用 的記憶體容量MEM —CPU[1]係爲100 (kbytes),代表最 ® 大動作時脈數的SCPU_CK[1]係爲1 000。又,k=2所代 表之子處理器43-2的處理器使用率SCPU_STAT[2]係爲 〇·2,所以處理器使用率 SCPUJTAT[2]/處理器動作率 SYSTEM —RATE [2]係爲0.2/0 · 5,子處理器4 3 - 2所能利用 的記憶體容量MEM —CPU [2]係爲100 ( kbytes ),代表最 大動作時脈數的SCPU_CK[2]係爲1 000。再者,k=3所 代表之子處理器43-3的處理器使用率SCPU_STAT[3]係爲 0·1,所以處理器使用率 SCPU__STAT[3]/處理器動作率 SYSTEM —RATE[3]係爲0 · 1/〇 · 5,子處理器4 3 · 3所能利用 -50- (48) 1289766 的記憶體容量MEM_CPU[3]係爲100 ( kbytes ) ’代表最 大動作時脈數的SCPU_CK[3]係爲1 〇〇〇 ’假設以上記來進 行說明。又,爲了簡化說明’係假設 THREAD_OVERHEAD爲0而進行說明。 在此種狀態下,針對從透過網路2連接的其他資訊處 理裝置1,又有新的其他應用程式之執行要求的情況來加 以說明。又,邏輯執行緖執行控制部1 02或動作資訊記憶 ® 體105現在正在管理的設定値,係設定爲REQ_REAL= 1 (要求即時處理)、NUM_SCPU = 3、TIME —DEF = 1 ( 1 秒)、RATE_MARGIN= 0·1、MEM_MARGIN= 10。 然後,假設REQUEST —information中所記載的被新 要求執行之應用程式的動作條件係必須之子處理器數 REQ_NUM爲2,主處理器42所被要求的處理週期數 REQ_PC[0]係爲1〇〇,所要求之記憶體容量REQ_MEM[0] 爲100 ( kbytes),第1子處理器43所被要求的處理週期 ® 數 REQ_PC[1]係爲 400,所要求之記憶體容量 REQ_MEM[1]爲50 ( kbytes ),第2子處理器43所被要 求的處理週期數REQ_PC [2]係爲200,所要求之記憶體容 量 RE Q _ME Μ [ 2 ]爲 3 0 ( kb y t e s )。 步驟S3 1中,當判斷有被指示新的分散處理之分配時 ’則在步驟S32中,邏輯執行緒執行控制部102,係將表 示是否滿足分配條件的旗標SET_NG予以初期化,亦即, 設 SET_NG= 〇 〇 步驟S33中,邏輯執行緒執行控制部1〇2,係取得現 -51 - (49) 1289766 在的各處理器的處理器使用率SCPU_STAT[k],代入至 TEMP_STAT[k]。 步驟S 3 4中,邏輯執行緒執行控制部1 〇 2,係取得現 在的各處理器的處理器動作率SCPU_RATE[k],代入至 TEMP_RATE[k]。 步驟S3 5中,邏輯執行緒執行控制部1 02,係將表示 處理之分配已決定之處理器的旗標SEI^CPUID[t]予以初 Φ 期化,亦即,設 SET一CPUID[t]= 0。 步驟S3 6中,使用圖1 6及圖1 7的流程圖而執行後述 的處理器分配決定處理。 步驟S37中,邏輯執行緒執行控制部102係使用圖 16及圖17的流程圖而根據後述之處理器分配決定處理的 處理結果也就是SET_NG的値,來判斷新的分散處理之分 配是否成功。 步驟S3 7中,若判斷爲新的分散處理之分配是成功時 ® ,則步驟S3 8中,邏輯執行緒執行控制部1 02係將所有的 處理器的處理器動作率TEMP_RATE[k],及最新的處理器 使用率TEMP一STAT[k],力口以比較,藉此而判斷是否有需 要隨著新的分散處理之分配,而變更處理器動作率的設定 〇 步驟S3 8中,當判斷爲有需要變更處理器動作率的設 定時,亦即,無論在哪個處理器上,皆爲處理器動作率 TEMP一RATE[k] <處理器使用率TEMP —STAT[k]的時候, 則在步驟S39中,邏輯執行緒執行控制部102係會算出新 •52- (50) 1289766 的處理器動作率,並將算出結果,供給至動作率設定部 103。動作率設定部103,係對主處理器42或子處理器43 當中的對應者,進行處理器動作率的設定。 步驟S4 0中,邏輯執行緒執行控制部102,係將動作 資訊記憶體1 〇 5所記錄之分散處理之分配前,亦即,現在 的各處理器的處理器使用率SCPU_STAT[k]及處理器動作 率SCPU —RATE[k]的値,分別更新成,藉由分配計算所得 • 到的處理器使用率TEMP 一 STAT[k]及TEMP 一 RATE[k]。新 的分散處理之分配結果,和動作率的設定,係使用圖18 至圖20而說明如後。 步驟S38中,若判斷爲沒有必要變更處理器動作率之 設定時,或步驟S39的處理結束後,則在步驟S41中,邏 輯執行緒執行控制部1 02係根據已設定之分配,將程式及 資料載入至對應的處理器,控制邏輯執行緒之處理。主處 理器42及子處理器43,便會執行所被分配的執行緒之處 • 理,而結束處理。 步驟S37中,若判斷爲分散處理之分配並未成功時, 則在步驟S42中,邏輯執行緒執行控制部102係向使用者 及分散處理要求來源的資訊處理裝置1,通知分散處理之 分配爲不可進行,並結束處理。 藉由如此處理,適用了本發明的資訊處理裝置1上, 相較於使用圖1 1及圖1 2所說明過的分散處理分配決定處 理1執行的情形,可更加抑制處理器(或處理器群)的消 費電力,而適切地選擇被分散之處理的分配目標。 53- (51) 1289766 其次,參照圖16及圖17的流程圖,說明圖15的步 驟S36中所執行的處理器分配決定處理。 步驟S6 1中,邏輯執行緒執行控制部1 〇2,係從所被 供給之 REQUEST 一 information中所含有的資訊中,取得 出受到分配指示之分散處理之執行上所必需的子處理器數 j ° 步驟S62中,邏輯執行緒執行控制部102,係爲了判 # 斷分散處理之分配可否,作爲用來區別每一處理器所需的 內部暫存器値的對應値,而定義了 SCPU_NB。 步驟S63中,邏輯執行緒執行控制部102,係將 SCPU_NB[0]視爲是主處理器42。 步驟S64中,邏輯執行緒執行控制部102,係根據所 被供給的 REQUEST —information中所含的資訊,來判斷 已接受執行要求的處理中,是否已有指定PRIORITY_ID 。步驟S64中,若判斷爲沒有指定PRI〇RITY_ID時,則 Φ 處理便進入後述的步驟S67。 步驟S64中,若判斷爲已有指定PRI〇RITY_ID時, 則於步驟 S65中,邏輯執行緒執行控制部102便將 SCPU —NB[1],視爲PRIORITY_ID所指定之子處理器43。 步驟S66中,邏輯執行緒執行控制部102,係參照所 被供給之REQUEST — information中所含之資訊,在2gi ^ (資訊處理控制器1 1所含之子處理器43數)的 SCPU —NB[i]中,略過已經指定待命(suspend )的子處理 器43,將相對於現在處理器動作率 SCPU —RATE[k]或 -54- (52) 1289766 SYSTEM —RATE之處理器使用率 SCPU —STAT[k]的可用度 由高往低排序後的子處理器43的子處理器ID,賦予對應 關聯,然後處理就進入後述的步驟S68。 步驟S64中,若判斷爲PRIORITY_ID沒有被指定時 ,則於步驟S 6 7中,邏輯執行緒執行控制部1 02,係參照 所被供給之REQUEST_information中所含之資訊,在1$ (資訊處理控制器11所含之子處理器43數)的 • SCPU_NB[i]中,略過已經指定待命(suspend )的子處理 器43,將相對於現在處理器動作率 SCPU_RATE[k]或 SYSTEM —RATE之處理器使用率 S CPU — S T AT [k]的可用度 由高往低排序後的子處理器43的子處理器ID,賦予對應 關聯。 亦即,藉由步驟 S63至步驟 S67之處理,除了 SCPU —ΝΒ[0]上被賦予對應了主處理器42,SCPU —NB[1], SCPU —NB[2],SCPU_NB[3]…SCPU_NB[k]上,當已有指 ® 定PRI〇RITY_ID時、則以被指定的子處理器43爲優先、 已被指定待命之子處理器43被略過的狀態,而被賦予對 應至相對於現在處理器動作率 SCPU_RATE[k]或 SYSTEM —RATE之處理器使用率 S C P U_ S T A T [ k]的可用度 由高往低排序後的子處理器43。 亦即,在使用圖13所說明過的狀況中,當沒有 PRIORITY —ID及待命之指定時,除了 SCPU_NB[0]被賦予 對應至主處理器42,同時,SCPU_NB[1]被賦予對應至子 處理器43-3,SCPU_NB[2]被賦予對應至子處理器43-2, -55- (53) 1289766 SCPU_NB[3]被賦予對應至子處理器43-1。 步驟S66或步驟S67的處理結束後,於步驟S68中, 邏輯執行緒執行控制部1 02,係對代表要求之處理所需要 的子處理器數REQ_NUM,將一表示要進行第幾號之處理 器的分配決定處理的暫存器的値t,設爲t = 0。此處,t = 0 的處理器係代表主處理器42,tgl的處理器係代表子處 理器43當中的任一者。 # 步驟S69中,邏輯執行緒執行控制部102,係將 SCPU_NB[i]中的變數i,設爲i = 〇。 步驟S70中,邏輯執行緒執行控制部102,係參照 REQUEST-information中所含有之資訊,判斷被要求分散 至子處理器43當中任一者而進行分配的REQ_NUM ( t ) 之處理,是否能藉由SCPU_NB[i]所代表的子處理器43來 執行。 具體而言,邏輯執行緒執行控制部1 02,係除了將 _ REQ — NUM ( t )之處理所致之,SCPU—NB[i]所代表之處理 器上的處理器使用率SCPU_STAT[k]的增加量予以加算, 還會以處理器使用率 SCPU — STAT[k]+RATE —MARGIN不 會超過1,以及針對被RE(^NUM ( t )之處理所要求之 SCPU_NB[i]所代表之處理器中的記憶體容量要成立( REQ_MEM[s]+ MEM_MARGIN) < (MEM[s] —CPU-現在的 記憶體使用量)爲條件,來判斷REQ_NUM ( t)之處理, 是能否藉由SCPU_NB[i]所代表之處理器來執行。 步驟S70中,當判斷爲REQ —NUM ( t )的處理係不可 -56- (54) 1289766 能以SCPU_NB[i]所代表之處理器來執行時,則在步驟 S71中,邏輯執行緒執行控制部102便將SCPU_NB[i]中 的變數i,設爲i=i+l。 步驟S72中,邏輯執行緒執行控制部1〇2,係判斷是 否爲i >(除了待命以外,實質上能夠分配處理的子處理 器43的數目)。步驟S72中,若判斷爲並非i> (除了 待命以外,實質上能夠分配處理的子處理器43的數目) # 時,則處理便返回步驟S70,並重複其以降的處理。步驟 S 72中,若判斷爲i >(除了待命以外,實質上能夠分配 處理的子處理器43的數目)時,則處理便進入後述的步 驟 S78 〇 步驟S70中,若判斷爲REQ_NUM ( t )之處理是可藉 由SCPU_NB[i]所代表之處理器來執行時,則於步驟S73 中,邏輯執行緒執行控制部1 02係將代表處理之分配已決 定之處理器的暫存器値SET_CPUID[t],設爲SCPU_NB[i] Φ 所代表之處理器的處理器ID。 步驟S74中,邏輯執行緒執行控制部1〇2,係在 SCPU —NB[i]所代表之處理器的TEMP_RATE[k]上,加算了 新分配之處理所對應之處理器使用率,而更新之。 步驟S75中,邏輯執行緒執行控制部1〇2,係將表示 目前正在進行第幾號處理器之分配決定處理的暫存器値t ’ δ受爲 t == t + 1。 亦即’對於和用圖1 3說明過之情形相同之狀態的主 處理器42及子處理器43-1至子處理器43-3,必要之子處 -57- (55) (55)1289766 理器REQ-NUM係爲2,主處理器42所被要求之處理週 期數 REQ_PC[0]係爲100,所要求之記憶體容量 REQ_MEM[0]係爲1〇〇 ( kbytes )的新的分散處理被要求 時,i = 〇的情況中,邏輯執行緒執行控制部1 02,係如下 式(12)所示般,對主處理器42進行新的分散處理的分 配時,由於處理器使用率 SCPU_STAT[0] + RATE_MARGIN不超過 1,且如下式(13 )所示,( REQ_MEM[0]+ MEM_MARGIN) < ( ME M — C P U [ 0 ]-現在記 憶體使用量)爲成立,因此判斷爲,REQ_NUM ( 0 )之處 理,係可藉由SCPU_NB[0]所代表之主處理器42來執行 〇 TEMP一STAT[0](分配後) =(REQ —PC[0] + TIME —DEF ) + SCPU_CK[0] + TEMP_STAT[0](分配前)+ RATE一MARGIN =(100+1 ) + 1 000 + 0.3 + 0.1 =0.5 · · · ( 12 ) MEM_CPU[0]-現在記憶體使用量-MEM_MARGIN (二 4890 ) > REQ_MEM[0] ( = 1 00 ) · · · (13) 因此,邏輯執行緒執行控制部 1〇2,係在 SET_CPUID[0]中記載入主處理器42的處理器ID,並令 TEMP_STAT[0] = 0.4,將現在記憶體使用量設爲1〇〇〇 + 100=1100,同時,還將表示目前正在進丫了弟幾號處理益 之分配決定處理的暫存器値t,設爲t=1° 步驟S 76中,邏輯執行緒執行控制部1 02,係會判斷 -58 - (56) 1289766 是否t > j ( j係分散處理所必須之子處理器數)。步驟 S76中,若判斷爲並非t>j時,則處理便返回步驟s69, 並重複其以降之處理。 例如,當t = 1時,由於判斷爲並非t > j,所以和上 述情況相同地,在所被要求之新的分散處理中,必須之子 處理器數REQ_NUM爲2,第1子處理器43所被要求之 處理週期數REQ_PC[1]爲400,所要求之記憶體容量 φ REQ —MEM[1]爲50 ( kbytes )時,i = 1的情況下,邏輯執 行緒執行控制部1 〇2,係如下式(14 )所示般地藉由 SCPU_NB[1]所代表之子處理器43-3,處理器使用率 SCPU_STAT[3]+ RATE —MARGIN 係不超過 1,或如下式( 15 )所示般地、(REQ_MEM[1] + MEM — MARGIN ) < ( MEM_CPU[3]-現在記憶體使用量)是成立,因此判斷爲, REQ —NUM ( 1 )的處理,是可藉由SCPU_NB[1]所代表之 子處理器43-3來執行。 • TEMP_STAT[3](分配後) =(REQ_PC[1] + TIME — DEF ) + SCPU_CK[3] + TEMP — STAT[3](分配前)+ RATE —MARGIN = (400+ 1)+1 000+0.1+0.1 = 0.6 · . . (14) MEM_CPU[3]-現在記憶體使用量-MEM — MARGIN( = 85) > REQ_MEM[1] ( = 50 ) · · · (15) 因此,邏輯執行緒執行控制部 102,係在 SET —CPUID[1]中記載入子處理器43-3的處理器ID,並令 -59- (57) 1289766 TEMP_STAT[1] = 〇·5,將現在記憶體使用量設爲55 ( kbytes),同時,還將表示目前正在進行第幾號處理器之 分配決定處理的暫存器値t,設爲t=2。 然後,同樣地,在所被要求之新的分散處理中,第2 子處理器43所被要求之處理週期數REQ_PC[2]爲200, 所要求之記憶體容量REQ_MEM[2]爲30 ( kbytes )時,i =2的情況下,邏輯執行緒執行控制部1 02,係如下式( # 16)所示般地藉由SCPU_NB[2]所代表之子處理器43-2, 處理器使用率SCPU — STAT[2] + RATE —MARGIN係不超過 1 ,或如下式 (17 ) 所示般地、(REQ —MEM[2] + MEM —MARGIN) < ( MEM_CPU[2]-現在記憶體使用量) 是成立,因此判斷爲,RE Q_NUM (2)的處理,是可藉由 SCPU_NB[2]所代表之子處理器43-2來執行。 TEMP —STAT[2](分配後) =(REQ —PC[2] + TIME_DEF ) + SCPU_CK[2] +
• TEMP —STAT[2](分配前)+ RATE_MARGIN =(200 + 1/) - 1 000 + 0.2 + 0.1 = 0.5 ...(16) MEM-CPU[2]·現在記憶體使用量-MEM-MARGIN (= 80) > REQ_MEM[2] ( = 30 ) · · · (17) 因此,邏輯執行緒執行控制部 102,係在 SET_CPUID[2]中記載入子處理器43-2的處理器ID,並令 TEMP —STAT[2] := 0.4,將現在記憶體使用量設爲 40 ( kbytes ),同時,還將表示目前正在進行第幾號處理器之 -60- (58) 1289766 分配決定處理的暫存器値t,設爲t二3。 步驟S76中,若判斷爲t>j時,則於步驟S77中, 邏輯執行緒執行控制部102會將表示分配已成功的旗標豎 立起來,而設SET_NG = 0,處理便返回圖15的步驟S36 ,進入步驟S37。 步驟S72中,若判斷爲i > (除了待命等以外,實質 上能夠分配處理的子處理器43的數目)時,則於步驟 # S78中,邏輯執行緒執行控制部102係爲了表示分配失敗 而將旗標撤下,設SET_NG = 1,處理便返回圖15的步驟 S36,進入步驟S37。 藉由如此處理,適用了本發明的資訊處理裝置1上, 相較於使用圖1 1及圖1 2所說明過的分散處理分配決定處 理1執行的情形,可更加抑制處理器(或處理器群)的消 費電力,而適切地選擇被分散之處理的分配目標。 和使用圖1 3所說明過之情形相同之狀態的主處理器 ® 42及子處理器43_1至子處理器43-3上,當處理器動作率 SYSTEM_RATE是被共通控制時的分配結果,示於圖18。 k = 0所代表的主處理器 42的處理器使用率 SCPU^STAT[0]^ m M 〇.4,k=l 所代表的子處理器 43-1 的處理器使用率SCPU_STAT[1]係維持〇·4不變,k=2所 代表的子處理器43-2的處理器使用率SCPU_STAT[2]係變 爲0.4,k=3所代表的子處理器43-3的處理器使用率 SCPU_STAT[3]係變爲 0.5。此處,由於 RATE_MARGIN 係爲0.1,因此處理器動作率SYS TEM_R ATE係被控制成 -61 - (59) 1289766 0·6。 藉由上述處理而分配了分散處理的狀態,係爲上述圖 18中的狀態,當處理器動作率是被共通控制時的消費電 力,係藉由下式(18)求出。 Σ ΡΤ = Σ (PAx SYSTEM_RATE +KxSCPU 一 STAT[k]) x SCPU —CK[k] =(0.6x4xPA+ ( 0.4 + 0.4+ 0.4+ 0.5) xK ) xl 000 φ = ( 2.4xPA + 1 .7xK ) xl 000 · · · ( 18) 亦即,相較於使用圖1 4所說明過的分配處理後,可 減少1 200χΡΑ份的消費電力。 圖18雖然是圖示了處理器動作率SYSTEM —RATE是 被共通控制時的分配結果,但使用圖1 5至圖1 7之流程圖 所說明過的處理,係處理器動作率SCPU_RATE[k]爲個別 設定時,則能特別有效率地抑制消費電力。 例如,在已經執行某些應用程式之狀態的主處理器 # 42及子處理器43-1至子處理器43-3的處理器動作率 S CPU —RATE [k]和處理器使用率 SCPU_STAT[k]之間的關 係,係如圖1 9所示,k = 0所代表之主處理器42的處理 器使用率 SCPU_STAT[0]爲 〇·3 、處理器使用率 SCPU_STAT[0]/處理器動作率 SCPU_RATE[0]爲 0.3/0.5, k = 1所代表之子處理器 43-1的處理器使用率 SCPU —STAT[1]爲 0.4、處理器使用率 SCPU_STAT[1]/處理 器動作率SCPU_RATE[1]爲〇.4/0.9,k=2所代表之子處 理器43-2的處理器使用率SCPU —STAT[2]爲0.2、處理器 -62- (60) 1289766 使用率SCPU —STAT[2]/處理器動作率SCPU_RATE[2]爲 0.2/0.3,然後,k = 3所代表之子處理器43-3的處理器使 用率 SCPU —STAT[3]爲 0·1 、處理器使用率 SCPU —STAT[3]/處理器動作率 SCPU —RATE[3]爲 0.1/0.5 的 狀態下,和上述情況相同地,考慮REQUEST_information 中所記載之新的執行被要求之應用程式的動作條件爲:必 須之子處理器數REQ + NUM爲2,主處理器42所被要求 # 之處理週期數REQ —PC[0]爲1〇〇,第1子處理器43所被 要求之處理週期數REQ_PC[1]爲400,第2子處理器43 所被要求之處理週期數REQ_PC[2]爲200,的分散處理被 要求時的分配。 SCPU_NB[0]所代表之主處理器42所被要求之處理的 分配,雖然是相同於用式(1 2 )所說明過的情形,但被分 配給 SCPU_NB[1]的,會是相對於現在處理器動作率 SCPU —RATE[k]或 S YSTEM_RATE 的處理器使用率 ® SCPU_STAT[k]之可用度最高的子處理器43-1 ;被分配給 SCPU —NB[2]的,會是相對於現在處理器動作率 SCPU_RATE[k]或 SYSTEM_RATE 的處理器使用率 SCPU —ST AT [k]之可用度次高的子處理器43-3。亦即, SCPU_NB[1]的子處理器43-1會被分配REQ—NUM ( 1)之 處理,SCPU —NB[2]的子處理器43-3會被分配REQ_NUM (2 )之處理。 因此,分配結果爲,k二0所代表的主處理器42的處 理器使用率SCPU_STAT[0]係變爲0.4,1所代表的子 -63- (61) 1289766 處理器43-1的處理器使用率S CPU —ST AT[1]係維持0.8不 變,k=2所代表的子處理器43-2的處理器使用率 SCPU —STAT[2]係變爲〇·4,k=3所代表的子處理器43-3 的處理器使用率SCPU_STAT[3]係變爲〇·3。此處,由於 RATE_MARGIN爲0.1,因此處理器動作率S CPU —RATE [i] ,係維持以圖1 9說明過之處理的分配前的狀態不變,而 不需要變更,因此可將新的處理分配所致之消費電力量的 φ 增加予以大幅抑制。 此外,REQ —REAL被設定爲〇 (不須即時處理)的應 用程式所對應之邏輯執行緖,係亦可將應用程式執行的工 作優先度,排程成低於需要即時處理之工作,令其在有空 閒時間時才被處理。例如,將REQ —REAL被設定爲〇 (不 須即時處理)的應用程式所對應之邏輯執行緒,最初是以 和需要即時處理之邏輯執行緒的相同條件而進行分配處理 ,但亦可爲,當分配失敗時,則將處理所需的處理週期數 # 乘以1/M (令規定時間成Μ倍),來再度執行分配處理 〇 藉由此種處理,可一邊抑制消費電力量,同時實現能 提供所被要求之機能的資訊處理裝置。尤其是,在CE( Consumer electronics,消費性電子)機器中,消費電力量 的削減,是作爲商品競爭力的一大賣點,因此適用本發明 的有利點是非常大的。 上述一連串的處理,係可藉由軟體來執行。該軟體, 係爲構成該軟體的程式,從記錄媒體,安裝至組裝有專用 -64 - (62) 1289766 硬體的電腦、或藉由安裝各種程式而可執行各種機能的例 如泛用之個人電腦等。 該記錄媒體,係如圖1所示,是爲了和電腦分開來, 將程式另外提供給使用者所需而發佈的,記錄有程式的磁 碟片61 (包含軟碟)、光碟62 (包含CD-ROM (Comp act Disk-Read Only Memory) ^ DVD ( Digital Versatile Disk ))、光磁碟 63(包含 MD( Mini-Disk )(商標)), • 或著半導體記憶體64等所成的封裝媒體等所構成。 又,本說明書中,將被記錄在記錄媒體中之程式加以 描述的步驟,除了包含按照記載順序而在時間序列上進行 的處理以外,還包含了並不一定要按照時間序列進行處理 而是可平行地或個別地執行之處理。 此外,在本說明書中,所謂系統,係代表著由複數裝 置所構成之裝置全體。
【圖式簡單說明】 〔圖1〕適用了本發明之通訊系統之一實施形態的圖 示0 〔圖2〕主記憶體的說明圖。 〔圖3〕子處理器的近端儲存區之說明圖。 〔圖4〕金鑰管理表的說明圖。 〔圖5〕軟體胞之構成例的圖示。 〔圖6〕DMA指令爲狀態回送指令時的軟體胞的軟體 胞之資料領域之構造圖。 -65- (63) 1289766 〔圖7〕圖1之資訊處理控制器的主記憶體所記憶的 軟體胞之構成的圖示。 〔圖8〕資訊處理控制器可執行之機能的說明用之機 能方塊圖。 〔圖 9〕REQUEST_information (應用程式要求條件 )的說明圖。 〔圖10〕消費電力PT,與動作時脈數的關係圖。 # 〔圖11〕分散處理分配決定處理1的說明用流程圖 〇 〔圖1 2〕分散處理分配決定處理1的說明用流程圖 〇 〔圖13〕新處理之分配前的各處理器之狀態的說明 圖。 〔圖1 4〕處理分配後的各處理器之狀態的說明圖。 〔圖1 5〕分散處理分配決定處理2的說明用流程圖 •。 〔圖1 6〕處理器分配決定處理的說明用流程圖。 〔圖17〕處理器分配決定處理的說明用流程圖。 [圖1 8〕處理分配後的各處理器之狀態的說明圖。 〔圖19〕新處理之分配前的各處理器之狀態的說明 圖。 ί圖20〕處理分配後的各處理器之狀態的說明圖。 [主要元件符號說明】 -66· (64) (64)1289766 1 :資訊處理裝置 2 :網路 3 :資訊處理裝置 1 1 :資訊處理控制器 1 2 :主記憶體 1 5 :操作輸入部 1 6 ·通訊部 1 9 :電源部 42 :主處理器 43 :子處理器 5 1 :近端儲存區 1 0 1 :應用程式執行控制手段 1 02 :邏輯執行緒執行控制部 103 :動作率設定部 1 〇 4 :動作資訊取得 105 :動作資訊記憶體 -67
Claims (1)
1289766 (1) 十、申請專利範圍 1· 一種資訊處理裝置,其特徵爲, 具備: 第1處理器;和 複數之第2處理器; 前記第1處理器係 具備= # 應用程式執行控制手段,其係控制應用程式之執 行;和 動作資訊取得手段,其係取得前記第2處理器之 動作的相關資訊;和 分散處理控制手段,當前記應用程式是受到前記 應用程式執行控制手段加以執行控制之際,將前記應 用程式之執行相關的複數處理總結成一個提供機能的 處理單位,並爲了提供前記處理單位所對應之前記機 Θ 能,將處理分配給複數之前記第2處理器而令其加以 執行的分散處理加以控制;和 時脈數比設定手段,將相對於前記第2處理器所 能夠動作之最大動作時脈數的現在動作時脈數的比値 ,也就是時脈數比,加以設定; 前記動作資訊,係包含:前記最大動作時脈數、 前記現在動作時脈數、在規定時間內前記第2處理器 所被分配之處理所需之週期(cycle)數; 前記分散處理控制手段,係根據前記動作資訊,而控 -68- (2) 1289766 制前記處理單位所對應之前記分散處理。 2.如申請專利範圍第1項所記載之資訊處理裝置,其 中, 前記時脈數比設定手段,係對於所有之前記第2處理 器設定時脈數,以使前記時脈數比變成共通的値。 3 ·如申請專利範圍第1項所記載之資訊處理裝置,其 中, φ 前記時脈數比設定手段,係以複數之前記第2處理器 呈個別獨立的方式,來設定前記時脈數比。 4·如申請專利範圍第1項所記載之資訊處理裝置,其 中, 前記分散處理控制手段,係根據前記現在動作時脈數 、前記在規定時間內之前記第2處理器所被分配之處理所 需之週期數,而算出處理器的使用率,並進行控制以使得 針對相對於前記時脈數比的前記處理器使用率之比率爲低 Φ 的前記第2處理器,優先地被分配前記處理單位所對應之 前記分散處理。 5·如申請專利範圍第4項所記載之資訊處理裝置,其 中 前記時脈數比設定手段,係根據前記處理器使用率, 來更新前記時脈數比。 6 · —種資訊處理方法,係屬於具備: 第1處理器;和 複數之第2處理器; -69- (3) 1289766 之資訊處理裝置的資訊處理方法,其特徵爲,含有: 分散處理開始要求步驟,其係藉由前記第1處理器所 致之應用程式之執行控制,而將複數之前記第2處理器所 被分配的處理總結成一個提供機能的處理單位,並爲了提 供前記處理單位所對應之前記機能,而要求將處理分配給 複數之前記第2處理器而令其加以執行的分散處理之開始 ;和 # 動作資訊取得步驟,其係取得前記第2處理器之動作 相關的動作資訊,該動作資訊係包含:前記第2處理器所 能動作之最大動作時脈數、前記第2處理器之現在動作時 脈數、在規定時間內前記第2處理器所被分配之處理所需 之週期(cycle )數;和 分配控制步驟,其係根據前記第2處理器之動作相關 的動作資訊,來控制前記處理單位所對應之前記分散處理 的分配;和 ® 時脈數比設定步驟,將相對於前記第2處理器所能夠 動作之最大動作時脈數的現在動作時脈數的比値,也就是 時脈數比,加以設定。 7·—種記錄有電腦程式之電腦可讀取之媒體,該程式 係屬於將使用了 第1處理器;和 複數之第2處理器; 之分散處理加以控制之電腦所能執行的程式,其特徵 爲,該程式係用來令電腦執行包含以下步驟之處理: -70- (4) 1289766 分散處理開始要求步驟,其係藉由前記第1處理器所 致之應用程式之執行控制,而將複數之前記第2處理器所 被分配的處理總結成一個提供機能的處理單位,並爲了提 供前記處理單位所對應之前記機能,而要求將處理分配給 複數之前記第2處理器而令其加以執行的分散處理之開始 ;和 動作資訊取得步驟,其係取得前記第2處理器之動作 • 相關的動作資訊,該動作資訊係包含:前記第2處理器所 能動作之最大動作時脈數、前記第2處理器之現在動作時 脈數、在規定時間內前記第2處理器所被分配之處理所需 之週期(cycle)數;和 分配控制步驟,其係根據前記第2處理器之動作相關 的動作資訊,來控制前記處理單位所對應之前記分散處理 的分配;和 時脈數比設定步驟,將相對於前記第2處理器所能夠 # 動作之最大動作時脈數的現在動作時脈數的比値,也就是 時脈數比,加以設定。 -71 -
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004211420A JP2006031525A (ja) | 2004-07-20 | 2004-07-20 | 情報処理装置および情報処理方法、並びに、プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200606654A TW200606654A (en) | 2006-02-16 |
TWI289766B true TWI289766B (en) | 2007-11-11 |
Family
ID=35262068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW094124585A TWI289766B (en) | 2004-07-20 | 2005-07-20 | Information processor, information processing method and program |
Country Status (6)
Country | Link |
---|---|
US (1) | US20060031695A1 (zh) |
EP (1) | EP1630672A3 (zh) |
JP (1) | JP2006031525A (zh) |
KR (1) | KR20060053929A (zh) |
CN (1) | CN100527119C (zh) |
TW (1) | TWI289766B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7694107B2 (en) * | 2005-08-18 | 2010-04-06 | Hewlett-Packard Development Company, L.P. | Dynamic performance ratio proportionate distribution of threads with evenly divided workload by homogeneous algorithm to heterogeneous computing units |
WO2008117369A1 (ja) * | 2007-03-23 | 2008-10-02 | Fujitsu Limited | 電子機器および負荷分散プログラム |
US8789052B2 (en) * | 2007-03-28 | 2014-07-22 | BlackBery Limited | System and method for controlling processor usage according to user input |
US20080320088A1 (en) * | 2007-06-19 | 2008-12-25 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Helping valuable message content pass apparent message filtering |
US8635316B2 (en) * | 2007-10-12 | 2014-01-21 | Pie Digital, Inc. | System and method for automatic configuration and management of home network devices |
WO2009057208A1 (ja) * | 2007-10-31 | 2009-05-07 | Fujitsu Limited | 資源割当プログラム、管理ノード、資源割当方法、および並列計算機システム |
US20090193230A1 (en) * | 2008-01-30 | 2009-07-30 | Ralf Findeisen | Computer system including a main processor and a bound security coprocessor |
JP5268434B2 (ja) * | 2008-06-03 | 2013-08-21 | キヤノン株式会社 | ジョブ処理方法及び画像処理システム並びに画像処理装置 |
JP5264297B2 (ja) * | 2008-06-03 | 2013-08-14 | キヤノン株式会社 | ジョブ処理方法及び画像処理システム並びに画像処理装置 |
US8137074B2 (en) * | 2008-08-21 | 2012-03-20 | General Electric Company | Wind turbine lightning protection system |
JP5880962B2 (ja) * | 2012-06-12 | 2016-03-09 | ソニー株式会社 | 電子装置、計算方法、プログラム、および情報処理装置 |
JP6772007B2 (ja) * | 2016-09-12 | 2020-10-21 | キヤノン株式会社 | 情報処理装置及びその制御方法、コンピュータプログラム |
CN117891603A (zh) * | 2018-12-19 | 2024-04-16 | 祖克斯有限公司 | 使用延迟确定和cpu使用率确定的安全***操作 |
US11281214B2 (en) | 2018-12-19 | 2022-03-22 | Zoox, Inc. | Safe system operation using CPU usage information |
CN109739797B (zh) * | 2018-12-28 | 2021-07-16 | 联想(北京)有限公司 | 一种电子设备 |
CN111324197B (zh) * | 2020-02-07 | 2023-03-07 | 华侨大学 | 一种基于三速度周期任务的降低***能耗的方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1159021A (zh) * | 1996-03-06 | 1997-09-10 | 三菱电机株式会社 | ***时钟确定装置 |
US6141762A (en) * | 1998-08-03 | 2000-10-31 | Nicol; Christopher J. | Power reduction in a multiprocessor digital signal processor based on processor load |
JP2002215599A (ja) * | 2001-01-18 | 2002-08-02 | Mitsubishi Electric Corp | マルチプロセッサシステムおよびその制御方法 |
US7233998B2 (en) | 2001-03-22 | 2007-06-19 | Sony Computer Entertainment Inc. | Computer architecture and software cells for broadband networks |
US6526491B2 (en) | 2001-03-22 | 2003-02-25 | Sony Corporation Entertainment Inc. | Memory protection system and method for computer architecture for broadband networks |
US7093104B2 (en) | 2001-03-22 | 2006-08-15 | Sony Computer Entertainment Inc. | Processing modules for computer architecture for broadband networks |
US6809734B2 (en) | 2001-03-22 | 2004-10-26 | Sony Computer Entertainment Inc. | Resource dedication system and method for a computer architecture for broadband networks |
US6826662B2 (en) | 2001-03-22 | 2004-11-30 | Sony Computer Entertainment Inc. | System and method for data synchronization for a computer architecture for broadband networks |
-
2004
- 2004-07-20 JP JP2004211420A patent/JP2006031525A/ja not_active Abandoned
-
2005
- 2005-07-18 EP EP05254459A patent/EP1630672A3/en not_active Withdrawn
- 2005-07-19 US US11/183,925 patent/US20060031695A1/en not_active Abandoned
- 2005-07-20 TW TW094124585A patent/TWI289766B/zh not_active IP Right Cessation
- 2005-07-20 CN CNB2005101038172A patent/CN100527119C/zh not_active Expired - Fee Related
- 2005-07-20 KR KR1020050065693A patent/KR20060053929A/ko not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
EP1630672A3 (en) | 2006-05-03 |
TW200606654A (en) | 2006-02-16 |
JP2006031525A (ja) | 2006-02-02 |
CN1734438A (zh) | 2006-02-15 |
US20060031695A1 (en) | 2006-02-09 |
CN100527119C (zh) | 2009-08-12 |
EP1630672A2 (en) | 2006-03-01 |
KR20060053929A (ko) | 2006-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI289766B (en) | Information processor, information processing method and program | |
TWI234369B (en) | System and method for the allocation of grid computing workload to network workstations | |
RU2530345C2 (ru) | Экземпляры планировщика в процессе | |
US7406688B2 (en) | Parallel process execution method and multiprocessor computer | |
Hoare | Monitors: An operating system structuring concept | |
TWI353525B (en) | Apparatus, system, and method for autonomic contro | |
TWI260543B (en) | Performance scheduling method and system, and computer readable medium | |
US6438553B1 (en) | Distributed job integrated management system and method | |
US7073177B2 (en) | Resource managing system for changing resource consumption state of the lower priority resource entity to more restrictive state when resource reached critical level | |
US20130086588A1 (en) | System and Method of Using Transaction IDS for Managing Reservations of Compute Resources Within a Compute Environment | |
US20030056091A1 (en) | Method of scheduling in a reconfigurable hardware architecture with multiple hardware configurations | |
JP5969610B2 (ja) | ポータブルコンピューティングデバイスにおける分散リソース管理 | |
US20090083746A1 (en) | Method for job management of computer system | |
JP2003256221A (ja) | 並列プロセス実行方法、及びマルチプロセッサ型コンピュータ | |
US8499143B2 (en) | Method for shortening the boot time of a computer system | |
US8745629B2 (en) | System and method of controlling power in an electronic device | |
CN115658277B (zh) | 一种任务调度方法、装置及电子设备和存储介质 | |
US9021489B2 (en) | Start, suspend and resume an application program where the application program utilizes the same handle to identify a resource upon resumption | |
JP4926364B2 (ja) | ダイナミックマルチストリーミングプロセッサでメモリ操作の原子性を実現するための方法と装置 | |
JPH08221372A (ja) | 分散処理システムにおける空き資源管理装置 | |
KR101085763B1 (ko) | 멀티-프로세서 시스템에서의 메모리 할당 | |
TW200813819A (en) | Computer micro-jobs | |
JP2008225641A (ja) | コンピュータシステム、割り込み制御方法及びプログラム | |
JP3884239B2 (ja) | サーバ計算機 | |
EP4287024A1 (en) | Multi-core processor, multi-core processor processing method, and related device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |