国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種cpu和降低cpu功耗的方法

      文檔序號:6619080閱讀:290來源:國知局
      專利名稱:一種cpu和降低cpu功耗的方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及嵌入式系統(tǒng)技術(shù)領(lǐng)域,特別是涉及一種CPU和降低CPU功 耗的方法。
      背景技術(shù)
      CPU的應(yīng)用非常廣泛,例如,CPU作為重要器件應(yīng)用在各種soc
      (System On Chip,片上系統(tǒng))中。
      超長指令字CPU是一條指令來實現(xiàn)多個操作的并行執(zhí)行,之所以放到 一條指令是為了減少內(nèi)存訪問,同時并行執(zhí)行增加了運(yùn)算的速度。通常一條 超長指令字多達(dá)上百位,有若干操作指令,每條超長指令字可以做不同的幾
      種運(yùn)算。哪些操作指令可以并行執(zhí)行是由編譯器或者匯編程序員來選擇的。 通常超長指令字(VLIW, Very Long Instruction Word)機(jī)只有一個控制器, 每個時鐘周期啟動一條超長指令字,超長指令字被分為幾個字段,每個字段 為一個操作指令,控制相應(yīng)的部件。
      如圖l所示,為現(xiàn)有技術(shù)的一種CPU的部件結(jié)構(gòu)示意圖,該CPU為超 長指令字CPU,包括功能部件和控制器。假設(shè)該CPU可以最大同時執(zhí)行3 個操作指令, 一條加載/存儲(Load/Store)指令,由加載/存儲部件完成,兩 條運(yùn)算指令,由運(yùn)算部件完成。如果在時鐘周期N超長指令字N只包含一 條Load/Store指令,那么傳統(tǒng)方法除了執(zhí)行Load/Store指令的Load/Store部 件的時鐘需要開啟外,其它所有部件的時鐘也都要開啟。
      隨著芯片的規(guī)模不斷增大,CPU的個數(shù)和速率不斷增加,在芯片設(shè)計和 應(yīng)用中,CPU功耗是一個必須考慮的問題,如何降低其功耗也是現(xiàn)有技術(shù)一 直渴望改進(jìn)的一個方向。圖1所示的一種CPU在工作時,數(shù)據(jù)存儲器、數(shù) 據(jù)存儲管理器、運(yùn)算部件、指令存儲器、指令存儲管理器、指令讀取部件各 個功能部件的時鐘一直處于開啟狀態(tài),多數(shù)量、高速度的CPU產(chǎn)生了大量 的功耗。因而,目前需要本領(lǐng)域技術(shù)人員迫切解決的一個技術(shù)問題就是如 何能夠降低CPU器件的功耗。

      發(fā)明內(nèi)容
      本發(fā)明所要解決的技術(shù)問題是提供一種CPU和降低CPU功耗的方法, 以降低CPU器件的功耗。
      為了解決上述技術(shù)問題,本發(fā)明實施例公開了一種CPU,包括功能部
      件和控制器,
      所述功能部件包括 指令存儲器,用于存儲指令;
      指令存儲管理器,用于管理指向所述指令存儲器的訪問請求; 數(shù)據(jù)存儲器,用于存儲數(shù)據(jù);
      數(shù)據(jù)存儲管理器,用于管理指向所述數(shù)據(jù)存儲器的訪問請求; 運(yùn)算部件,用于完成各種算術(shù)和邏輯運(yùn)算; 所述控制器,用于控制并協(xié)調(diào)各個功能部件運(yùn)行; 還包括
      時鐘控制模塊,位于控制器中,用于依據(jù)指令判斷在當(dāng)前時鐘周期中是 否有針對某個功能部件的訪問請求;如果有,則在當(dāng)前時鐘周期控制該功能 部件的時鐘開啟,否則,在當(dāng)前時鐘周期控制該功能部件的時鐘關(guān)閉。
      其中,所述時鐘控制模塊依據(jù)的指令包括所述指令存儲管理器從所述 指令存儲器中讀取的指令,以及CPU外部設(shè)備通過指令總線發(fā)送至所述指 令存儲管理器的指令。
      優(yōu)選的,所述指令為超長指令字, 一條超長指令字包含多個操作指令, 所述多個操作指令在同 一個時鐘周期內(nèi)并行執(zhí)行來完成對相應(yīng)功能部件的 訪問。
      其中,每個時鐘周期啟動一條超長指令字。
      優(yōu)選的,所述指向所述數(shù)據(jù)存儲器的訪問請求為CPU外部設(shè)備通過數(shù) 據(jù)總線發(fā)送至數(shù)據(jù)存儲管理器的。
      優(yōu)選的,所述功能部件還包括加載/存儲部件;所述指向所述數(shù)據(jù)存儲 器的訪問請求為CPU的控制器通過所述加載/存儲部件發(fā)送至數(shù)據(jù)存儲管理 器的。依據(jù)本發(fā)明的另 一實施例,還公開了 一種降低CPU功耗的方法,該CPU
      的功能部件包括指令存儲器、指令存儲管理器、數(shù)據(jù)存儲器、數(shù)據(jù)存儲管理
      器、運(yùn)算部件,所述的方法包括
      依據(jù)指令判斷當(dāng)前時鐘周期中,是否有針對某個功能部件的訪問請求; 如果有,則在當(dāng)前時鐘周期控制該功能部件的時鐘開啟,否則,在當(dāng)前
      時鐘周期控制該功能部件的時鐘關(guān)閉。
      其中,所述依據(jù)的指令包括所述指令存儲管理器/人所述指令存儲器中
      讀取的指令,以及CPU外部設(shè)備通過指令總線發(fā)送至指令存儲管理器的指令。
      優(yōu)選的,所述指令為超長指令字, 一條超長指令字包含多個操作指令, 所述多個操作指令在同 一時鐘周期內(nèi)并行執(zhí)行來完成對相應(yīng)功能部件的訪 問。
      其中,每個時鐘周期啟動一條超長指令字。 與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點
      控制器在整個CPU中控制并協(xié)調(diào)各個功能部件運(yùn)行,本發(fā)明對控制器 進(jìn)行了改進(jìn),具體的,本發(fā)明在控制器中增加了時鐘控制模塊,根據(jù)指令判 斷當(dāng)前時鐘周期中,是否有針對某個功能部件的訪問請求;如果有,則在當(dāng) 前時鐘周期控制該功能部件的時鐘開啟,否則,在當(dāng)前時鐘周期控制該功能 部件的時鐘關(guān)閉。由于在COMS ( Complementary Metal Oxide Semiconductor,互補(bǔ)金屬氧化物半導(dǎo)體)電路中,動態(tài)功耗與時鐘成正 比;各個功能部件并不是一直都在執(zhí)行命令,空閑功能部件處于功耗浪費(fèi) 的狀態(tài),所以將空閑的功能部件的時鐘關(guān)閉,就可以去掉該功能部件的能 量消耗,所以本發(fā)明可以很好的降低CPU器件的功耗。


      圖1是現(xiàn)有技術(shù)一種CPU的部件結(jié)構(gòu)示意圖2是本發(fā)明一種CPU實施例的部件結(jié)構(gòu)示意圖3是本發(fā)明一種CPU的優(yōu)選實施例的部件結(jié)構(gòu)示意圖;圖4是本發(fā)明一種降低CPU功耗的方法實施例的步驟流程圖。
      具體實施例方式
      為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖 和具體實施方式
      對本發(fā)明作進(jìn)一步詳細(xì)的說明。
      本發(fā)明的核心構(gòu)思在于在CPU的控制器中增加了時鐘控制模塊, 當(dāng)識別出某一 CPU的功能部件處于空閑狀態(tài)時,關(guān)閉沒有訪問需求的功 能部件的時鐘,由于在COMS ( Complementary Metal Oxide Semiconductor, 互補(bǔ)金屬氧化物半導(dǎo)體)電路中,功耗與時鐘成正比;所以在空閑時刻關(guān)閉 時鐘,可以去掉此時空閑功能部件的能量消耗,以達(dá)到降低功耗的目的。
      參照圖2,示出了本發(fā)明一種CPU實施例的部件結(jié)構(gòu)示意圖,所述CPU 具體包括功能部件20和控制器21,
      所述功能部件20包括指令存儲器201,用于存儲指令;
      指令存儲管理器202,用于管理指向所述指令存儲器201的訪問請求; 數(shù)據(jù)存儲器203,用于存儲數(shù)據(jù);
      數(shù)據(jù)存儲管理器204,用于管理指向所述數(shù)據(jù)存儲器204的訪問請求; 運(yùn)算部件205,用于完成各種算術(shù)和邏輯運(yùn)算; 所述控制器21 ,用于控制并協(xié)調(diào)各個功能部件運(yùn)行; 還包括
      時鐘控制模塊211,位于控制器21中,用于依據(jù)指令判斷在當(dāng)前時鐘周 期中是否有針對某個功能部件的訪問請求;如果有,則在當(dāng)前時鐘周期控制 該功能部件的時鐘開啟,否則,在當(dāng)前時鐘周期控制該功能部件的時鐘關(guān)閉。
      圖2所示的實施例采用的是哈佛體系結(jié)構(gòu),將數(shù)據(jù)和指令分開存儲和調(diào) 用,即CPU包括指令通道(指令存儲器201和指令存儲管理器202 )和數(shù)據(jù) 通道(數(shù)據(jù)存儲器203和數(shù)據(jù)存儲管理器204 )。
      本發(fā)明的重要改進(jìn)之處在于,在控制器21中增加了時鐘控制模塊211, 時鐘控制模塊211依據(jù)指令判斷在當(dāng)前時鐘周期中,需要對哪些功能部件執(zhí) 行指令操作,針對有訪問需求的功能部件,在當(dāng)前時鐘周期控制該功能部件的時鐘開啟;針對沒有訪問需求的功能部件,例如,沒有需要執(zhí)行的指令, 或者,由于種種原因?qū)е碌脑L問被中止,指令無法執(zhí)行的情形,則在當(dāng)前 時鐘周期控制該功能部件的時鐘關(guān)閉。
      其中,所述時鐘控制模塊依據(jù)的指令包括兩種情況 一種情況是所述指 令存儲管理器從所迷指令存儲器中讀取的指令,在這種情況下,根據(jù)從所述 指令存儲器中讀取的指令,將執(zhí)行該指令功能部件的時鐘開啟,例如當(dāng)前時 鐘周期中只有Load/Store指令,則只開啟Load/Store部件的時鐘,而不像 傳統(tǒng)方法中,將運(yùn)算部件等其它功能部件的時鐘都開啟;另一種情況是CPU 外部設(shè)備通過指令總線發(fā)送至所述指令存儲管理器的指令,在此情況下,如 果其它功能部件沒有訪問請求,由于該情況在當(dāng)前時鐘周期中只用到了指令 存儲管理器,則只將指令存儲管理器的時鐘開啟,將其它功能部件的時鐘關(guān) 閉,比起傳統(tǒng)的所有功能部件的時鐘都開啟的方案,減少了不必要的能量消 耗。
      參照圖3,示出了本發(fā)明一種CPU的優(yōu)選實施例的部件結(jié)構(gòu)示意圖,其 采用現(xiàn)階段比較常用的VLIW架構(gòu)體系實現(xiàn)。
      VLIW是指一條超長指令字實現(xiàn)多個操作的并行執(zhí)行,增加了運(yùn)算的速 度。在這種計算機(jī)處理結(jié)構(gòu)里面語言編譯器或者預(yù)處理器中斷程序指令分解 到可以被處理器并行執(zhí)行的基本操作。這些操作指令放在一個超長指令字 里,這樣處理器就可以直接分解它而不用進(jìn)一步分析,對應(yīng)每個操作指令到 適當(dāng)?shù)墓δ軉卧?。VLIW處理器主要的優(yōu)點是復(fù)雜性從硬件移到了軟件,這 就意味著硬件可以變得更小,更便宜并且耗電量也更少。
      圖3所示的一種CPU的優(yōu)選實施例,包括功能部件30和控制器31,
      所述功能部件30包括
      指令存儲器301,用于存儲指令;
      指令存儲管理器302,用于管理指向所述指令存儲器301的訪問請求; 指令讀取部件303,用于通過指令存儲管理器302從指令存儲器301讀 取所需執(zhí)行的指令;所述指令讀取部件還可以用于對指令進(jìn)行譯碼或測試,產(chǎn)生相應(yīng)的操作控制信號,以便啟動規(guī)定的動作; 數(shù)據(jù)存儲器304,用于存儲數(shù)據(jù);
      數(shù)據(jù)存儲管理器305,用于管理指向所述數(shù)據(jù)存儲器的訪問請求;
      運(yùn)算部件306,用于完成各種算術(shù)和邏輯運(yùn)算;所#1行的運(yùn)算會與所需 執(zhí)行的指令和/或所讀寫的數(shù)據(jù)有關(guān);
      Load/Store部件307,用于發(fā)出加載或存儲指令,通過數(shù)據(jù)存儲管理器 305從數(shù)據(jù)存儲器304讀取或者寫入所需的數(shù)據(jù);
      所述控制器31,用于控制并協(xié)調(diào)各個功能部件運(yùn)行;
      還包括
      時鐘控制模塊311,位于控制器31中,用于依據(jù)指令判斷在當(dāng)前時鐘周 期中是否有針對某個功能部件的訪問請求;如果有,則在當(dāng)前時鐘周期控制 該功能部件的時鐘開啟,否則,在當(dāng)前時鐘周期控制該功能部件的時鐘關(guān)閉。
      圖3所示的實施例還包括指令總線320和數(shù)據(jù)總線321, 二者僅是邏輯 劃分,實際上,如果總線分時復(fù)用的話,二者在物理上是同一的。
      其中,所述時鐘控制模塊依據(jù)的指令包括所述指令存儲管理器302從 所述指令存儲器301中讀取的指令,以及CPU外部設(shè)備通過指令總線320 發(fā)送至所述指令存儲管理器302的指令。
      另外,本實施例中的指令為超長指令字,每個時鐘周期啟動一條超長指 令字, 一條超長指令字包含多個操作指令,所述多個操作指令在同一個時鐘 周期內(nèi)并行執(zhí)行來完成對相應(yīng)功能部件的訪問。
      對于指向所述數(shù)據(jù)存儲器的訪問請求,有兩種情況, 一種情況是,所述 指向所述數(shù)據(jù)存儲器的訪問請求是CPU外部設(shè)備通過數(shù)據(jù)總線321發(fā)送至 數(shù)據(jù)存儲管理器的。例如,對于DMA (Direct Memory Access,直接存儲器 存取)而言,其可以暫時占用數(shù)據(jù)總線,直接向數(shù)據(jù)存儲管理器發(fā)出針對數(shù) 據(jù)存儲器的訪問請求。
      另一種情況是,指向所述數(shù)據(jù)存儲器的訪問請求是由CPU內(nèi)部發(fā)起的, 通常會通過Load/Store部件向數(shù)據(jù)存儲管理器發(fā)出。然后由數(shù)據(jù)存儲管理器 完成相應(yīng)的讀寫操作;如果涉及到運(yùn)算的,則調(diào)用運(yùn)算部件完成即可。具體的訪問請求通??梢园ǖ刂沸畔?,讀或?qū)懖僮鞯目刂菩畔?;對于寫操?而言,還可以包括所需寫入的數(shù)據(jù)。
      對于CPU來說,它的工作可分為獲取指令、解碼、運(yùn)算、結(jié)果等幾個 步驟,每一步驟分別有不同的功能部件完成。按照傳統(tǒng)的方式,所有指令按 順序執(zhí)行,先由指令存儲器、指令存儲管理器、指令讀取部件工作,完成指 令的獲取和譯碼,然后數(shù)據(jù)存儲器、數(shù)據(jù)存儲管理器、運(yùn)算器工作,完成數(shù) 據(jù)讀取、運(yùn)算等操作。很明顯,當(dāng)指令讀取部件工作時運(yùn)算器等其它功能部 件處于閑置狀態(tài),當(dāng)運(yùn)算器在工作時指令讀取部件等又在休息,這樣就造成 了相當(dāng)大的資源浪費(fèi)。于是CPU借鑒了工業(yè)生產(chǎn)中#:廣泛應(yīng)用的流水線設(shè) 計,當(dāng)某個功能部件完成了第一條指令后,直接開始第二條指令的操作,這 樣就形成了流水線。流水線技術(shù)可最大限度地利用了 CPU資源,使每個功 能部件在每個時鐘周期都在工作,從而提高了 CPU的運(yùn)算頻率。
      根據(jù)本發(fā)明一種CPU的優(yōu)選實施例,如果在時鐘周期N超長指令字N 包含一條Load/Store指令,那么傳統(tǒng)的CPU在時鐘周期N除了執(zhí)行 Load/Store指令,開啟Load/Store部件的時鐘外,其它所有功能部件的時鐘 都開啟,這必然來產(chǎn)生了額外的功耗。根據(jù)本發(fā)明,在CPU的控制器中增 加時鐘控制模塊311,依據(jù)指令將所需要的功能部件的時鐘開啟或者關(guān)閉。
      如上所述,控制器31的時鐘控制模塊311在時鐘周期N根據(jù)超長指令 字N將Load/Store部件的時鐘開啟,并根據(jù)Load/Store指令在N+l, N+2, N+3等以下時鐘周期將所需要的功能部件的時鐘開啟,并將不需要的功能部 件的時鐘關(guān)閉。下面針對在時鐘周期N中的一條超長指令字N在CPU中的 執(zhí)行操作進(jìn)行具體描述。
      操作指令一所述超長指令字N包含一條操作指令為Load/Store指令, 則具體的操作為
      時鐘周期N,打開Load/Store部件的時鐘,訪問Load/Store部件的地址 寄存器;
      時鐘周期N+1, Load/Store部件的時鐘保持開啟狀態(tài),在Load/Store部 件中進(jìn)行Load地址計算;時鐘周期N+2,關(guān)閉Load/Store部件的時鐘,打開數(shù)據(jù)存儲管理器的時 鐘,向數(shù)據(jù)存儲管理器發(fā)出讀取請求;
      時鐘周期N+3,數(shù)據(jù)存儲管理器的時鐘保持開啟狀態(tài),打開數(shù)據(jù)存儲器 的時鐘,對數(shù)據(jù)存儲器進(jìn)行數(shù)據(jù)讀取訪問;
      時鐘周期N+4,數(shù)據(jù)存儲管理器的時鐘保持開啟狀態(tài),關(guān)閉數(shù)據(jù)存儲器 的時鐘,將數(shù)據(jù)回寫到數(shù)據(jù)存儲管理器中;
      時鐘周期N+5,關(guān)閉數(shù)據(jù)存儲管理器的時鐘,打開Load/Store部件的時 鐘,此時數(shù)據(jù)寫入Load/Store部件的寄存器中。
      操作指令二相應(yīng)的,如果在時鐘周期N,超長指令字N還包括一條操 作指令為運(yùn)算指令,所述運(yùn)算指令與上述Load/Store指令并行執(zhí)行,互不干 擾,則具體執(zhí)行操作為
      時鐘周期N,打開數(shù)據(jù)存儲管理器的時鐘,向數(shù)據(jù)存儲器發(fā)出讀取請求;
      時鐘周期N+1,數(shù)據(jù)存儲管理器的時鐘保持開啟狀態(tài),打開數(shù)據(jù)存儲器 的時鐘,對數(shù)據(jù)存儲器進(jìn)行數(shù)據(jù)讀取訪問;
      時鐘周期N+2,數(shù)據(jù)存儲管理器的時鐘保持開啟狀態(tài),關(guān)閉數(shù)據(jù)存儲器 的時鐘,將數(shù)據(jù)回寫到數(shù)據(jù)存儲管理器中;
      時鐘周期N+3,關(guān)閉數(shù)據(jù)存儲管理器的時鐘,打開運(yùn)算部件的時鐘,在 運(yùn)算部件中進(jìn)行邏輯與運(yùn)算;
      時鐘周期N+4,關(guān)閉運(yùn)算部件的時鐘,開啟數(shù)據(jù)存儲管理器的時鐘,將 運(yùn)算結(jié)果數(shù)據(jù)寫入到數(shù)據(jù)存儲管理器;
      時鐘周期N+5,關(guān)閉數(shù)據(jù)存儲管理器的時鐘,打開數(shù)據(jù)存儲器的時鐘, 運(yùn)算結(jié)果數(shù)據(jù)最終寫回到數(shù)據(jù)存儲器。
      指令三相應(yīng)的,如果在時鐘周期N+1, CPU外部設(shè)備通過指令總線發(fā) 送指令到存儲管理器,則具體執(zhí)行操作為
      時鐘周期N+1,打開指令存儲管理器的時鐘,通過指令總線將CPU外 部設(shè)備的指令發(fā)送到指令存儲管理器。
      ii時鐘周期N+2,關(guān)閉指令存儲管理器的時鐘,打開指令存儲器的時鐘,
      將CPU外部設(shè)備的指令發(fā)送至指令存儲器。
      綜合以上三種指令情況的時鐘控制,CPU功能部件的時鐘狀態(tài)如下 在時鐘周期N,根據(jù)操作指令一,打開Load/Store部件的時鐘,根據(jù)操
      作指令二,打開數(shù)據(jù)存儲管理器的時鐘,其它功能部件的時鐘保持關(guān)閉狀態(tài); 時鐘周期N+l,根據(jù)操作指令一,Load/Store部件的時鐘保持開啟狀態(tài),
      根據(jù)操作指令二,數(shù)據(jù)存儲管理器的時鐘保持開啟狀態(tài),打開數(shù)據(jù)存儲器的
      時鐘,根據(jù)指令三,打開指令存儲管理器的時鐘,其它功能部件的時鐘保持
      關(guān)閉狀態(tài);
      時鐘周期N+2,根據(jù)操作指令一,關(guān)閉Load/Store部件的時鐘,根據(jù)操 作指令二,關(guān)閉數(shù)據(jù)存儲器的時鐘,根據(jù)操作指令一和二,數(shù)據(jù)存儲管理器 的時鐘保持開啟狀態(tài),根據(jù)指令三,關(guān)閉指令存儲管理器的時鐘,打開指令 存儲器的時鐘,其它功能部件的時鐘保持關(guān)閉狀態(tài);
      時鐘周期N+3,根據(jù)操作指令一,數(shù)據(jù)存儲管理器的時鐘保持開啟狀態(tài), 打開數(shù)據(jù)存儲器的時鐘,根據(jù)操作指令二,打開運(yùn)算部件的時鐘,其它功能 部件的時鐘保持關(guān)閉狀態(tài);
      時鐘周期N+4,根據(jù)操作指令一,關(guān)閉數(shù)據(jù)存儲器的時鐘,根據(jù)操作指 令二,關(guān)閉運(yùn)算部件的時鐘,根據(jù)操作指令一和二,數(shù)據(jù)存儲管理器的時鐘 保持開啟狀態(tài),其它功能部件的時鐘保持關(guān)閉狀態(tài);
      時鐘周期N+5,根據(jù)操作指令一,打開Load/Store部件的時鐘,根據(jù)指 令二,打開數(shù)據(jù)存儲器的時鐘,根據(jù)操作指令一和二,關(guān)閉數(shù)據(jù)存儲管理器 的時鐘,其它功能部件的時鐘保持關(guān)閉狀態(tài)。
      根據(jù)CPU的流水線技術(shù),在時鐘周期N+1、 N+2等下面的時鐘周期中 又會啟動其它的超長指令字,則具體的執(zhí)行操作與上述時鐘控制操作相類 似。根據(jù)本發(fā)明實施例,在CPU的控制器31中增加了時鐘控制模塊311, 當(dāng)判斷出在當(dāng)前識別出某一功能部件處于空閑狀態(tài)時,關(guān)閉沒有訪問需 求的功能部件的時鐘,就可以去掉此時空閑功能部件的能量消耗,以達(dá)到降低功耗的目的。
      參照圖4,示出了本發(fā)明一種降低CPU功耗的方法實施例的步驟流程 圖,該CPU功能部件包括指令存儲器、指令存儲管理器、指令讀取部件、 數(shù)據(jù)存儲器、數(shù)據(jù)存儲管理器、Load/Store部件、運(yùn)算部件,所述的方法包 括
      步驟401,依據(jù)指令判斷當(dāng)前時鐘周期中,是否有針對某個功能部件的 訪問請求;
      步驟402,如果有,則在當(dāng)前時鐘周期控制該功能部件的時鐘開啟;
      步驟403,否則,在當(dāng)前時鐘周期控制該功能部件的時鐘關(guān)閉。
      其中,所述依據(jù)的指令包括所述指令存儲管理器從所迷指令存儲器中
      讀取的指令,以及CPU外部設(shè)備通過指令總線發(fā)送至所述指令存儲管理器
      的指令。
      另夕卜,本實施例中的指令為超長指令字,每個時鐘周期啟動一條長指令, 一條長指令包含多個操作指令,所述多個操作指令在同 一個時鐘周期內(nèi)并行 執(zhí)行來完成對相應(yīng)功能部件的訪問。
      一般來說,CPU采用流水線技術(shù),當(dāng)某個功能部件完成了第一條指 令后,直接開始第二條指令的操作,流水線技術(shù)可最大限度地利用了 CPU 資源,使每個功能部件在每個時鐘周期都在工作,從而提高了CPU的運(yùn) 算頻率。
      本發(fā)明實施例中,如果在時鐘周期N超長指令字N包含Load/Store指 令和運(yùn)算指令這兩個操作指令,則在時鐘周期N啟動超長指令字N, Load/Store指令和運(yùn)算指令在時鐘周期N內(nèi)并行執(zhí)行,分別完成對Load/Store 部件和運(yùn)算部件的訪問。根據(jù)本發(fā)明一種降低CPU功耗的方法,依據(jù)指令 判斷當(dāng)前時鐘周期中,是否有針對某個功能部件的訪問請求,如果有,則在 當(dāng)前時鐘周期控制該功能部件的時鐘開啟,否則,在當(dāng)前時鐘周期控制該功 能部件的時鐘關(guān)閉。根據(jù)上述方法,在時鐘周期N中將Load/Store部件和數(shù) 據(jù)存儲管理器的時鐘開啟。并根據(jù)Load/Store指令和運(yùn)算指令在N+1, N+2,等接下來的時鐘周期中將需要訪問的功能部件的時鐘開啟,并將不需要
      訪問的功能部件的時鐘關(guān)閉。
      根據(jù)CPU的流水線技術(shù),在時鐘周期N+1,又會啟動一條新的超長指 令字N+1,則又會根據(jù)超長指令字N+l包含的操作指令,開啟所述操作指 令需要訪問的功能部件的時鐘。相應(yīng)的,如果在時鐘周期N+2, CPU外部 設(shè)備通過指令總線發(fā)送指令到指令存儲管理器,則時鐘周期N+2將指令存儲 管理器的時鐘打開,將不需要的功能部件的時鐘關(guān)閉。
      總之,為保證指令得以順利執(zhí)行,在現(xiàn)有技術(shù)中,對于任何一個時鐘周 期,所有功能部件的時鐘都處于開啟狀態(tài),因而CPU的功耗較大。而本領(lǐng) 域技術(shù)人員一般僅從改變指令執(zhí)行優(yōu)先級的角度來考慮降低CPU功耗,即 在同樣CPU功耗的條件下,如何盡可能多地執(zhí)行指令,從而提高CPU的利 用率,間接降低CPU功耗,這種設(shè)計往往需要都對指令系統(tǒng)做出較大、較 復(fù)雜地改動。本發(fā)明另辟蹊徑,從CPU中對其它功能部件有控制、協(xié)調(diào)作 用的控制器入手,增加了時鐘控制模塊來控制各個功能部件的時鐘開啟或者 關(guān)閉,直接消除了 CPU不必要的功耗,對CPU結(jié)構(gòu)和運(yùn)行過程的改動小, 同樣卻也達(dá)到了降低CPU功耗的目的。
      本說明書中的各個實施例均采用遞進(jìn)的方式描述,每個實施例重點說明 的都是與其它實施例的不同之處,各個實施例之間相同相似的部分互相參見 即可。
      以上對本發(fā)明所提供的一種降低CPU功耗的方法以及一種應(yīng)用上述 方法的CPU,進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及 實施方式進(jìn)行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及 其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具 體實施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理 解為對本發(fā)明的限制。
      權(quán)利要求
      1、一種CPU,其特征在于,包括功能部件和控制器,所述功能部件包括指令存儲器,用于存儲指令;指令存儲管理器,用于管理指向所述指令存儲器的訪問請求;數(shù)據(jù)存儲器,用于存儲數(shù)據(jù);數(shù)據(jù)存儲管理器,用于管理指向所述數(shù)據(jù)存儲器的訪問請求;運(yùn)算部件,用于完成各種算術(shù)和邏輯運(yùn)算;所述控制器,用于控制并協(xié)調(diào)各個功能部件運(yùn)行;還包括時鐘控制模塊,位于控制器中,用于依據(jù)指令判斷在當(dāng)前時鐘周期中是否有針對某個功能部件的訪問請求;如果有,則在當(dāng)前時鐘周期控制該功能部件的時鐘開啟,否則,在當(dāng)前時鐘周期控制該功能部件的時鐘關(guān)閉。
      2、 根據(jù)權(quán)利要求1所述的一種CPU,其特征在于,所述時鐘控制模塊 依據(jù)的指令包括所述指令存儲管理器從所述指令存儲器中讀取的指令,以及CPU外部 設(shè)備通過指令總線發(fā)送至所述指令存儲管理器的指令。
      3、 根據(jù)權(quán)利要求1或2所述的一種CPU,其特征在于,所述指令為超 長指令字, 一條超長指令字包含多個操作指令,所述多個操作指令在同一個 時鐘周期內(nèi)并行執(zhí)行來完成對相應(yīng)功能部件的訪問。
      4、 根據(jù)權(quán)利要求3所述的一種CPU,其特征在于,每個時鐘周期啟動 一條超長指令字。
      5、 根據(jù)權(quán)利要求1所述的一種CPU,其特征在于, 所述指向所述數(shù)據(jù)存儲器的訪問請求為CPU外部設(shè)備通過數(shù)據(jù)總線發(fā)送至數(shù)據(jù)存儲管理器的。
      6、 根據(jù)權(quán)利要求1所述的一種CPU,其特征在于,所述功能部件還包 括加載/存儲部件;所述指向所述數(shù)據(jù)存儲器的訪問請求為CPU的控制器通過所述加載/存 儲部件發(fā)送至數(shù)據(jù)存儲管理器的。
      7、 一種降低CPU功耗的方法,該CPU的功能部件包括指令存儲器、 指令存儲管理器、數(shù)據(jù)存儲器、數(shù)據(jù)存儲管理器、運(yùn)算部件,其特征在于, 所述的方法包括依據(jù)指令判斷當(dāng)前時鐘周期中,是否有針對某個功能部件的訪問請求; 如果有,則在當(dāng)前時鐘周期控制該功能部件的時鐘開啟,否則,在當(dāng)前 時鐘周期控制該功能部件的時鐘關(guān)閉。
      8、 根據(jù)權(quán)利要求7所述的方法,其特征在于,所述依據(jù)的指令包括 所述指令存儲管理器從所述指令存儲器中讀取的指令,以及CPU外部設(shè)備通過指令總線發(fā)送至指令存儲管理器的指令。
      9、 根據(jù)權(quán)利要求7或8所述的方法,其特征在于,所述指令為超長指 令字, 一條超長指令字包含多個操作指令,所述多個操作指令在同一時鐘周 期內(nèi)并行執(zhí)行來完成對相應(yīng)功能部件的訪問。
      10、 根據(jù)權(quán)利要求9所述的方法,其特征在于,每個時鐘周期啟動一條 超長指令字。
      全文摘要
      本發(fā)明提供了一種CPU和降低CPU功耗的方法,該CPU包括功能部件和控制器,所述功能部件包括指令存儲器,用于存儲指令;指令存儲管理器,用于管理指向指令存儲器的訪問請求;數(shù)據(jù)存儲器,用于存儲數(shù)據(jù);數(shù)據(jù)存儲管理器,用于管理指向數(shù)據(jù)存儲器的訪問請求;運(yùn)算部件,用于完成算術(shù)和邏輯運(yùn)算;所述控制器用于控制并協(xié)調(diào)各個功能部件運(yùn)行;還包括位于控制器的時鐘控制模塊,用于依據(jù)指令判斷在當(dāng)前時鐘周期中是否有針對某個功能部件的訪問請求;如果有,則在當(dāng)前時鐘周期控制該功能部件的時鐘開啟,否則,在當(dāng)前時鐘周期控制該功能部件的時鐘關(guān)閉。本發(fā)明通過控制功能部件的時鐘開啟或關(guān)閉,去除了空閑狀態(tài)功能部件的功耗,進(jìn)而降低了整個CPU的功耗。
      文檔編號G06F9/38GK101581961SQ200910086468
      公開日2009年11月18日 申請日期2009年6月15日 優(yōu)先權(quán)日2009年6月15日
      發(fā)明者艷 石 申請人:北京紅旗勝利科技發(fā)展有限責(zé)任公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1