TW200915724A - Method and apparatus for detecting clock gating opportunities in a pipelined electronic circuit design - Google Patents

Method and apparatus for detecting clock gating opportunities in a pipelined electronic circuit design Download PDF

Info

Publication number
TW200915724A
TW200915724A TW097131470A TW97131470A TW200915724A TW 200915724 A TW200915724 A TW 200915724A TW 097131470 A TW097131470 A TW 097131470A TW 97131470 A TW97131470 A TW 97131470A TW 200915724 A TW200915724 A TW 200915724A
Authority
TW
Taiwan
Prior art keywords
clock
pipeline
latch
logic
opportunity
Prior art date
Application number
TW097131470A
Other languages
English (en)
Inventor
Matthew Earl Fernsler
Hans Mikael Jacobson
Johny Srouji
Todd Swanson
Original Assignee
Ibm
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 Ibm filed Critical Ibm
Publication of TW200915724A publication Critical patent/TW200915724A/zh

Links

Classifications

    • 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
    • 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/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • 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/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • 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)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Logic Circuits (AREA)
  • Testing Or Measuring Of Semiconductors Or The Like (AREA)

Description

200915724 九、發明說明: 【發明所屬之技術領域】
本揭示案係關於電子電路, 測電力減小機會進行的管線 【先前技術】 且更特定言<,係關於藉由 電子電路之有效設計。 處置系統剛可包括用於處理、處置、傳達或以 具他方式調處資訊的多個處理器。戽 inn . Λ 每—處理器自身可包括 ,、同作以處理資訊之多個處理器核心。處理器或處理器
核心可包括若干管線級以增加處理器之有效通量。管線技 術藉由並行執行操作而使處理器或處理^心能夠獲得& 大效率。向多核心處理器設計之轉變趨於增加處理器中之 電力耗散問題。
諸如風扇、冷卻器及散熱器之外部冷卻器件在一定程度上 有效用於解決高效能處理器之高電力耗散及所導致的熱產 現在,總電力消耗為諸如多 計中主要關注問題中之一者。 處理器不正常地起作用。此外 的過多電力消耗可使處理器變 核心處理器設計之處理器設 過多的處理器電力消耗可使 ,在無充分熱耗散之情況下 仵不穩定或永久地被損壞。 生之問題。遺憾地,此等器件通常為昂貴且有雜訊的。此 外’此等冷卻器件常常為龐大的且需要尤其在攜帶型或電 池供電系統中不合要求的特別設計及封裝方法。 處理器中之電力耗散或消耗包括兩個主要態樣,即浪漏 電力耗散及有效電力耗散。隨著半導體製造過程使處理器 元件愈來愈小地收縮’洩漏電力耗散增加。與之對比,有 133654.doc 200915724 效電力耗散主要與在特定工 舉例而言,諸如鎖存器之順、 理器之活動有關。 電力耗今》μ 两序牛的活動為處理器中有效 電力耗政之一個原因。由處理器 交換為有效電力耗散之另—原 理;的貝料 存器引起大量的電力消耗。基:之管線級中的鎖 器、資料儲存遜短心 元件包括正反 貝了叶傾存邏輯、暫存器、 組件。對基於鎖存^ 處理器中之其他 電力诗,Γ 操作的較佳控制表示處理器中 罨力減小之重要機會。 鎖存器計時為處理器中電 要租八“六 γ电力4耗及耗散之有效部分的主 要組为。對鎖存器進行計時(無論 鎖存器消耗電力。減少鎖存 °疋否改變狀態)使 w相^ y °夺脈/舌動以減小電力消耗為 門批' ' -在複雜處理器中提出一主要設計挑戰。"時脈 ^控’達成鎖存n時脈電力消耗之㈣❹ :::條件下斷開或中斷至特定鎖存器或鎖存器之;:之 寺,入的時脈信號而不對鎖存器功能性造成損害之技 =里時脈問控’,之鎖存器為一描述處於時脈間控電路斷 =或中斷鎖存器之時脈信號之狀態中的鎖存器之術語。在 、他清況下’鎖存器正常操作。,,經時脈閘控”之鎖存器在 =常時脈循環輸入期間將不會致動、雙態觸發或以其他方 ^改變狀時脈信號輸人之此封鎖及鎖存器之隨後靜離 為處心提供電力節省。判定何時時脈閘控-鎖存器及; 時不間控—鎖存器向處理器設計者提出-重大的設計挑 戰▲基本上’虽鎖存器之狀態在一特定時脈循環期間將不 變時或田鎖存器之狀態變化對後續下游邏輯無影響 U3654.doc 200915724
間時脈閘控一鎖存器為可接受 為挑戰t 定鎖存| (亦即, 控機會。 的。然而,作出何時時脈閘控及何時不時脈間控
1工娜貧C 1…π rr何吋脈闲徑機會方面可能過 ^不利。即使在設計者謹慎使用此等設計原則以產生用於 :理器之時脈閑控邏輯後,仍可能存在設計者可能不能完 探查到了產生其他時脈閘控機會的複雜情況。 需要的為種更元全地識別複雜處理器中之時脈閘控 機會的方法及裝置。 【發明内容】 因此,在一實施例中,揭示一種用於時脈閘控管線電子 益件以達成電力節約之方法。該方法包括向管線電子器件 提供複數個f線級,該等管線級包括各包括可受到時脈閘 控之邏輯元件的第一管線級及第二管線級。每一管線級將 資Λ供應至下游管線級。該方法亦包括藉由模擬器模擬管 線電子器件之操作以判定模擬結果,該等模擬結果規定可 在預定條件下被時脈閘控之所選邏輯元件。該方法亦包括 基於模擬結果而時脈閘控管線電子器件之所選邏輯元件以 達成電力節約。 在另一實施例中,揭示一種包括記憶體及管線電子處理 器器件之資訊處置系統(IHs)。該管線電子處理器器件輕 接至該記憶體。管線電子處理器器件包括複數個管線級, 133654.doc 200915724 該複數個管線級包括各肖 卜管線級及第二管::括:閘控之邏輯元件的 管線級。基於管線電子處理器級將資訊供應至下游 選邏輯元件以達成電力擬來時脈間控所 被時脈閉控之所選邏輯元件,模擬規…預定條件下 【實施方式】 隨附圖式僅說明本發明夕也 其範_,因為本發明之概人自u施例且因此並不限制 “ 月之概念自身適合於其他等效實施例。 在處理器中’時脈開控提供一減少有效電力消耗之機 用於设计或產生時脈閘控邏輯之基本方法為針對特定 時脈循環封鎖至不需要該特定時脈循環之時脈信號之各別 =器的時脈信號。若對於一特定時脈循環,鎖存器之狀 &將不改變,則對於該特定時脈循環,不必要將時脈信號 :送至該鎖存器。藉由"時脈閉控,,或封鎖至鎖存器之時脈 ^唬:鎖存器不轉變經過時脈鎖存或雙態觸發狀態。因 而,鎖存器不消耗在不存在時脈間控之情況下鎖存器會以 其财式消耗的電力。每―"經時脈閘控"之鎖存器有助於 把理器對於特定時脈循環經由時脈閘控達成的總電力節 省。 儘管利用統計分析來發現時脈閘控機會之先前方法可減 小處理态中之總電力消耗’但此等方法可能未能強加約束 並利用管線系統及管線電子電路提供的時脈閘控之機會。 在發明者 Chaudhry 等人之名為,,Meth〇d And Apparatus &
Locating Clock Gating Opportunities Within A Very Large I33654.doc 200915724
Scale Integration Chip Design"之同在申請中的美國專利申 請案(檔案號碼AUS920050826USI,序號川则%,聽 年4月25日中請且讓渡於同—受讓人)中揭示識別時脈間控 機會之-方法’該案之揭示内容以全文引用之方式併入本 文中。 理解時脈閘控機會之-基本方法為考慮—鎖存器或鎖存 器之群組之輸出在時脈轉變或時脈循環期間不改變的情 況。通常,此為在時脈轉變期間至鎖存器之資料輸入保持 處於靜態且鎖存器之輸出同樣保持處於恆^狀態之結果。 另一時脈間控機會為在特定時脈循環期間鎖存器之輸出資 料等於鎖存器之當前輸人資料的情況。在此簡單情況下, 離散時脈間控邏輯可封鎖、移除或以其他方式取消至鎖存 器之時脈信號而鎖存器之輸出狀態無作為結果而發生之變 化邊經時脈閘控"之鎖存器將不試圖改變其狀態。為 此,該鎖存器之電力消耗小於其以其他方式將消耗的電 力。 如圖1中所見,習知邏輯電路1〇〇包括一時脈閑控機會電 路110,即此特定實例中之鎖存器12G。在邏輯電路1〇〇 中鎖存益12〇及U0經由離散組合邏輯例如,八⑽間 )連接至提供資料輸出信號之另一鎖存器在一實 施例中,邏輯電路i_ 了表不大得多且較為複雜之邏輯電 路(未圖示)之一部分。無 举例而言,邏輯電路100可為處理器 或其他數位邏輯電路之部分。 鎖存器12G表7F -具有資料及時脈輸人及—鎖存資料輸 133654.doc 200915724 出信號的典型鎖存電路。更特定言之,來自另—電路邏輯 (未圖不)之輸入資料信號"資料i"提供資料輸入至鎖存器 120。在特定信號條件下’鎖存器i2q為用於進行時脈開控 之候選者。換言之,在—些條件下,可存在用於時脈閘控 鎖存器12G的機會。為此,術語,,時脈閘控機會"電路⑽應 用於鎖存電路120,如圖1中所示。 鎖存器120之輸出(展示為信號資料3,接至組合邏輯 之輸入即輕接至AND閘135之兩個輸人中的一者。時 脈信號CLIU向鎖存器12G及鎖存器⑽提供計時。時脈電 路(未圖示)可自使用邏輯電路1〇〇之處理器或其他電子電路 中之主時脈信號產生個別時脈信號(諸如,CLK1)。鎖存器 140自其他功能邏輯(未圖示)接收一"資料2"信號作為資 料^鎖存益140之輸出(在信號"資料4"處展示)麵接至組合 邏輯130之另一輪入,即輕接至AND閘135之兩個輸入中的 第者、、且。邏輯130表示布林(Boolean)函數出於電路分 析目的可表達的任柄赵Θ ^ 仕何數篁之離散閘及電晶體邏輯。組合邏 輯130之輸出(且更拉中丄 、疋s之AND閘135之輸出)耦接至如在 信號”資料5 "虛舶· + AA ^ v、的鎖存器150之資料輸入。鎖存器15〇 接收一時脈輸入作號 ^ 。^CLK2。鎖存器150產生提供輸入信號 至:、他下游功能邏輯(未圖示)的輸出信號”資料6”。 、輯電路100提出在特定條件下用於時脈閘控 以下實例展示一該你姓 + / '、牛。右在鎖存器140之輸出處的”資料 4 k號顯現—邏綠焚 ” ,則AND閘135之相應輸入顯現邏 在此凊况下,藉由布林代數,AND閘135之輸出 133654.doc 200915724 亦為邏輯零,,〇"(亦即,”資料5,,信號顯現邏輯零”〇”)。在此 實例中,鎖存器120之輸出信號"資料3"(無關於其邏輯狀態 (即1或〇))對AND閘135之輸出信號"資料5"無影響。鎖存器 12〇之輸出狀態的分析可將鎖存器12〇之狀態視為"任意值" (DNC)條件。對於下一順序邏輯功能(即在此特定實例中之 鎖存器150) ’鎖存器12〇之狀態為不相關的。此外,對於 亦描述典型時脈循環的以上實例之條件,鎖存器12〇表示 在該特定時脈循環期間用於時脈閘控之理想機會。在鎖存 ’ 1120提供-用於時脈閘控之機會的此等條件下,鎖存器 120之適备替代名稱為時脈閘控機會電路η。。 圖2為耦接至邏輯電路1〇〇中之時脈閘控機會電路之 代表性習知時脈閘控電路200的方塊圖。為方便起見,圖2 未重複整個邏輯電路100,而是僅展示時脈問控機會電路 〇及其鎖存器120。藉由分析時脈閘控機會,電路設計者 可將諸如時脈閘控冑輯電路21〇之時脈問控邏輯併入至諸 如處理器之電子電路中。"時脈閘控,,為利用一封鎖時脈信 號諸如鎖存器或鎖存器之群組之邏輯組件之傳播的電路 ('常為AND閘或NAND閘或其他邏輯電路)的方法。電路 I #者使用時脈閘控邏輯21G以在時脈將不對時脈閘控機 3電路11 0之功能性具有影響的預定條件下封鎖時脈信號 至特疋鎖存Is之傳播。在存在此等預定條件之情況下由 ;寺脈閉控電路之作用,_脈信號有效地不到達該或該等 鎖存器。
展不為尨號CG1的時脈閘控邏輯210之輸出耦接至AND I33654.doc •13- 200915724 閘220之兩個輸入中之一者。and閘220之剩餘輸入接收自 電子電路之其他功能邏輯(未圖示)所輸入的時脈信號 CLK1 °藉由將信號CG1用作至AND閘220之輸入,時脈閘 控邏輯210提供一可在適於時脈閘控之特定條件下有效地 封鎖CLK1信號之硬體組件。當時脈閘控邏輯21〇之輸出信 號CG1顯現邏輯零"〇”時,and閘220產生一為邏輯零"〇"之 輪出仏號而不論自信號CLK1之輸入狀態。AND閘22〇之輸 出耦接至時脈閘控機會電路11〇中之鎖存器12〇的時脈輸 入。S時脈閘控邏輯2 1 〇輸出一顯現邏輯零,,〇··狀態之cG i L號時,至鎖存器12〇之輸入資料信號(即„資料丨。對鎖存 器120無影響’且因此構成一"任意值"dnc輸入。更特定 。之,鎖存器120將不對展示為資料信號"資料丨"之輸入資 料進行計時。在此條件下,鎖存lim不對㈣至p順 序邏輯電路(未圖示)的鎖存輸出信號"資料3"造成變化。此 外,。鎖存器120將不產生轉變狀態且因此將不消耗轉變鎖 存器狀也電力。然而’若時脈閘控邏輯⑽之輸出信號 C G1顯現邏輯一丨丨1",則a Μη紐m 則AND閘22〇將傳遞時脈信號CLK1之 狀態直至鎖存器120之時脈輪入卢山法 輸入。在此情況下,時脈閛控 邏輯210不"時脈閘控"或干擾鎖存器12〇。 ^之實财的方法未U包括如下文所描述之多個管 線式級之複雜處理器架構 在於㈣之時脈閘控。時脈閘控機會存 == 線架構中。電子電路之模擬及電子電路中的信 1點之为析表示用於識別時脈閘控機會之方法。信號節 點為電路之模擬模型中表 儿 J表達為布林邏輯之功能之間 133654.doc 200915724 的連接點之離散迹線或連接。可將電子電路之模擬視為互 連節點與布林邏輯功能區塊之集合。下文揭示的例示性方 法之一實施例包括在模擬模型中產生資料之實際工作負載 模擬及進一步在信號狀態中與實際電路相同地操作模擬模 型。在—實施例中,模擬模型及程式操作實際工作負載狀 態中之模擬且針對時脈閘控機會監視信號節點。 圖3展示論證偵測諸如處理器之管線電子電路3〇〇中的時 脈閘控機會之所揭示方法的管線設計。管線電子電路300 表示較大管線電路(未圖示)之一部分。管線電子電路3〇〇包 括多個級,即代表性管線級"級〇"、,,級丨,,、"級2,,及"級 3",其中較為詳細地展示”級1,'及”級2”。”級0"之輸出資料 提供用於"級1"之輸入資料。"級丨"之輸出資料提供用於"級 2之輸入資料等等直至管線電子電路3〇〇之其他下游級。 在此特定實施例中’,,級1”為,,級2”之上游,意謂資料自,,級 1”向下游流至"級2"。 圖3之菅線電子電路3〇〇包括一主時脈電路3〇2,其提供 一主時脈信號(CLK)至管線級(諸如"級丨”及”級2”)之電路。 時脈電路302耦接至"級1"之時脈閘控電路3〇5(A1)、時脈 閘控電路305(B1)等等直至時脈閘控電路3〇5(M1)w向其提 供CLK信號。每一時脈閘控電路(例如3〇5(A1))之第二個文 數字表達(即”1”)表示該電路駐留的管線級號碼。時脈電路 3〇2亦耦接至”級2”之時脈閘控電路3〇5(A2)、時脈閘控電 路305⑽及時脈閘控電路3〇5(N2)以向其提供clk信號。 時脈閘控電路3〇5(A1)耦接至管線電子電路3〇〇之”級丨"的 I33654.doc -15- 200915724 鎖存器Al(3l〇)之時脈輸 相介私―* 在圖3中,母一鎖存器之第二 個文數子表示騎鎖存器Μ號碼Μ 器Αβ示描繪表示圖 m而。鎖存 字傕” 1Π ^ 之^線電子電路之級1的帛二個文數 子值1。時脈閉控電路30卿接至"級”之鎖存器 之鎖3Γ器之Μ時脈輸入。時脈閑控電路3〇5(Μ1)耗接至”級】” 至^電·?之時脈輸人。時脈閘控電路3G5(A2)福接 至1電子電路_之"級2"的鎖存器A2(35〇)之時脈輸 時脈閘控電路鄉勒接至"級2”之鎖存㈣(綱之 時脈輸入。時脈閘控電路3〇5(N2)輕接至"級2”之鎖存器 N2(370)之時脈輸入。管線電子電路扇顯現一順序架構1 ::輯70件自管線級流動至管線級。當時脈信號CLK 自-代表性時脈循環N前進至下一時脈循環_時,資料 自一級移動至下一級。 以下論述描述資料關於時脈循環經由管線電子電路· 之流動。舉例而言’若自 '級〇”輸入至,,級” 器 AU3H))的資料在時脈循環财經由鎖存器ai(3iq): 時’則”級1"之鎖存||Α1在該時脈循職期間儲存該資狀 值。然而,在下一時脈循環Ν+”,'級2 A2(35〇)儲存邏輯電路⑽對鎖存器幻資料之操作的 因而,在時脈循環N+1中,資料自,,級r之鎖存器^流動 至”級2”之鎖存器A2。鎖存器A2接著储存該資料。以此方 式’資料自-時脈循環至下一時脈循環以管線 "級1"之上游級移動至諸如'級2"之下游級。圖3中向下指向。 133654.doc 16 200915724 之箭頭指示經由電子電路3 〇 〇之管線級的此上游至 料流動。 貝 更詳細言之,來自管線"級〇”之資料向下游流至"級丨”之 鎖存器Α1的輸入且來自管線"級〇"之資料亦向下游流至鎖 存器Β1之輸入。管線電子電路3〇〇之每一級包括具有多個 . 鎖存器之管線邏輯。舉例而言,"級1 ”包括鎖存器 Α1(31〇)、鎖存器Β1(32〇)……鎖存器Ml(330)。鎖存器 Ml(330)表示管線電子電路3〇〇之"級丨"中之任多數目個鎖 (:存器”Μ’,。如圖所示,鎖存器A1(31G)之輸出㈣至邏輯電 路340與邏輯電路345兩者之輸入。邏輯電路34〇與邏輯電 路345均表示出於操作及模擬之目的可表達為布林函數的 任—數置之組合邏輯。管線電子電路3〇〇之”級丨"之鎖存器 B 1(320)的輸出耦接至邏輯電路345之輸入。在實際實踐 中,管線之•’級1 ”可含有比所示多之邏輯元件。 ”級1”之邏輯電路340的輸出耦接至管線電路之"級2”中的 I 鎖存器A2(350)之輸入。"級丨"之邏輯電路345的輸出耦接 至級2"中之鎖存器B2(3 60)的輸入。在實際實踐中,"級 可包括比所示多得多的鎖存器。舉例而言,"級2"包括鎖 存器A2(350)、鎖存器B2(360)……鎖存器N2(37〇)。鎖存器 N2(370)表示管線電子電路3〇〇之”級2,,中之任多數目個鎖 存器” N”。鎖存器A2之輸出耦接至邏輯電路372之輸入。鎖 存器B2之輸出耦接至邏輯電路374之輸入。邏輯電路372及 3 74之輸出耗接至管線電子電路中之下一下游級(即"級3") 之輪入鎖存器(未圖示)。在實際實踐中,管線電子電路3〇〇 133654.doc 17 200915724 可包括比一圖3之代表性電路中所示多得多之級。 圖3展不g線電子電路3〇〇以論證根據所揭示之方法,時 脈間控對於f線式級為可能的許多條件。以下表1展示5個 代表性狀況,其中日吝邮pq f脈間控機會存在於諸如圖3中所示之 管線式環境中: 表1
1 右電路300在時脈循^ 鎖存器A1在時脈循環財=5 結果 則電路300可在時脈循環N+1中 潛在地時脈閘控鎖存器A2 2 若t路300在時脈循環n中時脈閘控鎖存器 A1及鎖存器B1,或鎖存器Ai及鎖存器出在 時脈循環N中未改變邏輯狀態 則電路300可在時脈循環N+1中 潛在地時脈閘控鎖存器A2及鎖 存器B2 3 若鎖存器B2在時脈循環N+1中未改變邏輯 狀態 則電路300可在循環n中潛在地 時脈閘控鎖存器B1 4 右鎖存器A2在時脈循環N+1中未改變邏輯 狀態 則電路300可在循環n中潛在地 時脈閘控鎖存器A1 5 若電路300在時脈循環N+1中時脈閘控鎖存 器A2及鎖存器B2或若鎖存器A2及鎖存器B2 在時脈循環N+1中未改變邏輯狀態 則電路300可在循環n中潛在地 時脈閘控鎖存器A1及鎖存器B1 在表1之第一狀況或情況下’若時脈閘控電路3 〇 5 (A1)在 時脈循環N期間時脈閘控鎖存器A1 (31〇),或替代地,若鎖 存器A1所儲存之邏輯狀態或值在時脈循環N中未改變,則 時脈閘控電路305(A2)可在下一時脈循環N+1中潛在地時脈 閘控鎖存器A2(350)。在此情況下,鎖存器A1不表示經由 管線電路級之資料流動的任何變化,且因此,鎖存器A1無 需起作用。因為鎖存器A1之狀態在當前時脈循環期間與下 游功能無關,所以鎖存器A1之條件為"任意值"(DNC)條 133654.doc 200915724 件。為此,時脈閘控電路305(A1)可時脈閘控鎖存器幻或 將其有效保持於其當前狀態中。 在表1之第二狀況或情況下,若時脈閘控電路3〇5(ai)在 時脈循環N期間時脈閘控鎖存器A1(31〇)且時脈閘控電路 305(B1)時脈閘控鎖存器叫32〇),則在下一時脈循環⑽ 中,時脈㈣電路305(A2)及305_可分別日夺脈問控鎖存 電路A2(3 5G)及鎖存電路B2(36G)。之所以如此係因為自下 游鎖存器A2及B2之角度來看,經時脈閘控之鎖存器八丨及 B1對於時脈循環N+丨的狀態或值為"任意值”(dnc)。 在表1之第三狀況或情況下,若鎖存器B2(36〇)之值在時 脈循環N+1中未改變,則時脈閘控電路3〇5(Βι)可在時脈循 環N中時脈閘控鎖存器B1(32〇)。此為成立的,因為鎖存器 B1在時脈循環N中之輸出對鎖存器B2在時脈循環Ν+ι中之 輸出值無影響。類似地,在表丨之第四狀況或情況下,若 鎖存器A2(35G)之值在時脈循環N+lt未改變,則時脈閉控 電路305(A1)可在時脈循環N中時脈閘控鎖存器ai(3i〇) ^ 之所以如此係因為鎖存器A1在時脈循環之輸出對鎖存 器A2在時脈循環N+1中之輸出值無影響。 表1之第五狀況描述鎖存器A2(350)與鎖存器B2(36〇)兩 者在時脈循環N+1中不改變邏輯狀態或輸出值,或替代 地,鎖存器A2及B2皆顯現時脈閘控之情況。換言之,時 脈閘控電路305(A2)及時脈閘控電路3〇5(B2)在時脈循環 N+1期間分別時脈閘控鎖存器A2及鎖存器B2。在此情況 下,鎖存器A1及B1均為用於在時脈循環進行時脈閘控 \33654.doc •19- 200915724 之潛在候選者,因為鎖存器八1及扪在時脈循環N期間之輸 出均顯現對時脈循環N+1中之鎖存器A2及B2無影響。向^ 游及下游查看遍及圖1之鎖存器邏輯以辨別時脈閘控機會 的能力而實現在此管線電路設計中之顯著電力減少潛力。 對於-實例’在鎖存HA2及似下游狀態與時脈循環㈣ 間之上游鎖存器A1及B1相關時評估鎖存器八2及於之下游 狀態(圖3中)提供用於評估時脈閘控機會之資料。 在電子電路設計中,設計者可將特定邏輯電路表達為接 線對照表(net list)。在諸如管線電子電路3〇〇之邏輯電路的 狀況下,設計者手動或藉由電腦幫助產生描述電子電路
3〇〇之屬性及連接的接線對照表375。接線對照表375為表 示電子電路300之管線級之功能邏輯的連接及邏輯功能之 清單。設計者或其他人可使用習知接線對照表產生技術以 產生接線對照表375。接線對照表375包括描述管線電子電 路300之接線對照表資料。將此接線對照表資料輸入至如 圖3中所示之模擬器380。模擬器38〇使用接線對照表之 接線對照表資料以產生一表示管線電子電路3〇〇之各種級 及組件之操作的軟體模擬模型382。管線電子電路3〇〇之模 擬模型382表示管線電子電路3〇〇之每一級的每一互連節點 及功能邏輯組件或電路之軟體模型。模擬器⑽可以軟體 形式模擬每-輸人節點’包括時脈信號輸人、資料信號輸 入、輸入資料匯流排及管線電子電路3〇〇之其他輸入产 號。模擬模型382提供-用於模擬並分析管線電子電路则 之每-時脈循環之每一節點的布林表達式之工具。模擬器 133654.doc -20· 200915724 380包括模擬程式385。在一實施例中,模擬程式385包括 拓樸程式392、最佳化程式394及工作負載模擬程式396。 模擬器3 80可包括用於管線電子電路3〇〇之模擬支援之其他 程式(未圖示)。 模擬器380可執行拓樸程式392以提供待包括以用於管線 電子電路100之時脈閘控機會決策產生過程的實體參數。 拓樸程式392在此決策產生過程中可使用抬樸資料。拓樸 資料可包括連接迹線寬度、互連迹線長度、邏輯電路功能 之離散電晶體的實體接近度及管線電子電路3〇〇之其他可 用電路設計參數。模擬器38〇可執行最佳化程式394以減小 模擬模型3 8 2之複雜性並進一步幫助識別電路3 〇 〇中之時脈 閘控機會。最佳化程式394在組合鎖存器與邏輯功能將不 影響時脈閘控機會之偵測或電路設計之功能性的狀況下藉 由該組合而減小模擬模型382之複雜性。舉例而言,最佳 化程式394可將多個鎖存器組合或聚集至單一鎖存器中以 僅用於模擬’纟中鎖存器之該群組自同—源接收時脈及資 料信號。 ' 藉由將軟體模擬程式385應用於諸如上文圖3中所示之管 線電子電路及將表1之時脈閘控情況應用於其中,系統= 擬器380可發展對在電路3〇〇中之時脈閘控機會之較為準確 及擴展的表示。圖3及表丨中所舉例說明的用於識別時脈閘 控機會之以上方法非常適於複雜管線設計。藉*考慮額外 級(管線電子電路扇之鎖存器邏輯中未展示),較多;料節 點可用於模擬器380。較多資料節點在模擬程式如執行^ 133654.doc •21 · 200915724 間將額外讀取資料提供給模擬器38〇。又,藉由在管線電 路之每一級中考慮較多時脈循環(諸%,N+2、N+3等),較 多資料可用於模擬器380。在較多可用資料之情況下,模 ,-可藉由使用本文中之諸如表】之代表性時脈閉控情 兄的教示而疋位較為準確及逼真之時脈閘控機會。 右手動執行,則發現對於上文實例之時脈閘控之機會為 几長乏未且耗時之任務。為此,圖3包括模擬器則以用
=模擬f線電子電路扇以及根據表!之情況的工作負載環 ^在一實施例中,«器38〇使用暫存器轉移層級(rtl) 而產生管線電子電路3〇〇之模擬模型382。rtl為用於 界疋數位電子電路之高階描述語言。RTW型將電子電路 描述為鎖存ϋ及布林邏輯表達式之軟體集合。藉由在模型 ^執仃真實工作負載(即,將實際代表性資料輸入至模擬 松型382之輸入節點中)’工作負載模擬程式396讀取在模 擬器380中之每—節點處的實際電路結果。藉由逐個模擬 模型382之級地分析每—節點之結果,工作負載模擬程式 396產生與表1之情況一致的時脈閘控機會之集合。模擬器 380可藉由諸如表1之情況的情況及其他標準來分析時脈閘 控機會結果並組織資料。模擬器彻可將資料呈現給最終 使用者或設計者以供分析。此等結果可用於電子電路之重 新設計或將來設計。 打開或關閉時脈閘控之能力表示管線電子電路3〇〇中的 :脈閘控邏輯之有用特徵。最終使用者可能希望在不影響 Λ電子電路之邏輯功能性的情況下完全停用時脈閑控邏 133654.doc -22- 200915724 輯。停用時脈閘控電路具有增加與時脈閘控提供之電力節 省一致的電路之電力消耗之影響。停用時脈閘控邏輯提供 一在無時脈閘控效應之情況下測試管線電子電路3〇〇之機 制。管線電子電路300包括提供CGE信號至管線級中之每 者的主時脈閘控啟用(CGE)電路308。時脈閘控啟用 (CGE)電路308耗接至"級1”之時脈閘控電路3〇5(Α1)、 3〇5(B 1)及305(Μ 1)以向其提供時脈閘控啟用信號。時脈閘 控啟用CGE信號可顯現用以啟用在整個管線電子電路3 〇〇 上之時脈閘控之一邏輯狀態且顯現用以停用在整個電路 300上之時脈閘控之相反邏輯狀態。cge電路308耦接至 "級2”之時脈閘控電路305(Α2)、3〇5(Β2)及3〇5(Ν2)以向其 提供時脈閘控啟用信號。圖3描繪包括多個級及多個鎖存 器及組合邏輯之代表性管線電子電路3〇〇。管線電子電路 300可採取許多形式,諸如較大複雜電路之部分。舉例而 & ’管線電子電路300可形成桌上型電腦' 筆記型電腦、 伺服器或其他形狀因數電腦或資料處理系統中之處理器之 部分。管線電子電路亦可採取其他形狀因數,諸如遊戲器 件、個人數位助理(PDA)、通信器件或包括管線系統架構 之任何其他器件。 圖4為描繪所揭示時脈閘控機會處理之一實施例的設計 及操作方法之流程圖。處理流程開始於開始步驟4〇5處。 根據设計管線電子電路步驟4丨〇,電路設計者設計包括多 個ϋ線級之管線電子電路。根據步驟412,設計者可使用 %知技術來產生描述包括邏輯電路、連接、節點及描述管 133654.doc -23- 200915724 線電子電路之其他資訊之多個管線級的接線對照表。舉例 而言,設計者可藉由耗時手動處理或藉由使用接線對照表 產生工具之電腦幫助而產生該接線對照表。在一實施例 中,模擬器380藉由使用暫存器轉移層級(RTL)語言程式化 而產生模擬模型382。更特定言之,模擬器38〇將接線對照 表轉換為對應於並表示管線電子電路3〇〇之鎖存器及互連 布林可表達邏輯功能的軟體模擬。根據發展模擬模型步驟 415,模擬|§ 380自接線對照表發展模擬模型382。根據步 驟420,模擬器380執行諸如拓樸程式392之模擬程式μ〗以 發展關於特定管線電子電路3〇〇之拓樸資料。拓樸結果保 持於模擬器3 8 0中以用作下文用於識別時脈閘控機會之最 、、、;决策產生標準之部分《根據步驟425,模擬器38〇亦執行 諸如最佳化程式394之模擬程式385以減少模擬器38〇分析 的貝料之量。在-實施例中,最佳化當前模擬模型如產 生對軟體模擬模型382之增強以用於圖4中所示之所有後續 模擬器380處理。 根據步驟430,模擬器380亦以真實世界工作負載數位工 及〇資料執行諸如工作負載模擬程式396之模擬程式385。 藉由經由官線電子電路3〇〇模擬而模擬實際工作負载可 由模擬器380觀測到較為逼真之結果,即管線電子電路 之:觀測時脈閘控機會。根據步驟435,模擬器%。藉由針 對諸如h中所示之彼等狀況的條件事件探測内部節點來 "賣取此等時脈閘控機會。表丨之狀況1至$ — 一 1 一 f表示 才、擬器380可識別出時脈閘控機會存在於管線電子電路 133654.doc •24- 200915724 中之條件。舉例而言,執行工作負載模擬程式396之模擬 器380可在表1之狀況1至5下將”級1”中的鎖存器A1或鎖存 器A1及B1之群組識別為顯現出時脈閘控機會。模擬器38〇
可在表1之狀況1至5中之一者下將,,級丨,,中之鎖存器M或鎖 存器Ml之任一群組組合識別為顯現出時脈閘控機會。時 脈閘控機會傳遞至下一操作,其中模擬器38〇根據發現時 脈閘控機會狀況之決策步驟440驗證過程發現狀況1至5中 顯現出時脈閘控機會之一者。若模擬器38〇發現管線級中 之特定組件顯現出對應於表1之狀況1至5中之一者的時脈 閘控機會,則因為吾人具有"發現之狀況”,所以處理流程 繼續至對狀況加權之步驟445。根據步驟445,模擬器38〇 將權重應用於顯現出時脈閘控機會的每一當前發現之狀 況。狀況加權提供用以判定哪一時脈閘控機會提供比另一 者大的電力節省之方法。具有較大電力節省之時脈閘控機 會評定為高於具有較小電力節省潛力之時脈閘控機會。下 文論述之決策標準判定每一特定狀況接收的特定權重。 狀況加權為所揭示方法之_態樣,其中特定種類之時脈 閘控機會顯現比其他時脈閘控機會大的電路設計改良之機 會。舉例而言,模擬器380偵測為時脈閘控機會之來源的 經時脈間控鎖存器類型比模擬器彻偵測為時脈閘控機會 之,,任意值” (DNC)類型的鎖存器有價i。此值評定或加權 之原因在於經時脈閉控之鎖存器類型為高度可預測的,且 時脈閘控機會始終存在。在鎖存器呈現,,任意值,,腻類型 時脈間控機會的狀況下’時脈閘控機會可表示在其他時脈 133654.doc •25- 200915724 循環中無時脈閘控機會。即,時脈循環N+1、N+2等等可 表示非DNC時脈閘控機會。模擬器38〇如以下表2中所示將 特疋權重值指派給每一時脈閘控機會類型。 表2 -----------— 模擬器將指派權重值的時脈閘控機會種類之描述 具有共同時脈閘控機會之多個鎖存器 下游時脈閘控5 ^意值(DNC)鎖存器 不改變鎖存器 上游時脈閘控機會 如以上表2中所示,種類"A^在特定級 脈閘控機會的顯現高權重或”Η”值之多個鎖存器。特定級 中顯現出時脈閘控機會之鎖存器的群組的狀況權重大於顯 現出相同機會之單-鎖存器大。多個鎖存器之群組表示對 於相同數量之時脈閘控電路,較大的電力消耗減少之潛 力。加權之另-實例為上游或下游時脈閘控機會之模擬器 分析。若時脈閘控機會駐留於自模擬程式385時脈閉控 狀況資料的下游,則狀況權重如表2種類"Β"中所*為較Ζ 的’在此狀況下,權重為表示高之"Η,·。舉例而言,若特 定時脈閉控機會為其他時脈間控機會之下游,則模擬写 向特定時脈問控機會給出比另-時脈閘控機會大的權 重。之所以如此係因為下游時脈閘控機會較易於預測。 ":實 =所I:針對任意值(DNC)時脈開控機會的種類 胡心么等。模擬器380判定可為時脈 閘控機會之鎖存π 鎖存4因於顯現出任意值狀態之鎖存器而在 133654.doc •26- 200915724 機會值上小於以上表2中之較高或"Η"值評定。在種類"d" 中將值加權之另一實例展示為具有"L ”或低之最小狀況權 重值的不改變鎖存器。模擬器3 8 〇偵測自時脈循環n至時脈 循環N+1顯現無狀態變化(更確切而言,鎖存器狀態不^ 變)的鎖存器。在表2中作為種類"E"將又一實例展示為具 有權重值”L"或低之上游時脈閘控機會。模擬器刊〇偵測為 自當前模擬狀態或時脈循環N之上游之時脈間控機會表示 表2之值的最低狀況加權機會。根據步驟45〇,—旦執行工 作負載模擬程式396之模擬器380完成加權操作,模擬器 3 8 0即以權重記錄時脈閘控機會。 當時脈閘控機會之記錄完成或步驟44q之發現時脈間控 機會狀況的決策產生假結果時,根據使模擬器前進步驟 二5’模擬器38〇前進至下—時脈循環。當模擬器逐時脈循 環地(即,時脈循環N至時脈循環N+1等等)前進時,工作負 載模擬器程式396編譯時脈閘控之機會。模擬器则前進愈 夕寺脈循ji作負載模擬器程式396將記錄愈多管線電 子電路設計的時脈閘控機會。用於特定鎖存器之時脈 間控機會為得自圖4之模擬過程自始至終之全部模擬資料
的組合°模擬器380可在一時脈循環N處發現鎖存器AR 特定時脈閘控機會。麸& 然而’ Sx汁者在其設計時脈閘控電路 之前檢查全部時脈閙如;咨^ 閘控貝枓。所有時脈閘控機會以及鎖存 器及鎖存器群組之間的s^ 間的互連邏輯之累積構成模擬器380之 最終設計指導原則輸出。 在擴展作負載模擬程式396執行後,時脈閘控機會較 133654.doc -27- 200915724 為完整且具有較大值。舉例而言,工作負載模擬程式396 可偵測最低有效資料位元,諸如鎖存器AI之輸出資料 顯現工作負載模擬程式396中的早期時脈問控機會。工作 負載模擬程式396可經過模擬之許多時脈循環而未侦測到 鎖存器A1之資料輸出之任何變化且將潛在時脈間控機會記 錄為聽狀況,諸如在表1之狀況1中。在許多模擬時脈循 環後,鎖存㈣之資料輸出可表示時脈閉控之良好機會。 然而,因為鎖存器A1表示低序位資料位元,所以最終在工 作負載模擬程式期間,位元可改變並顯現在整個模擬上對 於時脈閘控之較差候選資格。若模擬較早中止,則位元呈 現為可時脈閘控。然而,若工作負載模擬程式规在大量 數目個時脈循環中執行,則位元可雙態觸發且該鎖存器幻 現在不再為時脈閘控之候選者。若模擬程式385未完成, 則決策步驟460將產生假結果且模擬器38〇返回至再次根據 步驟435針對條件探測内部節點。然而,若決策步驟彻之 結果產生一肯定結果,則模擬完成且模擬器38〇記錄時脈 間控機會之所有結果以考慮為對當前設計之設計改良。根 據結束步驟470,模擬操作完成。 圖5為表示設計改良過程之流程圖。流程開始於開始步 驟510。根據步驟520,電路設計者藉由使用習知電路設計 原則設計管線電子電路3〇〇之初始或初級版本。在步驟52〇 之初始或初級電子電路設計完成後,模擬器38〇根據步驟 530執行拓樸、最佳化及工作負載模擬程式385以完成如本 文中所教示的對管線電子電路3〇〇之初級版本之模擬。模 133654.doc -28- 200915724 擬器380過程之結果為時 叮网衩機會之記錄,其可為資料 以狀況、以權重、以鎖存器戋 廿孬4鋇存器之分組或以表示經由 時脈閘控成為設計改變機舍古 交機會之有用輸入的任何其他標準之 組織。根據步驟M0,槿龆讲和七故士 模擬過耘记錄時脈閘控機會模擬結 果根據步驟550 ’電路設計者評估全部模擬器则結果以 r 識別時脈間控實施之最佳機會。藉由組合所有結果及識別 可受益於時脈閘控的鎖存器或鎖存器之群組,設計者能夠 以離散時脈閘控電路修改初始或初級管線電子電路設計以 改良管線電子電路300之設計。因而,設計者可根據步驟 560藉由利用由模擬過程產生的經識別之時脈間控機會而 產生經修改之管線電子電路設計。因而,經修改之管線電 子電路可經由處理經識別時脈閘控齡之時脈閘控電路達 成電力消耗減小。作為一實例,設計者可使用模擬之經識 別時脈閘控機會結果來產生諸如管線電子電路3之"級” 的時脈閑控電路305(A1)、305(B1)至3〇5(M1)之時脈閘控 電路。時脈閘控電路表示表丨每一狀況的狀況之任一組 合。設計者可產生諸如管線電子電路3〇〇之"級2,,的時脈閘 控電路305(A2)、305(B2)至305(N2)之時脈閘控電路。根據 結束步驟570,改良過程完成。以此方式,設計者提供管 線電子電路300之經改良或經修改的最終版本。 圖6展示使用處理器605之代表性資訊處置系統 之簡化方塊圖。在一實施例中,處理器605包括管線電子 電路300 〇 IHS 600進一步包括將處理器605耦接至記憶體 控制器61 5及視訊圖形控制器6 2 0之匯流排61 0。更特定言 133654.doc -29- 200915724 之,如所示,系統記憶體匯流排630耦接至系統記憶體
635。在實際實踐中,匯流排610可包括多個匯流排,例 如,記憶體匯流排及I/O匯流排。顯示器64〇耦接至視訊圖 形控制器620。諸如硬碟驅動器、CD驅動器、DVD驅動器 或其他非揮發性儲存器之非揮發性儲存器645耦接至匯流 排610以向IHS 6〇〇提供資訊之永久儲存。諸如鍵盤及滑鼠 指標器件之I/O器件650經由1/〇匯流排655及1/〇控制器66〇 耦接至匯流排610。諸如USB、IEEE 1394匯流排、ATA、 SATA、PCI、PCIE及其他匯流排之__或多個擴展匯流排 65麵接至匯/;IL排61〇以促進周邊裝置及器件與〖ns 之 連接。網路介面配接器670耦接至匯流排610以使IHS 000 能約以有線或無線方式連接至網路及其他資訊處置系統。 雖乂圖6展示在處理器6〇5中使用管線電子電路之一 IHS,但IHS可採取許多形式。舉例而言, _可採取 桌上型、伺服器、攜帶型、膝上型、筆記型或其他形狀因 數之電腦或貝料處理系統的形式。ms _可採取其他形 狀因數冑如遊戲器件、個人數位助理㈣A)、攜帶型電 活:件、通信器件或包括處理器及記憶體之其他器件。 别述内容揭示藉由識別時脈閘控機會而實現在管線之級 中之電力節約的管線電子電路及設計方法。在一實施例 中模擬結果可幫助設計者設計管線電子電路以藉由在管 :之級當中在模擬識別之時脈閘控機會位置處併人時脈間 控電路而達成電力節約。 鐾於本發明之此描述,本發明之修改及替代實施例對於 133654.doc •30- 200915724 熟習此項技術者而δ將為顯而易見的。因此,此描述白熟 習此項技術者教示執行本發明之方式且意欲被解釋為僅為 說明性的。所展示及描述之本發明之形式組成本發明之實 施例。熟習此項技術者可對零件之形狀、大小及配置作出 各種改變。舉例而言,熟習此項技術者可以等效元件來替 代此處所說明及描述之元件《此外,熟習此項技術者在受 益於本發明之此描述之後可在不脫離本發明之範疇的情況 下獨立於其他特徵之使用而使用本發明之特定特徵。 【圖式簡單說明】 圖1展示論證時脈閘控之機會的電子電路之方塊圖。 圖2展示用於電子電路中之時脈閘控技術的圖。 圖3展不論證時脈閘控方法之有效使用的管線電子電路 之方塊圖。 圖4為搖繪所揭示時脈閘控方法之流程圖。 圖5為描繪所揭示時脈閘控設計改良方法之流程圖。 圖6為使用所揭示時脈閘控方法之資訊處置系統的方塊 I, 圖。 【主要元件符號說明】 100 110 120 130 135 140 習知邏輯電路 時脈閘控機會電路 鎖存器/鎖存電路 離散組合邏輯 AND閘 鎖存器 133654.doc 200915724 150 鎖存器 200 習知時脈閘控電路 210 時脈閘控邏輯 220 AND閘 300 管線電子電路 302 主時脈電路 305(A1) 時脈閘控電路 305(A2) 時脈閘控電路 305(B1) 時脈閘控電路 305(B2) 時脈閘控電路 305(M1) 時脈閘控電路 305(N2) 時脈閘控電路 308 時脈閘控啟用(CGE)電路 310 鎖存器A1 320 鎖存器B1 330 鎖存器Ml 340 邏輯電路 345 邏輯電路 350 鎖存器A2 360 鎖存器B2 370 鎖存器N2 372 邏輯電路 374 邏輯電路 375 接線對照表 133654.doc -32- 200915724
380 模擬器 382 軟體模擬模型 385 模擬程式 392 拓樸程式 394 最佳化程式 396 工作負載模擬程式 600 資訊處置系統(IHS) 605 處理器 610 匯流排 615 記憶體控制器 620 視訊圖形控制器 630 系統記憶體匯流排 635 系統記憶體 640 顯示器 645 非揮發性儲存器 650 I/O器件 655 I/O匯流排 660 i/o控制器 665 擴展匯流排 670 網路介面配接器 CGI 輸出信號 CGE 信號 CLK 主時脈信號 CLK1 時脈信號 CLK2 時脈輸入信號 133654.doc -33·

