TWI289255B - System, method, and apparatus for reducing power consumption in a microprocessor with multiple decoding capabilities - Google Patents
System, method, and apparatus for reducing power consumption in a microprocessor with multiple decoding capabilities Download PDFInfo
- Publication number
- TWI289255B TWI289255B TW094112827A TW94112827A TWI289255B TW I289255 B TWI289255 B TW I289255B TW 094112827 A TW094112827 A TW 094112827A TW 94112827 A TW94112827 A TW 94112827A TW I289255 B TWI289255 B TW I289255B
- Authority
- TW
- Taiwan
- Prior art keywords
- instruction
- decoding
- decoder
- length
- processor
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 23
- 230000006870 function Effects 0.000 claims description 20
- 230000009467 reduction Effects 0.000 claims description 6
- 230000008676 import Effects 0.000 claims description 5
- 230000000694 effects Effects 0.000 claims description 3
- 235000010627 Phaseolus vulgaris Nutrition 0.000 claims 1
- 244000046052 Phaseolus vulgaris Species 0.000 claims 1
- 238000005265 energy consumption Methods 0.000 claims 1
- 238000011156 evaluation Methods 0.000 claims 1
- 230000007704 transition Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000007792 addition Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 206010011469 Crying Diseases 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 239000004575 stone Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/30149—Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30196—Instruction operation extension or modification using decoder, e.g. decoder per instruction set, adaptable or programmable decoders
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3818—Decoding for concurrent execution
- G06F9/3822—Parallel decoding, e.g. parallel decode units
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Executing Machine-Instructions (AREA)
- Power Sources (AREA)
Description
1289255 16109twf 九、發明說明: 【發明所屬之技術領域】 本發明是有關於一種處理器,特別是針對一種具多重 解碼功能之處理器,降低其電力消耗之系統、方法及裝置。 【先前技術】 處理器(例如微處理器,中央處理單元等)被廣泛地 運用於產品及應用上,包括從桌上型電腦到諸如手機,筆 。己 1¾¾ ’以及個人數位助理(pers〇nal dighai assistants, PDAsj等攜帶型電子裝置。有些處理器的功能更為強大, 例如^階電腦工作站上的處理器;而其他具有簡單設計的 處理器,則適用於較低階與較低價的應用產品上。 通常在效能及電力之間存在著一種二分法,一般來 二’高效能的處理器具有較快的運作速度,而其複雜的設 3 里器而言,消耗更多的電力。較高的電 的運作溫度及較低的電池壽命(對 置的需求持續增加, =^式电托 作,同時保有-定執行效能程度1勺處^:夠貫現低功率運 某此置電力消耗的方法;在裳置(或是其 如睡眠:能)時提供一些降低電力操作的模式(例 成要件提供更有效率的料來達成軌I置的操作構 5 1289255 16109twf 處理器二:3=:3量的電力消耗元件,而 能級別,解石V-。予使疋在處理器趣面也包括數個功 的解碼邏輯電路可以將__ === 1圖鱗示魏此齡的功能。第 缺而招女種匕括知瑪別的處理器設計方塊圖。 -個指人的的電路系統包括有某些缺點,當 行姓槿二Γ疋長度轉變時’由於有多個指令解碼哭採平 :、:=“過度的電力消耗。對於處 ; 子70長度及電腦程式語言而言,此處理器是使 碼級別時’每個指= 苟曰止圖去對该指令解碼,而在每個指令 ί:同-個指令解碼時’會消耗過度的電力且驗;= 為止=的:i™述的缺點存在著-個迄今 【發明内容】 本發明-實施例提供一種降低處理器 ;及以=選;器:別連接至—個第-字元長度二 时及-個弟二子凡長度指令解碼器,使得此電路裝 依照輸入的指令字元長度將指令導入對應 、b σ 多個指令解碼器同時運作而耗損電力。μ、 _'、、裔,避免 本發明另-實施例提供-種降低處理 法,藉著將指令載入解碼級別’依其字元長度導= 1289255 16109twf ,了,碼錢行解碼,並維持其他 悲,以節省電力、消耗。 κ刖狀 ^發明又—實施例提供一種降低處理器電 2字2元長度選擇器指出現行指令的字元 或第對應㈣一字元長度指令解碼器 哭A 私令解碼器進行解碼,最後再以一個選擇 ί處理1指令解碼器中將解碼後的指令導人執行級別進 李统本實施例是提供—種降低處理器電力消耗之 t以^她個具射旨令減舰_碼邏輯電 電路。 擇讀由—條訊號線來選擇未停效的邏輯 可綠的再—貫施例是提供—種具有電腦料之電腦 此;;指令下載至處理器的解碼級別,以㈣應 二:碼器進行解碼,並維持非此對應解碼 的功效。%碼器的目前狀態,以達到節省電力消耗 本發明的又-實施例是提供一種處理 ,及-第二解竭器,並分別對-第-指令二弟: 停效邏輯電路選擇性地停止這兩個解。 以達到節省電力_的功效。 雜令电力’ 1289255 16109twf 置與ί、=括—— 實 令解碼器,一用來度指令解碼之第-指 碼器’-用來H王二子70 I又指令解碼之第二指令解 器,—與第—指曰令二旨令m長度之字元長度選擇 擇器、,當現行指令為第—字 連接之弟—選 將該現行指令導 ^, μ弟一選擇器用來 及第二指令解碼d:第-指令解碼器 字元長度時,兮第_雙探的、擇。σ,导現行指令為第二 令解碼器,以=二,2將該現行指令導入第二指 接之第三選擇器,用==1器及第二指令解碼器連 器其中之-;此==,令解碼器及第二指令解石馬 广本發明較佳;====: 耗之裝置與系統,當上述牛f -恥處理為電力消 解碼器。 用石將—先珂指令導入第一指令 裝置==:::=域理器電力消耗之 二選擇器更包括用來將—先G人^弟―字兀長度,則第 依照本發明較佳實施例所二 。 耗之裝置與系統,JL中至/h— 牛低私恥處理叩兒力消 如繩的跨平台式程式語^解固石馬解觸輯電路是用來對- 本發明一實施例提出_藉 法,包括將一個現行指 ^低·處理器電力消耗的方 個處理器的解碼級別,而 1289255 16109twf 此指令具有一個字元長度,並至少對應於一個解碼裝置, 接著判斷此現行指令的字元長度,並由—㈣應此現行指 令的子it長度的解碼H對此現行指令進行解碼,最後並維 持至少-個非對應此字元長度的解碼裝置的當前狀態。 依照本發明較佳實施例所述之降低處理器電力消耗之 方法,更包括#送已解碼之現行指令至處理器的執行級別 (executive stage ) 〇
依知、本發明較佳實施例所述之降低處理 方法,上述轉目前狀態的步敎包括傳送—户 至少一個不具對應字元長度的解碼裝置。 依如本發明較佳實施例所述之降低處理器電力 方法,上述之其巾至少—個解碼裝置是用來對’ 的跨平台式程式語言解碼。 本發明一實施例提出—種降低電腦處理 系統’ ^括多個解碼邏輯電路,其巾每個解碼邏輯電路比 具有-&令I數功能、—個停效邏輯電路,用了 -解瑪邏輯電路的功能、—條訊號線,用來^小至= 效解碼器,以及—個選擇器,用來接收此訊號線^t 擇一未經停效邏輯電路停止功能的解碼賴電%。^ 本發明—實施例提出-種具有程式之紀錄蝶 個第-邏輯程式碼,下载一現行指令至一處理 包括 級別’且錢行齡對應於至少—解碼錢具=的解碼-、-㈣二賴程⑭,繼此現行指令的 個第三邏輯程式碼’以―制於此現行指令字、又 度 字元長 凡長度的 1289255 16109twf 解碼裝置’對此現行指令解碼,以及_個第 維持i ΐ—不具對應字71長度之解碼裝置的目馬’ 二::本發明的較佳實施例所述之具有程:: 體’上迷媒體更包括—第五邏輯程式碼,將、、'己錄媒 指令傳送至電腦處理器的執行級別。 &碼之現行 依照本發明的較佳實施例所述之呈 ;對,目前狀態包括將一先前指;傳錄媒 具對應字元長度的解碼器。 、判至)一不 依照本發明的較佳實施例所述之且 體,上述其中至少—個 *二式之紀錄媒 平台式程式語言解碼。〜置疋用切-如MVA的跨 ”,發明一實施例提出—種處理器 益’在—處理器的執行單元中 固弟—解碼 或第二解碼器其中選擇性停止第一解碼器 消耗零電力。 、功旎,而使此停效解碼器實質上 依照本發明較佳實 更包括-抓取單元,脸]所奴處理5,上述之處理器 碼器及第二解碼器。:一破抓取的指令同時輸出至第一解 依照本發明較佳竇 電路是用來在選擇性^骑述^處理器,上述停效邏輯 變’使得在抓取單元^的解碼器中保持輸入訊號固定不 效解碼器的内部出做改變時,不會造成選擇性停 轉換,因而汲取電流及消耗電力。 1289255 16109twf ^在上述各個進行解碼的實施例中,其中不同的字元長 係可以隨規格等而改變,例如,該些字元長度可為%位 元、32位元、64位元或其他長度。 “為讓本發明之上述和其他内容、特徵和優點能更明顯 易懂,下文特舉較佳實施例,並配合所附圖式,作詳細說 明如下。 【實施方式】 • 本發明是有關於一種具有改良式解碼邏輯電路的處 理器。依據本發明之一實施例,此處理器包括一第一解碼 邏輯電路,用崎碼包含—指令㈣?個編碼指令,在此 f 一解碼邏輯電路之内的指令集是以16位元編寫而成,此 第解碼邏輯電路具有一個輸入端,以從一抓取邏輯電路 的輸出端中接收一個編碼指令。此處理 碼邏輯電路,用以解碼包含-指令集的多 中的心令集疋以32位元編寫。在運作時,解碼控制邏輯電 路是依照字元長度來運作,並依據需求選擇理想的指令解 •碼職電路’而雜*必要的齡解觸輯電路穩定不 動。猎由保持不必要指令解碼邏輯電路的穩定不動,使未 經使用電路的邏輯閘保持穩定不動,電力因而被節省。 依照以下綠圖與詳細說明所給予的解釋,對於此技術 f他的系統、方法、特徵,以及優點將會變得顯而易見, 思思就是所有如此的附加系統、方法、特徵,以及優點皆 包括在此描述中,且由後附的申請專利範圍所保護。 11 1289255 16109twf 一本發明總結的多種觀點,如同圖形的描述,如今參考 ^料將會被詳細的製作。當本發明將依圖形的關聯來描述 柃,/又有限制必須符合本實施例或在以上所揭露的實施 例丄相反地,由後附之申請專利範圍所界定本發明的精神 ^犯圍之内’其内容包涵所有的替代物、修改物,以及相 ^物必/頁強的是,以上描述的實施例可作許多變化與 所有的修改和變化皆包涵於本發明的範圍之内, 亚由後附本發明之申請專利範圍所保護。 此動伽期包括一系列的動㈣ 二處理單元(CPU)來執行程式中的每- 址ΐ:排ί Γ馬所得。在每—個期的開始,cpu會在位 料陌法姐…士“ 出式計數器的值,然後經由資 由一^夬取記憶體或是一個管線)。H (叮“ 的功:Ci是CPU内部管㈣配的—個實施例 執行四個級別。在第一個月的不乾圖示中’ cpu 取一個指令,,cpu從電腦的其他部分抓 相7 如圖所不的級別11〇。 在完成指令抓取級別11〇 進行解碼以決定如何執行該 會對此現行指令 知處理器該指令是算n該現行指令可以通 她,ALU)白勺功能(如 ^ ( Arithmetic and 能指令’或是其他型態函式的指^減切)定址功 12 1289255 16109twf 時所暫存器是執行指令 此暫存哭存取這些暫存器,一旦這 .之用。 思“)中抓取資料以提供執行級別 一此扣7被解碼出來,並送入這此 一 :2:將;r現行指令,這意謂著二二 ;止=Λ結果,而這些結果包括載入及儲存· 例彳U计异所得的值。以一個非限制本發明的 ==如此指令指定實施加法運算,則執行級別120 將a執仃兩個預定運算子的加法運算。 -旦執行了此指令,處理器接著會經由—寫回級 25將新倾寫回位於暫存槽針適當的暫翻。對於一 =力口 =令來說’則通常會被給予兩個存在不同暫存器 勺運异子,而ALU將會執行加法功能,由該寫回 將結果置於-個由指令所指定的暫存器、巾。cpu會藉由增 加-程式計數以取得下-個指令’並重複該週期,直到^ 理器被指示去中斷此週期時,此操作才會停止。 第2圖所繪示的方塊圖200是第i圖方塊圖的變型。 與方塊圖100相似的是,CPU先從記憶體或快取記憶體中 抓取指令,一旦抓取到指令,處理器將對該指令解碼, 級別115所示。然而,如方塊205所示,處理器的下個級 別是去抓取一個運算子。當指令在方塊105中被解碼,以 及運算子在方塊205中被抓取後,處理器將根據方塊12〇 13 1289255 I6109twf 執行此礼7,並將結果寫回暫存檔案105,如方塊125所 示。 热^邊項技藝者皆知,第丨圖及第2圖所示的方塊圖 100 f細’分別為微處理器在執行運算上不同級別的圖 =二中第1圖與第2圖所示以及上述所提及的在電腦中 二加法或減法運算,皆不會限縮本發明之揭露範 如第1圖及第2圖所示的變化,相似的級別可 二^樣的,表現,舉例來說,熟悉該項技藝者皆知, 級別爽ί及第2 ^巾所職_程序可以是任何多樣不同 級別闰因此,本發明並不僅限於第1圖所示的五種 何的六種級別’熟悉該項技藝者皆知,任 何數目的級別和程序皆可被使用。 115,:==示的是第1圖及第2圖中顯示的解碼級別 子,之解碼級別115亦非一限縮本發明的例 且有16^明。如弟3圖所示的指令解碼器115,其 二有16個輸入端305以提供至η個輸出端3ι〇,苴 出端310所輸出的訊號係指出 ^ 則 及哪些資料該被CPU使用。就此而;暫 :二=來作為給處理器執行單元(未;示= 電路7G件的輸人以及控義制的訊魏,轉置― 即會實現該指令所指定的功能操作。 n 70 輯電的是先前技術的CPU中所採用的示範邏 姑令姻解碼㈣會將此齡載人指 == 14 1289255 16109twf 及才曰令解碼态B (415)兩者。同時,指令解碼器A及指 令解碼器B兩者也嘗試對此指令解碼,分別示於級別42〇a 及420b。在指令分別被解碼器41〇及415所解碼後,兩者 的資料集會被送至執行級別12〇,如級別42允及425b所 不。執行級別120決定了字元長度,如決定級別43〇所繪 示,而^果必要的話,會注滿輸送管線(未繪示),若字
兀長度是16位元的話會在級別435a執行,是32位元的話 會在級別435b執行。 # Ϊ上述,因為不管現行指令為何,皆會分別由16位元 77馬抑及32位元解碼裔進行解碼,而此操作方式會過度消 =力’造絲置的電池壽命雜。有絲此,本發明即 扣出:種能降低不必要電力耗損的手段。 為的是以第1圖之微處理器的邏輯電路作 I你Γ驟 μ施例。首先’CPU先抓取—現行指令, 二此上T所不,然後,解碼級別(第1圖中的115)將 :元二二Γ 器並不僅受限於16位元或32 紅、,々处里上。相反地,為實現既得的利益下,太私明π 5 :不同字兀長度的指令及不同的電腦語言進行解:。二 圖僅用來表示本發明的_種奋施彳 ”、、弟 範圍。 ㈣種貝知例,亚不限制本發明的 在指令抓取110取得該現行指令後,解 執仃一個確認動作,若解碼 ,、、、 15 ^ 位元,驗麟心ΪΓ 測定該字元長度為16 則解碼級別115將下載該指令至16位元解碼器,而 15 1289255 16109twf 他解碼器敎不動(在此例中是指% 二解石^別515續示’織16位元解碼器將對此Ϊ令 進仃解馬,如級別520a所示,並將解碼後 級別120實施。 夂Η日7廷至執仃 另外,若解碼級別115判斷該字元長度為%位元 115將下载該指令至32位元解碼m _ 夺其他解碼器穩定不動(在此例中是指16位元解碼^保 口級別515b所不,然後解碼級別115將以%位元 520b=指令進行解碼,而執行級別m將會實施該指令二 =5圖所緣示的流程可知,一個解碼器係在一特定 .中使用。此流程可減少處理器的使用,進而降低電 的使用’ ^電力的降低制料致電池壽命的延長。 第6圖所㈣的是電力節省之於_電路ς :二=電路_係以保持其中之一解碼器的穩定不動 來即h力’而該穩定的解碼器係在不對應該現行指令下 選擇器6咖及_,其中選擇器㈣ 乃为別連接至正反器模組610a及6l〇b,而哭 ,及6〇5b的選擇輸入端則連接至指示線630。然而,i 向器615係串接於選擇器6咖的選擇輸入端與指示線㈣ $ 擇器6〇5M_時,選擇器㈣將不被 k擇’反之亦同。如熟悉該項技藝者所知悉,正反哭慨 也可以是與選擇器605b相串連。 °口 16 1289255 16109twf 選擇器605a及605b的輸出端分別電性耦接至正反器 610a及610b’正反為610a及610b將一輸入資料維持一個 週期,然後將此資料傳送至指令解碼器A (16bit) 62〇a及 指令解碼器B (32 bit) 620b。此兩個解碼器係電性耦接至 ,擇器625,而選擇器625的選擇輸入端亦被電性耦接至 指示線630。藉由此電路的電流運作,選擇器625從指令 解碼裔A (620a)及指令解碼器b (620b)將解碼後的現 鲁 行4曰令輸出至執行級別120 (如第1圖及第2圖)。 在運作時,指令抓取級別11〇會把現行指令連接至選 擇裔605a與605b,若指示線630指出此現行指令為16位 元,則其將輸出一個邏輯訊號,,〇,,,且此訊號會傳達至選擇 器605a及605b的選擇輸入端,對於選擇器6〇5a而言,邏 輯訊號”0”將會被反向,並傳達至選擇器605a的選擇輸入 端。而由指令抓取110所抓取的現行指令即會傳送至選擇 态605a的輸入端,緊接著將被傳送至正反器61〇a,而此 _ 正反器610a會保留此訊號並將該現行指令輸出至用來對 16位元指令解碼的指令解碼器a (16_bit) 62〇a。一旦此 現行指令被解碼,則會被輸入至選擇器625,因為選擇器 的選擇輸入端是連接至指示線630,所以指示線630會傳 送一個訊號至選擇器625以指出此現行指令是以16位元所 構成,選擇器625接著會將此解碼後的現行指令從指令解 碼器A ( 16-bit)輸出’如級別620a所示。如上所述,此 訊號將會被傳送至執行級別120實施。 17 1289255 16109twf 在上述的實施例中,邏輯訊號,,0,,亦會被輸入至選擇器 605b的選擇輸入端,其中該選擇器605b係與正反器610b 輸出端電性耦接,這種結構所影響的是,儲存在正反器 610b的先前指令會回饋傳輸至多工器⑽5b,之後會再一次 傳輸至正反器610b。當正反器610b將其訊號輸出至指令 解碼HB (32 bit) 62Gb時,因為在此指令解碼器嶋的 電路,最後-個指令保持一樣,所以此指令解碼器β的電 子狀態仍簡敎不變。目為此電子㈣保持穩定不變, 所以在此指令解碼器祕中的電力使用得以降低。 方面末tr兒右才曰示線630輸出一邏輯訊號,,1,, j 令加2位元編寫,然後,此現行指 ^ it指令傳送至執行級別120。如上述16位 令& _會將一Μ前指令送至指 變。由於此電路保使=指令解碼器保持穩定不 如熟悉該項技藝者所知悉,°、 本發明達成電力路僅為 …:二ΐΐ 號線的元件及其組成元件,依- 說’若-個電腦是以32位元來運巧的例子來 被用來傳輸這些訊號。再去 二纸號線將會 考此圖所論及的元件,3二f該概藝者所知,參 夠達到上述功能的電路所时正反益’均可由任何能 所取代。以上的描述並非用以界定
1289255 16109twf 或是限制此發明即為上述精確的類型,按照上述所教示 者,可經由明顯的修改或是變化來達成本發明之目的或手 段。 第7圖所繪示的是第5圖繪示步驟的另一個實施例的 方塊流程圖,然而,在第7圖中的指令抓取110下載此現 行指令至解碼級別115後,解碼級別115將被用來判斷編 寫此現行指令的電腦語言。以一個非限制本發明的例子來 說,若此現行指令的是以一如JAVA的跨平台式程式語古 來編寫,則此現行指令將被下載至JAVA解碼器71〇a,同 時其他解碼器將保持最後一個指令720a資料的穩定不 受,然後,此指令將由此JAVA解碼器解碼並傳送至執行 級別120。 另外,若此現行指令是以組合語言編寫,則該現行指 令將會被下載至組合語言解碼器710b,同時JAVA解碼= 保持穩定不變,此指令接著由此組合語言解碼器72〇b進^ 解碼,並傳送至執行級別12〇。 第8圖是一個相似於第6圖的電路圖示但額外包括— 解石馬器的電路_。藉由將第6圖電路與第7圖邏輯 =合’此電路800將有能力解瑪不同字元長度的指令, 實:Γ寺::二:指能。如熟悉該項技藝者所能 器的取三個解碼 :維持穩定不變’因此可以增加電力的使用效益 19
1289255 16109twf —匕如第8圖所示之功能方塊圖,指令抓取ii〇將下載現 行才S 7至分別具有二個輸入端的選擇器85〇a、85〇b,以及 85〇c。如熟悉該項技藝者可知,選擇器85〇a、_,以及 850c可知料多形式以達到理想結果。舉—個非限制本發 ,的例子來說,850a、850b,以及85〇c可以是知的選擇 為’用來提供給這個制的電路設計之用,如第8圖所示, 再者,任何其他合義電路树或裝置也可被使用。 指不線825是用來標示出此現行指令是以16位元、& 位疋’或是JAVA來編寫,在此例子中,指示線是一個2 位疋的線,並可產生邏輯訊號”〇〇”、”〇1”,或是” 1〇”等形 式。此訊號被輸入至選擇器805a、8〇5b,以及8〇5c的選 擇輪入端關_動哪—個解碼器。必齡意的是在此非 ^本發明關子中,从括用來修改此指示線訊號的反 向為’該反向器是使祕如第6圖所示之電路_以達到 結果,但並非使用於第8圖所繪的配置電路中。 —旦選擇器850a、850b,以及850c判斷出一個合 的,碼器後,此現行指令將被傳送至正反器咖、6二, 或是61〇c ’並進入合適的解碼器,當此指令被解碼後,將 被送至選擇器,815,而此選擇器815會將適合的已解碼指 令送至執行級別120。 曰 舉例來說,若此現行指令是以JAVA®來編碼,指令抓 取11〇會將此現行指令傳送至選擇器850c,指 ^ 將一個邏輯訊號”10”傳送給選擇器,並允許此現行指令、南 過選擇H齡及至正反器、撕,接著由彳旨令解碼 20
1289255 16109twf (JAVA) 820將此現行指令進行解碼並傳送至選擇器 815。指示線825係與選擇器815的選擇輸入端相接,且 允許此已解碼的現行指令傳送到執行級別12〇。 在本發明先前所述的實施例中,指令解碼器A( 16 bit) 620a以及指令解碼器B (32 bit) 620b是經由正反器 及610b分別供給先前指令給其輸入端而保持穩定不變。因 為此先前指令允許指令解碼器A (620a)以及指令解碼器 B9 (620b)在此先前指令中維持相同的狀態,因而節省^ 電力。
乐^圖是類似於電路800但包括新元件91〇a、91此, =91〇e的-個電路9G0,此實施例僅时說明先施 例中的正反器可以為其他的邏輯元件(在此使用及間編 gate)來替代。如減該項技藝者所知悉,其他元 ,到相同的結果’㈣可採雜何—組元件賴 J 弟9圖所表示者,但該圖亦僅為本 —σ 為-限制本發明的實施例。 例’並非 第9圖也是一個類似第6圖電路但拎 的電路圖_。藉由將第6圖電路 9 ,竭器 :路_將能夠對多種字元長度的的結, 、准持對JAVA指令解碼的功能。如 同時也 =_例中所實現的電力效益=, f來達成,當任何-個解瑪器被驅動H加為三個解石馬 持穩定不變’因而增加電力的使用效益另兩個解碼器則保 21 1289255 16109twf 如第9圖所示之功能方塊圖,指令抓取11()會將現行 指令下載至分別具有三個輪入端的選擇器8〇5a、8〇5b,以 及805c。如熟悉該項技藝者所知,選擇器805a、805b,以 及805c可採用不同形式以達到所求的結果。舉一個非限定 本發明的例子來說,如第9圖所示之8〇5a、8〇5b,以及8〇5c 可以是4x1的選擇器,用來調和此特定電路設計。再者, 任何其他合適的電路元件或裝置也可被使用。 • 指不線825是用來發出訊號顯示現行指令是以μ位 元、32位元,或是以jAVA所編寫。在本實施例中指示線 825為2位元線’並可提供邏輯訊號”⑻,,、”〇丨,,或,,丨〇,,等形 式,此訊號被輸入至選擇器805a、805b,以及8〇5c的選 擇輸入端以決定該驅動哪一個解碼器。必須注意的是在此 非限,本發明的例子中,不包括用來修改此指示線訊號的 反向态,該反向器是使用於如第6圖所示之電路6〇〇以達 到結果,但並非使用於第9圖所繪的配置電路中。 一旦選擇器850a、850b,以及85〇c判斷出一個合適 的解碼器後,此現行指令將被傳送至及閘(AND gate) 91〇a、910b,或是919c,並進入合適的解碼器,當此指令 被解碼後,將被送至選擇器815,而此選擇器815會將適 合的已解碼指令送至執行級別12〇。 舉例來說,若此現行指令是以jAVA來編碼,指令抓 取110會將此現行指令傳送至選擇器85〇c,指示線825會 將一個邏輯訊號,,10”的訊號傳送給選擇器,並允許此現^ 指令通過選擇器805c及至該及閘910c,指令解碼器c 22 1289255 16109twf (JAVA) 820接著將此現行指令進行解碼並傳送至選擇p 815。指示線825係與選擇器815的選擇輸入端相接,且二 許此已解碼的現行指令傳送到執行級別120。 在本發明先前所述的實施例中,指令解碼器i6 bit丨 620a以及指令解碼器b(32 bit)620b是分別經由及閘91〇a 及910b將先前指令供給其輸入端並保持穩定不變,因為此 先前指令允許指令解碼器A (620a)以及指令解碼器 (620b)在此先前指令中維持相同的狀態,因而節省%電 力。 私 由先前所述的技術中可得以想像,另一個實施例可以 組合邏輯電路以使指令解碼級別115的任何一 Ϊ路停止效用。舉—個以第9圖當參考的非限制本 =例來說’可以知悉電路_是用來接受一個⑹立 ‘令,並藉由停效邏輯電路使指令解碼器 及指令解碼器以屬)82()停止效用,如此心): 令被傳遞至指令解碼器Α (㈣)62〇a,指令解 此ί線將對此16位元指令進行解碼並送至 _鳥兩者停止效用。但(#J3622^及解碼器Β⑶ 路9〇〇時’停效邏輯電路會 令被达到電 及指令•兩者^ 23
1289255 !6109twf =者所知’經由降低指令解碼級別115中所驅動的 里,此裴置即實現了如以上討論的同樣效益。 兒 在上述各個實施例中,其中指令解碼器所進行解 曰令,其字元長度非僅能為上述實施例所述及而已,其’中、 =同的指令解碼器間所進行解碼的指令長度係可以變化 ,,例如可為上㈣施射的16位元長度、32位 或更甚者為64位元長度或其他。 值得注意的是,在此所·及描蘭實施例 =施例是时提供本發明原理及其實際制的最佳^明 ^訂^賦予原有技術能力,以在不_實施例及不同 才又1,配合所預躺特定使用來彻本發明。當解釋 法命名的廣度上與本發明一致時,所有添加在 圍中的修正及變化皆在本發明 【圖式簡單說明】 ^ ^ ,1圖是一個微處理器的功能方塊圖。 2圖是依照第丨圖之微處理器所綠示的另一實施例 之功月b方塊圖。 第3圖是依照第1圖及第 所緣示的解碼器功能方塊圖。 第4圖是依照第1圖及第 實施例的平行電路流程圖。 第5圖是依照第1圖及第 施級別流程圖。 2圖之微處理器的解碼級別 2圖之微處理器所繪示另一 2圖之微處理器所繪示的實 24 1289255 16109twf 第6圖是依照第1圖及第2圖之微處理器所繪示的電 力降低邏輯電路功能方塊圖。 第7圖是依照第5圖各級別所繪示之另一實施例的流 程圖。 第8圖是依照介於第1圖或第2圖的解碼級別中本發 明之,力降低邏輯電路的功能方塊圖。 第9圖是依照介於第1圖或第2圖的解碼級別中本發 籲明之電力降低邏輯電路的功能方塊圖。 【主要元件符號說明】 105 :暫存器檔案 110 ·指令抓取 115 ·指令解碼 120 ·執行 125 :寫回 205 :運算子抓取 3〇5 : 16個輸入端 _ 310 : η個輸出端 420a、420b :嘗試解碼現行指令 515a •保留由指令解碼器B的最後指令所取得的資料 515b·保留由指令解碼器a的最後指令所取得的資料 520a ·解碼位於指令解碼器a的指令 520b ·解碼位於指令解碼器b的指令 620a :指令解碼器A (16bit) 605a 605b、625、805a、805b、805c、815 :選擇器 25 1289255 16109twf 610a、61〇b、61〇c:正反器模組 615 :反向器 620b ·指令解碼器b ( 32 、 630 ' 825 :指示線 715a :保留由指令解碼器B的最後指令所取得的資 715b .保留由指令解.A的最後指 資+ 7赢:.解碼位於指切碼器a的指令 仔的貝抖 720b .解碼位於指令解碼器b的指令 820 :指令解碼器c (〗AVa) 910a、91〇b、91〇c :及閑 26
Claims (1)
1289255 161〇9twf 十、申請專利範圍: 力消耗之裂置,包括: 解碼; 用末對一具弟一字元長度之指令 具第二字元長度之指令 一字元長产雜。 *二?元長度乃非等量值; - tit 用來指出—現行指令的字元長度; t s’與該帛—指令解碼1及該第二指令解 碼為連接,當該現行指令為 日4 現行指令導入該第—指令解石^;子兀長度日守’用來將該 一第二選擇器,與該第_指令 碼器連接’當該現行指令m 心令解 現行指令導入該第二指令解=了=長度時’用來將該 碼令解 之一 令導入處理器的執行二其中 2. 如申㈡專利範圍第i項所述 :令:!;;;字元長度時,第=擇器 將一先刖指令導入該第一解碼器。 人匕秸用來 3. 如申請專利範圍第i項^^, 指令不為該第二字元長度時,則該、壁 ^ μ現仃 將一先前指令導入該第二解碼器。擇。。更包括用來 4. 如申請專利範圍第i項所述之装置 兮 凡長度的位元數大於該第一字元長声 忒弟一字 27 1289255 16109twf 5. 如申請專利範圍第1項所述之裝置,其中該第— A 兀長度係16位元長,該第二字元長度為32位元長。予 6. —種降低處理器電力消耗之方法,包括:" 下載一現行指令至一處理器的解碼級別,該 具有一字元長度且對應於至少一解碼裝置, 曰7 判斷該現行指令之該字元長度; 以對應於該現行指令之該字元長度的解 行指令進行解碼;以及 ^衣置對该現 、准持至少一個不具對應該字元長度之解 狀態。 ’衣置的目前 已 7. 如申請專利範圍第6項所述之方法,更包括 解碼之該現行指令至該處理器的一執行級別。 ^ 8. 如申請專利範圍第6項所述之方法,其中編 狀態的步驟包括傳送—切指令啦少—I對靡目河 元長度的解碼裝置。 /、對應遠字 9. 如申明專利範圍第6項所述之方法,豆 解碼裝置是时對—跨平台絲式語謂碼Γ 個 10· 一種降低處理器電力消耗之系統,包括: 具有 #八2解碼邏輯電路,射每個解碼邏輯電路皆 指令芩數功能; s 一指 線,,指出—現行指令之至少一參數,· 令 夕選擇為,以選擇具有對應於該現行指令 夢數功能的解碼邏輯電路;以及 礼 28 1289255 l6l〇9twf ^ 问-人巧評命,从,π”蚵愿於現打指令之解碼功能 之該解碼邏輯電路選擇現行指令。 11·如申請專利範圍第10項所述之系統,其中至少一 個解碼邏輯電路是用來對一跨平台式程式語言解碼。 12·如申請專利範圍第1〇項所述之降低處理器電力消 系統,其中至少一個解碼邏輯電路是用來對16位元指 13. 如申請專利範圍第1〇項所述之系統,其一 個解石馬邏輯電路是用來對32 4立元指令解碼。 一 其中至少一 其中指示線 其中指示線 14. 如申請專利範圍第1〇項所述之系統 個解竭邏輯電路是时對64位元指令解碼。 15. 如申請專利範圍第1〇項所述之系統 4出該現行指令所使用的電腦語言。 ^ 销述编 =二=里器電力消耗之系統,包括: 指令參數功能,其中每個解碼邏輯電路皆具有-一停效邏輯電路,用 能; 用叫止至少-解碼賴電路的功 二::二來指出至少一停效解碼器;以及 耒二〆接收來自該訊號線之訊號’ Θ及選摆 一未、心外效邏輯電路停止功能的解碼邏輯電路。、擇 29 1289255 16109twf 如申請專利範圍第17項所述之之系統,其中至少 一個解碼邏輯電路是用來一跨平台式程式語言解碼。 19. 如申請專利範圍第17項所述之系統,其中至少一 個解碼邏輯電路是用來對16位元指令解碼。 20. 如申請專利範圍第17項所述之系統,其中至少一 個解碼邏輯電路是用來對32位元指令解碼。 21. 如申請專利範圍第17項所述之系統,其中至少一 個解碼邏輯電路是用來對64位元指令解碼。 22. —種紀錄媒體,用以儲存可供讀取之一程式,該程 式包括: 一第一邏輯程式碼,用以下載一具有一字元長度之現 行指令至一處理器的解碼級別,且該現行指令對應於至少 一解碼裝置; 一第二邏輯程式碼,用以判斷該現行指令的該字元長 度; 一第三邏輯程式碼,以一對應於該現行指令之該字元 長度的解碼裝置,對該現行指令解碼;以及 一第四邏輯程式碼,維持至少一不具對應該字元長度 之解碼裝置的目前狀態。 23. 如申請專利範圍第22項所述之紀錄媒體,更包括 一第五邏輯程式碼,將已解碼之該現行指令傳送至該處理 器的一執行級別。 30 1289255 16109twf 24. 如申請專利範圍第22項所述之紀錄媒體,其中該 第四邏輯程式碼包括傳送一先前指令到至少一不具對應該 字元長度的解碼器。 25. 如申請專利範圍第22項所述之紀錄媒體,其中至 少一個解碼裝置是用來對一跨平台式程式語言進行解碼。 26. —種處理器,包括: 一第一解碼器,用以解碼一用於執行於該處理器的一 執行單元的第一指令; 一第二解碼器,用以解碼一用於執行於該處理器的該 執行單元的第二指令;以及 一停效邏輯電路,選擇性停止該第一解碼器或該第二 解碼器其中之一的功能,而使該被停效的解碼器實質上消 耗零電力。 27. 如申請專利範圍第26項所述之處理器,更包括一 抓取單元,將一被抓取的指令同時輸出至該第一解碼器及 該第二解碼器。 • 28.如申請專利範圍第27項所述之處理器,其中該停 效邏輯電路是用來在選擇性停效的解碼器中保持輸入訊號 固定不變,使得在該抓取單元的輸出做改變時,不會造成 該選擇性停效解碼器的内部閘轉換。 31
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/989,090 US7263621B2 (en) | 2004-11-15 | 2004-11-15 | System for reducing power consumption in a microprocessor having multiple instruction decoders that are coupled to selectors receiving their own output as feedback |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200615741A TW200615741A (en) | 2006-05-16 |
TWI289255B true TWI289255B (en) | 2007-11-01 |
Family
ID=35305907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW094112827A TWI289255B (en) | 2004-11-15 | 2005-04-22 | System, method, and apparatus for reducing power consumption in a microprocessor with multiple decoding capabilities |
Country Status (3)
Country | Link |
---|---|
US (1) | US7263621B2 (zh) |
CN (1) | CN1324432C (zh) |
TW (1) | TWI289255B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI427472B (zh) * | 2009-06-30 | 2014-02-21 | Intel Corp | 用以減少電力耗損之方法,設備,系統及物件 |
TWI554946B (zh) * | 2012-03-15 | 2016-10-21 | 萬國商業機器公司 | 尋找一組具有終止字元之字元資料之長度之電腦程式產品、電腦系統及方法 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070250689A1 (en) * | 2006-03-24 | 2007-10-25 | Aris Aristodemou | Method and apparatus for improving data and computational throughput of a configurable processor extension |
GB2478726B (en) * | 2010-03-15 | 2013-12-25 | Advanced Risc Mach Ltd | Mapping between registers used by multiple instruction sets |
US9710277B2 (en) * | 2010-09-24 | 2017-07-18 | Intel Corporation | Processor power management based on class and content of instructions |
US20120079249A1 (en) * | 2010-09-28 | 2012-03-29 | Wei-Han Lien | Training Decode Unit for Previously-Detected Instruction Type |
GB2546465B (en) * | 2015-06-05 | 2018-02-28 | Advanced Risc Mach Ltd | Modal processing of program instructions |
GB2540971B (en) | 2015-07-31 | 2018-03-14 | Advanced Risc Mach Ltd | Graphics processing systems |
CN110995285B (zh) * | 2019-12-27 | 2023-05-05 | 成都达安众科技有限公司 | 一种uhf rfid分步式指令解码方法及芯片 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7376814B1 (en) * | 1999-09-07 | 2008-05-20 | Nxp B.V. | Method for forming variable length instructions in a processing system |
JP2002196981A (ja) * | 2000-12-22 | 2002-07-12 | Fujitsu Ltd | データ処理装置 |
US7017030B2 (en) * | 2002-02-20 | 2006-03-21 | Arm Limited | Prediction of instructions in a data processing apparatus |
US6978358B2 (en) * | 2002-04-02 | 2005-12-20 | Arm Limited | Executing stack-based instructions within a data processing apparatus arranged to apply operations to data items stored in registers |
US7194601B2 (en) * | 2003-04-03 | 2007-03-20 | Via-Cyrix, Inc | Low-power decode circuitry and method for a processor having multiple decoders |
US20040205322A1 (en) * | 2003-04-10 | 2004-10-14 | Shelor Charles F. | Low-power decode circuitry for a processor |
US7134000B2 (en) * | 2003-05-21 | 2006-11-07 | Analog Devices, Inc. | Methods and apparatus for instruction alignment including current instruction pointer logic responsive to instruction length information |
-
2004
- 2004-11-15 US US10/989,090 patent/US7263621B2/en active Active
-
2005
- 2005-04-22 TW TW094112827A patent/TWI289255B/zh active
- 2005-05-12 CN CNB200510069222XA patent/CN1324432C/zh active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI427472B (zh) * | 2009-06-30 | 2014-02-21 | Intel Corp | 用以減少電力耗損之方法,設備,系統及物件 |
TWI554946B (zh) * | 2012-03-15 | 2016-10-21 | 萬國商業機器公司 | 尋找一組具有終止字元之字元資料之長度之電腦程式產品、電腦系統及方法 |
Also Published As
Publication number | Publication date |
---|---|
TW200615741A (en) | 2006-05-16 |
CN1687865A (zh) | 2005-10-26 |
US7263621B2 (en) | 2007-08-28 |
CN1324432C (zh) | 2007-07-04 |
US20060107076A1 (en) | 2006-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI289255B (en) | System, method, and apparatus for reducing power consumption in a microprocessor with multiple decoding capabilities | |
US6718457B2 (en) | Multiple-thread processor for threaded software applications | |
US10156884B2 (en) | Local power gate (LPG) interfaces for power-aware operations | |
EP1137982B1 (en) | Local and global register partitioning in a vliw processor | |
US20060095732A1 (en) | Processes, circuits, devices, and systems for scoreboard and other processor improvements | |
KR20150023905A (ko) | 프로세서의 언코어 회로의 전력 소비 감소 | |
US6343348B1 (en) | Apparatus and method for optimizing die utilization and speed performance by register file splitting | |
US7546441B1 (en) | Coprocessor interface controller | |
US8825924B2 (en) | Asynchronous computer communication | |
US7904695B2 (en) | Asynchronous power saving computer | |
WO2009123669A1 (en) | Virtual debug port in single-chip computer system | |
JP2009527815A (ja) | 高められた動作効率を有するコンピュータシステム | |
US7590823B1 (en) | Method and system for handling an instruction not supported in a coprocessor formed using configurable logic | |
KR20080096484A (ko) | 데이터 통신 | |
US8843728B2 (en) | Processor for enabling inter-sequencer communication following lock competition and accelerator registration | |
Al-Shaikh et al. | A Comparative Study on the Performance of 64-bit ARM Processors. | |
US20230113953A1 (en) | Dynamic voltage and frequency scaling for discrete graphics systems | |
US7200723B1 (en) | Access to a bank of registers of a device control register interface using a single address | |
US6625634B1 (en) | Efficient implementation of multiprecision arithmetic | |
JP2001092661A (ja) | データ処理装置 | |
US20100325389A1 (en) | Microprocessor communications system | |
US7346759B1 (en) | Decoder interface | |
US7590822B1 (en) | Tracking an instruction through a processor pipeline | |
Brackenbury | An instruction buffer for a low-power DSP | |
CN118739459A (zh) | 基于电池热限制和阻抗实现系统功率控制的电路和方法 |