專利名稱:集成電路、計(jì)算機(jī)系統(tǒng)、控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及具有處理器的集成電路、計(jì)算機(jī)系統(tǒng)及控制方法,尤其涉及降低處理器執(zhí)行忙碌等待(busy wait)時(shí)的電力消耗的集成電路、計(jì)算機(jī)系統(tǒng)及控制方法。
背景技術(shù):
在具有處理器的計(jì)算機(jī)系統(tǒng)中,當(dāng)?shù)却齺碜杂脩舻妮斎氲那闆r下、或者在并行工作的多個(gè)處理器(或者多個(gè)邏輯處理器、進(jìn)程(process)、線程等)之間取得同步的情況下,往往采用忙碌等待。在執(zhí)行忙碌等待的情況下,例如在處理器中執(zhí)行反復(fù)檢查特定的變量(例如同步用變量)的值的循環(huán)處理。并且,在特定的變量的值變?yōu)樵O(shè)定值時(shí)循環(huán)處理結(jié)束,執(zhí)行原來的處理。這樣,通過采用忙碌等待,能夠在并行工作的多個(gè)處理器等之間進(jìn)行當(dāng)一個(gè)處理器的處理完成后開始另一個(gè)處理器的處理的同步處理,因而在計(jì)算機(jī)系統(tǒng)領(lǐng)域中被廣泛采用。但是,忙碌等待具有浪費(fèi)處理器的資源的缺點(diǎn)。在忙碌等待中,例如,為了監(jiān)視同步用變量而反復(fù)進(jìn)行的循環(huán)的次數(shù)根據(jù)情況從幾百次到超過幾萬次。因此,從電力消耗的角度考慮,忙碌等待是浪費(fèi)較大的控制方法。為此,專利文獻(xiàn)1公開了用于削減忙碌等待的一種即自旋等待(spin wait)時(shí)的電力消耗浪費(fèi)的方法。在此,參照?qǐng)D33對(duì)自旋等待進(jìn)行說明。自旋等待例如被應(yīng)用于多處理器之間的同步處理,在圖33中,假設(shè)兩個(gè)處理器按順序地執(zhí)行被分為前級(jí)和后級(jí)的處理的情況。并且,自旋鎖(互鎖的一種)由第一處理器側(cè)的設(shè)定部1101、第二處理器側(cè)的驗(yàn)證部1102和同步處理用的變量1110構(gòu)成。第一處理器的設(shè)定部1101在向同步用變量1110寫入“0”后,進(jìn)行前級(jí)處理Sllll0若前級(jí)處理Sllll結(jié)束,第一處理器向同步用變量1110寫入“1”。另一方面,第二處理器的驗(yàn)證部1102在同步用變量1110的值成為“1”之前無法開始后級(jí)處理S1122。因此,在同步用變量1110成為“1”之前,反復(fù)進(jìn)行步驟S1121的判定并等待(即反復(fù)進(jìn)行循環(huán)并等待),處于自旋等待狀態(tài)而浪費(fèi)電力。公開了這樣的方法,即在專利文獻(xiàn)1的計(jì)算機(jī)檢測(cè)到處理器執(zhí)行了在自旋等待中使用的命令序列時(shí),將處理器設(shè)為節(jié)電狀態(tài)。在此,參照?qǐng)D34對(duì)自旋等待命令的檢測(cè)方法進(jìn)行說明。圖34是表示上述專利文獻(xiàn)1記載的自旋等待檢測(cè)部的結(jié)構(gòu)的圖。自旋等待檢測(cè)部1222具有處理器的已執(zhí)行命令序列緩沖器1234、自旋等待命令序列存儲(chǔ)部1236、和將兩者所包含的命令序列進(jìn)行比較的比較部1238。在自旋等待命令序列存儲(chǔ)部1236中,存儲(chǔ)有自旋等待特有的互鎖(interlock)命令序列(作為示例,有test_and_set、compare_and_swap)。并且,在由比較部1238檢測(cè)到在已執(zhí)行命令序列緩沖器1234中包含被存儲(chǔ)于自旋等待命令序列存儲(chǔ)部1236中的互鎖命令序列時(shí),輸出自旋等待命令檢測(cè)信號(hào)1241。以該自旋等待命令檢測(cè)信號(hào)1241為觸發(fā),處理器被設(shè)為節(jié)電狀態(tài)。
現(xiàn)有技術(shù)文獻(xiàn)專利文獻(xiàn)專利文獻(xiàn)1 日本專利第4253796號(hào)公報(bào)發(fā)明概要發(fā)明要解決的問題但是,在所述的現(xiàn)有結(jié)構(gòu)中,根據(jù)在自旋等待命令序列存儲(chǔ)部1236中存儲(chǔ)的特定的命令序列(teSt_and_Set等)已被執(zhí)行這一情況來檢測(cè)忙碌等待,因而無法檢測(cè)采用與上述特定的命令序列不同的命令序列的忙碌等待。另外,在想要利用上述現(xiàn)有結(jié)構(gòu)來檢測(cè)采用多種命令序列的忙碌等待時(shí),在自旋等待命令序列存儲(chǔ)部1236中存儲(chǔ)多種命令序列,并將多種命令序列分別與已執(zhí)行命令序列進(jìn)行比較,這種處理自然會(huì)產(chǎn)生界限。即,由于能夠檢測(cè)的忙碌等待有限,因而存在電力消耗的可削減的狀況有限的問題。
發(fā)明內(nèi)容
本發(fā)明正是為了解決所述現(xiàn)有技術(shù)中的問題而提出的,其目的在于,提供一種集成電路、計(jì)算機(jī)系統(tǒng)及控制方法,能夠檢測(cè)更多種的忙碌等待的執(zhí)行,并降低由于在處理器中執(zhí)行忙碌等待而浪費(fèi)的電力。用于解決問題的手段為了解決上述問題,本發(fā)明的集成電路具備處理器,并具備循環(huán)檢測(cè)部,檢測(cè)上述處理器中循環(huán)處理的執(zhí)行,該循環(huán)處理反復(fù)執(zhí)行由一個(gè)以上的命令構(gòu)成的循環(huán);循環(huán)傳遞相關(guān)解析部,在上述循環(huán)處理中檢測(cè)命令之間的相關(guān)跨執(zhí)行次不同的兩個(gè)循環(huán)的循環(huán)傳遞相關(guān);以及電力控制部,當(dāng)上述循環(huán)傳遞相關(guān)解析部沒有在上述循環(huán)檢測(cè)部檢測(cè)到的循環(huán)處理中檢測(cè)到循環(huán)傳遞相關(guān)的情況下,進(jìn)行節(jié)電控制,該節(jié)電控制使由于執(zhí)行上述循環(huán)處理而產(chǎn)生的電力消耗降低。發(fā)明效果本發(fā)明的集成電路,能夠由循環(huán)檢測(cè)部檢測(cè)循環(huán)處理,由循環(huán)傳遞相關(guān)解析部判別循環(huán)處理是否是忙碌等待用的循環(huán)處理。因此,不用與特定的命令序列(例如,互鎖用的命令序列)進(jìn)行比較,即可檢測(cè)忙碌等待用的循環(huán)。因此,能夠容易地檢測(cè)由特定的命令序列之外的命令序列構(gòu)成的忙碌等待用的循環(huán),并能夠在忙碌等待時(shí)進(jìn)行節(jié)電控制。結(jié)果,能夠檢測(cè)更多種的忙碌等待的執(zhí)行,并降低由于忙碌等待的執(zhí)行而浪費(fèi)的電力。
圖1是示意地表示具有實(shí)施方式1的集成電路的計(jì)算機(jī)系統(tǒng)1300的結(jié)構(gòu)的圖。圖2是簡(jiǎn)化并示意地表示具有實(shí)施方式1的集成電路的計(jì)算機(jī)系統(tǒng)1300的結(jié)構(gòu)的圖。圖3是對(duì)實(shí)施方式1的集成電路所包含的處理器1301的命令集1400進(jìn)行示例的圖。圖4是對(duì)實(shí)施方式1的處理器1301的寄存器集1500進(jìn)行示例的圖。圖5是對(duì)實(shí)施方式1的命令序列1600進(jìn)行示例的圖。圖6是表示實(shí)施方式1的循環(huán)檢測(cè)部1701的處理的流程圖。
圖7是表示實(shí)施方式1的循環(huán)范圍存儲(chǔ)部1900的數(shù)據(jù)構(gòu)造的圖。圖8是表示實(shí)施方式1的構(gòu)成循環(huán)的命令序列2100的一例的圖。圖9是表示實(shí)施方式1的循環(huán)傳遞相關(guān)解析部1701的處理的流程圖。圖10是表示在實(shí)施方式1中循環(huán)傳遞相關(guān)解析部1701采用的相關(guān)關(guān)系解析用緩沖器2200的數(shù)據(jù)的圖。圖11是表示實(shí)施方式1的構(gòu)成循環(huán)的命令序列的一例的圖。圖12是表示在實(shí)施方式1中循環(huán)傳遞相關(guān)解析部1701采用的相關(guān)關(guān)系解析用緩沖器2700的數(shù)據(jù)的圖。圖13是表示實(shí)施方式1的第一電力控制部1703的處理的流程圖。圖14是表示實(shí)施方式1的循環(huán)脫離檢測(cè)部1704的處理的流程圖。圖15是表示實(shí)施方式1的第二電力控制部1705的處理的流程圖。圖16是表示實(shí)施方式1的構(gòu)成循環(huán)傳遞相關(guān)解析部1701的一部分的電子電路的圖。圖17是表示實(shí)施方式1的構(gòu)成循環(huán)傳遞相關(guān)解析部1701的一部分的電子電路的圖。圖18是表示實(shí)施方式1的構(gòu)成循環(huán)傳遞相關(guān)解析部1701的一部分的電子電路的圖。圖19是示意地表示變形例的計(jì)算機(jī)系統(tǒng)觀00的結(jié)構(gòu)的圖。圖20是示意地表示實(shí)施方式2的應(yīng)對(duì)多線程的計(jì)算機(jī)系統(tǒng)四00的結(jié)構(gòu)的圖。圖21是示意地表示實(shí)施方式2的寄存器組四10的結(jié)構(gòu)的圖。圖22是表示實(shí)施方式2的第一電力控制部3013的處理的流程圖。圖23是表示實(shí)施方式2的第二電力控制部3015的處理的流程圖。圖M是表示實(shí)施方式2的第一電力控制部3013的處理的流程圖。圖25是表示實(shí)施方式2的第二電力控制部3015的處理的流程圖。圖沈是示意地表示實(shí)施方式3的計(jì)算機(jī)系統(tǒng)4000的結(jié)構(gòu)的圖。圖27是表示實(shí)施方式3的程序計(jì)數(shù)器監(jiān)視部4100的節(jié)電控制的有關(guān)動(dòng)作的流程圖。圖28是表示實(shí)施方式3的總線監(jiān)視部4100的動(dòng)作的流程圖。圖四是表示實(shí)施方式3的程序計(jì)數(shù)器監(jiān)視部4100的節(jié)電控制結(jié)束的有關(guān)動(dòng)作的流程圖。圖30是示意地表示實(shí)施方式4的計(jì)算機(jī)系統(tǒng)4500的結(jié)構(gòu)的圖。圖31是對(duì)其它命令集1400A進(jìn)行示例的圖。圖32是對(duì)其它命令集1400B進(jìn)行示例的圖。圖33是示意地說明作為本發(fā)明的背景技術(shù)的忙碌等待的一例的圖。圖34是示意地表示專利文獻(xiàn)1的自旋等待檢測(cè)部的結(jié)構(gòu)的圖。
具體實(shí)施例方式下面,參照
本發(fā)明的實(shí)施方式。[實(shí)施方式1]
<計(jì)算機(jī)系統(tǒng)1300的結(jié)構(gòu)>參照?qǐng)D1對(duì)具有本發(fā)明的實(shí)施方式1的集成電路的計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)進(jìn)行說明。圖1是示意地表示計(jì)算機(jī)系統(tǒng)1300的結(jié)構(gòu)的框圖。計(jì)算機(jī)系統(tǒng)1300具有處理器1301、主存1302 (RAM,ROM等)、I/O器件1303 (輸入輸出裝置)、電力供給器件1304和總線1305。另外,處理器1301形成于集成電路內(nèi)部。處理器1301、主存1302、1/0器件1303、電力供給器件1304通過總線1305相互連接。電力供給器件1304向處理器1301供給電力1306和時(shí)鐘1307。電力供給器件1304具有調(diào)節(jié)器,能夠變更向處理器1301供給的電力1306的電壓。并且,電力供給器件1304具有時(shí)鐘發(fā)生電路和分頻電路,能夠變更向處理器1301供給的時(shí)鐘1307的頻率。處理器1301具有寄存器組1310、包含于寄存器組1310中的程序計(jì)數(shù)器1311、命令取指/解碼單元1320、發(fā)行單元1330、命令序列保存部1340、執(zhí)行單元1350、退出(retirement)單元1360、命令高速緩沖器1370、數(shù)據(jù)高速緩沖器1380。另外,處理器1301具有節(jié)電控制裝置(圖1中的標(biāo)號(hào)1701 1705及1900),在執(zhí)行忙碌等待的循環(huán)處理的情況下,利用該節(jié)電控制裝置進(jìn)行節(jié)電控制。關(guān)于該節(jié)電控制裝置,將在后面進(jìn)行說明。<計(jì)算機(jī)系統(tǒng)1300的基本動(dòng)作>圖2省略了節(jié)電控制裝置的圖示,簡(jiǎn)化示出了計(jì)算機(jī)系統(tǒng)1300。根據(jù)該圖來說明計(jì)算機(jī)系統(tǒng)1300的基本動(dòng)作。首先,命令取指/解碼單元1320根據(jù)程序計(jì)數(shù)器1311的值,從命令高速緩沖器1370讀出處理器1301有可能執(zhí)行的命令序列。即,進(jìn)行所謂的命令的預(yù)取指(prefetch)。然后,命令取指/解碼單元1320將所讀出的命令序列進(jìn)行解碼,并暫時(shí)存儲(chǔ)在命令序列保存部1340中。在命令序列保存部1340中保存有規(guī)定數(shù)量的命令,最舊的命令被新的命令覆蓋。即,命令序列保存部1340利用環(huán)緩沖器(ring buffer)構(gòu)成。因此,在命令序列保存部1340中保留有由下述的發(fā)行單元1330發(fā)行的已發(fā)行命令。發(fā)行單元1330從向命令序列保存部1340存儲(chǔ)的命令序列中,將已完成執(zhí)行準(zhǔn)備的命令序列發(fā)送給執(zhí)行單元1350。即發(fā)行命令。并且,發(fā)行單元1330例如在發(fā)行運(yùn)算用的命令的情況下,從寄存器組1310取出所指定的操作對(duì)象(operand)(源寄存器(sourceregister))的值,并與命令一起發(fā)送給執(zhí)行單元1350。在執(zhí)行單元1350中執(zhí)行各種處理。各種處理包括在寄存器組1310中存儲(chǔ)的值的四則運(yùn)算或位運(yùn)算那樣的運(yùn)算處理、浮點(diǎn)(floating point)處理、經(jīng)由數(shù)據(jù)高速緩沖器1380和總線1305的存取(load/store)處理、分支等。由執(zhí)行單元1350進(jìn)行的處理的執(zhí)行結(jié)果被發(fā)送到退出單元1360。另外,在本實(shí)施方式中,處理器1301設(shè)有多個(gè)執(zhí)行單元1350,由多個(gè)執(zhí)行單元1350并行執(zhí)行命令序列。在這種情況下,發(fā)行單元1330對(duì)多個(gè)執(zhí)行單元1350中空閑的執(zhí)行單元1350依次送入命令序列。退出單元1360在確認(rèn)到向寄存器組1310的寫入準(zhǔn)備已完成后,將執(zhí)行單元1350的執(zhí)行結(jié)果寫入寄存器組1310。通常,由退出單元1360按照命令的地址順序向寄存器組1310寫入執(zhí)行結(jié)果。命令高速緩沖器1370和數(shù)據(jù)高速緩沖器1380暫時(shí)保存從主存1302讀取的信息或向主存1302寫入的預(yù)先確定的信息。<命令集>參照?qǐng)D3對(duì)處理器1301的命令集進(jìn)行說明。圖3是對(duì)命令集所包含的匯編碼的命令1401、各個(gè)命令1401的概要1402以及運(yùn)算內(nèi)容1403進(jìn)行示例的圖。命令集1400包含進(jìn)行加法的ADD命令1411、進(jìn)行減法的SUB命令1412、進(jìn)行比較的CMP命令1413、進(jìn)行移動(dòng)的MOV命令1414、進(jìn)行條件分支的BNE命令1415、進(jìn)行跳躍的JMP命令1416、從與總線1305連接的主存1302、I/O器件1303及電力供給器件1304讀取信息的LDR命令1417、從與總線1305連接的主存1302、I/O器件1303及電力供給器件1304進(jìn)行信息的寫入的STR命令1418、不進(jìn)行運(yùn)算而進(jìn)行程序計(jì)數(shù)器的增加的NOP命令1409。在此,在運(yùn)算內(nèi)容1403中,符號(hào)“< =”表示代入。將代入符號(hào)的左側(cè)的寄存器、即代入目的地的寄存器稱為目的地寄存器或DST寄存器。并且,將代入符號(hào)的右側(cè)的寄存器、即代入源的寄存器稱為源寄存器或SRC寄存器。DST寄存器和SRC寄存器是“變量”的具體例。<寄存器集>參照?qǐng)D4對(duì)本實(shí)施方式的處理器的寄存器集、即寄存器組1310的結(jié)構(gòu)進(jìn)行說明。寄存器集1500包括在運(yùn)算時(shí)通用的通用寄存器1511、表示由處理器執(zhí)行的命令的地址的程序計(jì)數(shù)器(PC) 1512、在條件分支等的判定用途中使用的條件標(biāo)志寄存器(CFR)1513。另外,所述命令集1400及所述寄存器集1500是對(duì)說明所必要的部分進(jìn)行部分提取而示例的。在實(shí)施本發(fā)明時(shí),命令集和寄存器集也可以采用其它形式。例如,本發(fā)明可以通過本領(lǐng)域技術(shù)人員廣泛采用的ARM、MIPS、X86、mnl0300命令集等實(shí)施。<命令序列保存部>參照?qǐng)D5對(duì)在命令序列保存部1340中保存的命令序列1600的數(shù)據(jù)構(gòu)造的一例進(jìn)行說明。存儲(chǔ)有命令的地址1601與命令1602被對(duì)應(yīng)地存儲(chǔ)在命令序列保存部1340中?!垂?jié)電控制裝置〉下面,參照?qǐng)D1對(duì)節(jié)電控制裝置的結(jié)構(gòu)進(jìn)行說明。節(jié)電控制裝置具有循環(huán)檢測(cè)部1701、循環(huán)傳遞相關(guān)(loop-carriedd印endence)解析部1702、第一電力控制部1703、循環(huán)脫離檢測(cè)部1704、第二電力控制部1705。并且,節(jié)電控制裝置包括被設(shè)于寄存器組1310的循環(huán)范圍存儲(chǔ)部1900。節(jié)電控制裝置大致劃分為兩個(gè)構(gòu)成要素。第一構(gòu)成要素進(jìn)行這樣的處理,即檢測(cè)忙碌等待的執(zhí)行狀態(tài),并進(jìn)行節(jié)電控制,將計(jì)算機(jī)系統(tǒng)1300設(shè)為節(jié)電狀態(tài)。第二構(gòu)成要素進(jìn)行這樣的處理,即檢測(cè)忙碌等待的結(jié)束,結(jié)束節(jié)電控制,由此將計(jì)算機(jī)系統(tǒng)1300恢復(fù)為進(jìn)行節(jié)電控制以前的狀態(tài)。下面,按照第一構(gòu)成要素、第二構(gòu)成要素的順序進(jìn)行說明。(1)第一構(gòu)成要素首先,第一構(gòu)成要素由循環(huán)檢測(cè)部1701、循環(huán)傳遞相關(guān)解析部1702和第一電力控制部1703構(gòu)成。并且,由循環(huán)檢測(cè)部1701檢測(cè)循環(huán)處理的執(zhí)行,由循環(huán)傳遞相關(guān)解析部1702判定是忙碌等待用的循環(huán)處理還是運(yùn)算用的循環(huán)處理等。并且,在是忙碌等待用的循環(huán)處理的情況下,由第一電力控制部1703進(jìn)行節(jié)電控制。下面,參照附圖對(duì)第一構(gòu)成要素的動(dòng)作進(jìn)行說明。(1-1)循環(huán)檢測(cè)部參照?qǐng)D6的流程圖對(duì)循環(huán)檢測(cè)部1701的動(dòng)作進(jìn)行說明。循環(huán)檢測(cè)部1701在步驟S1801中對(duì)分支命令的成立進(jìn)行判定。在步驟S1801的判定結(jié)果為“是”(分支成立)的情況下,進(jìn)入步驟S1803。在步驟S1801的判定結(jié)果為“否”(分支不成立)的情況下,再次進(jìn)行步驟S1801的判定。例如,根據(jù)從執(zhí)行單元1350發(fā)送給退出單元1360的跳躍命令(JMP命令1416)或條件分支命令(BNE命令1415)的執(zhí)行結(jié)果以及條件標(biāo)志寄存器(CFR) 1513的值進(jìn)行判定。具體而言,根據(jù)上述執(zhí)行結(jié)果是將程序計(jì)數(shù)器1311的值改寫為預(yù)先確定的地址這樣的執(zhí)行內(nèi)容這一情況,循環(huán)檢測(cè)部1701判定為分支命令成立。下面進(jìn)行詳細(xì)說明。循環(huán)檢測(cè)部1701具有保存各種分支命令(JMP命令、BNE命令等)的分支命令存儲(chǔ)部、和將在退出單元1360中存儲(chǔ)的已執(zhí)行命令與上述各種分支命令進(jìn)行比較的命令比較部。并且,當(dāng)向退出單元1360存儲(chǔ)已執(zhí)行的分支命令時(shí),由命令比較部檢測(cè)到分支命令。另外,在分支命令是條件分支命令的情況下,循環(huán)檢測(cè)部1701參照寄存器組1310的CFR1513的值,例如在CFR1513的值不是“0 “的情況下判定為分支成立,在是“0 “的情況下判定為分支不成立。該CFR1513的值是例如由退出單元1360寫入了先于條件分支命令的比較命令(CMP)的執(zhí)行結(jié)果的值。然后,在步驟S1803,循環(huán)檢測(cè)部1701判定分支目的地的地址是否是先于分支命令的地址。在步驟S1803的判定結(jié)果為“是”的情況下(分支目的地的地址是先于分支命令的地址的情況),進(jìn)入步驟S1805。在步驟S1803的判定結(jié)果為“否”的情況下(分支目的地的地址不是先于分支命令的地址的情況),返回步驟S1801。另外,在從執(zhí)行單元1350發(fā)送給退出單元1360的執(zhí)行結(jié)果中,包含分支命令的地址及分支目的地的地址的信息,將這兩個(gè)地址進(jìn)行比較,由此進(jìn)行上述判定。并且,在分支目的地的地址是先于分支命令的地址(值比分支命令的地址小的地址)的情況下,判定為是循環(huán)執(zhí)行狀態(tài)。在此,在分支目的地的地址與分支命令的地址之差為設(shè)定值以上的情況下,即命令數(shù)較多的循環(huán)處理是忙碌等待用的循環(huán)的可能性非常小,因此不需要進(jìn)行相關(guān)關(guān)系的解析,可以將其去除。另外,上述設(shè)定值例如能夠設(shè)為10。然后,在步驟S1804,循環(huán)檢測(cè)部1701提取循環(huán)的開頭地址1911和末尾地址1912。首先,循環(huán)檢測(cè)部1701提取分支成立的分支命令的分支目的地的地址,作為循環(huán)的開頭地址1911。然后,循環(huán)檢測(cè)部1701提取存儲(chǔ)有分支成立的分支命令的地址,作為循環(huán)的末尾地址1912。另外,關(guān)于循環(huán)檢測(cè)部1701提取循環(huán)的開頭地址1911和末尾地址1912的具體例,以圖5記載的命令序列1600為例進(jìn)行說明。循環(huán)的開頭地址1911由于是“分支命令的分支目的地的地址”,因而是分支命令“BNE1004”中的1004、S卩1004地址。然后,循環(huán)的末尾地址1912由于是“存儲(chǔ)有分支命令的地址”,因而是存儲(chǔ)有分支命令“BNE1004”的1010地址。然后,在步驟S1805,循環(huán)檢測(cè)部1701向循環(huán)范圍存儲(chǔ)部1900輸出在步驟S1804中提取出的循環(huán)的開頭地址1911和循環(huán)的末尾地址1912。參照?qǐng)D7對(duì)循環(huán)范圍存儲(chǔ)部1900的數(shù)據(jù)構(gòu)造的例子進(jìn)行說明。循環(huán)范圍存儲(chǔ)部1900由存儲(chǔ)開頭地址1911和末尾地址1912的寄存器(存儲(chǔ)器的一種)構(gòu)成。接著,在步驟S1807,循環(huán)檢測(cè)部1701向循環(huán)傳遞相關(guān)解析部1702輸出相關(guān)關(guān)系解析的執(zhí)行指示1711。另外,執(zhí)行指示1711例如通過使將循環(huán)檢測(cè)部1701和循環(huán)傳遞相關(guān)解析部1702連接的信號(hào)線的電壓為高電平來進(jìn)行。另外,循環(huán)檢測(cè)部1701如果能夠檢測(cè)到處理器在執(zhí)行循環(huán),則也可以采用除了此處示出的處理之外的處理。例如,也可以根據(jù)在程序計(jì)數(shù)器1311中保存的地址的更新,在該地址減小的情況下判定為是循環(huán)執(zhí)行狀態(tài)。(1-2)循環(huán)傳遞相關(guān)解析部1702在此,關(guān)于由循環(huán)傳遞相關(guān)解析部1702對(duì)是用于忙碌等待的循環(huán)、還是非忙碌等待的循環(huán)(例如運(yùn)算用的循環(huán))的判別,列舉具體的命令序列進(jìn)行說明。(1-2-1)忙碌等待用的循環(huán)的解析例首先,關(guān)于成為循環(huán)傳遞相關(guān)解析部1702的解析對(duì)象的忙碌等待用循環(huán)的命令序列的例子,列舉圖8的命令序列。在圖8的命令序列2100中,通過1008地址的LDR命令,從R2寄存器所指的地址向RO寄存器讀入值。然后,通過IOOc地址的CMP命令,將RO寄存器的值和預(yù)先存儲(chǔ)了值的Rl寄存器的值進(jìn)行比較。在值一致的情況下,通過1010地址的BNE命令脫離循環(huán)。艮口,分支不成立,循環(huán)處理結(jié)束。另一方面,在值不一致的情況下,通過1010地址的BNE命令向1004地址分支。即分支成立。圖8所示的命令序列2100是進(jìn)行從固定的地址(R2寄存器所指的地址)反復(fù)讀出值并比較的處理的命令序列。在R2寄存器所指的地址中存儲(chǔ)的值相當(dāng)于忙碌等待的同
步用變量。上述命令序列2100用于鍵(key)的輸入等待等,例如,在鍵被按下的情況下(同步用變量被改寫的情況)執(zhí)行后續(xù)的處理。但是,在鍵未被按下的情況下(同步用變量未被改寫的情況),反復(fù)進(jìn)行用于確認(rèn)同步用變量(R2寄存器所指的地址)的值的處理,造成電力浪費(fèi)。因此,優(yōu)選為,抑制這樣的循環(huán)處理(命令序列2100)的執(zhí)行所產(chǎn)生的電力消耗。下面,關(guān)于循環(huán)傳遞相關(guān)解析部1702的解析動(dòng)作,參照?qǐng)D9的流程圖以及圖8的命令序列2100進(jìn)行說明。在步驟S2001,循環(huán)傳遞相關(guān)解析部1702在從循環(huán)檢測(cè)部1701接收到執(zhí)行指示1711的定時(shí)開始解析處理。在步驟S2003,循環(huán)傳遞相關(guān)解析部1702從循環(huán)范圍存儲(chǔ)部1900取得循環(huán)的開頭地址1911和末尾地址1912。在此,循環(huán)的開頭地址1911等的取得,是與發(fā)行單元1330從規(guī)定的寄存器取得值的情況相同地進(jìn)行的,將指定的寄存器設(shè)為循環(huán)范圍存儲(chǔ)部1900的
寄存器。在步驟S2005,循環(huán)傳遞相關(guān)解析部1702從命令序列保存部1340取得循環(huán)范圍內(nèi)的命令序列。如前面所述,在命令序列保存部1340中保留有由發(fā)行單元1330發(fā)行的已發(fā)行命令。此外,在命令序列保存部1340中存儲(chǔ)的命令數(shù)被設(shè)定得較多,以使得即使在檢測(cè)出循環(huán)后在命令序列保存部1340中也保留有循環(huán)范圍內(nèi)的命令序列。另外,假設(shè)在命令序列保存部1340中沒有循環(huán)范圍內(nèi)的命令序列,則也可以在執(zhí)行分支命令后將程序計(jì)數(shù)器1311改寫為循環(huán)的開頭地址,由命令取指/解碼單元1320再次對(duì)循環(huán)范圍內(nèi)的命令序列進(jìn)行取指/解碼,并存儲(chǔ)在命令序列保存部1340中。在步驟S2007,循環(huán)傳遞相關(guān)解析部1702將所取得的命令序列2100存儲(chǔ)在設(shè)于循環(huán)傳遞相關(guān)解析部1702中的相關(guān)關(guān)系解析用緩沖器2200中。在此,參照?qǐng)D10對(duì)相關(guān)關(guān)系解析用緩沖器2200的數(shù)據(jù)構(gòu)造進(jìn)行說明。在相關(guān)關(guān)系解析用緩沖器2200中并列存儲(chǔ)有兩次循環(huán)量的構(gòu)成循環(huán)的命令序列2100。在相關(guān)關(guān)系解析用緩沖器2200中,按循環(huán)所包含的每個(gè)命令來設(shè)置條目(entry)。條目是存儲(chǔ)命令和與命令對(duì)應(yīng)的信息的存儲(chǔ)器。在相關(guān)關(guān)系解析用緩沖器2200的各個(gè)條目中存儲(chǔ)的信息,除了該命令的助記符(mnemonic) 2201、該命令的DST寄存器(目的地寄存器)2202的識(shí)別符、該命令的SRC寄存器(源寄存器)2203的識(shí)別符之外,還包括用于識(shí)別該命令在相關(guān)關(guān)系解析用緩沖器2200中的位置的條目序號(hào)2204、用于判別該命令是在前級(jí)循環(huán)中還是在后級(jí)循環(huán)中的迭代(iteration)序號(hào)2205、相關(guān)源命令的條目序號(hào)2206、以及該命令與相關(guān)源命令之間的跨迭代(cross-iteration)判定結(jié)果2207,作為用于相關(guān)關(guān)系解析的中間信息。在步驟S2007,向相關(guān)關(guān)系解析用緩沖器2200存儲(chǔ)各種信息。上述信息被設(shè)為助記符2201、DST寄存器2202的識(shí)別符、SRC寄存器2203的識(shí)別符。在從步驟S2009到步驟S2017的期間,循環(huán)傳遞相關(guān)解析部1702針對(duì)相關(guān)關(guān)系解析用緩沖器2200的各個(gè)條目,從開頭到末尾對(duì)條目按順序地反復(fù)進(jìn)行以下處理。首先,在步驟S2011,循環(huán)傳遞相關(guān)解析部1702對(duì)各個(gè)條目賦予條目序號(hào)2204。例如,作為條目序號(hào)2204而使用的序號(hào)是將開頭的條目設(shè)為“1”、以后按照“2”、“3”、“4”、“5”、“6”、“7”、“8”的順序逐次增加1的數(shù)值。另外,只要是能夠唯一地識(shí)別相關(guān)關(guān)系解析緩沖器內(nèi)的條目的信息,則條目序號(hào)也可以采用其它序號(hào)、記號(hào)或比特。然后,在步驟S2013,循環(huán)傳遞相關(guān)解析部1702對(duì)各個(gè)條目賦予用于識(shí)別是前級(jí)循環(huán)還是后級(jí)循環(huán)的迭代序號(hào)2205。在此,將表示前級(jí)循環(huán)的識(shí)別符設(shè)為“1”,將表示后級(jí)循環(huán)的識(shí)別符設(shè)為“2”。另外,迭代序號(hào)2205只要是能夠識(shí)別是前級(jí)循環(huán)還是后級(jí)循環(huán)的信息,則也可以采用“1”、“2”以外的信息。然后,在步驟S2015,循環(huán)傳遞相關(guān)解析部1702寫入相關(guān)源命令的條目序號(hào)2206。相關(guān)源命令是指將該命令的SRC寄存器用作DST寄存器的最緊前(緊挨著且位于之前)的命令。由此,檢測(cè)到所謂的流相關(guān)(flow d印endence)、真相關(guān)(true d印endence)、被稱為RAW (Read after Write)風(fēng)險(xiǎn)(hazard)等的相關(guān)關(guān)系。另外,在SRC寄存器不存在的命令的情況下,不向該項(xiàng)目進(jìn)行寫入,而保持初始值“0”。并且,在推定為相關(guān)源命令不在相關(guān)關(guān)系解析用緩沖器2200中而是在循環(huán)之外的情況下,作為表示存在于“循環(huán)之外”的值,可以寫入在條目序號(hào)中沒有的值(例如“10”),也可以設(shè)為初始值“0”。
在此,同一迭代序號(hào)2205的命令之間的相關(guān)關(guān)系(例如流相關(guān))不是跨迭代序號(hào)不同的循環(huán)之間的相關(guān)關(guān)系,不能用于循環(huán)傳遞相關(guān)有無的判定。因此,在步驟S2015,也可以不檢測(cè)有無循環(huán)內(nèi)的相關(guān),而生成能夠僅判定循環(huán)傳遞相關(guān)有無的信息。具體而言,迭代序號(hào)2205是“1”的命令能夠針對(duì)迭代序號(hào)2205是“2”的命令的各個(gè)條目生成用于判定是否成為相關(guān)源命令的信息即可。在步驟S2016,循環(huán)傳遞相關(guān)解析部1702檢測(cè)有無循環(huán)傳遞相關(guān)。具體而言,參照相關(guān)源命令的條目序號(hào)2206,判定相關(guān)源命令所屬的迭代的序號(hào)是否為“1”、以及該命令的迭代序號(hào)2205是否為“2”。判定結(jié)果為“是”的情況下,存在循環(huán)傳遞相關(guān),對(duì)與相關(guān)源命令的跨迭代判定結(jié)果2207寫入“是”(實(shí)際上是將值設(shè)為“1”)。判定結(jié)果為“否”的情況下,不存在循環(huán)傳遞相關(guān),對(duì)與相關(guān)源命令的跨迭代判定結(jié)果2207寫入“否”(實(shí)際上是將值設(shè)為“0”)。在步驟S2017,在針對(duì)全部條目完成了循環(huán)處理的情況下,結(jié)束循環(huán),并進(jìn)入步驟S2019。在此,圖10表示處理器1301執(zhí)行了圖8所示的命令序列時(shí)、循環(huán)傳遞相關(guān)解析部1702即將進(jìn)行步驟S2019的判定之前的相關(guān)關(guān)系解析用緩沖器2200的狀態(tài)。然后,在步驟S2019,循環(huán)傳遞相關(guān)解析部1702判定是否存在與相關(guān)源命令的跨迭代判定結(jié)果2207為“是”的條目。在步驟S2019的判定結(jié)果為“是”的情況下,由于不是忙碌等待用的循環(huán),因而進(jìn)入步驟S2021。并且,在步驟S2021,循環(huán)傳遞相關(guān)解析部1702不向第一電力控制部1703輸出執(zhí)行指示1712,并結(jié)束處理。因此,不進(jìn)行節(jié)電控制。另一方面,在步驟S2019的判定結(jié)果為“否”的情況下,由于是忙碌等待用的循環(huán),因而進(jìn)入步驟S2023。并且,在步驟S2023,循環(huán)傳遞相關(guān)解析部1702向第一電力控制部1703輸出執(zhí)行節(jié)電控制的執(zhí)行指示1712,并結(jié)束處理。由此進(jìn)行節(jié)電控制。另外,執(zhí)行指示1712例如通過使將循環(huán)傳遞相關(guān)解析部1702和第一電力控制部1703連接的信號(hào)線的電壓為高電平來進(jìn)行。在此,在上述循環(huán)傳遞相關(guān)解析部1702的處理中,當(dāng)在相關(guān)關(guān)系解析用緩沖器2200中存儲(chǔ)的信息是圖10的例子的情況下,不存在循環(huán)傳遞相關(guān),步驟S2019的判定結(jié)果為“否”。即,在條目序號(hào)從5號(hào)到8號(hào)的各個(gè)條目中,不存在與相關(guān)源命令的跨迭代判定結(jié)果2207為“是”的條目。在這種情況下,被實(shí)施相關(guān)解析的循環(huán)處理是忙碌等待用的循環(huán)處理,成為節(jié)電控制的對(duì)象。因此,在該例中,進(jìn)入步驟S2023,結(jié)果,向第一電力控制部1703輸出執(zhí)行指示1712。通過進(jìn)行以上所述的處理,循環(huán)傳遞相關(guān)解析部1702進(jìn)行圖9的流程圖所示的解析處理,根據(jù)屬于后級(jí)循環(huán)的命令的源寄存器不讀出通過執(zhí)行屬于前級(jí)循環(huán)的命令而寫入的值,判定為不存在循環(huán)傳遞相關(guān)。換言之,循環(huán)傳遞相關(guān)解析部1702根據(jù)屬于后級(jí)循環(huán)的命令的源寄存器讀出通過執(zhí)行屬于前級(jí)循環(huán)的命令而寫入的值,判定為存在循環(huán)傳遞相關(guān)。(1-2-2)非忙碌等待用的循環(huán)的解析例下面,作為構(gòu)成通過循環(huán)傳遞相關(guān)解析部1702檢測(cè)到循環(huán)傳遞相關(guān)的循環(huán)的命令序列的例子,列舉圖11所示的命令序列2600。圖11的命令序列沈00中,通過2004地址的ADD命令,將向R2寄存器加4得到的值輸入R2寄存器。然后,通過2008地址的LDR命令,從R2寄存器所指的地址向RO寄存器讀入值。然后,通過200c地址的CMP命令,將RO寄存器的值和預(yù)先存儲(chǔ)有設(shè)定值的Rl寄存器的值進(jìn)行比較。在值一致的情況下,通過2010地址的BNE命令而脫離循環(huán)。在值不一致的情況下,通過2010地址的BNE命令而向2004地址分支。圖11所示的命令序列沈00與圖9所示的命令序列2100不同,不進(jìn)行反復(fù)從固定地址讀出值并進(jìn)行比較的處理。這是因?yàn)椋ㄟ^2004地址的ADD命令,R2寄存器的值通過每次循環(huán)而進(jìn)行加法運(yùn)算,LDR命令所使用的地址的值每次都在變化。即,上述命令序列2600進(jìn)行從多個(gè)地址中發(fā)現(xiàn)存儲(chǔ)有與Rl寄存器相同的值的地址的處理,不是用于忙碌等待用的循環(huán)的命令序列。因此,是應(yīng)該視為節(jié)電控制的對(duì)象之外的循環(huán)處理。下面,圖12表示在循環(huán)傳遞相關(guān)解析部1702對(duì)圖11所示的命令序列沈00進(jìn)行了相關(guān)關(guān)系的解析的情況下的相關(guān)關(guān)系解析用緩沖器2700的狀態(tài)。另外,上述相關(guān)關(guān)系解析用緩沖器2700的狀態(tài)是指即將進(jìn)行步驟S2019的判定之前的狀態(tài)。在圖12的相關(guān)關(guān)系解析用緩沖器2700中,條目序號(hào)為No. 5的SRC寄存器2203是R2寄存器,與條目序號(hào)為No. 1的DST寄存器2202相同。并且,在條目序號(hào)為No. 1與No. 5之間,DST寄存器2202不是R2寄存器。即,條目序號(hào)為No. 5的SRC寄存器2203的與相關(guān)源命令的跨迭代判定結(jié)果2207為“是”。因此,循環(huán)傳遞相關(guān)解析部1702的步驟S2019的判定結(jié)果為“是”(存在循環(huán)傳遞相關(guān))。結(jié)果,不向第一電力控制部1703輸出執(zhí)行指示1712,在該定時(shí),第一電力控制部1703不進(jìn)行處理器1301的節(jié)電控制。(1-2-3)循環(huán)傳遞相關(guān)解析的總結(jié)通過上述兩個(gè)例子,可以理解到如下內(nèi)容,即用于忙碌等待的循環(huán)處理被有選擇地檢測(cè)為節(jié)電控制的對(duì)象,非忙碌等待用的循環(huán)處理不被有選擇地檢測(cè)。因此,通過使用循環(huán)傳遞相關(guān)解析部1702,在執(zhí)行忙碌等待的循環(huán)時(shí)進(jìn)行節(jié)電控制,相反,在不執(zhí)行忙碌等待的循環(huán)時(shí)避免節(jié)電控制。在此,在本發(fā)明的實(shí)施方式1中,特別需要注意的是,在循環(huán)傳遞相關(guān)解析部1702的處理中進(jìn)行步驟S2019的判定。在步驟S2019中,對(duì)屬于后級(jí)循環(huán)的命令的源寄存器不會(huì)由于屬于前級(jí)循環(huán)的命令的執(zhí)行而被寫入進(jìn)行判定。由此,對(duì)在循環(huán)中使用的變量由于循環(huán)的外部因素而被改寫進(jìn)行判定。例如,在圖33的例子中,在通過第一處理器側(cè)的設(shè)定部1101改寫了同步用變量的情況下,成為由于循環(huán)的外部因素而被改寫的情況。這樣,用于忙碌等待的同步用變量具有由于循環(huán)的外部因素而被改寫的性質(zhì),因而通過使用這種判定方法能夠進(jìn)行忙碌等待的檢測(cè)。例如,圖10的條目序號(hào)為No. 6的SRC寄存器2203是R2寄存器,在該R2寄存器的值被讀入RO寄存器后,與Rl寄存器的值進(jìn)行比較。在這種情況下,R2寄存器相當(dāng)于上述同步用變量。并且,在循環(huán)內(nèi)沒有將R2寄存器設(shè)為DST寄存器2202的命令,可知作為同步用變量的R2寄存器不會(huì)由于循環(huán)的內(nèi)部因素而被改寫。即,能夠判斷為是忙碌等待用的循環(huán)。由此,能夠從處理器執(zhí)行的各種循環(huán)處理中有選擇地檢測(cè)出用于忙碌等待的循環(huán)處理,當(dāng)執(zhí)行用于忙碌等待的循環(huán)時(shí)能夠有選擇地進(jìn)行節(jié)電控制。另外,在實(shí)施方式1中,作為循環(huán)傳遞相關(guān)解析部1702的處理,列舉了如下步驟的例子,即判定后續(xù)循環(huán)的命令的SRC寄存器2203是否被用作在先循環(huán)的命令的DST寄存器2202的步驟。但是,循環(huán)傳遞相關(guān)解析部1702只要能夠檢測(cè)出在后續(xù)循環(huán)中使用的變量的值不會(huì)由于執(zhí)行在先循環(huán)的命令而被改寫,則也可以使用其它的處理來實(shí)施。在此,圖9的流程圖的處理步驟是用于容易理解地說明用于解析有無循環(huán)傳遞相關(guān)的處理步驟的一例,也可以利用除上述處理步驟之外的方法判別循環(huán)傳遞相關(guān)的有無(具體例將在后面進(jìn)行說明)。此外,也可以省略在相關(guān)關(guān)系解析用緩沖器2200、2700中示出的各種項(xiàng)目中的例如助記符2201、條目序號(hào)2204、迭代序號(hào)2205、相關(guān)源命令的條目序號(hào)2206等中的至少一個(gè)。(1-3)第一電力控制部1703下面,參照?qǐng)D13的流程圖對(duì)第一電力控制部1703的動(dòng)作進(jìn)行說明。第一電力控制部1703在步驟S2301中等待,直到從循環(huán)傳遞相關(guān)解析部1702接收到執(zhí)行指示1712。第一電力控制部1703若接收到執(zhí)行指示1712,則在步驟S2303中進(jìn)行節(jié)電控制。具體而言,第一電力控制部1703向電力供給器件1304發(fā)送電力控制信息1713,該電力控制信息1713用于使電力供給器件1304的電力供給模式從通常電力模式轉(zhuǎn)變?yōu)楣?jié)電模式。作為節(jié)電控制的具體例,列舉了如下例子,即降低電力供給器件1304向處理器1301供給的時(shí)鐘1307的頻率,降低電力供給器件1304向處理器1301供給的電力1306的電壓。例如將時(shí)鐘頻率降低到最大頻率的12. 5%,將電壓降低到最大電壓的70%。在此,電力供給器件1304能夠?qū)㈦娏┙o模式切換為通常電力模式和節(jié)電模式。并且,電力供給器件1304在通常電力模式下利用時(shí)鐘發(fā)生電路產(chǎn)生所設(shè)定的頻率(例如最大頻率)的時(shí)鐘1307,并供給到處理器1301。此外,電力供給器件1304向處理器1301供給所設(shè)定的電壓(例如最大電壓)的電力1306。另一方面,電力供給器件1304若從第一電力控制部1703接收到電力控制信息1731,則根據(jù)節(jié)電模式,按照上述例子那樣使電壓及時(shí)鐘頻率小于上述設(shè)定值而進(jìn)行電力1306的供給和時(shí)鐘1307的供給。另外,也可以設(shè)置多種節(jié)電模式,使多種節(jié)電模式的節(jié)電程度不同。在步驟S2305,第一電力控制部1703向循環(huán)脫離檢測(cè)部1704輸出循環(huán)脫離檢測(cè)的執(zhí)行指示1713。通過由第一電力控制部1703進(jìn)行這種處理,當(dāng)循環(huán)傳遞相關(guān)解析部1702檢測(cè)到忙碌等待執(zhí)行中時(shí),能夠進(jìn)行處理器1301的電力控制。(2)第二構(gòu)成要素對(duì)作為節(jié)電控制裝置的第二構(gòu)成要素的、循環(huán)脫離檢測(cè)部1704(循環(huán)結(jié)束檢測(cè)部的一例)和第二電力控制部1705進(jìn)行說明。該循環(huán)脫離檢測(cè)部1704和第二電力控制部1705分別進(jìn)行用于檢測(cè)處理器1301已從忙碌等待用的循環(huán)處理脫離的處理、和結(jié)束節(jié)電控制的電力控制。(2-1)循環(huán)脫離檢測(cè)部參照?qǐng)D14的流程圖對(duì)循環(huán)脫離檢測(cè)部1704的動(dòng)作進(jìn)行說明。
首先,在步驟S2401,循環(huán)脫離檢測(cè)部1704等待,直到從第一電力控制部1703接收到執(zhí)行指示1713。循環(huán)脫離檢測(cè)部1704若接收到執(zhí)行指示1713,則在步驟S2403中,從循環(huán)范圍存儲(chǔ)部1900取得循環(huán)的開頭地址1911和循環(huán)的末尾地址1912。這些開頭地址1911和末尾地址1912被存儲(chǔ)在循環(huán)脫離檢測(cè)部1704具有的存儲(chǔ)器中。另外,也可以將循環(huán)檢測(cè)部1701取得的開頭地址1911和末尾地址1912保存在上述存儲(chǔ)器中。然后,在步驟S2405,循環(huán)脫離檢測(cè)部1704根據(jù)分支命令的執(zhí)行結(jié)果(以及條件標(biāo)志寄存器(CFR)的值),判定分支是否成立。該判定與循環(huán)檢測(cè)部1701在步驟S1801中進(jìn)行的處理相同。此外,循環(huán)脫離檢測(cè)部1704與循環(huán)檢測(cè)部1701同樣具有分支命令存儲(chǔ)部和命令比較部。循環(huán)檢測(cè)部1701和循環(huán)脫離檢測(cè)部1704也可以共用這些分支命令存儲(chǔ)部和命令比較部。在步驟S2405的判定結(jié)果為“是”(分支成立)的情況下,進(jìn)入步驟S2407。在步驟S2405的判定結(jié)果為“否”(分支不成立)的情況下,進(jìn)入步驟S2408。在步驟S2407中,在除了位于循環(huán)末尾的分支命令之外存在條件分支命令的情況下,循環(huán)脫離檢測(cè)部1704通過該條件分支命令,判定是否向循環(huán)范圍外分支。具體而言,判定在步驟S2405中成立的分支的跳躍目的地的地址是否偏離了從循環(huán)范圍存儲(chǔ)部1900取得的循環(huán)的開頭地址1911和循環(huán)的末尾地址1912的范圍。即,根據(jù)分支目的地的地址小于開頭地址1911或大于末尾地址1912,判定為分支目的地在循環(huán)范圍外。在步驟S2407的判定結(jié)果為“是”的情況下,循環(huán)處理結(jié)束,因而進(jìn)入結(jié)束節(jié)電控制的步驟S2409。另一方面,在判定結(jié)果為“否”的情況下,循環(huán)處理繼續(xù),返回到繼續(xù)檢測(cè)處理的步驟S2405。在上述步驟S2408中,循環(huán)脫離檢測(cè)部1704判定位于循環(huán)末尾的條件分支命令的執(zhí)行結(jié)果是否是分支不成立。具體而言,判定條件分支命令的地址是否與循環(huán)的末尾地址1912相同。在步驟S2408的判定結(jié)果為“是”的情況下,循環(huán)處理結(jié)束,進(jìn)入步驟S2409。在步驟S2408的判定結(jié)果為“否”的情況下,循環(huán)處理繼續(xù),返回到步驟S2405。在步驟S2409中,循環(huán)脫離檢測(cè)部1704為了結(jié)束節(jié)電控制而向第二電力控制部1705輸出節(jié)電控制結(jié)束的執(zhí)行指示1714。此外,執(zhí)行指示1714例如通過使將循環(huán)脫離檢測(cè)部1704和第二電力控制部1705連接的信號(hào)線的電壓為高電平來進(jìn)行。另外,在本實(shí)施方式1中,將循環(huán)脫離檢測(cè)部1704配置在退出單元1360內(nèi),根據(jù)分支命令的執(zhí)行結(jié)果來檢測(cè)循環(huán)處理是否結(jié)束。但是,如果有能夠檢測(cè)循環(huán)處理已結(jié)束的其它方法或裝置,則也可以采用該方法或裝置。作為可替代的其它方法的示例,列舉出根據(jù)程序計(jì)數(shù)器1311的值在循環(huán)范圍外這一情況來檢測(cè)循環(huán)處理的結(jié)束的方法。在這種情況下,為了提高循環(huán)結(jié)束的檢測(cè)處理的穩(wěn)定性,例如也可以是,在程序計(jì)數(shù)器1311的值大于向循環(huán)的末尾地址加上規(guī)定值而得到的值的情況下,判定為循環(huán)處理結(jié)束。(2-2)第二電力控制部下面,參照?qǐng)D15的流程圖對(duì)第二電力控制部1705的動(dòng)作進(jìn)行說明。首先,在步驟S2501,第二電力控制部1705等待,直到接收到來自循環(huán)傳遞相關(guān)解析部1702的執(zhí)行指示1714。然后,第二電力控制部1705若接收到執(zhí)行指示1714,則在步驟S2503中,進(jìn)行結(jié)束節(jié)電控制并返回到通常電力控制的控制。具體而言,第二電力控制部1705向電力供給器件1304發(fā)送電力控制信息1751,該電力控制信息1751用于使電力供給器件1304的電力供給模式從節(jié)電模式恢復(fù)為通常電力模式。結(jié)果,電力供給器件1304使例如被第一電力控制部1703降低的、對(duì)處理器1301供給的時(shí)鐘1307的頻率和電力1306的電壓分別增加(例如恢復(fù)為原來的值)。以上,對(duì)構(gòu)成本發(fā)明的實(shí)施方式1的節(jié)電控制裝置的循環(huán)檢測(cè)部1701、循環(huán)傳遞相關(guān)解析部1702、第一電力控制部1703、循環(huán)脫離檢測(cè)部1704、第二電力控制部1705的動(dòng)作進(jìn)行了說明。(2-3)在本實(shí)施方式中,利用第一電力控制部1703和第二電力控制部1705構(gòu)成上述“電力控制部”。另外,也可以采用如下方式,即利用第一電力控制部1703構(gòu)成上述“電力控制部”,“電力控制部”不包含第二電力控制部1705。<循環(huán)傳遞相關(guān)解析部的結(jié)構(gòu)例>循環(huán)傳遞相關(guān)解析部1702例如能夠使用圖16、圖17所示的數(shù)字電子電路來解析循環(huán)傳遞相關(guān)的有無。圖16是表示檢測(cè)流相關(guān)的流相關(guān)檢測(cè)電路觀51的圖。圖17是表示預(yù)備檢測(cè)電路觀53的圖,預(yù)備檢測(cè)電路觀53預(yù)先檢測(cè)流相關(guān)及循環(huán)傳遞相關(guān)雙方,以便檢測(cè)循環(huán)傳遞相關(guān)。另外,在上述圖16、圖17中示出了循環(huán)所包含的命令是4個(gè)的例子(命令1 4),但也可以構(gòu)成檢測(cè)除4個(gè)命令之外的命令之間的相關(guān)關(guān)系的電路,例如檢測(cè)5個(gè)以上的命令之間的相關(guān)關(guān)系的電路。流相關(guān)檢測(cè)電路觀51具有存儲(chǔ)循環(huán)所包含的命令序列的命令緩沖器觀55和比較電路2857,比較電路觀57將在命令緩沖器觀55中存儲(chǔ)的命令之間的DST寄存器(目的地寄存器)2202和SRC寄存器(源寄存器)2203的值進(jìn)行比較。圖中,位于最上側(cè)的命令是循環(huán)的開頭。另外,在一個(gè)命令使用兩個(gè)SRC寄存器2203a、220;3b的情況下,將SRC寄存器2203a、220 各自與DST寄存器2202的值進(jìn)行比較。在命令緩沖器觀55中存儲(chǔ)來自命令序列保存部1340的循環(huán)范圍內(nèi)的命令序列。另外,也可以將命令序列保存部1340用作命令緩沖器觀55。比較電路觀57在DST寄存器2202與SRC寄存器2203的值相等的情況下輸出“ 1 ”,在值不同的情況下輸出“0”。S卩,比較電路觀57在有相關(guān)關(guān)系的情況下輸出“1”。在此,存在將一個(gè)SRC寄存器2203與多個(gè)DST寄存器2202進(jìn)行比較的情況(例如,命令4的SRC寄存器2203)。在這種情況下,只要多個(gè)比較電路觀57中的一個(gè)輸出“ 1”,就判定為存在流相關(guān)(“1”)。另一方面,在多個(gè)比較電路觀57全部輸出“0”的情況下,判定為不存在流相關(guān)(“0”)。將循環(huán)命令中第η個(gè)命令的SRC寄存器2203a、2203b的判定結(jié)果設(shè)為Sna、Snb0例如,命令2的SRC寄存器2203a、2203b的判定結(jié)果分別為S2a、S2b。另外,由于在命令1中未產(chǎn)生流相關(guān),因而省略判定結(jié)果的圖示。在圖17所示的預(yù)備檢測(cè)電路觀53中設(shè)有3個(gè)命令緩沖器^61aJ861bJ861c,用于存儲(chǔ)循環(huán)所包含的命令序列;以及比較電路觀57,在兩個(gè)命令緩沖器2861a、2861b之間將DST寄存器2202和SRC寄存器2203的值進(jìn)行比較。在執(zhí)行第i次循環(huán)時(shí),命令緩沖器^eic存儲(chǔ)循環(huán)范圍內(nèi)的命令序列。并且,在執(zhí)行第i+Ι次循環(huán)時(shí),所存儲(chǔ)的命令序列被移動(dòng)到命令緩沖器中。由此,在執(zhí)行第i+1次循環(huán)時(shí),在兩個(gè)命令緩沖器中存儲(chǔ)循環(huán)的命令序列。比較電路觀57與流相關(guān)檢測(cè)電路觀51的比較電路相同。但是,在預(yù)備檢測(cè)電路2853中,DST寄存器2202與SRC寄存器2203之間的連接的組合與流相關(guān)檢測(cè)電路觀51不同。具體而言,通過所有組合,對(duì)存儲(chǔ)有在先循環(huán)命令的命令緩沖器的DST寄存器2202、與存儲(chǔ)有后續(xù)循環(huán)命令的命令緩沖器的SRC寄存器2203進(jìn)行比較。在此,與預(yù)備檢測(cè)電路觀53 —樣,將命令緩沖器的SRC寄存器2203a、2203b的判定結(jié)果設(shè)為toajnb。并且,對(duì)于任一個(gè)SRC寄存器2203,當(dāng)在預(yù)備檢測(cè)電路觀53中判定為存在相關(guān)、并且在流相關(guān)檢測(cè)電路觀51中判定為不存在相關(guān)的情況下,判定為存在循環(huán)傳遞相關(guān)。艮口,檢測(cè)到循環(huán)傳遞相關(guān)。在圖12的例子中,條目序號(hào)為5號(hào)的SRC寄存器2203通過預(yù)備檢測(cè)電路觀53被判定為與條目序號(hào)為1號(hào)的DST寄存器2202相關(guān)。此外,條目序號(hào)為5號(hào)的SRC寄存器2203由于在循環(huán)內(nèi)不存在流相關(guān),所以未通過流相關(guān)檢測(cè)電路觀51被檢測(cè)到相關(guān)。因此,對(duì)于條目序號(hào)為5號(hào)的SRC寄存器2203,預(yù)備檢測(cè)電路觀53的判定結(jié)果Rla為“1”,流相關(guān)檢測(cè)電路觀51的判定結(jié)果Sla為“0”。在這種情況下檢測(cè)到循環(huán)傳遞相關(guān)。另外,在圖16中,如上所述省略了命令1的判定結(jié)果Sla等的圖示,由于在命令1中未產(chǎn)生流相關(guān),因而命令1的判定結(jié)果Sla等為“0”。將上述預(yù)備檢測(cè)電路觀53和流相關(guān)檢測(cè)電路觀51進(jìn)行組合,能夠構(gòu)成循環(huán)傳遞相關(guān)解析部1702。在此,圖17的預(yù)備檢測(cè)電路觀53具有3個(gè)命令緩沖器^61aJ861bJ861c,但也可以具有1個(gè)。關(guān)于在命令緩沖器^eia中存儲(chǔ)的命令,只有DST寄存器2202與比較電路2857連接,SRC寄存器2203不與比較電路觀57連接。相反,關(guān)于在命令緩沖器中存儲(chǔ)的命令,只有SRC寄存器2203與比較電路觀57連接,DST寄存器2202不與比較電路觀57連接。因此,例如,對(duì)于在命令緩沖器中存儲(chǔ)的命令,能夠?qū)ST寄存器2202與SRC寄存器2203a、220;3b之間的全部組合進(jìn)行比較即可。圖18表示用于簡(jiǎn)易地檢測(cè)循環(huán)傳遞相關(guān)的簡(jiǎn)易循環(huán)傳遞相關(guān)檢測(cè)電路觀71。簡(jiǎn)易循環(huán)傳遞相關(guān)檢測(cè)電路觀71與流相關(guān)檢測(cè)電路觀51同樣,具有命令緩沖器2855和比較電路觀57。并且,各個(gè)比較電路觀57與對(duì)應(yīng)于一個(gè)命令的DST寄存器2202和SRC寄存器2203連接。即,簡(jiǎn)易循環(huán)傳遞相關(guān)檢測(cè)電路觀71是判別在一個(gè)命令中DST寄存器2202和SRC寄存器2203是否相同、并輸出判定結(jié)果Qna、Qnb(圖中,η為1 4)的電路。利用該簡(jiǎn)易循環(huán)傳遞相關(guān)檢測(cè)電路觀71,在對(duì)例如構(gòu)成圖11示例的循環(huán)的命令序列沈00進(jìn)行解析的情況下,2004地址的ADD命令的DST寄存器2202和SRC寄存器2203是R2寄存器而一致,因而對(duì)判定結(jié)果Qla輸出“1”,檢測(cè)到循環(huán)傳遞相關(guān)。這樣,簡(jiǎn)易循環(huán)傳遞相關(guān)檢測(cè)電路觀71在通常的運(yùn)算用的循環(huán)中,根據(jù)存在將成為變量的寄存器的值增加(或減少)的計(jì)算式這一情況,簡(jiǎn)易地檢測(cè)循環(huán)傳遞相關(guān)。以上,使用電子電路對(duì)構(gòu)成循環(huán)傳遞相關(guān)解析部1702的例子進(jìn)行了說明,但循環(huán)傳遞相關(guān)解析部1702的結(jié)構(gòu)不限于此。例如,也可以利用執(zhí)行用來進(jìn)行圖9所示處理的程序的處理器構(gòu)成循環(huán)傳遞相關(guān)解析部1702。另外,執(zhí)行上述程序的處理器例如也可以是執(zhí)行微程序的微程序定序器(microprogram sequencer)那樣的簡(jiǎn)易處理器。在這種情況下,能夠在處理器1301內(nèi)形成簡(jiǎn)易的處理器。此外,執(zhí)行上述程序的處理器可以是和上述處理器1301形成于同一集成電路內(nèi)的單獨(dú)的處理器,還可以是上述處理器1301。另外,能夠使上述處理器1301和單獨(dú)的執(zhí)行上述程序的處理器所執(zhí)行的循環(huán)處理不作為檢測(cè)及相關(guān)解析的對(duì)象。另外,也可以利用電子電路分別構(gòu)成除循環(huán)傳遞相關(guān)解析部1702之外的節(jié)電控制裝置的各個(gè)構(gòu)成要素(循環(huán)檢測(cè)部1701等),也可以利用執(zhí)行用于進(jìn)行各個(gè)構(gòu)成要素的處理的程序的處理器來構(gòu)成。并且,在實(shí)施方式1中,也可以將節(jié)電控制以及結(jié)束節(jié)電控制并返回到通常電力控制的控制設(shè)為除上述記載之外的例如下述控制。降低向處理器1301供給的時(shí)鐘1307的頻率、或者降低向處理器1301供給的電力1306的電壓,由此進(jìn)行節(jié)電控制。并且,增加向處理器1301供給的時(shí)鐘1307的頻率、或者增加向處理器1301供給的電力1306的電壓,由此進(jìn)行結(jié)束節(jié)電控制并返回到通常電力控制的控制。[變形例]<1/0 器件〉另外,圖19表示上述實(shí)施方式1的計(jì)算機(jī)系統(tǒng)的變形例。另外,在圖19中,對(duì)與圖1相同的構(gòu)成要素采用相同的標(biāo)號(hào),并省略說明。在圖19所示的計(jì)算機(jī)系統(tǒng)觀00中,與圖1同樣,處理器1301、主存1302、I/O器件組1303、電力供給器件1304通過總線1305相互連接。此外,從電力供給器件1304向處理器1301供給電力1306和時(shí)鐘1307。圖19具體示出可作為I/O器件組1303的裝置的例子。天線觀10是接收廣播波、移動(dòng)電話網(wǎng)絡(luò)的電波的器件。調(diào)諧器觀11用于將天線觀10接收到的模擬電波變換為數(shù)字信號(hào)。解碼器觀12用于對(duì)由調(diào)諧器進(jìn)行變換得到的數(shù)字信號(hào)進(jìn)行解碼。作為解碼器沘12進(jìn)行解碼的編解碼(codec)的例子,可以舉出MPEG2、MPEG4-AVC、MPEG4-MVC等。OSD生成器觀13將由解碼器觀12解碼后的影像數(shù)據(jù)、由處理器1301生成的畫面數(shù)據(jù)等合成為影像數(shù)據(jù)的形式。影像顯示器觀14將由OSD生成器觀13合成后的影像數(shù)據(jù)顯示在畫面上。作為影像顯示器觀14的例子,可以舉出液晶顯示器、等離子顯示器、有機(jī)EL顯示器、LED顯示器等。揚(yáng)聲器觀16進(jìn)行由解碼器觀12解碼后的聲音數(shù)據(jù)的聲音輸出。半導(dǎo)體存儲(chǔ)器讀寫裝置2821、HDD 2822 (硬盤存儲(chǔ)裝置)、光盤讀寫裝置觀23能夠用作存儲(chǔ)器件。此外,網(wǎng)絡(luò)通信器觀25接收來自計(jì)算機(jī)系統(tǒng)觀00外部的網(wǎng)絡(luò)信號(hào)。作為網(wǎng)絡(luò)通信器觀25的例子,可以舉出以太網(wǎng)適配器(Ethernet adapter)、無線LAN適配器等。遙控接收器觀沈接收來自外部的基于紅外線的控制信號(hào)等。另外,是否將此處說明的可作為I/O器件組1303的器件安裝于計(jì)算機(jī)系統(tǒng)觀00中是任意的。此外,也可以安裝與此處說明的器件不同的器件。例如,鍵盤、鼠標(biāo)、觸摸面板等輸入裝置也可作為I/O器件組1303。
安裝了一部分I/O器件的計(jì)算機(jī)系統(tǒng)觀00可構(gòu)成個(gè)人電腦、主機(jī)(mainframe)、電視機(jī)、錄像機(jī)(video deck)、HDD記錄器、移動(dòng)電話、車載導(dǎo)航系統(tǒng)、固定電話、復(fù)印機(jī)、網(wǎng)絡(luò)中繼設(shè)備、帶觸摸面板的移動(dòng)終端等的一部分。此外,第一電力控制部1703和第二電力控制部1705的控制對(duì)象不限于電力1306的電壓和時(shí)鐘1307的頻率。第一電力控制部1703和第二電力控制部1705的控制對(duì)象只要是控制向處理器1301或計(jì)算機(jī)系統(tǒng)1300 J800供給的電力的要素即可。[實(shí)施方式2]參照?qǐng)D20對(duì)實(shí)施方式2的應(yīng)對(duì)多線程的計(jì)算機(jī)系統(tǒng)四00的結(jié)構(gòu)進(jìn)行說明。另外,在圖20中,對(duì)與圖1的計(jì)算機(jī)系統(tǒng)1300相同的構(gòu)成要素采用相同的標(biāo)號(hào),并省略說明。本實(shí)施方式2的計(jì)算機(jī)系統(tǒng)四00在以下方面與上述實(shí)施方式1的計(jì)算機(jī)系統(tǒng)1300不同。(i)在計(jì)算機(jī)系統(tǒng)四00中存在數(shù)量與線程的個(gè)數(shù)相等的寄存器組四10,各個(gè)寄存器組四10設(shè)有線程識(shí)別符寄存器四12和時(shí)間片(time slice)寄存器四13。(ii)計(jì)算機(jī)系統(tǒng)四00具備線程切換部四20,用于切換在處理器四01中動(dòng)作的線程。(iii)第一電力控制部及第二電力控制部具有向寄存器組四10輸出時(shí)間片設(shè)定信息的功能、和對(duì)執(zhí)行單元1350的運(yùn)轉(zhuǎn)個(gè)數(shù)進(jìn)行控制的功能。<寄存器組、線程切換部及其它>參照?qǐng)D21對(duì)寄存器組四10的數(shù)據(jù)構(gòu)造進(jìn)行說明。圖21示出與第一及第二線程分別對(duì)應(yīng)的第一及第二寄存器組^10aJ910b。在各個(gè)寄存器組四10中,除了在圖4中說明的寄存器組1310的構(gòu)成要素之外,還分別具有線程識(shí)別符寄存器四12和時(shí)間片寄存器四13。線程識(shí)別符寄存器四12是存儲(chǔ)線程識(shí)別符的寄存器,該線程識(shí)別符用于從多個(gè)線程中識(shí)別特定的線程。例如,對(duì)屬于與第一線程對(duì)應(yīng)的第一寄存器組^lOa的線程識(shí)別符寄存器寫入“ 1 ”,對(duì)屬于與第二線程對(duì)應(yīng)的第二寄存器組^lOb的線程識(shí)別符寄存器2912b寫入“2”。時(shí)間片寄存器四13存儲(chǔ)分配給各個(gè)線程的時(shí)間即時(shí)間片。例如,在按照100時(shí)鐘周期的比率對(duì)第一線程分配時(shí)間片、按照100時(shí)鐘周期的比率對(duì)第二線程分配時(shí)間片的情況下,在與第一線程對(duì)應(yīng)的第一寄存器組^lOa的時(shí)間片寄存器四133中存儲(chǔ)“100”。在與第二線程對(duì)應(yīng)的第二寄存器組^lOb的時(shí)間片寄存器中存儲(chǔ)“100”。線程切換部四20根據(jù)各個(gè)線程的時(shí)間片寄存器四13的值,以分時(shí)方式對(duì)各個(gè)線程分配處理器四01的執(zhí)行時(shí)間。在此,對(duì)線程切換部四20進(jìn)行具體說明。線程切換部四20直接或通過總線與寄存器組四10及命令取指/解碼單元1320連接。并且,線程切換部四20讀出與當(dāng)前執(zhí)行的線程對(duì)應(yīng)的寄存器組四10的程序計(jì)數(shù)器1311的值,并發(fā)送給命令取指/解碼單元1320。此外,線程切換部四20將線程識(shí)別符與程序計(jì)數(shù)器1311的值一起發(fā)送。
例如,在執(zhí)行第一線程的情況下,線程切換部四20向命令取指/解碼單元1320發(fā)送線程識(shí)別符的值“1”和第一寄存器組^lOa的程序計(jì)數(shù)器1311a的值。由此,執(zhí)行第一線程的程序的命令被取指/解碼。另外,對(duì)由命令取指/解碼單元1320取指的命令序列賦予線程識(shí)別符寄存器四12的信息、即線程識(shí)別符的值(例如“ 1”)。在此,通過在處理器四01外設(shè)置的定時(shí)器/計(jì)數(shù)器(省略圖示)通知線程切換的定時(shí)。下面進(jìn)行具體說明。例如,在第一線程開始時(shí),對(duì)定時(shí)器/計(jì)數(shù)器設(shè)定在時(shí)間片寄存器中存儲(chǔ)的時(shí)間片,定時(shí)器/計(jì)數(shù)器起動(dòng)。若經(jīng)過所設(shè)定的時(shí)間片,則定時(shí)器/計(jì)數(shù)器通知線程切換部四20。接收到該通知的線程切換部四20向命令取指/解碼單元1320發(fā)送與下一個(gè)線程對(duì)應(yīng)的寄存器組、例如第二寄存器組^lOb的線程識(shí)別符的值“2”和程序計(jì)數(shù)器1311b的值。由此,由命令取指/解碼單元1320取指的命令的地址被變更為執(zhí)行第二線程的程序的命令的地址。結(jié)果,執(zhí)行第二線程的程序的命令被取指/解碼,進(jìn)行動(dòng)作的線程得以切換。定時(shí)器/計(jì)數(shù)器在經(jīng)過設(shè)定時(shí)間后被重設(shè)(reset),在設(shè)定了下一個(gè)執(zhí)行的線程例如第二線程的時(shí)間片之后起動(dòng)。這樣,根據(jù)分配給各個(gè)線程的時(shí)間片來切換進(jìn)行動(dòng)作的線程。另外,可以在處理器2901內(nèi)設(shè)置定時(shí)器/計(jì)數(shù)器。在本實(shí)施方式中,利用時(shí)間片寄存器四13和線程切換部四20構(gòu)成“線程管理部”。此外,“線程管理部”也可以包括線程識(shí)別符寄存器四12。發(fā)行單元1330在發(fā)行運(yùn)算等的命令的情況下,從多個(gè)寄存器組四10中讀出與對(duì)命令序列賦予的線程識(shí)別符對(duì)應(yīng)的寄存器組四10的值。退出單元1360將執(zhí)行單元1350的執(zhí)行結(jié)果寫回到多個(gè)寄存器組四10中的與對(duì)命令序列賦予的線程識(shí)別符對(duì)應(yīng)的寄存器組四10中。循環(huán)范圍存儲(chǔ)部1900將線程識(shí)別符與循環(huán)范圍對(duì)應(yīng)地進(jìn)行存儲(chǔ)。此外,能夠針對(duì)多個(gè)線程來存儲(chǔ)循環(huán)范圍及線程識(shí)別符。循環(huán)檢測(cè)部1701在檢測(cè)到循環(huán)處理的情況下,將線程識(shí)別符和循環(huán)范圍一起寫入循環(huán)范圍存儲(chǔ)部1900。循環(huán)傳遞相關(guān)解析部1702從循環(huán)范圍存儲(chǔ)部1900取得循環(huán)范圍和被檢測(cè)到循環(huán)處理的線程的線程識(shí)別符。并且,循環(huán)傳遞相關(guān)解析部1702對(duì)成為對(duì)象的線程的循環(huán)范圍的命令序列進(jìn)行循環(huán)傳遞相關(guān)的解析處理。在不存在循環(huán)傳遞相關(guān)的情況下,循環(huán)傳遞相關(guān)解析部1702向第一電力控制部3013輸出執(zhí)行指示1712。在此,循環(huán)傳遞相關(guān)解析部1702對(duì)執(zhí)行指示1712賦予用于識(shí)別線程的信息。例如,將循環(huán)傳遞相關(guān)解析部1702和第一電力控制部3013連接的多個(gè)信號(hào)線分別與多個(gè)線程對(duì)應(yīng),提高與成為解析處理的對(duì)象的線程相對(duì)應(yīng)的信號(hào)線的電壓,由此賦予用于識(shí)別線程的信息。循環(huán)脫離檢測(cè)部1704從第一電力控制部3013接收線程識(shí)別符和執(zhí)行指示1713。并且,循環(huán)脫離檢測(cè)部1704從循環(huán)范圍存儲(chǔ)部1900取得與上述線程識(shí)別符對(duì)應(yīng)的循環(huán)范圍。并且,根據(jù)成為對(duì)象的線程的分支命令的執(zhí)行結(jié)果等來檢測(cè)循環(huán)處理的結(jié)束。另外,循環(huán)脫離檢測(cè)部1704能夠?qū)Χ鄠€(gè)線程檢測(cè)循環(huán)處理的結(jié)束。并且,在對(duì)某一個(gè)線程檢測(cè)到循環(huán)處理的結(jié)束的情況下,將線程識(shí)別符與執(zhí)行指示1714 —起向第二電力控制部3015發(fā)送。<電力控制部>第一電力控制部3013及第二電力控制部3015設(shè)置在退出單元1360內(nèi)。由此,能夠容易地利用退出單元1360的功能進(jìn)行向寄存器組四10的寫入等。第一電力控制部3013除了向電力供給器件1304輸出電力控制信息1731的功能之外,還具有向寄存器組四10輸出時(shí)間片設(shè)定信息3103的功能、和輸出執(zhí)行單元1350的運(yùn)轉(zhuǎn)個(gè)數(shù)減少指示3107的功能。第二電力控制部3015除了向電力供給器件1304輸出電力控制信息1751的功能之外,還具有向寄存器組四10輸出時(shí)間片設(shè)定信息3105的功能、和輸出執(zhí)行單元1350的運(yùn)轉(zhuǎn)個(gè)數(shù)增加指示3109的功能。(1)節(jié)電控制1圖22表示第一電力控制部3013的動(dòng)作的流程。首先,在步驟S3201,第一電力控制部3013對(duì)是否從循環(huán)傳遞相關(guān)解析部1702接收到執(zhí)行指示1712進(jìn)行判定。在判定結(jié)果為“是”的情況下,進(jìn)入步驟S3203。在判定結(jié)果為“否”的情況下,再次執(zhí)行步驟S3201的判定。另外,如上所述,在執(zhí)行指示1712中包含識(shí)別線程的信息。然后,在步驟S3203,第一電力控制部3013向寄存器組四10中的與執(zhí)行指示1712所指定的線程對(duì)應(yīng)的寄存器組四10(向與當(dāng)前動(dòng)作中的線程對(duì)應(yīng)的寄存器組四10)輸出時(shí)間片設(shè)定信息3103,以使得與該線程有關(guān)的變更后的時(shí)間片小于變更前的時(shí)間片。例如,在所指定的線程識(shí)別符是“2”的情況下,第一電力控制部3013將線程識(shí)別符寄存器四12是“2”的第二寄存器組^lOb的時(shí)間片寄存的值從“100”變更為“50”。在步驟S3205,第一電力控制部3013向電力供給器件1304輸出電力控制信息1731。例如,指示將時(shí)鐘1307的頻率設(shè)為四分之三。在步驟S3207,第一電力控制部3013將執(zhí)行指示1713與所指定的線程識(shí)別符一起向循環(huán)脫離檢測(cè)部1704輸出。圖23表示第二電力控制部3015的動(dòng)作的流程。首先,在步驟S3301,第二電力控制部3015對(duì)是否從循環(huán)脫離檢測(cè)部1704接收到執(zhí)行指示1714進(jìn)行判定。在判定結(jié)果為“是”的情況下,進(jìn)入步驟S3303。在判定結(jié)果為“否”的情況下,再次執(zhí)行步驟S3301。另外,如上所述,在執(zhí)行指示1714中包含線程識(shí)別符。然后,在步驟S3303,第二電力控制部3015向與線程識(shí)別符所示的線程對(duì)應(yīng)的寄存器組四10(向與當(dāng)前動(dòng)作中的線程對(duì)應(yīng)的寄存器組四10)輸出時(shí)間片設(shè)定信息3105,以使得與該線程有關(guān)的變更后的時(shí)間片大于變更前的時(shí)間片(例如,使得恢復(fù)為由第一電力控制部3013減少前的時(shí)間片)。例如,在線程識(shí)別符是“2”的情況下,第二電力控制部3015將多個(gè)寄存器組四10中的、線程識(shí)別符寄存器四12是“2”的第二寄存器組^lOb的時(shí)間片寄存器的值從“50” 恢復(fù)為 “100”。然后,在步驟S3305,第二電力控制部3015向電力供給器件1304輸出電力控制信息1751。結(jié)果,電力供給器件1304例如使由第一電力控制部3013降低的向處理器四01供給的時(shí)鐘1307的頻率增加(復(fù)原)。在此,對(duì)進(jìn)行節(jié)電控制時(shí)分配給忙碌等待狀態(tài)的線程(上述例子中的第二線程)的處理器資源(處理器的處理能力)、以及分配給非忙碌等待狀態(tài)的線程即進(jìn)行通常處理的線程(上述例子中的第一線程)的處理器資源進(jìn)行說明。分配給各個(gè)線程的處理器資源通常能夠用算式“各個(gè)線程的時(shí)間片+所有線程的時(shí)間片的總和χ時(shí)鐘1307的頻率”表示。此處說明的例子中,關(guān)于執(zhí)行節(jié)電控制時(shí)的時(shí)鐘1307的頻率,在第一線程和第二線程中都減少為通常電力控制時(shí)的時(shí)鐘1307的頻率的四分之三。另一方面,關(guān)于執(zhí)行節(jié)電控制時(shí)的“各個(gè)線程的時(shí)間片+所有線程的時(shí)間片的總和”,在第一線程中增加為通常電力控制時(shí)的三分之四(從100 + 200變?yōu)?00 + 150)。此外,在第二線程中減少為通常電力控制時(shí)的三分之二(從100 + 200變?yōu)?0 + 150)。因此,在該例中,對(duì)非忙碌等待狀態(tài)的第一線程分配的處理器資源,是將時(shí)鐘1307的頻率的減少比例即四分之三和時(shí)間片的分配比率的增加比例即三分之四相乘得到的“1”。即,即使進(jìn)行節(jié)電控制,分配給第一線程的處理器資源也不減少。另一方面,分配給第二線程的處理器資源減半,抑制了電力浪費(fèi)。由此,能夠維持未執(zhí)行忙碌等待的線程的處理速度并且有選擇地減少對(duì)忙碌等待狀態(tài)的線程分配的處理器資源來執(zhí)行忙碌等待,由此降低處理器四01消耗的電力以及計(jì)算機(jī)系統(tǒng)四00消耗的電力。上述節(jié)電控制也能夠理解如下。在上述例子中,使用上述計(jì)算式,從而與對(duì)忙碌等待狀態(tài)的線程分配的時(shí)間片的減少量相當(dāng)?shù)奶幚砥髻Y源成為“50 + 200X頻率f”。即,上述時(shí)間片的減少量相當(dāng)于通常電力控制時(shí)的處理器資源的四分之一。因此,如果與上述四分之一的處理器資源相應(yīng)地使時(shí)鐘1307的頻率減少四分之一,則能夠降低處理器四01的電力消耗,而不減少非忙碌等待狀態(tài)的線程的處理器資源。此外,當(dāng)忙碌等待狀態(tài)的特定線程脫離忙碌等待狀態(tài)時(shí),能夠增加對(duì)上述特定線程分配的處理器資源,而不減少其它線程的處理器資源。這樣,上述節(jié)電控制根據(jù)對(duì)忙碌等待狀態(tài)的線程分配的時(shí)間片的減少量,減少時(shí)鐘1307的頻率。(2)節(jié)電控制2在上述例子中,計(jì)算機(jī)系統(tǒng)四00通過由第一電力控制部3013和第二電力控制部3015控制時(shí)鐘1307的頻率來進(jìn)行節(jié)電控制,抑制計(jì)算機(jī)系統(tǒng)四00浪費(fèi)的電力。相對(duì)于此,還存在進(jìn)行節(jié)電控制的其它方法。例如,也可以是,取代進(jìn)行時(shí)鐘1307的頻率的控制或者與頻率的控制一起將執(zhí)行單元1350的運(yùn)轉(zhuǎn)個(gè)數(shù)減少來進(jìn)行節(jié)電控制。對(duì)通過減少執(zhí)行單元1350的運(yùn)轉(zhuǎn)個(gè)數(shù)來進(jìn)行節(jié)電控制的第一電力控制部3013及第二電力控制部3015的處理的流程圖進(jìn)行說明。首先,參照?qǐng)DM的流程圖來說明第一電力控制部3013的處理。首先,在步驟S3401,第一電力控制部3013對(duì)是否從循環(huán)傳遞相關(guān)解析部1702接收到執(zhí)行指示1712進(jìn)行判定。在判定結(jié)果為“是”的情況下,進(jìn)入步驟S3403。在判定結(jié)果為“否”的情況下,返回步驟S3401。另外,如上所述,在執(zhí)行指示1712中包含識(shí)別線程的信
肩、ο然后,在步驟S3403,第一電力控制部3013向寄存器組四10中的與執(zhí)行指示1712所指定的線程對(duì)應(yīng)的寄存器組四10(向與當(dāng)前動(dòng)作中的線程對(duì)應(yīng)的寄存器組四10)輸出時(shí)間片設(shè)定信息3103。例如,在當(dāng)前執(zhí)行中的線程識(shí)別符是“2”的情況下,第一電力控制部3013將線程識(shí)別符寄存器四12是“2”的第二寄存器組^lOb的時(shí)間片寄存器的值從“100”變更為“50”。然后,在步驟S3405,第一電力控制部3013向執(zhí)行單元1350輸出用來使執(zhí)行單元1350的運(yùn)轉(zhuǎn)個(gè)數(shù)減少的運(yùn)轉(zhuǎn)個(gè)數(shù)減少指示3107。例如,在執(zhí)行單元1350存在4個(gè)的情況下,對(duì)執(zhí)行單元1350進(jìn)行指示以使得將運(yùn)轉(zhuǎn)個(gè)數(shù)削減為3條。在此,對(duì)運(yùn)轉(zhuǎn)個(gè)數(shù)減少指示3107進(jìn)行說明。雖省略了圖示,但第一電力控制部3013經(jīng)由信號(hào)線與發(fā)行單元1330連接。并且,第一電力控制部3013指示發(fā)行單元1330停止向多個(gè)執(zhí)行單元1350中的一部分發(fā)行命令。該指示例如向與多個(gè)執(zhí)行單元1350分別對(duì)應(yīng)的信號(hào)線中的、與希望停止的執(zhí)行單元1350對(duì)應(yīng)的信號(hào)線發(fā)送信號(hào)。由此,停止向一部分執(zhí)行單元1350發(fā)行命令。此外,在向各個(gè)執(zhí)行單元1350供給電力的供電路徑中設(shè)有由晶體管構(gòu)成的電子開關(guān)。并且,第一電力控制部3013通過使與運(yùn)轉(zhuǎn)停止對(duì)象的執(zhí)行單元1350對(duì)應(yīng)的電子開關(guān)截止,能夠切斷向執(zhí)行單元1350的電力供給,削減運(yùn)轉(zhuǎn)個(gè)數(shù)。另外,切斷向執(zhí)行單元1350的電力供給是在向發(fā)行單元1330指示停止發(fā)行命令后進(jìn)行的。在步驟S3407,第一電力控制部3013向循環(huán)脫離檢測(cè)部1704輸出執(zhí)行指示1713。參照?qǐng)D25的流程圖來說明第二電力控制部3015的處理。首先,在步驟S3501,第二電力控制部3015對(duì)是否從循環(huán)脫離檢測(cè)部1704接收到執(zhí)行指示1714進(jìn)行判定。在判定結(jié)果為“是”的情況下,進(jìn)入步驟S3503。在判定結(jié)果為“否”的情況下,再次執(zhí)行步驟S3501的處理。另外,如上所述,在執(zhí)行指示1714中包含線程識(shí)別符。然后,在步驟S3503,第二電力控制部3015向與線程識(shí)別符所示的線程對(duì)應(yīng)的寄存器組四10(向與當(dāng)前動(dòng)作中的線程對(duì)應(yīng)的寄存器組四10)輸出時(shí)間片設(shè)定信息3105。例如,在線程識(shí)別符是“2”的情況下,將線程識(shí)別符寄存器四12是“2”的第二寄存器組^lOb的時(shí)間片寄存器的值從“50”恢復(fù)為“100”。然后,在步驟S3505,第二電力控制部3015向執(zhí)行單元1350輸出用來使執(zhí)行單元1350的運(yùn)轉(zhuǎn)個(gè)數(shù)增加的運(yùn)轉(zhuǎn)個(gè)數(shù)增加指示3109。例如,進(jìn)行指示以使得執(zhí)行單元1350的運(yùn)轉(zhuǎn)個(gè)數(shù)恢復(fù)為被第一電力控制部3013減少前的個(gè)數(shù)即4條。另外,運(yùn)轉(zhuǎn)個(gè)數(shù)增加指示3109是按照與上述運(yùn)轉(zhuǎn)個(gè)數(shù)減少指示3107相反的順序進(jìn)行的。即,在將電子開關(guān)設(shè)為導(dǎo)通后,向發(fā)行單元1330進(jìn)行指示以便再次開始發(fā)行命令。在此,對(duì)在進(jìn)行節(jié)電控制時(shí)分配給在執(zhí)行忙碌等待的線程(上述例子中的第二線程)的處理器資源(處理器的處理能力)、以及分配給未執(zhí)行忙碌等待的線程即進(jìn)行通常處理的線程(上述例子中的第一線程)的處理器資源進(jìn)行說明。分配給各個(gè)線程的處理器資源通常是“各個(gè)線程的時(shí)間片+所有線程的時(shí)間片的總和X執(zhí)行單元1350的運(yùn)轉(zhuǎn)個(gè)數(shù)”。在該例中,對(duì)于第一線程,執(zhí)行節(jié)電控制時(shí)的執(zhí)行單元1350的運(yùn)轉(zhuǎn)個(gè)數(shù)減少為通常電力控制時(shí)的四分之三,但執(zhí)行節(jié)電控制時(shí)的“分配給各個(gè)線程的時(shí)間片+所有線程的時(shí)間片的總和”增加為通常電力控制時(shí)的三分之四(從100 + 200增加為100+150),因而
兩者之積為1。另一方面,對(duì)于第二線程,兩者之積為1/2。因此,在該例中,即使進(jìn)行節(jié)電控制,對(duì)未執(zhí)行忙碌等待的線程即第一線程分配的處理器資源也不減少。由此,能夠維持未執(zhí)行忙碌循環(huán)的線程的處理速度并且有選擇地減少對(duì)在執(zhí)行忙碌循環(huán)的線程分配的處理能力來執(zhí)行忙碌等待,從而降低處理器四01消耗的電力以及計(jì)算機(jī)系統(tǒng)四00消耗的電力。上述節(jié)電控制也能夠理解如下。在上述例子中,使用上述計(jì)算式,從而與對(duì)忙碌等待狀態(tài)的線程分配的時(shí)間片的減少量相當(dāng)?shù)奶幚砥髻Y源成為“50 + 200X執(zhí)行單元的運(yùn)轉(zhuǎn)個(gè)數(shù)”。即,上述時(shí)間片的減少量相當(dāng)于通常電力控制時(shí)的處理器資源的四分之一。因此,如果與上述四分之一的處理器資源相應(yīng)地使執(zhí)行單元1350的運(yùn)轉(zhuǎn)個(gè)數(shù)減少四分之一,則能夠降低處理器四01的電力消耗,而不減小非忙碌等待狀態(tài)的線程的處理器資源。此外,當(dāng)忙碌等待狀態(tài)的特定線程脫離忙碌等待狀態(tài)時(shí),通過增加執(zhí)行單元1350的運(yùn)轉(zhuǎn)個(gè)數(shù),能夠增加對(duì)上述特定線程分配的處理器資源,而不減少其它線程的處理器資源。這樣,上述節(jié)電控制根據(jù)對(duì)忙碌等待狀態(tài)的線程分配的時(shí)間片的減少量,減少執(zhí)行單元的運(yùn)轉(zhuǎn)個(gè)數(shù)。(3)節(jié)電控制補(bǔ)充如果將上述兩種節(jié)電控制相結(jié)合,則分配給各個(gè)線程的處理器資源(處理能力)成為“各個(gè)線程的時(shí)間片+所有線程的時(shí)間片的總和χ時(shí)鐘1307的頻率X執(zhí)行單元1350的運(yùn)轉(zhuǎn)個(gè)數(shù)”。根據(jù)本實(shí)施方式,根據(jù)上述計(jì)算,能夠有選擇地減少在執(zhí)行忙碌循環(huán)的線程的處理器資源,而不會(huì)減少未執(zhí)行忙碌循環(huán)的線程的處理器資源。此外,在節(jié)電控制中,能夠根據(jù)對(duì)忙碌等待狀態(tài)的線程分配的時(shí)間片的減少量,使時(shí)鐘1307的頻率及執(zhí)行單元1350的運(yùn)轉(zhuǎn)個(gè)數(shù)中的至少一方減少。另外,在節(jié)電控制時(shí)也可以增加未執(zhí)行忙碌循環(huán)的線程的處理器資源。在這種情況下,也能夠降低由于執(zhí)行忙碌循環(huán)而浪費(fèi)的電力。另外,在實(shí)施方式2中,關(guān)于節(jié)電控制以及結(jié)束節(jié)電控制并返回通常電力控制的控制,除了在節(jié)電控制1和節(jié)電控制2中記載的控制方式之外,例如也可以進(jìn)行下述的控制。降低向處理器四01供給的電力1306的電壓、或者降低向處理器四01供給的電力1306的電壓及時(shí)鐘1307的頻率,由此進(jìn)行節(jié)電控制。并且,增加向處理器四01供給的電力1306的電壓、或者增加向處理器四01供給的電力1306的電壓及時(shí)鐘1307的頻率,由此進(jìn)行結(jié)束節(jié)電控制并返回通常電力控制的控制。此外,通過減少執(zhí)行單元1350的運(yùn)轉(zhuǎn)個(gè)數(shù)并且降低向處理器四01供給的電力1306的電壓,或者通過減少執(zhí)行單元1350的運(yùn)轉(zhuǎn)個(gè)數(shù)并且降低向處理器四01供給的電力1306的電壓及時(shí)鐘1307的頻率,由此進(jìn)行節(jié)電控制。并且,通過增加執(zhí)行單元1350的運(yùn)轉(zhuǎn)個(gè)數(shù)并且增加向處理器四01供給的電力1306的電壓,或者通過增加執(zhí)行單元1350的運(yùn)轉(zhuǎn)個(gè)數(shù)并且增加向處理器四01供給的電力1306的電壓及時(shí)鐘1307的頻率,由此進(jìn)行結(jié)束節(jié)電控制并返回通常電力控制的控制。另外,第一電力控制部3013和第二電力控制部3015的控制對(duì)象不限于電力1306的電壓、時(shí)鐘1307的頻率和執(zhí)行單元1350的運(yùn)轉(zhuǎn)個(gè)數(shù)。第一電力控制部3013和第二電力控制部3015的控制對(duì)象只要能控制對(duì)處理器2901或計(jì)算機(jī)系統(tǒng)四00供給的電力即可。[實(shí)施方式3]參照?qǐng)D沈?qū)?shí)施方式3的計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)進(jìn)行說明。另外,在圖沈中,對(duì)與圖1的計(jì)算機(jī)系統(tǒng)1300相同的構(gòu)成要素采用相同的標(biāo)號(hào),并省略說明。本實(shí)施方式3的計(jì)算機(jī)系統(tǒng)4000在以下方面與上述實(shí)施方式1的計(jì)算機(jī)系統(tǒng)1300不同。(i)在計(jì)算機(jī)系統(tǒng)4000中具有程序計(jì)數(shù)器監(jiān)視部4100,以取代循環(huán)檢測(cè)部1701和循環(huán)脫離檢測(cè)部1704。(ii)在計(jì)算機(jī)系統(tǒng)4000中具有總線監(jiān)視部4200,以取代循環(huán)傳遞相關(guān)解析部
1702。<處理器>集成電路4010內(nèi)的處理器4020是從實(shí)施方式1的處理器1301中去除了節(jié)電控制裝置(循環(huán)檢測(cè)部1701、循環(huán)傳遞相關(guān)解析部1702、第一電力控制部1703、循環(huán)脫離檢測(cè)部1704、第二電力控制部170 而得到的。此外,發(fā)行單元1330A是從實(shí)施方式1的發(fā)行單元1330中去除了循環(huán)傳遞相關(guān)解析部1702而得到的,退出單元1360A是從實(shí)施方式1的退出單元1360中去除了循環(huán)檢測(cè)部1701、循環(huán)脫離檢測(cè)部1704而得到的?!垂?jié)電控制裝置〉在實(shí)施方式3中,由程序計(jì)數(shù)器監(jiān)視部4100、總線監(jiān)視部4200、第一電力控制部
1703、第二電力控制部1705構(gòu)成節(jié)電控制裝置。另外,可以將程序計(jì)數(shù)器監(jiān)視部4100、總線監(jiān)視部4200、第一電力控制部1703、第二電力控制部1705的一部分或全部設(shè)于處理器內(nèi)。(1-1)程序計(jì)數(shù)器監(jiān)視部4100(與節(jié)電控制有關(guān)的動(dòng)作)參照?qǐng)D27的流程圖對(duì)程序計(jì)數(shù)器監(jiān)視部4100的與節(jié)電控制有關(guān)的動(dòng)作進(jìn)行說明。其中,圖27的流程圖著眼于在處理器4020執(zhí)行循環(huán)處理的期間、程序計(jì)數(shù)器1311的值按一定的模式(pattern)進(jìn)行反復(fù)的情況。在步驟S4501,程序計(jì)數(shù)器監(jiān)視部4100對(duì)程序計(jì)數(shù)器1311的值是否在按一定的模式進(jìn)行反復(fù)進(jìn)行監(jiān)視。并且,在步驟S4501的判定結(jié)果為“否”的情況下(程序計(jì)數(shù)器1311的值未以一定的模式進(jìn)行反復(fù)的情況),返回步驟S4501。在步驟S4501的判定結(jié)果為“是”的情況下(程序計(jì)數(shù)器1311的值在按一定的模式進(jìn)行反復(fù)的情況),進(jìn)入步驟S4503。在步驟S4503,程序計(jì)數(shù)器監(jiān)視部4100向總線監(jiān)視部4200輸出執(zhí)行總線監(jiān)視的執(zhí)行指示1711A。
(1-2)總線監(jiān)視部4200參照?qǐng)D28的流程圖對(duì)總線監(jiān)視部4200的動(dòng)作進(jìn)行說明。其中,圖觀的流程圖著眼于,處理器4020執(zhí)行循環(huán)處理且若在該循環(huán)間不存在循環(huán)傳遞相關(guān)關(guān)系則存在與讀出有關(guān)的地址不發(fā)生變化的情況。在步驟S4601,總線監(jiān)視部4200對(duì)是否從程序計(jì)數(shù)器監(jiān)視部4100接收到執(zhí)行指示1711A進(jìn)行判定。在步驟S4601的判定結(jié)果為“是”的情況下進(jìn)入步驟S4603。在步驟S4601的判定結(jié)果為“否”的情況下,再次執(zhí)行步驟S4601的判定。在步驟S4603,總線監(jiān)視部4200監(jiān)視總線1305,并判定與讀出有關(guān)的地址是否有變化。在步驟S4603的判定結(jié)果為“是”的情況下(與讀出有關(guān)的地址有變化的情況),進(jìn)入步驟S4605。在步驟S4603的判定結(jié)果為“否”的情況下(與讀出有關(guān)的地址沒有變化的情況),進(jìn)入步驟S4607。在步驟S4605,總線監(jiān)視部4200不向第一電力控制部1703輸出執(zhí)行節(jié)電控制的執(zhí)行指示1712。在步驟S4607,總線監(jiān)視部4200向第一電力控制部1703輸出執(zhí)行節(jié)電控制的執(zhí)行指示1712。另外,第一電力控制部1703若從總線監(jiān)視部4200接收到執(zhí)行指示1712,則向電力供給器件1304發(fā)送電力控制信息1731,并且向程序計(jì)數(shù)器4100輸出用于檢測(cè)節(jié)電控制結(jié)束的執(zhí)行指示1713A。另外,第一電力控制部1703的節(jié)電控制能夠利用在實(shí)施方式1中記載的各個(gè)節(jié)電控制。(1-3)程序計(jì)數(shù)器監(jiān)視部4100 (與節(jié)電控制結(jié)束有關(guān)的動(dòng)作)參照?qǐng)D四的流程圖對(duì)程序計(jì)數(shù)器監(jiān)視部4100的與節(jié)電控制結(jié)束有關(guān)的動(dòng)作進(jìn)行說明。其中,圖四的流程圖著眼于,在處理器4020執(zhí)行的循環(huán)處理結(jié)束后,程序計(jì)數(shù)器1311的值在循環(huán)處理執(zhí)行中偏離按一定模式進(jìn)行反復(fù)的情況。在步驟S4701,程序計(jì)數(shù)器監(jiān)視部4100對(duì)是否從第一電力控制部1703接收到執(zhí)行指示1713A進(jìn)行判定。在步驟S4701的判定結(jié)果為“是”的情況下進(jìn)入步驟S4703。在步驟S4701的判定結(jié)果為“否”的情況下再次執(zhí)行步驟S4701的判定。在步驟S4703,程序計(jì)數(shù)器監(jiān)視部4100監(jiān)視程序計(jì)數(shù)器1311的值是否按與步驟S4501的判定時(shí)的一定模式相同的一定模式進(jìn)行反復(fù)。并且,在步驟S4703的判定結(jié)果為“是”的情況下(程序計(jì)數(shù)器1311的值按一定模式進(jìn)行反復(fù)的情況),視為處理器4020繼續(xù)執(zhí)行循環(huán)處理,返回步驟S4703。在步驟S4703的判定結(jié)果為“否”的情況下(程序計(jì)數(shù)器1311的值未按一定模式進(jìn)行反復(fù)的情況),視為處理器4020已結(jié)束執(zhí)行循環(huán)處理,進(jìn)入步驟S4703。 在步驟S4705,程序計(jì)數(shù)器監(jiān)視部4100向第二電力控制部1705輸出執(zhí)行節(jié)電控制結(jié)束的執(zhí)行指示1714。另外,第二電力控制部1705若從程序計(jì)數(shù)器監(jiān)視部4100接收到執(zhí)行指示1714,則向電力供給器件1304發(fā)送電力控制信息1735。另外,第二電力控制部1705進(jìn)行的結(jié)束節(jié)電控制并返回通常電力控制的控制能夠利用在實(shí)施方式1中記載的各個(gè)結(jié)束節(jié)電控制并返回通常電力控制的控制。[實(shí)施方式4]參照?qǐng)D30對(duì)實(shí)施方式4的計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)進(jìn)行說明。另外,在圖30中,對(duì)與圖20的計(jì)算機(jī)系統(tǒng)四00或圖沈的計(jì)算機(jī)系統(tǒng)4000相同的構(gòu)成要素采用相同的標(biāo)號(hào),并省略說明。本實(shí)施方式4的計(jì)算機(jī)系統(tǒng)4500在以下方面與上述實(shí)施方式2的計(jì)算機(jī)系統(tǒng)2900不同。(i)在計(jì)算機(jī)系統(tǒng)4500中具有程序計(jì)數(shù)器監(jiān)視部4100,以取代循環(huán)檢測(cè)部1701和循環(huán)脫離檢測(cè)部1704。(ii)在計(jì)算機(jī)系統(tǒng)4500中具有總線監(jiān)視部4200,以取代循環(huán)傳遞相關(guān)解析部1702。<處理器>集成電路4510內(nèi)的處理器4520是從實(shí)施方式2的處理器四01中去除了節(jié)電控制裝置(循環(huán)檢測(cè)部1701、循環(huán)傳遞相關(guān)解析部1702、第一電力控制部3013、循環(huán)脫離檢測(cè)部1704、第二電力控制部301 而得到的?!垂?jié)電控制裝置〉在實(shí)施方式4中,由程序計(jì)數(shù)器監(jiān)視部4100、總線監(jiān)視部4200、第一電力控制部3013、第二電力控制部3015構(gòu)成節(jié)電控制裝置。另外,可以將程序計(jì)數(shù)器監(jiān)視部4100、總線監(jiān)視部4200、第一電力控制部3013、第二電力控制部3015的一部分或全部設(shè)于處理器內(nèi)。(1-1)程序計(jì)數(shù)器監(jiān)視部4100(與節(jié)電控制有關(guān)的動(dòng)作)向程序計(jì)數(shù)器監(jiān)視部4100輸入各個(gè)線程的程序計(jì)數(shù)器1311的值,并且從線程切換部四20向程序計(jì)數(shù)器監(jiān)視部4100輸入表示當(dāng)前動(dòng)作中的線程的信息。由于處理器4200 —邊切換線程一邊動(dòng)作,因此程序計(jì)數(shù)器監(jiān)視部4100以線程為單位來監(jiān)視程序計(jì)數(shù)器1311。并且,程序計(jì)數(shù)器監(jiān)視部4100在檢測(cè)到與從線程切換部四20接收到的信息對(duì)應(yīng)的線程的程序計(jì)數(shù)器1311的值在按一定模式進(jìn)行反復(fù)的情況下,向總線監(jiān)視部4200輸出執(zhí)行總線監(jiān)視的執(zhí)行指示1711A。另外,假設(shè)該執(zhí)行指示1711A包括表示程序計(jì)數(shù)器1311的值在按一定模式進(jìn)行反復(fù)的線程的信息。(1-2)總線監(jiān)視部4200從線程切換部四20向總線監(jiān)視部4200輸入表示當(dāng)前動(dòng)作中的線程的信息??偩€監(jiān)視部4200對(duì)于從程序計(jì)數(shù)器監(jiān)視部4100接收到的各個(gè)執(zhí)行指示1711A中包含的信息所示的線程,監(jiān)視總線1305。并且,總線監(jiān)視部4200在檢測(cè)到與從線程切換部2920接收到的當(dāng)前動(dòng)作中的線程的讀出有關(guān)的地址沒有變化的情況下,向第一電力控制部3013輸出執(zhí)行節(jié)電控制的執(zhí)行指示1712。假設(shè)該執(zhí)行指示1712包括表示檢測(cè)到與讀出有關(guān)的地址沒有變化的線程的信息。第一電力控制部3013向程序計(jì)數(shù)器4100輸出用于檢測(cè)節(jié)電控制結(jié)束的執(zhí)行指示1713A。另外,第一電力控制部3013進(jìn)行的節(jié)電控制能夠利用在實(shí)施方式2中記載的各個(gè)節(jié)電控制。此外,第一電力控制部3013進(jìn)行的時(shí)間片數(shù)量的減少控制能夠利用在實(shí)施方式2中記載的各個(gè)減少時(shí)間片數(shù)量的控制。(1-3)程序計(jì)數(shù)器監(jiān)視部4100 (與節(jié)電控制結(jié)束有關(guān)的動(dòng)作)程序計(jì)數(shù)器監(jiān)視部4100對(duì)于從第一電力控制部3013接收到的各個(gè)執(zhí)行指示1713A中包含的信息所示的線程,監(jiān)視程序計(jì)數(shù)器1311。并且,程序計(jì)數(shù)器監(jiān)視部4100在檢測(cè)到從線程切換部四20接收到的當(dāng)前動(dòng)作中的線程的程序計(jì)數(shù)器1311的值沒有按一定模式進(jìn)行反復(fù)的情況下,向第二電力控制部3014輸出用來執(zhí)行使節(jié)電控制結(jié)束的執(zhí)行指示1714。另外,假設(shè)該執(zhí)行指示1714包括表示程序計(jì)數(shù)器1311的值變得不按一定模式進(jìn)行反復(fù)的線程的信息。另外,關(guān)于第二電力控制部3015進(jìn)行的結(jié)束節(jié)電控制并返回通常電力控制的控制,能夠利用在實(shí)施方式2中記載的各個(gè)結(jié)束節(jié)電控制并返回通常電力控制的控制。此外,關(guān)于第二電力控制部3015進(jìn)行的增加時(shí)間片數(shù)量的控制,能夠利用在實(shí)施方式2中記載的各個(gè)增加時(shí)間片數(shù)量的控制。[其它](1)上述實(shí)施方式及變形例的說明在所有方面上都只不過是本發(fā)明的示例,不能限定其范圍。此外,當(dāng)然能夠在不脫離本發(fā)明的范圍的情況下進(jìn)行各種改進(jìn)和變形。(2)在上述實(shí)施方式1、2及變形例中,檢測(cè)由執(zhí)行單元執(zhí)行后的分支命令,對(duì)在命令序列保存部1340中存儲(chǔ)的循環(huán)范圍的命令序列進(jìn)行解析有無循環(huán)傳遞相關(guān)的處理。相對(duì)于此,也能夠由循環(huán)檢測(cè)部檢測(cè)被讀入命令高速緩沖器1370的執(zhí)行前的命令序列所包含的分支命令,對(duì)檢測(cè)到的循環(huán)處理預(yù)先進(jìn)行解析有無循環(huán)傳遞相關(guān)的處理。并且,在檢測(cè)到忙碌等待用的循環(huán)的情況下,能夠?qū)⒎种畹牡刂坊蛘哐h(huán)范圍存儲(chǔ)在緩沖器中。結(jié)果,在執(zhí)行了在緩沖器中存儲(chǔ)的地址的命令的情況下,能夠檢測(cè)到忙碌等待用的循環(huán)被執(zhí)行這一情況。在這種情況下,循環(huán)檢測(cè)部能夠設(shè)置在退出單元1360之外的部位,循環(huán)傳遞相關(guān)解析部能夠設(shè)置在發(fā)行單元1330之外的部位。此外,也可以將從命令高速緩沖器進(jìn)行命令的取指等的單元與命令取指/解碼單元1320分體設(shè)置。(3)在上述實(shí)施方式2、4中,執(zhí)行單元的運(yùn)轉(zhuǎn)個(gè)數(shù)在節(jié)電控制時(shí)減少。與此相同,在實(shí)施方式1、3中,也能夠使執(zhí)行單元的運(yùn)轉(zhuǎn)個(gè)數(shù)在節(jié)電控制時(shí)減少。(4)在上述實(shí)施方式1、2及變形例中,循環(huán)檢測(cè)部1704根據(jù)分支命令等的執(zhí)行結(jié)果進(jìn)行循環(huán)處理的檢測(cè)。這里,存在對(duì)退出單元1360設(shè)置對(duì)已發(fā)行的命令及該命令的地址進(jìn)行存儲(chǔ)的重新排序緩沖器(reordering buffer)的情況。在這種情況下,能夠根據(jù)從發(fā)行單元1330向重新排序緩沖器發(fā)送的分支命令,檢測(cè)到分支命令的發(fā)行。然后,在分支命令的執(zhí)行結(jié)果已被發(fā)送給退出單元的情況下,或者在分支命令的執(zhí)行結(jié)果已退出的情況下(程序計(jì)數(shù)器已被改寫的情況等),能夠檢測(cè)到分支命令的執(zhí)行。(5)在上述實(shí)施方式1 4及變形例中,也可以是,電力供給器件具有對(duì)向處理器供給的時(shí)鐘的頻率進(jìn)行存儲(chǔ)的時(shí)鐘頻率存儲(chǔ)部,處理器能夠從時(shí)鐘頻率存儲(chǔ)部讀取時(shí)鐘頻率。作為這種情況下的安裝方法的例子,列舉第一例及第二例。在第一例中,時(shí)鐘頻率存儲(chǔ)部被安裝為已被內(nèi)存映射(memory-mapped)的寄存
ο時(shí)鐘頻率存儲(chǔ)部被分配為總線上的特定地址。處理器通過總線從時(shí)鐘頻率存儲(chǔ)部讀取時(shí)鐘頻率。在第二例中,處理器執(zhí)行特定的命令,由此處理器取得時(shí)鐘頻率存儲(chǔ)部。在執(zhí)行單元中執(zhí)行了特定的命令的情況下,處理器從存在于電力供給器件的時(shí)鐘頻率存儲(chǔ)部讀取時(shí)鐘頻率。圖31表示具有特定命令的命令集1400A的例子。圖31所示的命令集1400A是向在圖4中說明的命令集1400追加了 READCLK命令1420而得到的,READCLK命令1420相當(dāng)于為了從時(shí)鐘頻率存儲(chǔ)部讀取時(shí)鐘頻率而由處理器執(zhí)行的特定的命令。(6)在上述實(shí)施方式2、4及變形例中,也可以是,能夠由處理器讀取時(shí)間片。例如,處理器執(zhí)行特定的命令,從而處理器取得時(shí)間片。當(dāng)在執(zhí)行單元中執(zhí)行了特定的命令的情況下,處理器讀取時(shí)間片。圖32表示具有特定的命令的命令集1400B的例子。圖32所示的命令集1400B是向在圖4中說明的命令集1400追加了 READCLK命令1420和READTS命令1421而得到的,READTS命令1421相當(dāng)于為了讀取時(shí)間片而由處理器執(zhí)行的特定的命令。[補(bǔ)充]本發(fā)明的一個(gè)形態(tài)的集成電路,具有處理器,該集成電路具有循環(huán)檢測(cè)部,檢測(cè)上述處理器中循環(huán)處理的執(zhí)行,該循環(huán)處理反復(fù)執(zhí)行由一個(gè)以上的命令構(gòu)成的循環(huán);循環(huán)傳遞相關(guān)解析部,檢測(cè)在上述循環(huán)處理中命令之間的相關(guān)跨執(zhí)行次不同的兩個(gè)循環(huán)的循環(huán)傳遞相關(guān);以及電力控制部,上述循環(huán)傳遞相關(guān)解析部沒有在由上述循環(huán)檢測(cè)部檢測(cè)到的循環(huán)處理中檢測(cè)到循環(huán)傳遞相關(guān)的情況下,進(jìn)行使由于執(zhí)行上述循環(huán)處理而產(chǎn)生的電力消耗降低的節(jié)電控制。本形態(tài)的集成電路,能夠通過循環(huán)檢測(cè)部檢測(cè)循環(huán)處理,通過循環(huán)傳遞相關(guān)解析部判別循環(huán)處理是否用于忙碌等待。因此,不用與特定的命令序列(例如互鎖用的命令序列)進(jìn)行比較,即可檢測(cè)忙碌等待用的循環(huán)。因此,能夠容易檢測(cè)由特定命令序列之外的命令序列構(gòu)成的忙碌等待用的循環(huán),在忙碌等待時(shí)能夠進(jìn)行節(jié)電控制。結(jié)果,能夠檢測(cè)更多種的忙碌等待的執(zhí)行,降低由于忙碌等待的執(zhí)行而浪費(fèi)的電力。這里,循環(huán)傳遞相關(guān)是指,在循環(huán)處理中,在第i次執(zhí)行的循環(huán)的命令與第j次(j> i)執(zhí)行的循環(huán)的命令之間產(chǎn)生相關(guān)關(guān)系。具體而言,例如在以下情況下存在循環(huán)傳遞相關(guān),該情況是通過第j次的循環(huán)內(nèi)的某個(gè)命令,從特定的變量(寄存器)中,將通過第i次的循環(huán)內(nèi)的某個(gè)命令向特定的變量(寄存器)寫入的值讀出的情況。并且,在循環(huán)處理中存在循環(huán)傳遞相關(guān)的情況下,上述循環(huán)處理被判斷為不是忙碌等待用的循環(huán)處理而是用于執(zhí)行運(yùn)算等的循環(huán)處理,因而不成為節(jié)電控制的對(duì)象。在此,參照附圖對(duì)存在循環(huán)傳遞相關(guān)的循環(huán)的例子和不存在循環(huán)傳遞相關(guān)的循環(huán)的例子進(jìn)行說明。首先,參照?qǐng)D11對(duì)存在循環(huán)傳遞相關(guān)的循環(huán)處理的例子進(jìn)行說明。在圖11的命令序列沈00中,在從2004地址到2010地址之間構(gòu)成循環(huán)。通過2004地址的ADD命令,將向R2寄存器加4得到的值輸入R2寄存器。然后,通過2008地址的LDR命令,從R2寄存器所指的地址向RO寄存器讀入值。然后,通過200c地址的CMP命令,將RO寄存器的值和預(yù)先存儲(chǔ)有設(shè)定值的Rl寄存器的值進(jìn)行比較。在值一致的情況下,通過2010地址的BNE命令脫離循環(huán)。在值不一致的情況下,通過2010地址的BNE命令向2004地址分支。在圖11所示的命令序列沈00構(gòu)成的循環(huán)中,通過2004地址的ADD命令而被寫入的寄存器(R2寄存器)的值,通過下一次的相同命令(2004地址的ADD命令)而被讀出。因此,圖11所示的命令序列沈00構(gòu)成的循環(huán)相當(dāng)于這樣的循環(huán),即通過第j次(j > i)的循環(huán)內(nèi)的命令,從特定的寄存器中,將通過第i次的循環(huán)內(nèi)的命令向特定的寄存器寫入的值讀出的循環(huán)。因此,在圖11所示的命令序列2600構(gòu)成的循環(huán)中,存在循環(huán)傳遞相關(guān)。循環(huán)傳遞相關(guān)所在的循環(huán)被判定為非忙碌等待用的循環(huán),不成為節(jié)電控制的對(duì)象。下面,參照?qǐng)D8對(duì)不存在循環(huán)傳遞相關(guān)的循環(huán)的例子進(jìn)行說明。在圖8的命令序列2100中,在從1004地址到1010地址之間構(gòu)成循環(huán)。通過1008地址的LDR命令,從R2寄存器所指的地址向RO寄存器讀入值。然后,通過IOOc地址的CMP命令,將RO寄存器的值和預(yù)先存儲(chǔ)了值的Rl寄存器的值進(jìn)行比較。在值一致的情況下,通過1010地址的BNE命令脫離循環(huán)。即,由于分支不成立而循環(huán)處理結(jié)束。另一方面,在值不一致的情況下,通過1010地址的BNE命令向1004地址分支。即分支成立。需要留意的是,圖8所示的命令序列2100在后級(jí)循環(huán)中不讀出在前級(jí)循環(huán)中寫入的寄存器的值。在循環(huán)內(nèi)被進(jìn)行寫入的寄存器只有RO寄存器,通過前級(jí)循環(huán)而被寫入RO寄存器的值在后級(jí)循環(huán)中不被讀取。因此,圖8所示的命令序列2100構(gòu)成的循環(huán)是這樣的循環(huán),即通過第j次(j > i)的循環(huán)內(nèi)的命令,不將通過第i次的循環(huán)內(nèi)的命令向寄存器寫入的特定的值讀出的循環(huán)。因此,在圖8所示的命令序列構(gòu)成的循環(huán)中不存在循環(huán)傳遞相關(guān)。不存在循環(huán)傳遞相關(guān)的循環(huán)被判斷為忙碌等待用的循環(huán),成為節(jié)電控制的對(duì)象。循環(huán)處理的檢測(cè)例如可以在執(zhí)行了循環(huán)所包含的命令之后進(jìn)行,也可以在執(zhí)行之前進(jìn)行。另外,也可以從在命令高速緩沖器中存儲(chǔ)的命令序列檢測(cè)循環(huán)處理。并且,循環(huán)傳遞相關(guān)的檢測(cè)處理只要在循環(huán)檢測(cè)處理之后,則既可以在執(zhí)行循環(huán)所包含的命令之前進(jìn)行,也可以在執(zhí)行之后進(jìn)行。本發(fā)明的一個(gè)形態(tài)的控制方法,是具有處理器的計(jì)算機(jī)系統(tǒng)的控制方法,該控制方法包含以下步驟循環(huán)檢測(cè)步驟,檢測(cè)上述處理器中循環(huán)處理的執(zhí)行,該循環(huán)處理反復(fù)執(zhí)行由一個(gè)以上的命令構(gòu)成的循環(huán);循環(huán)傳遞相關(guān)檢測(cè)步驟,檢測(cè)在上述循環(huán)處理中命令之間的相關(guān)跨執(zhí)行次不同的兩個(gè)循環(huán)的循環(huán)傳遞相關(guān);以及電力控制步驟,上述循環(huán)傳遞相關(guān)解析步驟沒有在由上述循環(huán)檢測(cè)步驟檢測(cè)到的循環(huán)處理中檢測(cè)到循環(huán)傳遞相關(guān)的情況下,進(jìn)行使由于執(zhí)行上述循環(huán)處理而產(chǎn)生的電力消耗降低的節(jié)電控制。本發(fā)明的一個(gè)形態(tài)的計(jì)算機(jī)系統(tǒng),具有處理器,該計(jì)算機(jī)系統(tǒng)中具有循環(huán)檢測(cè)部,檢測(cè)上述處理器中循環(huán)處理的執(zhí)行,該循環(huán)處理反復(fù)執(zhí)行由一個(gè)以上的命令構(gòu)成的循環(huán);循環(huán)傳遞相關(guān)解析部,檢測(cè)上述循環(huán)處理中命令之間的相關(guān)跨執(zhí)行次不同的兩個(gè)循環(huán)的循環(huán)傳遞相關(guān);以及電力控制部,上述循環(huán)傳遞相關(guān)解析部沒有在由上述循環(huán)檢測(cè)部檢測(cè)到的循環(huán)處理中檢測(cè)到循環(huán)傳遞相關(guān)的情況下,進(jìn)行使由于執(zhí)行上述循環(huán)處理而產(chǎn)生的電力消耗降低的節(jié)電控制。本形態(tài)的控制方法及計(jì)算機(jī)系統(tǒng)分別實(shí)現(xiàn)與上述的一個(gè)形態(tài)的集成電路相同的效果。能夠使本發(fā)明的一個(gè)形態(tài)的集成電路構(gòu)成為,還具有檢測(cè)上述循環(huán)處理的執(zhí)行結(jié)束的循環(huán)結(jié)束檢測(cè)部,在進(jìn)行節(jié)電控制的狀態(tài)下,在上述循環(huán)結(jié)束檢測(cè)部檢測(cè)到上述循環(huán)處理的結(jié)束的情況下,上述電力控制部結(jié)束節(jié)電控制。能夠使本發(fā)明的一個(gè)形態(tài)的集成電路構(gòu)成為,上述循環(huán)傳遞相關(guān)解析部,根據(jù)在上述循環(huán)處理中通過第一循環(huán)向變量寫入的值被在上述第一循環(huán)之后執(zhí)行的第二循環(huán)從上述變量讀出這一情況,判定為存在循環(huán)傳遞相關(guān)。 能夠使本發(fā)明的一個(gè)形態(tài)的集成電路構(gòu)成為,上述循環(huán)檢測(cè)部根據(jù)上述處理器中向在先地址分支的命令的執(zhí)行,檢測(cè)到上述處理器已成為循環(huán)執(zhí)行狀態(tài)。由此,當(dāng)在處理器中執(zhí)行程序時(shí),能夠根據(jù)分支命令的執(zhí)行而容易地檢測(cè)出循環(huán)處理。能夠使本發(fā)明的一個(gè)形態(tài)的集成電路構(gòu)成為,還具有存儲(chǔ)循環(huán)范圍的循環(huán)范圍存儲(chǔ)部,上述循環(huán)檢測(cè)部在檢測(cè)到向在先地址分支的分支命令的情況下,向上述循環(huán)范圍存儲(chǔ)部輸出循環(huán)的范圍,并且,指示上述循環(huán)傳遞相關(guān)解析部進(jìn)行相關(guān)關(guān)系解析,上述循環(huán)傳遞相關(guān)解析部針對(duì)在上述循環(huán)范圍存儲(chǔ)部中存儲(chǔ)的循環(huán)的范圍的命令序列,進(jìn)行循環(huán)傳遞相關(guān)的檢測(cè)處理。能夠使本發(fā)明的一個(gè)形態(tài)的集成電路構(gòu)成為,根據(jù)向上述循環(huán)范圍存儲(chǔ)部中存儲(chǔ)的循環(huán)范圍外分支的分支命令的執(zhí)行、或者位于上述循環(huán)范圍的末尾的條件分支命令的執(zhí)行結(jié)果是分支不成立,上述循環(huán)結(jié)束檢測(cè)部檢測(cè)到上述處理器中的循環(huán)處理的執(zhí)行已結(jié)
束ο能夠使本發(fā)明的一個(gè)形態(tài)的集成電路構(gòu)成為,上述循環(huán)范圍存儲(chǔ)部存儲(chǔ)包括循環(huán)的開頭地址和循環(huán)的末尾地址的信息。能夠使本發(fā)明的一個(gè)形態(tài)的集成電路構(gòu)成為,上述處理器具有保存被取指的命令序列的命令序列保存部,上述循環(huán)傳遞相關(guān)解析部針對(duì)在上述命令序列保存部中保存的上述循環(huán)的范圍的命令序列,進(jìn)行循環(huán)傳遞相關(guān)的檢測(cè)處理。能夠使本發(fā)明的一個(gè)形態(tài)的集成電路構(gòu)成為,在上述命令序列保存部中存儲(chǔ)的命令序列包括被預(yù)取指的命令。能夠使本發(fā)明的一個(gè)形態(tài)的集成電路構(gòu)成為,在進(jìn)行節(jié)電控制的情況下,上述電力控制部進(jìn)行使向上述處理器供給的時(shí)鐘的頻率減少的控制,在結(jié)束節(jié)電控制的情況下,上述電力控制部進(jìn)行使向上述處理器供給的時(shí)鐘的頻率增加的控制。通過減少時(shí)鐘的頻率,能夠降低由于忙碌等待而產(chǎn)生的電力浪費(fèi)。能夠使本發(fā)明的一個(gè)形態(tài)的集成電路構(gòu)成為,在進(jìn)行節(jié)電控制的情況下,上述電力控制部進(jìn)行使向上述處理器供給的電力的電壓降低的控制,在結(jié)束節(jié)電控制的情況下,上述電力控制部進(jìn)行使向上述處理器供給的電力的電壓增大的控制。通過降低電力的電壓,能夠降低由于忙碌等待而產(chǎn)生的電力浪費(fèi)。能夠使本發(fā)明的一個(gè)形態(tài)的集成電路構(gòu)成為,在進(jìn)行節(jié)電控制的情況下,上述電力控制部進(jìn)行使向上述處理器供給的電力的電壓降低、并且使向上述處理器供給的時(shí)鐘的頻率減少的控制,在結(jié)束節(jié)電控制的情況下,上述電力控制部進(jìn)行使向上述處理器供給的電力的電壓增大、并且使向上述處理器供給的時(shí)鐘的頻率增加的控制。通過減小時(shí)鐘的頻率、并且降低電力的電壓,能夠降低由于忙碌等待而產(chǎn)生的電力浪費(fèi)。能夠使本發(fā)明的一個(gè)形態(tài)的集成電路構(gòu)成為,當(dāng)在上述循環(huán)處理中一個(gè)命令的寫入對(duì)象的變量和讀出對(duì)象的變量相同的情況下,上述循環(huán)傳遞相關(guān)解析部判定為存在循環(huán)傳遞相關(guān)。能夠使本發(fā)明的一個(gè)形態(tài)的集成電路構(gòu)成為,上述處理器具有多個(gè)執(zhí)行單元,在進(jìn)行節(jié)電控制的情況下,上述電力控制部進(jìn)行使上述多個(gè)執(zhí)行單元中的一部分執(zhí)行單元停止的控制,在結(jié)束節(jié)電控制的情況下,上述電力控制部進(jìn)行使停止的上述多個(gè)執(zhí)行單元中的一部分執(zhí)行單元再次開始執(zhí)行的控制。通過使多個(gè)執(zhí)行單元中的一部分執(zhí)行單元停止,能夠降低由于忙碌等待而產(chǎn)生的電力浪費(fèi)。能夠使本發(fā)明的一個(gè)形態(tài)的集成電路構(gòu)成為,上述處理器具有對(duì)分配給多個(gè)線程的每個(gè)線程的時(shí)間片進(jìn)行管理的線程管理部,在進(jìn)行節(jié)電控制的情況下,上述電力控制部對(duì)上述線程管理部進(jìn)行指示,以減少對(duì)正在執(zhí)行未檢測(cè)到循環(huán)傳遞相關(guān)的循環(huán)處理的忙碌等待狀態(tài)的線程分配的時(shí)間片,在結(jié)束節(jié)電控制的情況下,上述電力控制部指示上述線程管理部,以增加對(duì)上述線程分配的時(shí)間片。由此,通過減少對(duì)忙碌等待狀態(tài)的線程分配的時(shí)間片,能夠降低由于忙碌等待而產(chǎn)生的電力浪費(fèi)。能夠使本發(fā)明的一個(gè)形態(tài)的集成電路構(gòu)成為,在進(jìn)行節(jié)電控制的情況下,上述電力控制部指示上述線程管理部以減少對(duì)忙碌等待狀態(tài)的上述線程分配的時(shí)間片,并且進(jìn)行使向上述處理器供給的時(shí)鐘的頻率減少的控制,在結(jié)束節(jié)電控制的情況下,上述電力控制部指示上述線程管理部以增加對(duì)上述線程分配的時(shí)間片,并且進(jìn)行使向上述處理器供給的時(shí)鐘的頻率增加的控制。由此,能夠降低由于忙碌等待而產(chǎn)生的電力浪費(fèi),并且能夠降低處理器的電力消耗。能夠使本發(fā)明的一個(gè)形態(tài)的集成電路構(gòu)成為,上述處理器具有多個(gè)執(zhí)行單元,在進(jìn)行節(jié)電控制的情況下,上述電力控制部指示上述線程管理部以減少對(duì)忙碌等待狀態(tài)的上述線程分配的時(shí)間片,并且進(jìn)行使上述多個(gè)執(zhí)行單元中的一部分停止的控制,在結(jié)束節(jié)電控制的情況下,上述電力控制部指示上述線程管理部以增加對(duì)上述線程分配的時(shí)間片,并且進(jìn)行使上述多個(gè)執(zhí)行單元中的一部分的執(zhí)行再次開始的控制。由此,能夠降低由于忙碌等待而產(chǎn)生的電力浪費(fèi),并且能夠降低處理器的電力消耗。能夠使本發(fā)明的一個(gè)形態(tài)的集成電路構(gòu)成為,上述處理器具有多個(gè)執(zhí)行單元,在進(jìn)行節(jié)電控制的情況下,上述電力控制部指示上述線程管理部以減少對(duì)忙碌等待狀態(tài)的線程分配的時(shí)間片,并且進(jìn)行使向上述處理器供給的時(shí)鐘的頻率減少并使上述多個(gè)執(zhí)行單元中的一部分停止的控制,在結(jié)束節(jié)電控制的情況下,上述電力控制部指示上述線程管理部以增加對(duì)上述線程分配的時(shí)間片,并且進(jìn)行使向上述處理器供給的時(shí)鐘的頻率增加并使上述多個(gè)執(zhí)行單元中的一部分的執(zhí)行再次開始的控制。由此,能夠降低由于忙碌等待而產(chǎn)生的電力浪費(fèi),并且能夠降低處理器的電力消耗。能夠使本發(fā)明的一個(gè)形態(tài)的集成電路構(gòu)成為,在進(jìn)行節(jié)電控制的情況下,上述電力控制部指示上述線程管理部以減少對(duì)忙碌等待狀態(tài)的線程分配的時(shí)間片,并且進(jìn)行使向上述處理器供給的時(shí)鐘的頻率減少并使向上述處理器供給的電力的電壓降低的控制,在結(jié)束節(jié)電控制的情況下,上述電力控制部指示上述線程管理部以增加對(duì)上述線程分配的時(shí)間片,并且進(jìn)行使向上述處理器供給的時(shí)鐘的頻率增加并使向上述處理器供給的電力的電壓增大的控制。由此,能夠降低由于忙碌等待而產(chǎn)生的電力浪費(fèi),并且能夠降低處理器的電力消耗。能夠使本發(fā)明的一個(gè)形態(tài)的集成電路構(gòu)成為,在進(jìn)行節(jié)電控制的情況下,上述電力控制部根據(jù)對(duì)忙碌等待狀態(tài)的線程分配的時(shí)間片的減少量,使向上述處理器供給的時(shí)鐘的頻率減少。能夠使本發(fā)明的一個(gè)形態(tài)的集成電路構(gòu)成為,在進(jìn)行節(jié)電控制的情況下,上述電力控制部根據(jù)對(duì)忙碌等待狀態(tài)的線程分配的時(shí)間片的減少量,使上述多個(gè)執(zhí)行單元的運(yùn)轉(zhuǎn)個(gè)數(shù)減少。本發(fā)明的其它形態(tài)的集成電路,具有處理器,該集成電路具有第一監(jiān)視部,監(jiān)視處理器內(nèi)的程序計(jì)數(shù)器中計(jì)數(shù)值是否正在按一定模式進(jìn)行反復(fù);第二監(jiān)視部,監(jiān)視上述處理器所連接的總線中與基于上述處理器的讀出有關(guān)的地址有無變化;以及電力控制部,在由上述第一監(jiān)視部檢測(cè)到上述計(jì)數(shù)值正在按一定模式進(jìn)行反復(fù)、而且由上述第二監(jiān)視部檢測(cè)到與基于上述處理器的讀出有關(guān)的地址沒有變化的情況下,進(jìn)行使上述處理器的電力消耗降低的節(jié)電控制。本發(fā)明的其它形態(tài)的控制方法,是具有處理器的計(jì)算機(jī)系統(tǒng)的控制方法,該控制方法包括以下步驟第一監(jiān)視步驟,監(jiān)視處理器內(nèi)的程序計(jì)數(shù)器中計(jì)數(shù)值是否正在按一定模式進(jìn)行反復(fù);第二監(jiān)視步驟,監(jiān)視上述處理器所連接的總線中與基于上述處理器的讀出有關(guān)的地址有無變化;以及電力控制步驟,在上述第一監(jiān)視步驟檢測(cè)到上述計(jì)數(shù)值正在按一定模式進(jìn)行反復(fù)、而且上述第二監(jiān)視步驟檢測(cè)到與基于上述處理器的讀出有關(guān)的地址沒有變化的情況下,進(jìn)行使上述處理器的電力消耗降低的節(jié)電控制。本發(fā)明的其它形態(tài)的計(jì)算機(jī)系統(tǒng),具有處理器,該計(jì)算機(jī)系統(tǒng)具有第一監(jiān)視部,監(jiān)視處理器內(nèi)的程序計(jì)數(shù)器中計(jì)數(shù)值是否正在按一定模式進(jìn)行反復(fù);第二監(jiān)視部,監(jiān)視上述處理器所連接的總線中與基于上述處理器的讀出有關(guān)的地址有無變化;以及電力控制部,在上述第一監(jiān)視部檢測(cè)到上述計(jì)數(shù)值正在按一定模式進(jìn)行反復(fù)、而且上述第二監(jiān)視部檢測(cè)到與基于上述處理器的讀出有關(guān)的地址沒有變化的情況下,進(jìn)行使上述處理器的電力消耗降低的節(jié)電控制。根據(jù)其它形態(tài)的各個(gè)集成電路、控制方法、計(jì)算機(jī)系統(tǒng),能夠降低由于執(zhí)行多種忙碌等待而浪費(fèi)的電力。能夠使本發(fā)明的其它形態(tài)的集成電路構(gòu)成為,在正在進(jìn)行節(jié)電控制的情況下,若上述第一監(jiān)視部檢測(cè)到上述計(jì)數(shù)值變得不按一定模式進(jìn)行反復(fù),則上述電力控制部使上述節(jié)電控制結(jié)束。工業(yè)實(shí)用性本發(fā)明的集成電路具有處理器,并具有檢測(cè)處理器是否正在執(zhí)行忙碌等待的功能,和在忙碌等待的執(zhí)行過程中進(jìn)行節(jié)電控制的功能。因此,該集成電路能夠安裝應(yīng)用于計(jì)算機(jī)系統(tǒng)中。此外,作為能夠應(yīng)用本發(fā)明的計(jì)算機(jī)系統(tǒng)的例子,可以舉出個(gè)人電腦、主機(jī)(通用大型計(jì)算機(jī))、電視機(jī)、錄像機(jī)、HDD記錄器、移動(dòng)電話、車載導(dǎo)航系統(tǒng)、固定電話、復(fù)印機(jī)、網(wǎng)絡(luò)中繼設(shè)備、帶觸摸面板的移動(dòng)終端、游戲機(jī)等。標(biāo)號(hào)說明
1300計(jì)算機(jī)系統(tǒng)
1301處理器
1302主存
1303I/O器件
1304電力供給器件
1305總線
1306電力
1307時(shí)鐘
1310寄存器組
1311程序計(jì)數(shù)器
1320命令取指/解碼單元
1330發(fā)行單元
1340命令序列保存部
1350執(zhí)行單元
1360退出單元
1370命令高速緩沖器
1380數(shù)據(jù)高速緩沖器
1400命令集
1500寄存器集
1512程序計(jì)數(shù)器
1513條件標(biāo)志寄存器
1701循環(huán)檢測(cè)部
1702循環(huán)傳遞相關(guān)解析部
1703第一電力控制部
1704循環(huán)脫離檢測(cè)部
1705第二電力控制部
1900循環(huán)范圍存儲(chǔ)部
2200相關(guān)關(guān)系解析用緩沖器2200
2202DST寄存器
2203SRC寄存器
2700相關(guān)關(guān)系解析用緩沖器
2800計(jì)算機(jī)系統(tǒng)
2851流相關(guān)檢測(cè)電路
2853預(yù)備檢測(cè)電路
2855命令緩沖器
2857比較電路
2861命令緩沖器
2871簡(jiǎn)易循環(huán)傳遞相關(guān)檢測(cè)電路
2900計(jì)算機(jī)系統(tǒng)
2901處理器
2910寄存器組
2912線程識(shí)別符寄存器
2913時(shí)間片寄存器
2920線程切換部
3013第一電力控制部
3015第二電力控制部
權(quán)利要求
1.一種具備處理器的集成電路,具備循環(huán)檢測(cè)部,檢測(cè)上述處理器中循環(huán)處理的執(zhí)行,該循環(huán)處理反復(fù)執(zhí)行由一個(gè)以上的命令構(gòu)成的循環(huán);循環(huán)傳遞相關(guān)解析部,在上述循環(huán)處理中檢測(cè)命令之間的相關(guān)跨執(zhí)行次不同的兩個(gè)循環(huán)的循環(huán)傳遞相關(guān);以及電力控制部,當(dāng)上述循環(huán)傳遞相關(guān)解析部沒有在上述循環(huán)檢測(cè)部檢測(cè)到的循環(huán)處理中檢測(cè)到循環(huán)傳遞相關(guān)的情況下,進(jìn)行節(jié)電控制,該節(jié)電控制使由于執(zhí)行上述循環(huán)處理而產(chǎn)生的電力消耗降低。
2.根據(jù)權(quán)利要求1所述的集成電路,該集成電路還具備循環(huán)結(jié)束檢測(cè)部,該循環(huán)結(jié)束檢測(cè)部檢測(cè)循環(huán)處理的執(zhí)行結(jié)束;在進(jìn)行節(jié)電控制的狀態(tài)下,在上述循環(huán)結(jié)束檢測(cè)部檢測(cè)到上述循環(huán)處理的結(jié)束的情況下,上述電力控制部使節(jié)電控制結(jié)束。
3.根據(jù)權(quán)利要求2所述的集成電路,上述循環(huán)傳遞相關(guān)解析部,根據(jù)在上述循環(huán)處理中在第一循環(huán)中對(duì)變量寫入的值在上述第一循環(huán)之后執(zhí)行的第二循環(huán)中從上述變量被讀出這一情況,判定為存在循環(huán)傳遞相關(guān)。
4.根據(jù)權(quán)利要求3所述的集成電路,上述循環(huán)檢測(cè)部,根據(jù)上述處理器中向在先地址分支的命令已被執(zhí)行這一情況,檢測(cè)到上述處理器已成為循環(huán)執(zhí)行狀態(tài)。
5.根據(jù)權(quán)利要求4所述的集成電路,該集成電路還具備存儲(chǔ)循環(huán)的范圍的循環(huán)范圍存儲(chǔ)部;上述循環(huán)檢測(cè)部在檢測(cè)到向在先地址分支的分支命令的情況下,向上述循環(huán)范圍存儲(chǔ)部輸出循環(huán)的范圍,并且將相關(guān)關(guān)系解析指示給上述循環(huán)傳遞相關(guān)解析部;上述循環(huán)傳遞相關(guān)解析部針對(duì)在上述循環(huán)范圍存儲(chǔ)部中存儲(chǔ)的循環(huán)的范圍的命令序列,進(jìn)行循環(huán)傳遞相關(guān)的檢測(cè)處理。
6.根據(jù)權(quán)利要求5所述的集成電路,上述循環(huán)結(jié)束檢測(cè)部,根據(jù)向上述循環(huán)范圍存儲(chǔ)部中存儲(chǔ)的循環(huán)范圍外分支的分支命令已被執(zhí)行這一情況,或者根據(jù)位于上述循環(huán)范圍的末尾的條件分支命令的執(zhí)行結(jié)果是分支不成立這一情況,檢測(cè)到上述處理器的循環(huán)處理的執(zhí)行已結(jié)束。
7.根據(jù)權(quán)利要求5所述的集成電路,上述循環(huán)范圍存儲(chǔ)部存儲(chǔ)包括循環(huán)的開頭地址和循環(huán)的末尾地址的信息。
8.根據(jù)權(quán)利要求5所述的集成電路,上述處理器具備命令序列保存部,該命令序列保存部保存被取指的命令序列;上述循環(huán)傳遞相關(guān)解析部針對(duì)在上述命令序列保存部中保存的上述循環(huán)的范圍的命令序列,進(jìn)行循環(huán)傳遞相關(guān)的檢測(cè)處理。
9.根據(jù)權(quán)利要求8所述的集成電路,在上述命令序列保存部中存儲(chǔ)的命令序列包括被預(yù)取指的命令。
10.根據(jù)權(quán)利要求2所述的集成電路,在進(jìn)行節(jié)電控制的情況下,上述電力控制部進(jìn)行使向上述處理器供給的時(shí)鐘的頻率減少的控制,在結(jié)束節(jié)電控制的情況下,上述電力控制部進(jìn)行使向上述處理器供給的時(shí)鐘的頻率增加的控制。
11.根據(jù)權(quán)利要求2所述的集成電路,在進(jìn)行節(jié)電控制的情況下,上述電力控制部進(jìn)行使向上述處理器供給的電力的電壓降低的控制,在結(jié)束節(jié)電控制的情況下,上述電力控制部進(jìn)行使向上述處理器供給的電力的電壓增大的控制。
12.根據(jù)權(quán)利要求2所述的集成電路,在進(jìn)行節(jié)電控制的情況下,上述電力控制部進(jìn)行使向上述處理器供給的電力的電壓降低并使向上述處理器供給的時(shí)鐘的頻率減少的控制,在結(jié)束節(jié)電控制的情況下,上述電力控制部進(jìn)行使向上述處理器供給的電力的電壓增大并使向上述處理器供給的時(shí)鐘的頻率增加的控制。
13.根據(jù)權(quán)利要求1所述的集成電路,當(dāng)在上述循環(huán)處理中一個(gè)命令的寫入對(duì)象的變量和讀出對(duì)象的變量相同的情況下,上述循環(huán)傳遞相關(guān)解析部判定為存在循環(huán)傳遞相關(guān)。
14.根據(jù)權(quán)利要求2所述的集成電路,上述處理器具備多個(gè)執(zhí)行單元;在進(jìn)行節(jié)電控制的情況下,上述電力控制部進(jìn)行使上述多個(gè)執(zhí)行單元中的一部分執(zhí)行單元停止的控制,在結(jié)束節(jié)電控制的情況下,上述電力控制部進(jìn)行控制以使已停止的上述多個(gè)執(zhí)行單元中的一部分執(zhí)行單元的執(zhí)行再次開始。
15.根據(jù)權(quán)利要求2所述的集成電路,上述處理器具備線程管理部,該線程管理部對(duì)分配給多個(gè)線程中的各個(gè)線程的時(shí)間片進(jìn)行管理;在進(jìn)行節(jié)電控制的情況下,上述電力控制部指示上述線程管理部減少對(duì)正在執(zhí)行未檢測(cè)到循環(huán)傳遞相關(guān)的循環(huán)處理的、處于忙碌等待狀態(tài)的線程分配的時(shí)間片;在結(jié)束節(jié)電控制的情況下,上述電力控制部指示上述線程管理部增加對(duì)上述線程分配的時(shí)間片。
16.根據(jù)權(quán)利要求15所述的集成電路,在進(jìn)行節(jié)電控制的情況下,上述電力控制部指示上述線程管理部減少對(duì)忙碌等待狀態(tài)的線程分配的時(shí)間片,并且進(jìn)行使向上述處理器供給的時(shí)鐘的頻率減少的控制;在結(jié)束節(jié)電控制的情況下,上述電力控制部指示上述線程管理部增加對(duì)上述線程分配的時(shí)間片,并且進(jìn)行使向上述處理器供給的時(shí)鐘的頻率增加的控制。
17.根據(jù)權(quán)利要求15所述的集成電路,上述處理器具備多個(gè)執(zhí)行單元,在進(jìn)行節(jié)電控制的情況下,上述電力控制部指示上述線程管理部減少對(duì)忙碌等待狀態(tài)的線程分配的時(shí)間片,并且進(jìn)行使上述多個(gè)執(zhí)行單元中的一部分停止的控制;在結(jié)束節(jié)電控制的情況下,上述電力控制部指示上述線程管理部增加對(duì)上述線程分配的時(shí)間片,并且進(jìn)行控制以使上述多個(gè)執(zhí)行單元中的一部分的執(zhí)行再次開始。
18.根據(jù)權(quán)利要求15所述的集成電路,上述處理器具備多個(gè)執(zhí)行單元;在進(jìn)行節(jié)電控制的情況下,上述電力控制部指示上述線程管理部減少對(duì)忙碌等待狀態(tài)的線程分配的時(shí)間片,并且進(jìn)行控制以使向上述處理器供給的時(shí)鐘的頻率減少且使上述多個(gè)執(zhí)行單元中的一部分停止;在結(jié)束節(jié)電控制的情況下,上述電力控制部指示上述線程管理部增加對(duì)上述線程分配的時(shí)間片,并且進(jìn)行控制以使向上述處理器供給的時(shí)鐘的頻率增加且使上述多個(gè)執(zhí)行單元中的一部分的執(zhí)行再次開始。
19.根據(jù)權(quán)利要求15所述的集成電路,在進(jìn)行節(jié)電控制的情況下,上述電力控制部指示上述線程管理部減少對(duì)忙碌等待狀態(tài)的線程分配的時(shí)間片,并且進(jìn)行控制以使向上述處理器供給的時(shí)鐘的頻率減少并使向上述處理器供給的電力的電壓降低;在結(jié)束節(jié)電控制的情況下,上述電力控制部指示上述線程管理部增加對(duì)上述線程分配的時(shí)間片,并且進(jìn)行控制以使向上述處理器供給的時(shí)鐘的頻率增大并使向上述處理器供給的電力的電壓增大。
20.根據(jù)權(quán)利要求16所述的集成電路,在進(jìn)行節(jié)電控制的情況下,上述電力控制部根據(jù)對(duì)忙碌等待狀態(tài)的線程分配的時(shí)間片的減少量,使向上述處理器供給的時(shí)鐘的頻率減少。
21.根據(jù)權(quán)利要求17所述的集成電路,在進(jìn)行節(jié)電控制的情況下,上述電力控制部根據(jù)對(duì)忙碌等待狀態(tài)的線程分配的時(shí)間片的減少量,使上述多個(gè)執(zhí)行單元的運(yùn)轉(zhuǎn)個(gè)數(shù)減少。
22.—種計(jì)算機(jī)系統(tǒng)的控制方法,該計(jì)算機(jī)系統(tǒng)具備處理器,該控制方法包括以下步驟循環(huán)檢測(cè)步驟,檢測(cè)上述處理器中循環(huán)處理的執(zhí)行,該循環(huán)處理反復(fù)執(zhí)行由一個(gè)以上的命令構(gòu)成的循環(huán);循環(huán)傳遞相關(guān)檢測(cè)步驟,在上述循環(huán)處理中檢測(cè)命令之間的相關(guān)跨執(zhí)行次不同的兩個(gè)循環(huán)的循環(huán)傳遞相關(guān);以及電力控制步驟,當(dāng)上述循環(huán)傳遞相關(guān)解析步驟沒有在上述循環(huán)檢測(cè)步驟檢測(cè)到的循環(huán)處理中檢測(cè)到循環(huán)傳遞相關(guān)的情況下,進(jìn)行節(jié)電控制,該節(jié)電控制使由于執(zhí)行上述循環(huán)處理而產(chǎn)生的電力消耗降低。
23.一種具備處理器的計(jì)算機(jī)系統(tǒng),具備循環(huán)檢測(cè)部,檢測(cè)上述處理器中循環(huán)處理的執(zhí)行,該循環(huán)處理反復(fù)執(zhí)行由一個(gè)以上的命令構(gòu)成的循環(huán);循環(huán)傳遞相關(guān)解析部,在上述循環(huán)處理中檢測(cè)命令之間的相關(guān)跨執(zhí)行次不同的兩個(gè)循環(huán)的循環(huán)傳遞相關(guān);以及電力控制部,當(dāng)上述循環(huán)傳遞相關(guān)解析部沒有在上述循環(huán)檢測(cè)部檢測(cè)到的循環(huán)處理中檢測(cè)到循環(huán)傳遞相關(guān)的情況下,進(jìn)行節(jié)電控制,該節(jié)電控制使由于執(zhí)行上述循環(huán)處理而產(chǎn)生的電力消耗降低。
24.一種具備處理器的集成電路,具備第一監(jiān)視部,監(jiān)視在處理器內(nèi)的程序計(jì)數(shù)器中計(jì)數(shù)值是否正在按一定模式進(jìn)行反復(fù);第二監(jiān)視部,監(jiān)視在上述處理器所連接的總線中與上述處理器進(jìn)行的讀出有關(guān)的地址有無變化;以及電力控制部,在上述第一監(jiān)視部檢測(cè)到上述計(jì)數(shù)值正在按一定模式進(jìn)行反復(fù)、并且上述第二監(jiān)視部檢測(cè)到與上述處理器進(jìn)行的讀出有關(guān)的地址沒有變化的情況下,進(jìn)行節(jié)電控制,該節(jié)電控制使上述處理器的電力消耗降低。
25.根據(jù)權(quán)利要求M所述的集成電路,在正在進(jìn)行節(jié)電控制的情況下,若上述第一監(jiān)視部檢測(cè)到上述計(jì)數(shù)值變得不按一定模式進(jìn)行反復(fù),則上述電力控制部使上述節(jié)電控制結(jié)束。
26.一種計(jì)算機(jī)系統(tǒng)的控制方法,該計(jì)算機(jī)系統(tǒng)具備處理器,該控制方法包括以下步驟第一監(jiān)視步驟,監(jiān)視在處理器內(nèi)的程序計(jì)數(shù)器中計(jì)數(shù)值是否正在按一定模式進(jìn)行反復(fù);第二監(jiān)視步驟,監(jiān)視在上述處理器所連接的總線中與上述處理器進(jìn)行的讀出有關(guān)的地址有無變化;以及電力控制步驟,在上述第一監(jiān)視步驟檢測(cè)到上述計(jì)數(shù)值正在按一定模式進(jìn)行反復(fù)、并且上述第二監(jiān)視步驟檢測(cè)到與上述處理器進(jìn)行的讀出有關(guān)的地址沒有變化的情況下,進(jìn)行節(jié)電控制,該節(jié)電控制使上述處理器的電力消耗降低。
27.一種具備處理器的計(jì)算機(jī)系統(tǒng),該計(jì)算機(jī)系統(tǒng)具備第一監(jiān)視部,監(jiān)視在處理器內(nèi)的程序計(jì)數(shù)器中計(jì)數(shù)值是否正在按一定模式進(jìn)行反復(fù);第二監(jiān)視部,監(jiān)視在上述處理器所連接的總線中與上述處理器進(jìn)行的讀出有關(guān)的地址有無變化;以及電力控制部,在上述第一監(jiān)視部檢測(cè)到上述計(jì)數(shù)值正在按一定模式進(jìn)行反復(fù)、并且上述第二監(jiān)視部檢測(cè)到與上述處理器進(jìn)行的讀出有關(guān)的地址沒有變化的情況下,進(jìn)行節(jié)電控制,該節(jié)電控制使上述處理器的電力消耗降低。
全文摘要
一種具備處理器的集成電路,該集成電路具備循環(huán)檢測(cè)部,檢測(cè)處理器中循環(huán)處理的執(zhí)行;循環(huán)傳遞相關(guān)解析部,檢測(cè)循環(huán)處理中的循環(huán)傳遞相關(guān);以及電力控制部,當(dāng)在循環(huán)處理中沒有檢測(cè)到循環(huán)傳遞相關(guān)的情況下進(jìn)行節(jié)電控制。通過檢測(cè)在循環(huán)處理中存在循環(huán)傳遞相關(guān),能夠?qū)⑦\(yùn)算用等的循環(huán)處理設(shè)為節(jié)電控制的對(duì)象之外。結(jié)果,能夠檢測(cè)更多種的忙碌等待的執(zhí)行,降低由于忙碌等待而浪費(fèi)的電力。
文檔編號(hào)G06F1/32GK102576318SQ20118000383
公開日2012年7月11日 申請(qǐng)日期2011年6月7日 優(yōu)先權(quán)日2010年6月25日
發(fā)明者杉山真史, 齊藤雅彥 申請(qǐng)人:松下電器產(chǎn)業(yè)株式會(huì)社