Claims (1)

  1. 200915724 十、申請專利範圍: 1. 一種在一管線電子器件中之電力節約之方法,其包含. 向該管線電子器件提供複數個管線級,該等管線、級勺 括第一管線級及第二管線級,各管線級包括可受到時脈 閘控之邏輯元件,每一管線級將資訊供應至一下游管線 級; 模擬該管線電子器件之操作以判定規定可在預定條件 下被時脈閘控之所選邏輯元件的模擬結果;及 基於該等模擬結果而時脈閘控該管線電子器件之= 所選邏輯元件以達成電力節約。 x 2·如請求項丨之方法,其中該模擬步驟包括:藉由監視自 時脈循環至時脈循環未改變邏輯狀態的第一放 ^ e線邏輯元 件之該第一管線級來針對時脈閘控機會而分析該 ik kv. „ 弟二管 之該 級 3·如請求们之方法,其中該模擬步驟包括:藉 時脈循環至時脈循環已被時脈閘控的第一管線邏 之玆第一管線級來針對時脈閘控機會而分 ^ °兀件 弟〜管線 -υ、π ,、,叫供做灭騍包括: 時脈揭環至時脈循環未改變邏輯狀態的第一 4:視1 ::該第二管線級來針—分析::輯; 5. 如凊求項1之方法,其中該模擬步驟包括 時脈循環至時脈循環已被時脈 由監視丨 π笫一管線邏輯元1 133654.doc 200915724 之該第二管線級來針對時脈閘控機會而分析該第一管線 級。 6·如請求項1之方法,其中該模擬步驟進一步包含:藉由 模擬器自一描述該管線電子器件之接線對照表而產生 一模擬模型。 如叫求項6之方法,其進一步包含藉由該模擬器自時脈 循環至時脈循環監視該第一管線級及該第〕管線級之該 等邏輯元件以定位時脈閘控機會。 如明求項1之方法,其中該模擬器識別時脈閘控機會, 因而提供經識別之時脈閘控機會,該方法進一步包含相 對於另時脈閘控機會加權一經識別時脈閘控機會以判 定哪一時脈閘控機會提供較多電力節省。 9. 一種設計一管線電子器件之方法,其包含: 又^包括複數個管線級之第一管線電子器件,該複 數個管線級包括第一管線級及第二管線級,各管線級包 括可又到時脈閘控之邏輯元件,每一管線級將資訊供應 至一下游管線級; 模擬該第-管線電子器件之操作以判定規定可在預定 條件下被時脈閘控之所選邏輯元件的模擬結果;及 ▲修改该第一管線電子器件以形成一第二管線電子器件 β亥第二管線電子器件基於該等模擬結果而時脈閘控該等 所選邏輯元件以達成電力節約。 青求項9之方法,其中該模擬步驟包括:藉由監視自 時脈循環至時脈循環未改變邏輯狀態的第—管線邏輯元 133654.doc 200915724 件之5亥第-管線級來針 線級。 、^控機會而分析該第二管 Π· 月求項9之方法,其中該模擬步驟包括 時脈循環至時脈循環已被心由監視自 之該第-管線級來針對時脈閘控機邏輯元件 級。 j仏俄會而分析該第二管線 如π求項9之方法,其中該模擬步驟包括 時脈循環至時脈循環I .藉由▲視自 从 未改變邏輯狀態的第一管蝮玀姮- 件之該第二管線級來針對時 -70 線級。 吁肌閉控機會而分析該第-管 13.=項9之方法,其中該模擬步驟包括:藉由監視自 “環至時脈循環已被時脈閘控的第二管線邏輯元件 之該第二管線級來針對時脈閘控機會而分析該第一管線 級0 14.如請求項9之方法,其中該模擬步驟進一步包含藉由一 模擬器自一描述該管線電子器件之接線對照表產生一模 擬模型。 ' 15·如明求項14之方法,其進一步包含藉由該模擬器自時脈 循環至時脈循環監視該第一管線級及該第二管線級之該 等邏輯元件以定位時脈閘控機會。 16.如請求項9之方法,其中該模擬器識別時脈閘控機會, 因而提供經識別之時脈閘控機會,該方法進一步包含相 對於另一時脈閘控機會加權一經識別時脈閘控機會以判 定哪一時脈閘控機會提供較多電力節省。 133654.doc 200915724 1 7· —種資訊處置系統(IHS),其包含: 一記憶體, 一管線電子處理器器件,其耦接至該記憶體,該管線 電子處理器器件包括: 複數個管線級,其包括第一管線級及第二管線級, 各管線級包括可受到時脈閘控之邏輯元件,每一管線 級將資訊供應至一下游管線級,其中所選邏輯元件係 基於s亥官線電子處理器器件之一模擬而受到時脈閘控 以達成電力節約,該模擬規定可在預定條件下被時脈 閘控之該等所選邏輯元件。 18.如請求項17之·,其中該模擬包括:藉由監視自時脈 循%至時脈循環未改變邏輯狀態的第―管㈣輯元件之 該第—管線級來針對時脈閑控機會而分析該第二管線 19·如請求項17之IHS,其中該模 ^ 扣 胃田監視自時脈 循衣至時脈循環已被時脈閘控的 第—管魄铋4+料# < s線邏輯元件之該 2〇·如請求項〗7之IHS,其中該權縣h 第1線級。 循環至時η产去今、擬匕括.藉由監視自時脈 -至時脈《未改變邏輯狀 行肌 該第二瞢结妨* 5線邏輯元件之 級。1線級來針對時脈閘控機會而分析該第一管線 133654.doc
