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 PDF

Info

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
Application number
TW094112827A
Other languages
English (en)
Other versions
TW200615741A (en
Inventor
Richard Duncan
Original Assignee
Via Tech Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Via Tech Inc filed Critical Via Tech Inc
Publication of TW200615741A publication Critical patent/TW200615741A/zh
Application granted granted Critical
Publication of TWI289255B publication Critical patent/TWI289255B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/30149Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30196Instruction operation extension or modification using decoder, e.g. decoder per instruction set, adaptable or programmable decoders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3818Decoding for concurrent execution
    • G06F9/3822Parallel decoding, e.g. parallel decode units
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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
TW094112827A 2004-11-15 2005-04-22 System, method, and apparatus for reducing power consumption in a microprocessor with multiple decoding capabilities TWI289255B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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) 基于电池热限制和阻抗实现系统功率控制的电路和方法