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

在運行狀態(tài)下藉由減少每個時鐘的指令率的省電操作的制作方法與工藝

文檔序號:12541203閱讀:177來源:國知局
本發(fā)明涉及一種省電方法,特別是涉及一種應(yīng)用于微處理器的省電方法。
背景技術(shù)
::操作系統(tǒng)可以控制一微處理器在各種性能狀態(tài)(通常稱為P-states)運行。雖然通過桌上型(desktop)或者伺服器系統(tǒng)(serversystems)可以減少電力以及所伴隨的消耗,但當(dāng)只有電池供電給裝置時,利用操作系統(tǒng)來控制微處理器的性能狀態(tài)以延長電池的時間成為一個重要的議題。舉例而言,當(dāng)操作系統(tǒng)檢測到工作量相對低時(例如,使用者僅在觀看DVD時,微處理所需的操作電量即相對的較小),操作系統(tǒng)可要求微處理器操作在一低性能狀態(tài)(performance-reducedstate)。一般而言,低性能狀態(tài)包括將微處理器執(zhí)行于一較低的時鐘頻率(reducedclockfrequency),以及一較低的操作電壓(reducedoperatingvoltagelevel)。再舉例而言,當(dāng)操作系統(tǒng)需要操作在最低的性能操作狀態(tài)時(lowestperformancerunningstate),微處理器會降低其操作頻率至微處理器仍可進(jìn)行操作的處理器總線(processorbus)的時鐘頻率的最低倍頻(Ratio),并且要求電源供應(yīng)器將供應(yīng)電源降低至微處理器仍可進(jìn)行操作在最低倍頻的最低操作電壓。又舉例而言,微處理器可包括一相鎖回路(phase-lockedloop,PLL)用以接收總線時鐘訊號,并且相應(yīng)地產(chǎn)生核心時鐘訊號(coreclocksignal)以作為總線時鐘頻率的倍頻。另外,相鎖回路所能產(chǎn)生的倍頻數(shù)目有限,因此具有一最低倍頻。無論如何,就算在最低的性能操作狀態(tài)下,執(zhí)行軟件所施加在微處理器上的工作量(例如,工作系統(tǒng)以及應(yīng)用程序所施加的工作量)仍然相對的較小,微處理器亦會因此造成長時間的閑置,導(dǎo)致電源的浪費。舉例而言,軟件可能僅處于藉由一計時器(occasionaltimer)計時以等待使用者輸入的狀態(tài)(例如,鼠標(biāo)或者鍵盤的點擊)。一般而言,為了從最低性能操作狀態(tài)更近一步地降低其電力消耗,微處理器必須自正常工作狀態(tài)(runningstate)轉(zhuǎn)換至一睡眠狀態(tài)(sleepingstate)或者一電源狀態(tài)(powerstate,一般稱為C-states),其中微處理器停止執(zhí)行指令并且執(zhí)行其他節(jié)電措施(powersavingmeasures),例如禁能(disable)微處理器的時鐘訊號或者移除微處理器中的部分電源(例如移除快取存儲器的電源),如圖1所示。圖1是用性能狀態(tài)(performancestates)以及電源狀態(tài)(powerstates)為函數(shù)所繪制的微處理器的電源消耗圖。然而,除非操作系統(tǒng)的指令要求微處理器進(jìn)入睡眠狀態(tài),否則微處理器無法進(jìn)入睡眠狀態(tài)。因此,當(dāng)微處理器仍然處于一操作狀態(tài)無法降低其操作頻率時,需要一種可以降低電源消耗的方法。技術(shù)實現(xiàn)要素:本發(fā)明的一實施例中提供一種微處理器包括多個功能性單元以及多個控制暫存器??刂茣捍嫫骺蛇M(jìn)行寫入以致使功能性單元啟動一個或者多個動作,其中動作是用以當(dāng)微處理器操作于一最低性能操作狀態(tài)時,降低每一時鐘的指令率,以減少微處理器的電源消耗。其中,最低性能操作狀態(tài)包括一非睡眠狀態(tài),并且微處理器在非睡眠狀態(tài)中操作于微處理器所支持的最低時鐘頻率。本發(fā)明的另一實施例中提供一種省電方法,其中省電方法適用于一微處理器。省電方法包括接收用以致使微處理器進(jìn)入一最低性能操作狀態(tài)的一命令,其中最低性能操作狀態(tài)包括一非睡眠狀態(tài),并且微處理器在非睡眠狀態(tài)中操作于微處理器所支持的最低時鐘頻率。省電方法還包括啟動用以減少電源消耗的一個或者多個動作,其中動作是當(dāng)微處理器相應(yīng)于所接收用以進(jìn)入最低性能操作狀態(tài)的命令而操作于最低性能操作狀態(tài)時,降低微處理器每一時鐘的指令率。附圖說明圖1是以一微處理器的性能狀態(tài)以及電源狀態(tài)為函數(shù)的電源消耗的示意圖。圖2是本發(fā)明一微處理器的方塊圖。圖3是本發(fā)明圖2所示的微處理器的操作流程圖。附圖符號說明102指令快取存儲器104指令格式器106格式化指令緩沖器108指令翻譯器112暫存器別名表114指令發(fā)送單元116A~116N執(zhí)行單元118指令退回單元122特別模塊暫存器124熔絲126控制暫存器128性能狀態(tài)切換計數(shù)器132使用者禁能標(biāo)志134計數(shù)器138存儲器子系統(tǒng)142微碼144快取存儲器146快取存儲器具體實施方式以下將詳細(xì)討論本發(fā)明各種實施例的裝置及使用方法。然而值得注意的是,本發(fā)明所提供的許多可行的發(fā)明概念可實施在各種特定范圍中。這些特定實施例僅用于舉例說明本發(fā)明的裝置及使用方法,但非用于限定本發(fā)明的范圍。當(dāng)微處理器為了減少電源消耗而操作在所支持的最低核心時鐘頻率時,本發(fā)明的實施例中所提供的微處理器可選擇性并且有效率地藉由一個或者多個不同的動作,來減少微處理器的每一時鐘的指令(instructionsperclock,IPC)率。如下所述,但本發(fā)明不限于此:(1)雖然微處理器通??赡懿桓鶕?jù)程序順序執(zhí)行指令(out-of-order),但致使指令根據(jù)程序順序執(zhí)行(in-orderexecution)。讓指令根據(jù)程序順序執(zhí)行的動作可減少推測所執(zhí)行的指令(speculativelyexecutedinstructions)的數(shù)量、減少之后必須取消或者重復(fù)執(zhí)行的指令的數(shù)量,并且減少因執(zhí)行隨后被取消或者被重復(fù)執(zhí)行的指令所造成的電源浪費。值得注意的是,上述的隨后會被取消或者被重復(fù)執(zhí)行的指令并不會對完成目前所執(zhí)行的程序提供任何幫助。(2)雖然微處理通??赡茉诿恳粫r鐘周期會發(fā)送多個(例如,3個)指令(上述動作稱為superscalarissue),但使得每一時鐘周期(perclockcycle)僅發(fā)送(issue)一個指令(上述動作稱為scalarissue)。讓每一時鐘周期僅發(fā)送一個指令的動作可減少執(zhí)行單元的使用率,并且節(jié)省電源消耗。(3)雖然微處理器通常可能在每一時鐘周期會格式化多個(例如,4個)指令,但在每一時鐘周期僅格式化一個由從一指令快取存儲器(instructioncache)所擷取的一可變長度指令串流(variable-lengthinstructionstream)的指令。在一個可變長度指令集(variable-lengthinstructionset)的架構(gòu)(architecture)中,一字節(jié)串流(streamofinstructionbytes)是從指令快取存儲器中擷取而來的,并且所擷取的字節(jié)串流必須被格式化為多個離散指令(discreteinstructions),使得個別的指令可被解碼并且可被轉(zhuǎn)譯為更簡單的微指令(microinstructions),以傳送至執(zhí)行單元加以執(zhí)行。因此,微處理器必須決定字節(jié)串流中指令與指令間的邊界(boundaries)。舉例而言,在每一時鐘周期僅格式化一個指令相較于在每一時鐘周期格式化三個指令簡單許多,并且每一時鐘周期僅格式化一個指令所需的電力相較于在每一時鐘周期格式化三個指令所需要的電力少。再者,在每一時鐘周期僅格式化一個指令會使得等待發(fā)送至執(zhí)行單元的指令減少,使得執(zhí)行單元的使用量減少,以節(jié)省電源。(4)雖然微處理器通常可能是以平行方式(parallelfashion)在快取層次結(jié)構(gòu)中存取各種快取存儲器,但在快取層次結(jié)構(gòu)(cachehierarchy)中(例如,L1以及L2快取存儲器),以串行方式(serialfashion)存取各種快取存儲器,可增進(jìn)效能。舉例而言,L1快取存儲器以及L2快取存儲器是同時以平行方式進(jìn)行存取,可減少在存取的遺漏事件中的數(shù)據(jù)訪問延遲(dataaccesslatency),其中遺漏事件的存取遺漏是在其中一個快取存儲器,而命中令一個快取存儲器。但是,為了節(jié)省電源,當(dāng)在存取L1快取存儲器中發(fā)生一個遺漏(miss)時,才會對L2快取存儲器進(jìn)行存取。在快取層次結(jié)構(gòu)中以串行方式存取快取存儲器的動作可減少快取存儲器的使用率,并且節(jié)省電源消耗。(5)即使指令轉(zhuǎn)譯器可在每一時鐘周期轉(zhuǎn)譯多個巨集指令,但在每一時鐘周期中僅轉(zhuǎn)譯一個巨集指令(macroinstruction)(例如,x86指令)。指令轉(zhuǎn)譯器可進(jìn)行指令熔斷(instructionfusing),但在本發(fā)明中會被禁能。在每一時鐘周期僅轉(zhuǎn)譯一個巨集指令會使得等待發(fā)送至執(zhí)行單元的指令減少,使得執(zhí)行單元的使用量減少,以節(jié)省電源消耗。(6)雖然指令退回單元可在一個時鐘周期中退回多個指令,但在一個時鐘周期中僅退回一個指令。當(dāng)指令備份在指令退回單元時,延滯的指令(stalls)可被導(dǎo)入微處理器100的管線(pipeline),因此在一個時鐘周期中僅退回一個指令會減少每一時鐘周期的指令率,以節(jié)省電源消耗。廣義而言,藉由避免那些不必要、但通常因推測而執(zhí)行用以增進(jìn)效能的工作量,可以減少每一時鐘的指令率以降低電源浪費,例如,依序執(zhí)行相較于非依序執(zhí)行省電;串行存取相較于并行存取省電。或者,藉由一較大的時間幀(timeframe)對串流(givenstreamofinstruction)進(jìn)行分散執(zhí)行(spreadexecution),可以減少每一時鐘的指令率以降低電源浪費,例如,純量發(fā)送(scalarissue)相較于超純量發(fā)送(superscalarissue)省電;每一時鐘執(zhí)行一個指令相較于每一時鐘進(jìn)行多個指令省電。更進(jìn)一步來說,由本發(fā)明可知,藉由一較大的時間幀對串流進(jìn)行分散執(zhí)行,而非一突發(fā)方式(burstymanner)執(zhí)行,具有更有效地提升動態(tài)電源管理的第二個益處,特別是在一多核心微處理的架構(gòu)中,可使閑置的核心進(jìn)入睡眠狀態(tài)。微處理器有時可能不會執(zhí)行減少每一時鐘的指令率的動作,即使當(dāng)微處理器被下達(dá)轉(zhuǎn)換至最低性能操作狀態(tài)。因此,在本發(fā)明的實施例中,微處理器當(dāng)一個或者多個既定情況存在時,才會發(fā)啟減少每一時鐘的指令率的動作,如下所述,但本發(fā)明不限于此:(1)最近一次轉(zhuǎn)換到上述最低性能操作狀態(tài)前,微處理器操作于一最高性能操作狀態(tài)的時間是否不超過一既定時間周期?在此條件下可以實現(xiàn)更復(fù)雜的變化。舉例而言,每一較高性能操作狀態(tài)可分別具有不同的既定時間周期。另外,先前所執(zhí)行的N個性能操作狀態(tài)可被檢驗,并且根據(jù)每一N個性能操作狀態(tài)所花費的時間計算一加權(quán)平均,以獲得一計算分?jǐn)?shù)。當(dāng)計算分?jǐn)?shù)小于一既定分?jǐn)?shù)時,才滿足條件。微處理器包括多個計數(shù)器,用以提供各種性能操作狀態(tài)所花費的時間的信息。(2)微處理器操作于最低性能操作狀態(tài)的時間,是否超過最近的一既定時間周期至少一既定百分比?(3)微處理器是否支持多個性能操作狀態(tài)(multipleperformancestates)?在一實施例中,部分微處理器可在制造時,經(jīng)由熔絲被編程,以致使微處理器可支持多個性能操作狀態(tài)。例如,一部份可被編程為支持多個性能操作狀態(tài),如應(yīng)用于筆記型計算機(jī)或者移動電話的移動系統(tǒng)(mobilesystem),另一部份可被編程為不支持多個性能操作狀態(tài),例如,應(yīng)用在桌上型計算機(jī)。(4)操作系統(tǒng)是否支持多個性能操作狀態(tài)?某些操作系統(tǒng)或者操作環(huán)境不支持多個性能操作狀態(tài),因此無法與微處理器溝通工作量是大或者是小;因此,無法減少微處理器的性能。在本發(fā)明的一實施例中,從操作系統(tǒng)啟動(booted)或者從微處理器被重置后,微處理器可保留一標(biāo)志用以指出操作系統(tǒng)是否要求切換至少一性能操作狀態(tài)?;蛘?,從操作系統(tǒng)啟動(booted)或者從微處理器被重置后,微處理器可保留一計數(shù)器用以指出操作系統(tǒng)要求切換至少一性能操作狀態(tài)的次數(shù),并且當(dāng)計數(shù)器的數(shù)值大于一既定數(shù)值時,微處理器才會啟動減少每一時鐘的指令率的動作。(5)使用者是否禁能藉由減少每一時鐘的指令率以節(jié)省電源的動作,例如,經(jīng)由一基本輸出輸入系統(tǒng)(BIOS)所設(shè)定的選項。本發(fā)明中藉由減少每一時鐘的指令率以節(jié)省電源的動作以及既定情況不限于上述的部分。其它藉由減少每一時鐘的指令率以節(jié)省電源的動作,以及其他為了滿足省電功能的必要條件皆為本發(fā)明的范疇。圖2所示為本發(fā)明所提供的一種微處理器的方塊圖。微處理器100包括可寫入數(shù)值的控制暫存器126或者多個標(biāo)志,用以當(dāng)微處理器操作在最低核心時鐘頻率(lowestcoreclockfrequency)時,指出是否應(yīng)該啟動減少每一時鐘的指令率的動作,以減少電源消耗。在一實施例中,微處理器100的微碼142將數(shù)值寫入控制暫存器126以致使微處理器100自減少每一時鐘的指令率的模式切換回正常操作模式,反之亦然。微處理器100亦包括多個執(zhí)行單元116用以執(zhí)行指令。執(zhí)行單元116可包括但不限于多個整數(shù)單元(integerunits)、浮點單元(floatingpointunits)、媒體單元(mediaunits)、單指令流多數(shù)據(jù)流單元(SingleInstructionMultipleData,SIMDunits)以及分支單元(branchunits)。微處理器100可藉由超純量方式(superscalarfashion)發(fā)送指令至執(zhí)行單元116,例如,在每一時鐘周期發(fā)送多個指令至執(zhí)行單元116。較佳的是,微處理器100操作在減少每一時鐘的指令率的模式,藉由純量方式(scalarfashion)發(fā)送指令來減少電源消耗,例如,在每一時鐘周期發(fā)送僅發(fā)送一個指示至執(zhí)行單元116。微處理器100亦包括一指令快取存儲器102用以自系統(tǒng)存儲器(未圖示)中快取(cache)指令。如上所述,指令是可變長度的,例如指令包括許多復(fù)雜指令(complexinstructionsetcomputer,CISC)的結(jié)構(gòu),例如x86指令集架構(gòu)。舉例而言,指令集中的不同指令可具有不同的長度,例如,長度可在1至13字節(jié)(bytes)之間,其不同于需要固定長度指令的精簡指令級計算(reducedinstructionsetcomputer,RISC)架構(gòu),例如,指令集中的不同指令具有相同的長度,例如32位(bits)。微處理器100亦包括一指令格式器104用以自指令快取存儲器102接收具有可變長度指令的一字節(jié)串流,并且格式化所接收的字節(jié)串流為可區(qū)別的多個指令。因此,微處理器還用以決定字節(jié)串流中不同指令間的邊界,以指出串流中連續(xù)的字節(jié)分別屬于哪個指令。指令格式器104自一控制暫存器126接收一輸入訊號。輸入訊號用以指出指令格式器104是在哪一種性能下進(jìn)行格式化。例如,在一高性能操作狀態(tài)模式下進(jìn)行格式化,可在每一時鐘周期中格式化其可格式化的一個或多個指令?;蛘?,在一低電源模式下,指令格式器104僅在每一時鐘周期中格式化一個指令。另外,已格式化的指令存放在一格式化指令緩沖器106中。微處理器100亦包括一指令轉(zhuǎn)譯器108用以自格式化指令緩沖器106接收已格式化的指令,并且將所接收的已格式化的指令轉(zhuǎn)譯為更簡單可被執(zhí)行單元116所執(zhí)行的微指令。指令轉(zhuǎn)譯器108自控制暫存器126接收自一輸入訊號,輸入訊號用以指出指令轉(zhuǎn)譯器108是在一高性能操作狀態(tài)下轉(zhuǎn)譯或是在低電源狀態(tài)下轉(zhuǎn)譯。在一高性能操作狀態(tài)下,指令轉(zhuǎn)譯器108在每一時鐘周期其可轉(zhuǎn)譯一個或多個指令;在一低電源狀態(tài)下,指令轉(zhuǎn)譯器108在每一時鐘周期僅轉(zhuǎn)譯一個指令。另外,已轉(zhuǎn)譯的微指令用以提供至一暫存器別名表112(registeraliastable,RAT)。暫存器別名表112用以根據(jù)程序順序接收已轉(zhuǎn)譯的微指令,并且產(chǎn)生每一微指令的附屬信息(dependencyinformation)。當(dāng)有即時指令(instantinstruction)依附以被允許發(fā)送至一執(zhí)行單元116執(zhí)行時,附屬信息可用以區(qū)別早期指令(olderinstructions)。舉例而言,指令可要求一早期指令的結(jié)果作為一源操作數(shù)(sourceoperand)。暫存器別名表112亦用以自微碼142(microcode)接收微指令。當(dāng)指令轉(zhuǎn)譯器108遇到無法轉(zhuǎn)譯為一既定數(shù)量(例如,3個)微指令的一復(fù)雜指令時,指令轉(zhuǎn)譯器108可調(diào)用(invoke)微碼142。舉例而言,可調(diào)用微碼142以回應(yīng)于致使微處理器100切換至一新的性能操作狀態(tài)或者電源狀態(tài)的一指令。另外,相應(yīng)于其他事件,微碼142亦可被調(diào)用,例如,中斷(interrupt)或者其它例外情況。微處理器100亦包括一指令退回單元118(instructionretireunit)用以使用暫存器別名表112所產(chǎn)生的附屬信息,決定何時發(fā)送指令至執(zhí)行單元116執(zhí)行。指令退回單元118用以自控制暫存器126接收一輸入訊號,其中控制暫存器126的輸入訊號用以指出指令退回單元118應(yīng)該在一超純量(superscalar)的高性能操作狀態(tài)或者一低電源狀態(tài)下,發(fā)送指令至執(zhí)行單元116。在超純量的高性能操作狀態(tài)下,可在每一時鐘周期發(fā)送其可發(fā)送的一個或多個指令;在低電源狀態(tài)下,在每一時鐘周期僅發(fā)送一個指令。微處理器100還包括執(zhí)行單元116產(chǎn)生讀取或者寫入要求的存儲器子系統(tǒng)138(memorysubsystem)。在一實施例中,存儲器子系統(tǒng)138包括一第一級快取存儲器144(level-1cache)以及一第二級快取存儲器146(level-2cache),其中亦可包括其它級的快取存儲器。存儲器子系統(tǒng)138用以回應(yīng)于執(zhí)行單元116的存儲器存取要求,存取快取存儲器144/146。另外,存儲器子系統(tǒng)138可自行產(chǎn)生存儲器存取要求至快取存儲器144/146,例如監(jiān)聽要求(snooprequest)、虛擬存儲器表的查核(virtualmemorytablewalk)、快取線消除(cachelineeviction)或者快取線定位(cachelineallocation)。存儲器子系統(tǒng)138用以自控制暫存器126接收一輸入訊號,其中控制暫存器126的輸入訊號用以指出存儲器子系統(tǒng)138應(yīng)該在哪一種性能下進(jìn)行存取。在一高性能操作狀態(tài)下,是以平行方式存取快取存儲器144/146以減少存取的延遲。在一低電源狀態(tài)下,以并行方式存取快取存儲器144/146,例如,先對第一級快取存儲器144進(jìn)行存取,并僅在第一級快取存儲器144的存取發(fā)生遺漏時,再對第二級存儲器進(jìn)行存取。微處理器100還包括一指令退回單元118用以依照程序順序退回指令。在某些情況下,指令退回單元118不依照程序順序退回指令。換言之,指令退回單元118根據(jù)依照程序順序執(zhí)行指令所產(chǎn)生的結(jié)果,更新微處理器100的狀態(tài)(architecturalstate)。指令退回單元118用以自控制暫存器126接收一輸入訊號,其中控制暫存器126的輸入訊號用以指出指令退回單元118是否應(yīng)該在一高性能操作狀態(tài)下以平行方式存取快取存儲器144/146以減少存取的延遲;或者,在一低電源狀態(tài)下以串行方式存取快取存儲器144/146,例如,先對第一級快取存儲器144進(jìn)行存取,并僅在第一級快取存儲器144的存取發(fā)生遺漏時,再對第二級存儲器進(jìn)行存取。微處理器100亦包括多個特別模塊暫存器122(modelspecificregisters,MSR)。特別模塊暫存器122可被系統(tǒng)軟件寫入以及讀取用以控制或者決定微處理器100的各種特征的狀態(tài)。系統(tǒng)軟件例如是基本輸出輸入系統(tǒng)(BIOS)或者操作系統(tǒng)。微處理器100的各種特征的狀態(tài)包括藉由減少每一時鐘的指令率以節(jié)省電源的動作。舉例而言,基本輸入輸出系統(tǒng)可回應(yīng)于被更新的一使用者禁能標(biāo)志132,允許使用者對特別模塊暫存器122進(jìn)行寫入,以禁能藉由減少每一時鐘的指令率以節(jié)省電源的動作。微處理器100亦包括多個熔絲124用以在微處理器100生產(chǎn)時被燒斷,以致能或者禁能各種特征以及各種配置值(configurationvalue),包括致能或者禁能藉由減少每一時鐘的指令率以節(jié)省電源的動作以及各種相關(guān)的參數(shù)。例如,哪一個藉由減少每一時鐘的指令率以節(jié)省電源的動作會被啟動。另外,熔絲124可在微處理器100生產(chǎn)時被燒斷,以指出微處理器100是否支持多個性能操作狀態(tài)或者僅支持單一性能操作狀態(tài)。微處理器100亦包括多個性能狀態(tài)切換計數(shù)器128(performancestatechangerequestcounters)用以計算微處理器被系統(tǒng)軟件要求改變不同性能操作狀態(tài)的次數(shù)。另外,微處理器100包括多個計數(shù)器134用以在微處理器100操作在每一其可支持的性能操作狀態(tài)下的一最近的既定時間周期(例如,最近的100,000個核心時鐘周期),計算時間量(例如.,核心時鐘周期量)。圖3是本發(fā)明圖2所示的微處理器100的操作流程圖。流程開始于步驟302。在步驟302中,微處理器100被命令進(jìn)入其最低性能操作狀態(tài),其中進(jìn)入最低性能操作狀態(tài)的指令是系統(tǒng)軟件在微處理器100仍操作在正常操作狀態(tài)下希望微處理器100操作于其最低電源消耗的階級的指示,其中正常操作狀態(tài)可為非睡眠狀態(tài)或者操作相關(guān)于電源節(jié)省動作的睡眠狀態(tài)。在一實施例中,最低性能操作狀態(tài)表示將微處理器100操作在其支持的最低核心時鐘頻率。另外,該命令可來自于系統(tǒng)軟件,例如,當(dāng)對特別模塊暫存器122進(jìn)行寫入時,微處理器100調(diào)用微碼142以回應(yīng)此寫入。另外,該命令可來自于微處理器100本身。例如,微碼142可檢測到將微處理器操作于其所支持的最低核心時鐘頻率的一原因。流程進(jìn)行至步驟304。在步驟304中,微處理器100測試多個既定條件中的至少一個是否存在,以決定是否啟動藉由減少每一時鐘的指令率以節(jié)省電源的動作,例如一個或者多個如上所述的既定情況。舉例而言:(1)微處理器100可檢驗性能狀態(tài)切換計數(shù)器128以決定工作系統(tǒng)是否支持多個性能操作狀態(tài)。在一實施例中,微處理器100可檢驗熔絲124和/或特別模塊暫存器122,以判斷微處器100是否支持多個性能操作狀態(tài)。(2)微處理器檢驗操作系統(tǒng)是否支持多個性能操作狀態(tài)。(3)微處理器100可檢驗使用者禁能標(biāo)志132,已決定使用者是否禁能藉由減少每一時鐘的指令數(shù)以節(jié)省電源的動作。(4)微處理器100可檢驗計數(shù)器134所計算的性能狀態(tài)操作的時間(或者其它微處理器100的指標(biāo)),以決定微處理器100操作于一較高性能操作狀態(tài)的時間是否不超過在步驟302接收到要求之前的一既定時間周期,以將微處理器100切換至其最低性能操作狀態(tài),其中每一較高性能操作狀態(tài)可分別具有不同的既定時間周期。在另一實施例中,微處理器100可檢驗計數(shù)器134所計算的性能操作狀態(tài)操作的時間(或者其它微處理器100的指標(biāo)),并且根據(jù)每一性能操作狀態(tài)所花費的時間計算一加權(quán)平均,以獲得一計算分?jǐn)?shù),以判斷該計算分?jǐn)?shù)是否小于一既定分?jǐn)?shù)。(5)檢驗微處理器操作于最低性能操作狀態(tài)的時間,是否超過最近的一既定時間周期至少一既定百分比。在一實施例中,只要有一個既定情況存在,即可啟動藉由減少每一時鐘的指令率以節(jié)省電源的動作。在另一實施例中,兩個或者更多的既定情況存在,也可啟動藉由減少每一時鐘的指令率以節(jié)省電源的動作。其它可判斷何時發(fā)啟藉由減少每一時鐘的指令率以節(jié)省電源的動作的既定條件的組合的其他實施例,皆為本發(fā)明的范疇。各種既定情況的組合可經(jīng)由熔絲124和/或微碼142設(shè)置;再者,上述的既定情況的組合可經(jīng)由寫入特別模塊暫存器122覆蓋。在一實施例中,微碼142在步驟304中執(zhí)行。流程進(jìn)行至步驟306。在判斷步驟306中,微處理器100使用在步驟304中所獲得的信息,判斷是否有足夠的既定情況存在,以啟動藉由減少每一時鐘的指令率以節(jié)省電源的動作。當(dāng)微處理器100判斷既定情況足夠時,流程進(jìn)行至步驟308;否則,流程結(jié)束于步驟306。在步驟308中,微處理器100啟動一個或者多個藉由減少每一時鐘的指令率以節(jié)省電源的動作,例如上述的動作。在一實施例中,微碼142寫入控制暫存器126,以提供各種功能性單元的控制輸入,例如,指令格式器104、指令轉(zhuǎn)譯器108、暫存器別名表112、指令發(fā)送單元114、執(zhí)行單元116、存儲器子系統(tǒng)138以及指令退回單元118。舉例而言,微處理器100可有以下的動作。(1)微處理器100藉由執(zhí)行單元122根據(jù)程序順序執(zhí)行指令,取代原本的不根據(jù)程序順序執(zhí)行。(2)微處理器100藉由指令發(fā)送單元114發(fā)送單一指令,取代原本的多個指令的發(fā)送。(3)微處理器100藉由指令格式器104在一個時鐘周期僅格式化一個指令,取代原本在一個時鐘周期格式化多個指令。(4)微處理器100以串行方式存取快取存儲器144/146,取代原本以平行方式進(jìn)行存取。(5)微處理器100藉由指令轉(zhuǎn)譯器108在每一時鐘周期僅轉(zhuǎn)譯一個巨集指令,取代原本在每一時鐘周期轉(zhuǎn)譯多個巨集指令。(6)微處理器100藉由指令退回單元118在每一時鐘周期僅退回一個指令,取代原本在每一時鐘周期退回多個指令。在一實施例中,在步驟308,微處理器100是以逐步方式(step-wisefashion)啟動藉由減少每一時鐘的指令率以節(jié)省電源的動作。換言之,微處理器100啟動一個或者多個藉由減少每一時鐘的指令率以節(jié)省電源的動作一段時間后,再開啟其它另外的藉由減少每一時鐘的指令率以節(jié)省電源的動作,依此類推,直到所有藉由減少每一時鐘的指令率以節(jié)省電源的動作都已啟動或者系統(tǒng)軟件命令微處理器100進(jìn)入非最低性能操作狀態(tài)外的其它狀態(tài)為止。其中,非最低性能操作狀態(tài)外的其它狀態(tài)可為一睡眠狀態(tài)或者一較高性能操作狀態(tài),而較高性能操作狀態(tài)的性能表現(xiàn)狀態(tài)優(yōu)于最低性能操作狀態(tài)。流程結(jié)束于步驟308。雖然本發(fā)明已經(jīng)由數(shù)個實施例揭示如上,但其僅用以作為例子,并非用以限定本發(fā)明。本領(lǐng)域技術(shù)人員應(yīng)能理解,在不脫離本發(fā)明的精神的前提下,可對本發(fā)明作些許更動。舉例而言,軟件能夠致能本發(fā)明的裝置和方法的功能、制造、模型建立、模擬、各種性質(zhì),和/或測試。其能夠藉由不同的程序語言而達(dá)成,例如程序語言(如C、C++)、硬件描述語言(hardwaredescriptionlanguage,HDL,如VerilogHDL、VHDL),或是其他可能的程序語言。上述軟件能夠設(shè)置于任何已知的計算機(jī)可讀取儲存媒體(computerusablemedium),例如半導(dǎo)體、磁盤,或光盤(如CD-ROM、DVD-ROM)。本發(fā)明的裝置和方法可能包括于任何半導(dǎo)體知識產(chǎn)權(quán)核心(semiconductorIPcore)之內(nèi),例如(以HDL嵌入的)微處理器核心,或是當(dāng)集成電路制造時,轉(zhuǎn)移至硬件。此外,本發(fā)明可能藉由硬件和軟件的組合而實現(xiàn)。因此,本發(fā)明不應(yīng)被此處所述的任何實施例所限制,本發(fā)明應(yīng)該是根據(jù)本發(fā)明的權(quán)利要求與其等效的裝置/方法而被定義。特別的是,本發(fā)明能夠設(shè)置于一般用途計算機(jī)的微處理器裝置內(nèi)。最后,本領(lǐng)域的技術(shù)人員應(yīng)能理解到:在不脫離由本發(fā)明權(quán)利要求定義的本發(fā)明范疇的前提下,其能夠以本發(fā)明揭示的概念和特定的實施例作為基礎(chǔ),用以設(shè)計或修改其他架構(gòu)來執(zhí)行與本發(fā)明相同的目的。當(dāng)前第1頁1 2 3 當(dāng)前第1頁1 2 3 
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
额尔古纳市| 拉萨市| 吉隆县| 铅山县| 大化| 延庆县| 灌南县| 荃湾区| 山东省| 蓬莱市| 大渡口区| 和田市| 浙江省| 松滋市| 清涧县| 南木林县| 申扎县| 莲花县| 新乡市| 莲花县| 中宁县| 新津县| 恩施市| 西丰县| 桃园市| 岐山县| 嘉荫县| 河源市| 白山市| 鹿泉市| 苍山县| 乐至县| 和田市| 新平| 南京市| 孟津县| 新干县| 徐水县| 贵州省| 苏尼特右旗| 徐闻县|