TW097131470A 2007-08-21 2008-08-18 Method and apparatus for detecting clock gating opportunities in a pipelined electronic circuit design TW200915724A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/842,491 US8073669B2 (en) 2007-08-21 2007-08-21 Method and apparatus for detecting clock gating opportunities in a pipelined electronic circuit design

Publications (1)

Publication Number Publication Date
TW200915724A true TW200915724A (en) 2009-04-01

Family

ID=40378739

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097131470A TW200915724A (en) 2007-08-21 2008-08-18 Method and apparatus for detecting clock gating opportunities in a pipelined electronic circuit design

Country Status (9)

Country Link
US (1) US8073669B2 (zh)
EP (1) EP2179342B1 (zh)
JP (1) JP5147944B2 (zh)
KR (1) KR20100037628A (zh)
CN (1) CN101779179B (zh)
AT (1) ATE507520T1 (zh)
DE (1) DE602008006561D1 (zh)
TW (1) TW200915724A (zh)
WO (1) WO2009024540A2 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2456363A (en) * 2008-01-08 2009-07-15 Ibm Methods and system for clock gating enhancement
US7844843B2 (en) * 2008-12-22 2010-11-30 International Business Machines Corporation Implementing power savings in HSS clock-gating circuit
US8302043B2 (en) * 2009-09-17 2012-10-30 International Business Machines Corporation Verification of logic circuit designs using dynamic clock gating
US9495490B2 (en) 2012-07-16 2016-11-15 International Business Machines Corporation Active power dissipation detection based on erroneus clock gating equations
US9916407B2 (en) 2013-12-05 2018-03-13 International Business Machines Corporation Phase algebra for analysis of hierarchical designs
US9268889B2 (en) 2013-12-05 2016-02-23 International Business Machines Corporation Verification of asynchronous clock domain crossings
US10318695B2 (en) 2013-12-05 2019-06-11 International Business Machines Corporation Phase algebra for virtual clock and mode extraction in hierarchical designs
US9639641B1 (en) * 2015-08-20 2017-05-02 Microsemi Storage Solutions (U.S.), Inc. Method and system for functional verification and power analysis of clock-gated integrated circuits
US9928323B2 (en) 2015-08-20 2018-03-27 Microsemi Solutions (U.S.), Inc. Method and system for functional verification and power analysis of clock-gated integrated circuits
KR20170025447A (ko) * 2015-08-28 2017-03-08 삼성전자주식회사 클락 파워를 줄일 수 있는 집적 회로를 설계하는 방법
JP6559257B2 (ja) 2016-01-08 2019-08-14 三菱電機株式会社 プロセッサ合成装置、プロセッサ合成方法及びプロセッサ合成プログラム
US10761559B2 (en) * 2016-12-13 2020-09-01 Qualcomm Incorporated Clock gating enable generation
US10585995B2 (en) * 2017-06-26 2020-03-10 International Business Machines Corporation Reducing clock power consumption of a computer processor
KR101952518B1 (ko) 2017-09-12 2019-02-26 두산중공업 주식회사 파이프 지지대 설계 시스템 및 그 방법
CN112100793B (zh) * 2019-05-31 2023-06-13 超威半导体(上海)有限公司 用于重定时流水线的基于条带的自选通

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6247134B1 (en) * 1999-03-31 2001-06-12 Synopsys, Inc. Method and system for pipe stage gating within an operating pipelined circuit for power savings
US6393579B1 (en) * 1999-12-21 2002-05-21 Intel Corporation Method and apparatus for saving power and improving performance in a collapsable pipeline using gated clocks
US6965991B1 (en) * 2000-05-12 2005-11-15 Pts Corporation Methods and apparatus for power control in a scalable array of processor elements
US20030070013A1 (en) * 2000-10-27 2003-04-10 Daniel Hansson Method and apparatus for reducing power consumption in a digital processor
US7035785B2 (en) * 2001-12-28 2006-04-25 Intel Corporation Mechanism for estimating and controlling di/dt-induced power supply voltage variations
US7100060B2 (en) * 2002-06-26 2006-08-29 Intel Corporation Techniques for utilization of asymmetric secondary processing resources
US7076681B2 (en) * 2002-07-02 2006-07-11 International Business Machines Corporation Processor with demand-driven clock throttling power reduction
US7065665B2 (en) * 2002-10-02 2006-06-20 International Business Machines Corporation Interlocked synchronous pipeline clock gating
US20040193846A1 (en) * 2003-03-28 2004-09-30 Sprangle Eric A. Method and apparatus for utilizing multiple opportunity ports in a processor pipeline
US7076682B2 (en) * 2004-05-04 2006-07-11 International Business Machines Corp. Synchronous pipeline with normally transparent pipeline stages
US7752426B2 (en) * 2004-08-30 2010-07-06 Texas Instruments Incorporated Processes, circuits, devices, and systems for branch prediction and other processor improvements
US7653807B2 (en) * 2005-09-19 2010-01-26 Synopsys, Inc. Removing a pipeline bubble by blocking clock signal to downstream stage when downstream stage contains invalid data
US7401242B2 (en) * 2005-09-27 2008-07-15 International Business Machines Corporation Dynamic power management in a processor design
US7958483B1 (en) * 2006-12-21 2011-06-07 Nvidia Corporation Clock throttling based on activity-level signals
US7797561B1 (en) * 2006-12-21 2010-09-14 Nvidia Corporation Automatic functional block level clock-gating
US7802118B1 (en) * 2006-12-21 2010-09-21 Nvidia Corporation Functional block level clock-gating within a graphics processor
JP4388965B2 (ja) * 2007-02-13 2009-12-24 富士通株式会社 クロックゲーティング解析プログラム、該プログラムを記録した記録媒体、クロックゲーティング解析装置、およびクロックゲーティング解析方法
US20080307240A1 (en) * 2007-06-08 2008-12-11 Texas Instruments Incorporated Power management electronic circuits, systems, and methods and processes of manufacture

