專利名稱:控制cpu執(zhí)行模式的記錄介質(zhì)、方法及信息處理設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及程序,記錄介質(zhì),控制方法以及信息處理設(shè)備。本發(fā)明具體涉及與中央處理單元的節(jié)電有關(guān)的程序,記錄介質(zhì),控制方法以及信息處理設(shè)備。
背景技術(shù):
近年來,通過禁用至少一部分中央處理單元功能來降低信息處理設(shè)備的功耗的節(jié)電技術(shù)已經(jīng)引起注意。例如,某個中央處理單元具有作為普通執(zhí)行模式的C0狀態(tài),中央處理單元內(nèi)部時鐘被停止的C2狀態(tài),以及在C2狀態(tài)下還禁用高速緩沖存儲器和主存儲器之間的一致性控制的C3狀態(tài)。
此外,在近年來的信息處理設(shè)備中,輸入/輸出設(shè)備能夠執(zhí)行總線主設(shè)備傳送(bus master transfer),其直接訪問主存儲器,而不用向中央處理單元請求處理。歸功于總線主設(shè)備傳送,中央處理單元不用從輸入/輸出設(shè)備接收超過必要的中斷處理,因此高效操作。
然而,對于當(dāng)中央處理單元處于C3狀態(tài)時輸入/輸出設(shè)備執(zhí)行總線主設(shè)備傳送的情況,高速緩沖存儲器和主存儲器之間數(shù)據(jù)的一致性被丟失。因此,僅當(dāng)確認(rèn)總線主設(shè)備傳送未被執(zhí)行時,中央處理單元的操作系統(tǒng)(此后,稱作“OS”)已把中央處理單元切換到C3狀態(tài)。
例如,諸如Windows XP(注冊商標(biāo))的OS已經(jīng)復(fù)位指示總線主設(shè)備傳送正在處理中的標(biāo)志,并且如果因為之后立即引用標(biāo)志而使標(biāo)志保持復(fù)位狀態(tài),則OS確定總線主設(shè)備傳送的頻率低,并且把中央處理單元切換到C3狀態(tài)。接著,當(dāng)總線主設(shè)備傳送被恢復(fù)時,中央處理單元有必要立即從C3狀態(tài)恢復(fù)到C0狀態(tài),等等。
執(zhí)行節(jié)電控制的現(xiàn)有技術(shù)已經(jīng)提出(參照專利文件1)。
日本專利公開Hei 8(1996)-6681然而,中央處理單元需要一些時間恢復(fù)到C0狀態(tài),等等。為此,在從訪問主存儲器等等的請求到中央處理單元恢復(fù)到C0狀態(tài)并且恢復(fù)處理的階段內(nèi),輸入/輸出設(shè)備尚未能夠訪問主存儲器并且在某些情況下尚未導(dǎo)致故障。
例如,為了以恒定速率與另一設(shè)備通信,通信設(shè)備預(yù)先從主存儲器獲得要傳送的數(shù)據(jù)并且存儲數(shù)據(jù)在緩沖存儲器中。接著,當(dāng)存儲在緩沖存儲器中的數(shù)據(jù)不足時,通信設(shè)備請求訪問主存儲器以便從主存儲器新獲得數(shù)據(jù)。當(dāng)在緩沖存儲器中的數(shù)據(jù)在從這個請求到通信設(shè)備從主存儲器獲得數(shù)據(jù)的階段內(nèi)被用盡時,通信設(shè)備不能固定保持通信速率,并且導(dǎo)致故障。
在這個方面,本發(fā)明的目的是提供能夠解決上述問題的程序,記錄介質(zhì),控制方法以及信息處理設(shè)備。通過在權(quán)利要求書的范圍中組合獨立權(quán)利要求中描述的特征來實現(xiàn)這個目的。
發(fā)明內(nèi)容
為了解決上述問題,本發(fā)明的第一方面是用于信息處理設(shè)備的程序產(chǎn)品,用于指示信息處理設(shè)備控制在信息處理設(shè)備中提供的中央處理單元的執(zhí)行模式,中央處理單元具有其可執(zhí)行處理的類型和功耗彼此不同的多個執(zhí)行模式,該程序產(chǎn)品包括設(shè)備可讀介質(zhì);在設(shè)備可讀介質(zhì)上提供的恢復(fù)時間獲取裝置,用于獲得恢復(fù)時間,即中央處理單元從低功率模式恢復(fù)到功耗高于低功率模式功耗的高功率模式所需的時間;在設(shè)備可讀介質(zhì)上提供的允許時間獲取裝置,用于獲得從針對低功率模式下不可處理且高功率模式下可處理的處理的請求,到中央處理單元恢復(fù)到高功率模式之后處理的開始的最長允許時間,其中由信息處理設(shè)備的輸入/輸出設(shè)備向中央處理單元發(fā)出請求;以及在設(shè)備可讀介質(zhì)上提供的執(zhí)行模式設(shè)置裝置,用于在基于允許時間和恢復(fù)時間確定中央處理單元能夠切換到低功率模式的情況下,把中央處理單元設(shè)置到能夠切換為低功率模式的狀態(tài)。
注意,上述發(fā)明內(nèi)容未列出本發(fā)明的所有必要特征,并且這些特性的組的子組合也可以結(jié)合進(jìn)本發(fā)明。
基于本發(fā)明,執(zhí)行總線主設(shè)備傳送的輸入/輸出設(shè)備能夠被恰當(dāng)?shù)夭僮鳌?br>
參考下面結(jié)合附圖的描述以更完整地理解本發(fā)明及其優(yōu)點。
圖1示出信息處理設(shè)備10的模塊圖。
圖2示出中央處理單元1000的執(zhí)行模式概要。
圖3示出主存儲器1020中存儲的數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)的例子。
圖4(a)和4(b)的圖表示出輸入/輸出設(shè)備的處理和執(zhí)行模式的轉(zhuǎn)變時序的例子。
圖5示出中央處理單元1000的模塊圖。
圖6示出操作系統(tǒng)設(shè)置切換目標(biāo)模式的處理的例子。
圖7示出在圖6的處理之后的處理。
圖8示出操作系統(tǒng)執(zhí)行的另一處理的例子。
圖9示出設(shè)備驅(qū)動程序A的操作流程的例子。
圖10示出在修改例子中中央處理單元1000的模塊圖。
圖11示出在修改例子中設(shè)備信息記錄單元310的例子。
圖12示出在修改例子中設(shè)備驅(qū)動程序A的操作流程的例子。
圖13示出在圖12的處理之后的處理。
圖14示出在修改例子中操作系統(tǒng)的處理的例子。
具體實施例方式
通過本發(fā)明的實施例在下面描述本發(fā)明。然而,下述實施例不用于基于權(quán)利要求書的范圍來限制本發(fā)明,并且不是實施例中描述的所有組合特性都對本發(fā)明的解決手段而言是必要的。
圖1示出信息處理設(shè)備10的硬件結(jié)構(gòu)的例子。信息處理設(shè)備10包含通過主控制器1082互連的中央處理單元及其外設(shè)單元,通過I/O控制器1084連接到主控制器1082的輸入/輸出單元,以及連接到I/O控制器1084的傳統(tǒng)輸入/輸出單元。中央處理單元及其外設(shè)單元包含中央處理單元1000,主存儲器1020,圖形控制器1075以及顯示設(shè)備1080。
輸入/輸出單元包含通信接口1030,紅外通信設(shè)備1032,USB設(shè)備1035,設(shè)備A和B等等其它輸入/輸出設(shè)備,硬盤驅(qū)動器1040以及CD-ROM驅(qū)動器1060。傳統(tǒng)輸入/輸出單元包含BIOS 1010,軟盤驅(qū)動器1050以及I/O芯片1070。
主控制器1082連接主存儲器1020到中央處理單元1000和以高傳送速率訪問主存儲器1020的圖形控制器1075?;诖鎯υ贐IOS 1010和主存儲器1020中的程序,中央處理單元1000操作,并且控制相應(yīng)單元。
圖形控制器1075獲得中央處理單元1000等等在主存儲器1020中提供的幀緩存器上產(chǎn)生的圖像數(shù)據(jù),并且在顯示設(shè)備1080上顯示所獲得圖像數(shù)據(jù)??蛇x地,圖形控制器1075可以在其中包含存儲中央處理單元1000等等產(chǎn)生的圖像數(shù)據(jù)的幀緩存器。
I/O控制器1084連接主控制器1082到通信接口1030,紅外通信設(shè)備1032,USB設(shè)備1035,設(shè)備A/B,硬盤驅(qū)動器1040以及CD-ROM驅(qū)動器1060,它們是相對高速的輸入/輸出設(shè)備。通信接口1030通過網(wǎng)絡(luò)與外部設(shè)備通信。
紅外通信設(shè)備1032通過紅外通信技術(shù)與外部設(shè)備無線通信。USB設(shè)備是符合USB標(biāo)準(zhǔn)的設(shè)備,并且針對主存儲器1020讀、寫數(shù)據(jù)。硬盤驅(qū)動器1040存儲信息處理設(shè)備10使用的程序和數(shù)據(jù)。CD-ROM驅(qū)動器1060從CD-ROM 1095讀取程序或數(shù)據(jù),并且通過I/O控制器1084向主存儲器1020提供所讀取的程序或數(shù)據(jù)。
此外,諸如BIOS 1010,軟盤驅(qū)動器1050和I/O芯片1070的相對低速的輸入/輸出設(shè)備被連接到I/O控制器1084。BIOS 1010存儲當(dāng)信息處理設(shè)備10被啟動時由中央處理單元1000執(zhí)行的啟動程序,該程序取決于信息處理設(shè)備10的硬件等等。
軟盤驅(qū)動器1050從軟盤1090讀取程序或數(shù)據(jù),并且通過I/O芯片1070向主存儲器1020提供所讀取的程序或數(shù)據(jù)。I/O芯片1070通過例如并行端口,串行端口,鍵盤端口和鼠標(biāo)端口連接軟盤1090和各種輸入/輸出設(shè)備到I/O控制器1084。提供給信息處理設(shè)備10的程序被存儲在諸如軟盤1090,CD-ROM 1095和IC卡的記錄介質(zhì)中,并且由用戶提供。程序通過I/O芯片1070和/或I/O控制器1084被從記錄介質(zhì)讀取,被安裝在信息處理設(shè)備10中,從而被執(zhí)行。
安裝在信息處理設(shè)備10中從而被執(zhí)行的程序包含允許時間產(chǎn)生模塊,恢復(fù)時間獲取模塊,允許時間獲取模塊,故障檢測模塊,執(zhí)行模式設(shè)置模塊以及執(zhí)行模式選擇模塊。相應(yīng)模塊通過在信息處理設(shè)備10上操作而允許信息處理設(shè)備10執(zhí)行的動作與對應(yīng)于圖2到14中描述的信息處理設(shè)備10中模塊的成員的動作相同,并且因此省略其說明。
上面描述的程序或模塊可以存儲在外部存儲介質(zhì)中。對于存儲介質(zhì),除軟盤1090和CD-ROM 1095之外,可以使用諸如DVD和PD的光記錄介質(zhì),諸如MD的磁光記錄介質(zhì),磁帶介質(zhì),諸如IC卡的半導(dǎo)體存儲器等等。此外,在連接到專用通信網(wǎng)絡(luò)和因特網(wǎng)的服務(wù)系統(tǒng)中提供的諸如硬盤和主存儲器的存儲設(shè)備可以用作這種記錄介質(zhì),并且可以通過網(wǎng)絡(luò)向信息處理設(shè)備10提供程序。
圖2示出中央處理單元1000的執(zhí)行模式概要。中央處理單元1000具有多個執(zhí)行模式,其可執(zhí)行處理的類型和功耗彼此不同。作為一個例子,中央處理單元1000具有C0狀態(tài),C1狀態(tài),C2狀態(tài),C3狀態(tài)以及C4狀態(tài),以作為多個執(zhí)行模式。
C0狀態(tài)到C4狀態(tài)的功耗按降序變高。例如,在中央處理單元的某個類型中,C0狀態(tài)的功耗超出20W,C1狀態(tài),C2狀態(tài),C3狀態(tài)和C4狀態(tài)的功耗分別是0.8W,0.69W,0.26W和0.1W。
C0狀態(tài)是基于本發(fā)明的高功率模式的例子,并且在C0狀態(tài),中央處理單元1000執(zhí)行指令。與此相反,C1到C4狀態(tài)是基于本發(fā)明的低功率模式的例子,并且在C1到C4狀態(tài),中央處理單元1000不執(zhí)行指令。
此外,在C0到C2狀態(tài),中央處理單元1000執(zhí)行一致性控制,其中一致性控制是用于保持高速緩沖存儲器1005和主存儲器1020之間一致性的處理。與此相反,在C3和C4狀態(tài),中央處理單元1000不執(zhí)行這個一致性控制。例如,中央處理單元1000在C0到C2狀態(tài)執(zhí)行總線窺探(snoop)處理,以監(jiān)視主存儲器的訪問總線,并且在C3和C4狀態(tài)不執(zhí)行總線窺探處理。
此外,在C2狀態(tài),當(dāng)中央處理單元1000繼續(xù)接收操作時鐘的供應(yīng)的同時,中央處理單元1000停止中央處理單元1000內(nèi)的操作時鐘。在C3狀態(tài),中央處理單元1000還停止中央處理單元1000外部的操作時鐘。接著,在C4狀態(tài),中央處理單元1000把中央處理單元1000的供電電壓降到低于C3狀態(tài)的供電電壓。
圖3示出主存儲器1020中存儲的數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)的例子。主存儲器1020包含CPU信息記錄單元300和設(shè)備信息記錄單元310。CPU信息記錄單元300存儲恢復(fù)時間,即中央處理單元1000從多個低功率模式的每個模式恢復(fù)到高功率模式所需的時間。
然而,中央處理單元1000從低功率模式的狀態(tài)恢復(fù)到能夠執(zhí)行指令的狀態(tài)所需的時間,與其恢復(fù)到能夠進(jìn)行一致性控制的狀態(tài)所需的時間彼此不同。因此,對于每個低功率模式,CPU信息記錄單元300存儲CPU恢復(fù)時間,即其從低功率模式恢復(fù)到能夠執(zhí)行指令的狀態(tài)所需的時間,以及總線恢復(fù)時間,即其從低功率模式恢復(fù)到能夠進(jìn)行一致性控制的狀態(tài)所需的時間??蛇x地,總線恢復(fù)時間可以是輸入/輸出設(shè)備從低功率模式恢復(fù)到能夠獲得控制訪問主存儲器的總線的權(quán)利的狀態(tài)所需的時間。
作為一個例子,CPU信息記錄單元300存儲85微秒作為從C3狀態(tài)恢復(fù)到能夠執(zhí)行指令的狀態(tài)所需要的CPU恢復(fù)時間。而且,CPU信息記錄單元300存儲1微秒作為從C2狀態(tài)恢復(fù)到能夠執(zhí)行指令的狀態(tài)所需要的CPU恢復(fù)時間。注意,這些恢復(fù)時間可以是用戶程序通過ACPI的API查詢操作系統(tǒng)所獲得的值,或由用戶測量的值。
對于每個輸入/輸出設(shè)備,設(shè)備信息記錄單元310存儲CPU允許時間,即從輸入/輸出設(shè)備請求中央處理單元1000執(zhí)行指令到中央處理單元1000實際恢復(fù)到C0狀態(tài)并且執(zhí)行指令的最大允許時間。此外,對于每個輸入/輸出設(shè)備,設(shè)備信息記錄單元310存儲總線允許時間,即從輸入/輸出設(shè)備請求訪問主存儲器1020到中央處理單元1000進(jìn)入能夠進(jìn)行一致性控制的狀態(tài)的最大允許時間。
注意,設(shè)備信息記錄單元310存儲的允許時間不限于CPU允許時間和總線允許時間。如果設(shè)備信息記錄單元310存儲從輸入/輸出設(shè)備請求中央處理單元1000執(zhí)行在低功率模式下不可處理并且在高功率模式下可處理的處理,到中央處理單元1000實際開始處理的允許時間,則令人滿意。此外,設(shè)備信息記錄單元310存儲的總線允許時間不限于中央處理單元1000恢復(fù)到C0狀態(tài)所需的時間。例如,如果中央處理單元1000可不經(jīng)過C0狀態(tài)而從C3狀態(tài)等等切換到C2狀態(tài),則設(shè)備信息記錄單元310可以存儲中央處理單元1000從C3狀態(tài)恢復(fù)到C2狀態(tài)所需的時間,以作為總線允許時間。
圖4(a)和4(b)的圖表示出了輸入/輸出設(shè)備的處理和執(zhí)行模式的轉(zhuǎn)變時序的例子。圖4(a)示出了其中中央處理單元1000在C0狀態(tài)或者C3狀態(tài)下操作的狀態(tài)的時序例子。在C3狀態(tài),當(dāng)輸入/輸出設(shè)備通過發(fā)出(assert)LPC_DREQ#信號(1)請求訪問主存儲器時,中央處理單元1000開始從C3狀態(tài)到C0狀態(tài)的恢復(fù)處理。
具體地,首先,信息處理設(shè)備10解除(deassert)CPUSTP#信號,并且因而中央處理單元1000開始準(zhǔn)備接收操作時鐘的供應(yīng)。例如,對于這個準(zhǔn)備,需要例如大約80微秒的時間。接著,信息處理設(shè)備10解除STPCLK#信號,并且因而恢復(fù)操作時鐘。因而,信息處理設(shè)備10恢復(fù)到C0狀態(tài)(2),并且處理總線主設(shè)備的請求。
在這個例子中,如果中央處理單元1000工作于C0狀態(tài)42微秒之后未進(jìn)一步檢測到總線主設(shè)備傳送的請求,則中央處理單元1000再次切換到C3狀態(tài)(3)。例如,與這個處理基本上同時地,紅外通信設(shè)備1032請求訪問主存儲器。信息處理設(shè)備10在發(fā)出CPUSTP#和切換到C3狀態(tài)時立即開始到C0狀態(tài)的恢復(fù)處理。例如,對于這個恢復(fù)處理,需要大約85微秒的時間(4)。
當(dāng)紅外通信設(shè)備1032中提供的緩沖存儲器中的數(shù)據(jù)在從紅外通信設(shè)備1032請求訪問主存儲器的時間開始的85微秒內(nèi)用盡時,由于從主存儲器獲得的數(shù)據(jù)不足,紅外通信設(shè)備1032導(dǎo)致故障。在這種情況下,這個實施例中的信息處理設(shè)備10進(jìn)行把中央處理單元1000從C0狀態(tài)切換到C2狀態(tài)而不是C3狀態(tài)的設(shè)置。
圖4(b)示出了其中中央處理單元1000在C0狀態(tài)或者C2狀態(tài)下操作的狀態(tài)的時序例子。在這個例子中,當(dāng)中央處理單元1000未檢測到訪問主存儲器的請求時,中央處理單元1000發(fā)出STPCLK#,解除CPUSTP#,并且因而切換到C2狀態(tài)。接著,當(dāng)請求訪問主存儲器時,在繼續(xù)處于C2狀態(tài)的同時,中央處理單元1000執(zhí)行一致性控制。
在圖4(b)示出的例子中,不同于圖4(a)的例子,紅外通信設(shè)備1032可以不用這樣多的延遲通過請求訪問主存儲器而獲得數(shù)據(jù),并且因此可以繼續(xù)通信并且不導(dǎo)致故障。
圖5示出中央處理單元1000的模塊圖。通過設(shè)備驅(qū)動程序A,中央處理單元1000用作允許時間產(chǎn)生單元500-1,并且通過設(shè)備驅(qū)動程序B,用作允許時間產(chǎn)生單元500-2。此外,通過操作系統(tǒng)的節(jié)電模塊,中央處理單元1000用作恢復(fù)時間獲取單元510,允許時間獲取單元520,故障檢測單元530以及執(zhí)行模式設(shè)置單元540。
注意,設(shè)備驅(qū)動程序A是管理設(shè)備A的程序,并且設(shè)備驅(qū)動程序B是管理設(shè)備B的程序。接著,操作系統(tǒng),設(shè)備驅(qū)動程序A以及設(shè)備驅(qū)動程序B的組是基于本發(fā)明的程序的例子。
允許時間產(chǎn)生單元500-1基于設(shè)備A的工作狀態(tài)產(chǎn)生CPU允許時間和總線允許時間,并且把所產(chǎn)生的CPU允許時間和總線允許時間存儲在主存儲器1020的設(shè)備信息記錄單元310中。設(shè)備驅(qū)動程序B的處理與設(shè)備驅(qū)動程序A的處理基本上相同,并且因此省略其說明。
恢復(fù)時間獲取單元510從主存儲器1020的CPU信息記錄單元300獲得每個執(zhí)行模式的CPU恢復(fù)時間和總線恢復(fù)時間。允許時間獲取單元520在其初始化和發(fā)生變化時獲得每個輸入/輸出設(shè)備的CPU允許時間和總線允許時間??蛇x地,當(dāng)自從執(zhí)行模式設(shè)置單元540把切換目標(biāo)的執(zhí)行模式從功耗較低的低功率模式轉(zhuǎn)變到功耗較高的低功率模式開始,已經(jīng)過預(yù)定設(shè)置參考時間時,允許時間獲取單元520可以向設(shè)備驅(qū)動程序B等等查詢CPU允許時間和總線允許時間。
當(dāng)任意輸入/輸出設(shè)備請求數(shù)據(jù)傳送時,故障檢測單元530確定故障是否已經(jīng)出現(xiàn)于低功率模式下與主存儲器進(jìn)行的數(shù)據(jù)傳送中。作為一個例子,故障檢測單元530可以檢測紅外通信設(shè)備1032的緩沖存儲器是否已經(jīng)導(dǎo)致運行錯誤(under-run error)。
執(zhí)行模式設(shè)置單元540基于CPU恢復(fù)時間,總線恢復(fù)時間,CPU允許時間和總線允許時間(此后,稱作CPU恢復(fù)時間等等)設(shè)置中央處理單元1000將從C0狀態(tài)切換到的切換目標(biāo)的低功率模式(此后,稱作切換目標(biāo)模式)。例如,執(zhí)行模式設(shè)置單元540可以通過設(shè)置中央處理單元1000為不切換到C3狀態(tài),從而把切換目標(biāo)模式設(shè)置為C2狀態(tài)??蛇x地,執(zhí)行模式設(shè)置單元540可以設(shè)置中央處理單元1000可切換到的一組執(zhí)行模式。作為設(shè)置方法的例子,執(zhí)行模式設(shè)置單元540可以調(diào)用在中央處理單元1000上操作的BIOS程序的預(yù)定API。
此外,可以設(shè)置成當(dāng)故障檢測單元530確定故障已經(jīng)出現(xiàn)時,執(zhí)行模式設(shè)置單元540不管CPU恢復(fù)時間等等如何,均設(shè)置中央處理單元1000為不可切換到C3狀態(tài)。可選地,可以設(shè)置成當(dāng)基于CPU恢復(fù)時間等等確定不允許中央處理單元1000切換到C3狀態(tài)時,執(zhí)行模式設(shè)置單元540進(jìn)一步在故障檢測單元530確定故障已經(jīng)出現(xiàn)的情況下,設(shè)置中央處理單元1000為不可切換到C3狀態(tài)。
圖6示出操作系統(tǒng)設(shè)置切換目標(biāo)模式的處理的例子。當(dāng)中央處理單元1000處于不執(zhí)行用戶程序指令的空閑狀態(tài)時,操作系統(tǒng)允許中央處理單元1000執(zhí)行下列處理。首先,恢復(fù)時間獲取單元510獲得CPU恢復(fù)時間和總線恢復(fù)時間(S600)。
允許時間獲取單元520獲得每個輸入/輸出設(shè)備的CPU允許時間和總線允許時間(S610)。接著,執(zhí)行模式設(shè)置單元540確定多個輸入/輸出設(shè)備中的最短CPU允許時間是否等于或超過C4狀態(tài)的CPU恢復(fù)時間(S620)。當(dāng)CPU允許時間等于或超過CPU恢復(fù)時間(S620是)時,執(zhí)行模式設(shè)置單元540接著確定多個輸入/輸出設(shè)備中的最短總線允許時間是否等于或超過C4狀態(tài)的總線恢復(fù)時間(S630)。
當(dāng)總線允許時間等于或超過總線恢復(fù)時間(S630是)時,執(zhí)行模式設(shè)置單元540設(shè)置切換目標(biāo)模式為C4狀態(tài)(S640)。注意,為準(zhǔn)備隨后的處理,執(zhí)行模式設(shè)置單元540最好在主存儲器等等中存儲這個設(shè)置之前已經(jīng)設(shè)置的切換目標(biāo)模式。而且,當(dāng)最短CPU允許時間比C4狀態(tài)的CPU恢復(fù)時間更短時(S620否),或當(dāng)最短總線允許時間比C4狀態(tài)的總線恢復(fù)時間更短時(S630否),執(zhí)行模式設(shè)置單元540前進(jìn)到圖7的處理。
圖7示出在圖6的處理之后的處理。執(zhí)行模式設(shè)置單元540確定多個輸入/輸出設(shè)備中的最短CPU允許時間是否等于或超過C3狀態(tài)的CPU恢復(fù)時間(S700)。當(dāng)CPU允許時間等于或超過CPU恢復(fù)時間(S700是)時,執(zhí)行模式設(shè)置單元540接著確定多個輸入/輸出設(shè)備中的最短總線允許時間是否等于或超過C3狀態(tài)的總線恢復(fù)時間(S710)。
當(dāng)總線允許時間等于或超過總線恢復(fù)時間(S710是)時,執(zhí)行模式設(shè)置單元540設(shè)置切換目標(biāo)模式為C3狀態(tài)(S720)。而且,當(dāng)最短CPU允許時間比C3狀態(tài)的CPU恢復(fù)時間更短時(S700否),或當(dāng)最短總線允許時間比C3狀態(tài)的總線恢復(fù)時間更短時(S710否),執(zhí)行模式設(shè)置單元540前進(jìn)到下一處理。
執(zhí)行模式設(shè)置單元540確定多個輸入/輸出設(shè)備中的最短CPU允許時間是否等于或超過C2狀態(tài)的CPU恢復(fù)時間(S730)。當(dāng)CPU允許時間等于或超過CPU恢復(fù)時間(S730是)時,執(zhí)行模式設(shè)置單元540接著確定多個輸入/輸出設(shè)備中的最短總線允許時間是否等于或超過C2狀態(tài)的總線恢復(fù)時間(S740)。
當(dāng)總線允許時間等于或超過總線恢復(fù)時間(S740是)時,執(zhí)行模式設(shè)置單元540設(shè)置切換目標(biāo)模式為C2狀態(tài)(S750)。而且,當(dāng)最短CPU允許時間比C2狀態(tài)的CPU恢復(fù)時間更短時(S730否),或當(dāng)最短總線允許時間比C2狀態(tài)的總線恢復(fù)時間更短時(S740否),執(zhí)行模式設(shè)置單元540設(shè)置切換目標(biāo)模式為C1狀態(tài)(S760)。
因而,執(zhí)行模式設(shè)置單元540可以選擇低功率模式,其中CPU恢復(fù)時間等于或短于最短CPU允許時間,并且總線恢復(fù)時間等于或短于最短總線允許時間,并且可以設(shè)置所選擇的低功率模式為切換目標(biāo)模式。此外,執(zhí)行模式設(shè)置單元540按從低功耗的執(zhí)行模式到高功耗的執(zhí)行模式的次序確定中央處理單元1000是否可切換到該模式,因而能夠使中央處理單元1000切換到功耗盡可能低的執(zhí)行模式。
圖8示出操作系統(tǒng)執(zhí)行的另一處理例子。例如,操作系統(tǒng)允許中央處理單元1000周期性地執(zhí)行下列處理。允許時間獲取單元520確定自從執(zhí)行模式設(shè)置單元540把切換目標(biāo)模式改變?yōu)楣母哂谶^去設(shè)置的低功率模式的功耗的低功率模式開始,是否已經(jīng)過預(yù)定設(shè)置參考時間(S800)。
當(dāng)設(shè)置參考時間已經(jīng)過時,允許時間獲取單元520查詢每個輸入/輸出設(shè)備的CPU允許時間和總線允許時間(S810)。在獲得對有關(guān)查詢的響應(yīng)時,允許時間獲取單元520轉(zhuǎn)移處理到S840(S820是)。注意,響應(yīng)可以是CPU允許時間自身和總線允許時間自身,或可以是這些時間已經(jīng)寫入主存儲器1020的結(jié)果的通知。
而且,當(dāng)執(zhí)行模式設(shè)置單元540不能獲得對有關(guān)查詢的響應(yīng)時(S820否),執(zhí)行模式設(shè)置單元540進(jìn)行設(shè)置,該設(shè)置把切換目標(biāo)模式返回到在改變之前的低功率模式(S830)。例如,執(zhí)行模式設(shè)置單元540可以從主存儲器取出在S640存儲的、改變之前的低功率模式,并且可以設(shè)置取出的低功率模式為切換目標(biāo)模式。因而,即使當(dāng)故障出現(xiàn)在設(shè)備驅(qū)動程序中并且CPU允許時間和總線允許時間變得不準(zhǔn)確時,信息處理設(shè)備10的功耗也能夠保持較低。
接著,操作系統(tǒng)周期性地執(zhí)行下列處理。注意,處理的時序可以不同于上述處理的時序。當(dāng)任意輸入/輸出設(shè)備請求在任何低功率模式下與主存儲器進(jìn)行數(shù)據(jù)傳送時,故障檢測單元530確定故障是否已經(jīng)出現(xiàn)在數(shù)據(jù)傳送中(S840)。當(dāng)確定故障已經(jīng)出現(xiàn)在數(shù)據(jù)傳送中時(S840是),執(zhí)行模式設(shè)置單元540設(shè)置中央處理單元1000為不可切換到例如C3狀態(tài)的預(yù)定低功率模式(S850)。
圖9示出設(shè)備驅(qū)動程序A的操作流程例子。例如,設(shè)備驅(qū)動程序A允許允許時間產(chǎn)生單元500-1周期性執(zhí)行下列處理。允許時間產(chǎn)生單元500-1確定是否已經(jīng)接收用于開始與主存儲器的數(shù)據(jù)傳送的傳送開始指令(S900)。在已經(jīng)接收傳送開始指令的情況下(S900是),允許時間產(chǎn)生單元500-1把短于存儲在設(shè)備信息記錄單元310中的總線允許時間的時間作為新總線允許時間存儲在設(shè)備信息記錄單元310中,因而縮短總線允許時間(S910)。
接著,允許時間產(chǎn)生單元500-1通過設(shè)備A執(zhí)行數(shù)據(jù)傳送(S920)。在數(shù)據(jù)傳送完成之后,允許時間產(chǎn)生單元500-1把長于在S910存儲的總線允許時間的時間作為新總線允許時間存儲在設(shè)備信息記錄單元310中,因而延長總線允許時間(S930)。結(jié)果,當(dāng)設(shè)備A與主存儲器傳送數(shù)據(jù)時,允許時間產(chǎn)生單元500-1能夠?qū)⑴c設(shè)備A未與主存儲器傳送數(shù)據(jù)的情況相比更短的時間設(shè)置為總線允許時間。
可選地,允許時間產(chǎn)生單元500-1可以縮短CPU允許時間,并且在數(shù)據(jù)傳送結(jié)束之后,可以延長CPU允許時間??蛇x地,允許時間產(chǎn)生單元500-1可以根據(jù)數(shù)據(jù)傳送的傳送速率設(shè)置總線允許時間或CPU允許時間。例如,當(dāng)數(shù)據(jù)傳送的傳送速率較快時,允許時間產(chǎn)生單元500-1可以產(chǎn)生短于傳送速率較慢情況下的時間的時間,以作為總線允許時間。
如上所述,基于這個實施例,中央處理單元1000能夠在功耗盡可能低的執(zhí)行模式下操作,并且能夠阻止故障出現(xiàn)在輸入/輸出設(shè)備中。
圖10示出在修改例子中中央處理單元1000的模塊圖。不同于圖5中描述的中央處理單元1000,通過設(shè)備驅(qū)動程序A,這個修改例子的中央處理單元1000用作允許時間產(chǎn)生單元500-1,恢復(fù)時間獲取單元510-1,允許時間獲取單元520-1以及切換目標(biāo)模式選擇單元550-1。此外,通過設(shè)備驅(qū)動程序B,中央處理單元1000用作允許時間產(chǎn)生單元500-2,恢復(fù)時間獲取單元510-2,允許時間獲取單元520-2以及切換目標(biāo)模式選擇單元550-2。圖10中的允許時間產(chǎn)生單元500-1,恢復(fù)時間獲取單元510-1以及允許時間獲取單元520-1與圖5中示出的允許時間產(chǎn)生單元500-1,恢復(fù)時間獲取單元510以及允許時間獲取單元520分別近似相同,并且因此省略其說明。
此外,通過操作系統(tǒng)的節(jié)電模塊,中央處理單元1000用作執(zhí)行模式設(shè)置單元540。注意,如圖5中那樣,設(shè)備驅(qū)動程序A是管理設(shè)備A的程序,并且設(shè)備驅(qū)動程序B是管理設(shè)備B的程序。此外,操作系統(tǒng),設(shè)備驅(qū)動程序A以及設(shè)備驅(qū)動程序B的組是基于本發(fā)明的程序的例子。
基于CPU恢復(fù)時間等等,當(dāng)在信息處理設(shè)備10中只提供設(shè)備A作為輸入/輸出設(shè)備并且在其中沒有提供其他的輸入/輸出設(shè)備時,切換目標(biāo)模式選擇單元550-1選擇將由執(zhí)行模式設(shè)置單元540設(shè)置的切換目標(biāo)模式。接著,在主存儲器1020中,切換目標(biāo)模式選擇單元550-1存儲指示所選擇的切換目標(biāo)模式的信息,使得該信息對應(yīng)于設(shè)備A。以類似方式,允許時間產(chǎn)生單元500-2等等為每個輸入/輸出設(shè)備選擇切換目標(biāo)模式,并且把每個所選擇的切換目標(biāo)模式存儲在主存儲器1020中。其它輸入/輸出設(shè)備的設(shè)備驅(qū)動程序的處理與設(shè)備驅(qū)動程序A的處理基本上相同,并且因此省略后續(xù)說明。
執(zhí)行模式設(shè)置單元540設(shè)置低功率模式作為切換目標(biāo)模式,該低功率模式下,在由切換目標(biāo)模式選擇單元550-1等等為每個輸入/輸出設(shè)備選擇的切換目標(biāo)模式中,CPU恢復(fù)時間最短并且總線恢復(fù)時間最短。設(shè)置處理的例子與圖5的例子基本上相同,并且因此省略其說明。
圖11示出在修改例子中設(shè)備信息記錄單元310的例子。對于每個輸入/輸出設(shè)備,當(dāng)信息處理設(shè)備10中只提供了該輸入/輸出設(shè)備時,設(shè)備信息記錄單元310存儲將由執(zhí)行模式設(shè)置單元540為該輸入/輸出設(shè)備設(shè)置的切換目標(biāo)模式??蛇x地,對于每個輸入/輸出設(shè)備及執(zhí)行模式,當(dāng)信息處理設(shè)備10中只提供該輸入/輸出設(shè)備時,設(shè)備信息記錄單元310可以存儲關(guān)于執(zhí)行模式設(shè)置單元540是否將執(zhí)行可切換到該執(zhí)行模式的設(shè)置的信息。注意,在這個例子中的CPU信息記錄單元300與圖3示出的CPU信息記錄單元300基本上相同,并且省略其說明。
圖12示出在修改例子中設(shè)備驅(qū)動程序A的操作流程例子。例如,設(shè)備驅(qū)動程序A允許下列單元周期性或每當(dāng)設(shè)備A的工作狀態(tài)轉(zhuǎn)變時執(zhí)行下列處理。首先,恢復(fù)時間獲取單元510-1獲得CPU恢復(fù)時間和總線恢復(fù)時間(S1200)。允許時間產(chǎn)生單元500-1產(chǎn)生設(shè)備A的CPU允許時間和總線允許時間(S1210)。允許時間獲取單元520-1從允許時間產(chǎn)生單元500-1獲得設(shè)備A的CPU允許時間和總線允許時間(S1220)。
切換目標(biāo)模式選擇單元550-1確定設(shè)備A的CPU允許時間是否等于或超過C4狀態(tài)的CPU恢復(fù)時間(S1230)。當(dāng)CPU允許時間等于或超過CPU恢復(fù)時間(S1230是)時,切換目標(biāo)模式選擇單元550-1接著確定設(shè)備A的總線允許時間是否等于或超過C4狀態(tài)的總線恢復(fù)時間(S1240)。
當(dāng)總線允許時間等于或超過總線恢復(fù)時間(S1240是)時,切換目標(biāo)模式選擇單元550-1選擇C4狀態(tài)作為切換目標(biāo)模式,并且存儲選擇的結(jié)果在設(shè)備信息記錄單元310中(S1250)。而且,當(dāng)設(shè)備A的CPU允許時間比C4狀態(tài)的CPU恢復(fù)時間短時(S1230否),或當(dāng)設(shè)備A的總線允許時間比C4狀態(tài)的總線恢復(fù)時間短時(S1240否),切換目標(biāo)模式選擇單元550-1前進(jìn)到圖13的處理。
圖13示出在圖12的處理之后的處理。切換目標(biāo)模式選擇單元550-1確定設(shè)備A的CPU允許時間是否等于或超過C3狀態(tài)的CPU恢復(fù)時間(S1300)。當(dāng)CPU允許時間等于或超過CPU恢復(fù)時間(S1300是)時,切換目標(biāo)模式選擇單元550-1接著確定設(shè)備A的總線允許時間是否等于或超過C3狀態(tài)的總線恢復(fù)時間(S1310)。
當(dāng)總線允許時間等于或超過總線恢復(fù)時間(S1310是)時,切換目標(biāo)模式選擇單元550-1選擇C3狀態(tài)作為切換目標(biāo)模式,并且存儲選擇的結(jié)果在設(shè)備信息記錄單元310中(S1320)。而且,當(dāng)設(shè)備A的CPU允許時間比C3狀態(tài)的CPU恢復(fù)時間更短時(S1300否),或當(dāng)設(shè)備A的總線允許時間比C3狀態(tài)的總線恢復(fù)時間更短時(S1310否),切換目標(biāo)模式選擇單元550-1前進(jìn)到下一個處理。
切換目標(biāo)模式選擇單元550-1確定設(shè)備A的CPU允許時間是否等于或超過C2狀態(tài)的CPU恢復(fù)時間(S1330)。當(dāng)CPU允許時間等于或超過CPU恢復(fù)時間(S1330是)時,切換目標(biāo)模式選擇單元550-1接著確定設(shè)備A的總線允許時間是否等于或超過C2狀態(tài)的總線恢復(fù)時間(S1340)。
當(dāng)總線允許時間等于或超過總線恢復(fù)時間(S1340是)時,切換目標(biāo)模式選擇單元550-1選擇C2狀態(tài)作為切換目標(biāo)模式,并且存儲選擇的結(jié)果在設(shè)備信息記錄單元310中(S1350)。而且,當(dāng)設(shè)備A的總線允許時間比C2狀態(tài)的總線恢復(fù)時間更短時(S1330否),或當(dāng)設(shè)備A的總線允許時間比C2狀態(tài)的總線恢復(fù)時間更短時(S1340否),切換目標(biāo)模式選擇單元550-1選擇C1狀態(tài)作為切換目標(biāo)模式,并且存儲選擇的結(jié)果在設(shè)備信息記錄單元310中(S1360)。
圖14示出在修改例子中操作系統(tǒng)的處理的例子。執(zhí)行模式設(shè)置單元540從設(shè)備信息記錄單元310獲得所有輸入/輸出設(shè)備的切換目標(biāo)模式(S1400)。接著,執(zhí)行模式設(shè)置單元540設(shè)置低功率模式作為切換目標(biāo)模式,該低功率模式下,在由切換目標(biāo)模式選擇單元550-1等等為每個輸入輸出設(shè)備選擇的切換目標(biāo)模式中,CPU恢復(fù)時間最短并且總線恢復(fù)時間最短(S1410)。
如上所述,基于這個修改例子,通過較少改變現(xiàn)有操作系統(tǒng)的功能的設(shè)備驅(qū)動程序的功能來適當(dāng)操作輸入/輸出設(shè)備。
如上所述,使用實施例描述了本發(fā)明,然而,本發(fā)明的技術(shù)范圍不限于上述實施例的范圍。本領(lǐng)域的技術(shù)人員明白,各種改變或修改可以加入上述實施例。根據(jù)權(quán)利要求書的范圍的說明可以明白,通過這種改變或修改而增加的方面也可以結(jié)合進(jìn)本發(fā)明的技術(shù)范圍。
基于上述實施例,實現(xiàn)了在下面相應(yīng)權(quán)項中描述的程序,記錄介質(zhì),控制方法以及信息處理設(shè)備。
盡管已經(jīng)詳細(xì)描述本發(fā)明的優(yōu)選實施例,然而應(yīng)當(dāng)理解,在不偏離所附權(quán)利要求書限定的本發(fā)明的宗旨和范圍的前提下,可以進(jìn)行各種變化、替換以及變更。
權(quán)利要求
1.一種與信息處理設(shè)備一起使用的程序產(chǎn)品,用于指示信息處理設(shè)備控制在信息處理設(shè)備中提供的中央處理單元的執(zhí)行模式,中央處理單元具有其可執(zhí)行處理的類型和功耗彼此不同的多個執(zhí)行模式,該程序產(chǎn)品包括設(shè)備可讀介質(zhì);在設(shè)備可讀介質(zhì)上提供的恢復(fù)時間獲取裝置,用于獲得恢復(fù)時間,即中央處理單元從低功率模式恢復(fù)到功耗高于低功率模式功耗的高功率模式所需的時間;在設(shè)備可讀介質(zhì)上提供的允許時間獲取裝置,用于獲得從針對低功率模式下不可處理且高功率模式下可處理的處理的請求,到在中央處理單元恢復(fù)到高功率模式之后處理的開始的最長允許時間,其中由信息處理設(shè)備的輸入/輸出設(shè)備向中央處理單元發(fā)出該請求;以及在設(shè)備可讀介質(zhì)上提供的執(zhí)行模式設(shè)置裝置,用于在基于允許時間和恢復(fù)時間確定中央處理單元能夠切換到低功率模式的情況下,把中央處理單元設(shè)置到可切換為低功率模式的狀態(tài)。
2.如權(quán)利要求1所述的程序產(chǎn)品,其中中央處理單元在高功率模式下執(zhí)行指令,并且在低功率模式不執(zhí)行該指令,允許時間獲取裝置獲得CPU允許時間,即從執(zhí)行指令的請求到中央處理單元對指令執(zhí)行的開始的最長允許時間,其中該請求由輸入/輸出設(shè)備向中央處理單元發(fā)出,并且在恢復(fù)時間短于CPU允許時間的情況下,執(zhí)行模式設(shè)置裝置將中央處理單元設(shè)置到可切換為低功率模式的狀態(tài)。
3.如權(quán)利要求1所述的程序產(chǎn)品,其中中央處理單元具有高速緩沖存儲器,在高功率模式下執(zhí)行一致性控制,即保持高速緩沖存儲器和主存儲器之間的一致性,并且在低功率模式下不執(zhí)行一致性控制,允許時間獲取裝置獲得總線允許時間,即從輸入/輸出設(shè)備訪問信息處理設(shè)備的主存儲器的請求到中央處理單元能夠執(zhí)行一致性控制的狀態(tài)的最長允許時間,并且執(zhí)行模式設(shè)置裝置在恢復(fù)時間短于總線允許時間的情況下將中央處理單元設(shè)置到可切換為低功率模式的狀態(tài)。
4.如權(quán)利要求3所述的程序產(chǎn)品,其中中央處理單元在高功率模式下執(zhí)行指令,并且在低功率模式不執(zhí)行該指令,允許時間獲取裝置還獲得CPU允許時間,即從執(zhí)行指令的請求到中央處理單元對指令的執(zhí)行的開始的最長允許時間,其中該請求由輸入/輸出設(shè)備向中央處理單元發(fā)出,并且執(zhí)行模式設(shè)置裝置還在恢復(fù)時間短于CPU允許時間的情況下將中央處理單元設(shè)置到可切換為低功率模式的狀態(tài)。
5.如權(quán)利要求1所述的程序產(chǎn)品,其中中央處理單元從高功率模式切換到其功耗相互不同的多個低功率模式中的任何模式,恢復(fù)時間獲取裝置獲得中央處理單元從多個低功率模式的每個模式恢復(fù)到高功率模式所需的恢復(fù)時間,并且執(zhí)行模式設(shè)置裝置選擇和設(shè)置一低功率模式作為中央處理單元從高功率模式切換到的切換目標(biāo)的低功率模式,其中該低功率模式的恢復(fù)時間短于允許時間,并且在多個低功率模式中功耗最低。
6.如權(quán)利要求5所述的程序產(chǎn)品,其中信息處理設(shè)備包含多個輸入/輸出設(shè)備,允許時間獲取裝置獲得多個輸入/輸出設(shè)備的每個輸入/輸出設(shè)備的允許時間,并且執(zhí)行模式設(shè)置裝置選擇和設(shè)置一低功率模式作為中央處理單元從高功率模式切換到的切換目標(biāo)的低功率模式,其中該低功率模式的恢復(fù)時間短于允許時間獲取裝置獲得的最短允許時間,并且其功耗最低。
7.如權(quán)利要求5所述的程序產(chǎn)品,其中,在自從切換目標(biāo)的低功率模式改變?yōu)槠涔母哂谶^去設(shè)置的低功率模式的功耗的低功率模式開始,已經(jīng)過預(yù)定設(shè)置參考時間的情況下,執(zhí)行模式設(shè)置裝置執(zhí)行把切換目標(biāo)的低功率模式返回到改變之前的低功率模式的設(shè)置。
8.如權(quán)利要求7所述的程序產(chǎn)品,其中,在自從切換目標(biāo)的低功率模式被執(zhí)行模式設(shè)置單元改變?yōu)楣母哂诟淖冎暗牡凸β誓J降墓牡牡凸β誓J介_始,已經(jīng)過預(yù)定設(shè)置參考時間的情況下,允許時間獲取單元向用于管理輸入/輸出設(shè)備的設(shè)備驅(qū)動程序查詢允許時間,并且在查詢沒有被響應(yīng)的情況下,執(zhí)行模式設(shè)置裝置執(zhí)行把切換目標(biāo)的低功率模式返回到改變之前的低功率模式的設(shè)置。
9.如權(quán)利要求1所述的程序產(chǎn)品,其中中央處理單元從高功率模式切換到其功耗相互不同的多個低功率模式中的任何模式,信息處理設(shè)備包含多個輸入/輸出設(shè)備,恢復(fù)時間獲取裝置獲得中央處理單元從多個低功率模式的每個低功率模式恢復(fù)到高功率模式所需的恢復(fù)時間,允許時間獲取裝置獲得多個輸入/輸出設(shè)備的每個輸入/輸出設(shè)備的允許時間,該程序產(chǎn)品還包括在設(shè)備可讀介質(zhì)上提供的切換目標(biāo)模式選擇裝置,用于針對每個輸入/輸出設(shè)備,基于允許時間和恢復(fù)時間選擇切換目標(biāo)的低功率模式,其中將由執(zhí)行模式設(shè)置裝置在信息處理設(shè)備中只提供該輸入/輸出設(shè)備的情況下設(shè)置該切換目標(biāo),并且執(zhí)行模式設(shè)置裝置設(shè)置一低功率模式作為切換目標(biāo)的低功率模式,其中該低功率模式的恢復(fù)時間在切換目標(biāo)模式選擇裝置針對每個輸入/輸出設(shè)備選擇的切換目標(biāo)的低功率模式中最短。
10.如權(quán)利要求1所述的程序產(chǎn)品,其中該程序產(chǎn)品還包括在設(shè)備可讀介質(zhì)上提供的允許時間產(chǎn)生裝置,用于基于輸入/輸出設(shè)備的工作狀態(tài)產(chǎn)生輸入/輸出設(shè)備的允許時間,并且允許時間獲取裝置從允許時間產(chǎn)生裝置獲得允許時間。
11.如權(quán)利要求10所述的程序產(chǎn)品,其中,在輸入/輸出設(shè)備與主存儲器傳送數(shù)據(jù)的情況下,允許時間產(chǎn)生裝置產(chǎn)生與輸入/輸出設(shè)備不與主存儲器傳送數(shù)據(jù)的情況相比較短的時間,以作為允許時間。
12.一種與信息處理設(shè)備一起使用的程序產(chǎn)品,用于指示信息處理設(shè)備控制信息處理設(shè)備中提供的中央處理單元的執(zhí)行模式,中央處理單元包括高速緩沖存儲器,并且具有其中執(zhí)行高速緩沖存儲器和主存儲器之間數(shù)據(jù)一致性控制的高功率模式,以及其中不執(zhí)行數(shù)據(jù)一致性控制,其功耗低于高功率模式的功耗的低功率模式,該程序產(chǎn)品包括設(shè)備可讀介質(zhì);設(shè)備可讀介質(zhì)上提供的故障檢測裝置,用于確定低功率模式下在主存儲器和信息處理設(shè)備的輸入/輸出設(shè)備之間執(zhí)行的數(shù)據(jù)傳送中是否出現(xiàn)故障;以及設(shè)備可讀介質(zhì)上提供的執(zhí)行模式設(shè)置裝置,用于在故障出現(xiàn)的情況下把中央處理單元設(shè)置為不能切換到低功率模式。
13.一種與信息處理設(shè)備一起使用的程序產(chǎn)品,用于指示信息處理設(shè)備控制信息處理設(shè)備的中央處理單元在其可執(zhí)行處理的類型和功耗彼此不同的多個執(zhí)行模式的任何執(zhí)行模式下操作,其中中央處理單元從高功率模式切換到功耗低于高功率模式的功耗的多個低功率模式的任何低功率模式,該程序產(chǎn)品包括設(shè)備可讀介質(zhì);在設(shè)備可讀介質(zhì)上提供的恢復(fù)時間獲取裝置,用于獲得恢復(fù)時間,即中央處理單元從多個低功率模式的每個低功率模式恢復(fù)到高功率模式所需的時間;在設(shè)備可讀介質(zhì)上提供的允許時間獲取裝置,用于獲得從針對在多個低功率模式的每個低功率模式下不可處理并且在高功率模式下可處理的處理的請求,到在中央處理單元恢復(fù)到高功率模式之后處理的開始的最長允許時間,其中由信息處理設(shè)備的輸入/輸出設(shè)備向中央處理單元發(fā)出該請求;以及設(shè)備可讀介質(zhì)上提供的切換目標(biāo)模式選擇裝置,用于基于允許時間和恢復(fù)時間,在信息處理設(shè)備中提供該輸入/輸出設(shè)備并且未提供其它輸入/輸出設(shè)備的情況下,選擇中央處理單元將切換到的切換目標(biāo)的低功率模式,并且用于輸出指示所選擇的低功率模式的信息。
14.一種用于控制信息處理設(shè)備中提供的中央處理單元的執(zhí)行模式的控制方法,其中中央處理單元具有多個執(zhí)行模式,其可執(zhí)行的處理的類型和功耗彼此不同,該方法包括步驟獲得恢復(fù)時間,即中央處理單元從低功率模式恢復(fù)到功耗高于低功率模式的功耗的高功率模式所需的時間;獲得從針對低功率模式下不可處理并且高功率模式下可處理的處理的請求,到中央處理單元恢復(fù)到高功率模式之后處理的開始的最長允許時間,其中由信息處理設(shè)備的輸入/輸出設(shè)備向中央處理單元發(fā)出該請求;以及在基于允許時間和恢復(fù)時間確定中央處理單元能夠切換到低功率模式的情況下,把中央處理單元設(shè)置到可切換為低功率模式的狀態(tài)。
15.一種用于控制信息處理設(shè)備中提供的中央處理單元的執(zhí)行模式的控制方法,其中中央處理單元包含高速緩沖存儲器,具有其中執(zhí)行高速緩沖存儲器和主存儲器之間的數(shù)據(jù)一致性控制的高功率模式,以及其中不執(zhí)行數(shù)據(jù)一致性控制,并且功耗低于高功率模式的功耗的低功率模式,該方法包括步驟確定低功率模式下在主存儲器和信息處理設(shè)備的輸入/輸出設(shè)備之間執(zhí)行的數(shù)據(jù)傳送中是否出現(xiàn)故障;以及在故障已經(jīng)出現(xiàn)的情況下,設(shè)置中央處理單元為不能切換到低功率模式。
16.一種用于控制信息處理設(shè)備的中央處理單元在多個執(zhí)行模式的任何執(zhí)行模式下操作的控制方法,所述多個執(zhí)行模式可執(zhí)行的處理的類型和功耗彼此不同,其中中央處理單元從高功率模式切換到多個低功率模式的任何低功率模式,所述多個低功率模式為功耗低于高功率模式的功耗的低功耗執(zhí)行模式,該方法包括步驟獲得恢復(fù)時間,即中央處理單元從多個低功率模式的每個低功率模式恢復(fù)到高功率模式所需的時間;獲得從針對在多個低功率模式的每個低功率模式下不可處理并且在高功率模式下可處理的處理的請求,到中央處理單元恢復(fù)到高功率模式之后處理的開始的最長允許時間,其中由信息處理設(shè)備的輸入/輸出設(shè)備向中央處理單元發(fā)出該請求;基于允許時間和恢復(fù)時間,在信息處理設(shè)備中提供該輸入/輸出設(shè)備并且未提供其它輸入/輸出設(shè)備的情況下,選擇中央處理單元將切換到的切換目標(biāo)低功率模式;以及輸出指示所選擇的低功率模式的信息。
17.一種信息處理設(shè)備,包括中央處理單元,具有多個執(zhí)行模式,其可執(zhí)行的處理的類型和功耗彼此不同;輸入/輸出設(shè)備;恢復(fù)時間獲取裝置,用于獲得恢復(fù)時間,即中央處理單元從低功率模式恢復(fù)到作為功耗高于低功率模式的高功耗執(zhí)行模式的高功率模式所需的時間;允許時間獲取裝置,用于獲得從針對低功率模式下不可處理并且高功率模式下可處理的處理的請求,到中央處理單元恢復(fù)到高功率模式之后處理的開始的最長允許時間,其中由信息處理設(shè)備的輸入/輸出設(shè)備向中央處理單元發(fā)出該請求;以及執(zhí)行模式設(shè)置裝置,用于在基于允許時間和恢復(fù)時間確定中央處理單元能夠切換到低功率模式的情況下,把中央處理單元設(shè)置到能夠切換為低功率模式的狀態(tài)。
18.一種信息處理設(shè)備,包括高速緩沖存儲器;主存儲器;中央處理單元,具有高功率模式和功耗低于高功率模式的功耗的低功率模式,其中在高功率模式下執(zhí)行高速緩沖存儲器和主存儲器之間的數(shù)據(jù)一致性控制,并且在低功率模式下不執(zhí)行;輸入/輸出設(shè)備;故障檢測裝置,用于確定低功率模式下在主存儲器和輸入/輸出設(shè)備之間執(zhí)行的數(shù)據(jù)傳送中是否出現(xiàn)故障;以及執(zhí)行模式設(shè)置裝置,用于在故障已經(jīng)出現(xiàn)的情況下把中央處理單元設(shè)置為不能切換到低功率模式。
全文摘要
指示信息處理設(shè)備控制其中央處理單元(CPU)的執(zhí)行模式的程序產(chǎn)品,CPU具有其可執(zhí)行處理的類型和功耗彼此不同的多個執(zhí)行模式,程序產(chǎn)品包括設(shè)備可讀介質(zhì);恢復(fù)時間獲取裝置,用于獲得CPU從低功率模式恢復(fù)到功耗高于低功率模式功耗的高功率模式所需的恢復(fù)時間;允許時間獲取裝置,用于獲得從針對低功率模式下不可處理且高功率模式下可處理的處理的請求,到CPU恢復(fù)到高功率模式后處理的開始的最長允許時間,由輸入/輸出設(shè)備發(fā)出該請求;及執(zhí)行模式設(shè)置裝置,用于在基于允許時間和恢復(fù)時間確定CPU能夠切換到低功率模式的情況下,把CPU設(shè)置到可切換為低功率模式的狀態(tài)。
文檔編號G06F11/00GK1658127SQ20051000798
公開日2005年8月24日 申請日期2005年2月4日 優(yōu)先權(quán)日2004年2月18日
發(fā)明者大森裕子, 丸一智己, 吉山典利, 杉浦厚男 申請人:國際商業(yè)機器公司