Also Published As

Publication number Publication date
EP2179342A2 (en) 2010-04-28
DE602008006561D1 (de) 2011-06-09
ATE507520T1 (de) 2011-05-15
EP2179342B1 (en) 2011-04-27
US8073669B2 (en) 2011-12-06
WO2009024540A2 (en) 2009-02-26
JP5147944B2 (ja) 2013-02-20
JP2010537293A (ja) 2010-12-02
US20090055668A1 (en) 2009-02-26
CN101779179B (zh) 2012-07-11
CN101779179A (zh) 2010-07-14
WO2009024540A3 (en) 2009-09-17
KR20100037628A (ko) 2010-04-09

Similar Documents

Publication Publication Date Title
TW200915724A (en) Method and apparatus for detecting clock gating opportunities in a pipelined electronic circuit design
US8244515B2 (en) Structure for detecting clock gating opportunities in a pipelined electronic circuit design
US8266569B2 (en) Identification of critical enables using MEA and WAA metrics
Bink et al. ARM996HS: The first licensable, clockless 32-bit processor core
US8762779B2 (en) Multi-core processor with external instruction execution rate heartbeat
US11734480B2 (en) Performance modeling and analysis of microprocessors using dependency graphs
Saggese et al. Microprocessor sensitivity to failures: control vs. execution and combinational vs. sequential logic
US7509606B2 (en) Method for optimizing power in a very large scale integration (VLSI) design by detecting clock gating opportunities
Kim et al. Microarchitectural power modeling techniques for deep sub-micron microprocessors
Cheng et al. Synthesis of QDI FSMs from synchronous specifications
Bal et al. Revamping timing error resilience to tackle choke points at NTC systems
Kumar et al. Machine learning-based microarchitecture-level power modeling of CPUs
Jia et al. An adaptive clock scheme exploiting instruction-based dynamic timing slack for a GPGPU architecture
Liu et al. Clock domain crossing aware sequential clock gating
Xie et al. Statistical high-level synthesis under process variability
Ananda Kumar Learning-based architecture-level power modeling of CPUs
Kulkarni et al. Self-Driven Clock Gating Technique for Dynamic Power Reduction of High-Speed Complex Systems
Schneider Multi-level simulation of nano-electronic digital circuits on GPUs
Moreau et al. CREEP: Chalmers RTL-based Energy Evaluation of Pipelines
Li et al. Selective clock gating by using wasting toggle rate
JP5428895B2 (ja) 論理回路設計方法及びプログラム
Pappireddy PRITEXT: Processor Reliability Improvement Through Exercise Technique
Zhao et al. Modeling a new rtl semantics in C++
Hadke Low power design implementation and verification
Huang et al. Minimum inserted buffers for clock period minimization