TWI762448B - 時鐘管理電路、以及含有該時鐘管理電路的積體電路 - Google Patents
時鐘管理電路、以及含有該時鐘管理電路的積體電路 Download PDFInfo
- Publication number
- TWI762448B TWI762448B TW105124727A TW105124727A TWI762448B TW I762448 B TWI762448 B TW I762448B TW 105124727 A TW105124727 A TW 105124727A TW 105124727 A TW105124727 A TW 105124727A TW I762448 B TWI762448 B TW I762448B
- Authority
- TW
- Taiwan
- Prior art keywords
- clock
- circuit
- processor
- period
- timer
- Prior art date
Links
Images
Classifications
-
- 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/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/10—Distribution of clock signals, e.g. skew
-
- 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/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- 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/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- 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)
- Microcomputers (AREA)
- Advance Control (AREA)
Abstract
在一個實施例中,所述積體電路包含:時鐘產生器,其經組態以選擇性地產生第一時鐘;處理器,其經組態以執行操作;以及時鐘管理電路。所述時鐘管理電路經組態以自所述處理器接收時鐘管理資訊且基於所述時鐘管理資訊以及所述第一時鐘選擇性地產生第二時鐘。所述處理器經組態以基於所述第二時鐘執行一些操作。
Description
本發明概念涉及一種處理器及/或其操作方法,且更特定而言涉及一種時鐘管理電路、一種包含所述時鐘管理電路的積體電路、一種系統單晶片及/或一種操作所述系統單晶片的方法。
當經由處理器實施軟體時,可發生處理器在不執行操作(no operation is performed;NOP)時在相對短的時段期間等待的情況。在處理器等待硬體操作(諸如,中斷處理)完成時或因當前執行的硬體操作的預期完成時間較短而難以呼叫另一函式時使用軟體延遲函式,諸如NOP函式。然而,即使在執行軟體延遲函式時,處理器亦歸因於時鐘的雙態觸發而不必要地消耗功率。
至少一個實施例涉及一種積體電路。
在一個實施例中,所述積體電路包含:時鐘產生器,其經組態以選擇性地產生第一時鐘;處理器,其經組態以執行操作;以及時鐘管理電路。所述時鐘管理電路經組態以自所述處理器接收時鐘管理資訊且基於所述時鐘管理資訊以及所述第一時鐘選擇性地產生第二時鐘。所述處理器經組態以基於所述第二時鐘執行一些操作。
在另一實施例中,所述積體電路包含經組態以基於時鐘信號執行操作的處理器。所述積體電路亦包含時鐘管理電路,所述時鐘管理電路經組態以自所述處理器接收時鐘管理資訊,且經組態以歷時基於所述時鐘管理資訊的時段暫時中止所述時鐘信號至所述處理器的傳輸。
至少一個實施例涉及一種時鐘管理電路。
在一個實施例中,所述時鐘管理電路包含時鐘閘控電路,所述時鐘閘控電路經組態以接收第一時鐘,且基於所述第一時鐘以及控制信號選擇性地產生第二時鐘。所述時鐘管理電路亦包含控制電路,所述控制電路經組態以基於自處理器接收的時鐘管理資訊產生所述控制信號。
至少一個實施例涉及一種管理時鐘的方法。
在一個實施例中,所述方法包含由電路歷時在自所述處理器接收的時鐘管理資訊中指示的時段暫時中止時鐘至處理器的供應。
本文中揭露本發明概念的詳細實例實施例。然而,出於描述本發明概念的實例實施例的目的,本文中所揭露的特定結構以及功能細節僅僅是代表性的。然而,本發明概念的實例實施例可以許多替代形式體現,且不應被解釋為僅限於本文中所闡述的實施例。
因此,雖然本發明概念的實例實施例能夠具有各種修改以及替代形式,但其實施例藉助於實例在圖式中展示且將在本文中詳細描述。然而,應理解,並不意欲將本發明概念的實例實施例限制於所揭露的特定形式,而相反,本發明概念的實例實施例應涵蓋屬於本發明概念的實例實施例的範疇內的所有修改、等效物以及替代物。相同數字貫穿圖式的描述而指相同元件。
將理解,儘管本文中可使用術語第一、第二等來描述各種元件,但此等元件不應受此等術語限制。此等術語僅用以將一個元件與另一元件區分開來。舉例而言,第一元件可被稱為第二元件,且類似地,第二元件可稱為第一元件,而不脫離本發明概念的實例實施例的範疇。如本文中所使用,術語「及/或(and/or)」包含相關聯列舉項目中的一或多者中的任何組合。
將理解,當元件被稱作「連接(connected)」或「耦接(coupled)」至另一元件時,其可直接連接或耦接至其他元件,或可存在介入元件。相反地,當元件被稱作「直接連接(directly connected)」或「直接耦接(directly coupled)」至另一元件時,不存在介入元件。應以類似方式解譯用於描述元件之間的關係的其他詞(例如,「之間(between)」相對於「直接之間(directly between)」、「鄰近(adjacent)」相對於「直接鄰近(directly adjacent)」等)。
本文中所使用的術語僅出於描述特定實施例的目的,且不意欲限制本發明概念的實例實施例。如本文中所使用,單數形式「一(a/an)」以及「所述(the)」意欲亦包含複數形式,除非上下文另有清晰指示。將進一步理解,當在本文中使用的術語「包括(comprises/comprising)」及/或「包含(includes/including)」指定所陳述的特徵、整數、步驟、操作、元件及/或組件的存在,但並不排除一或多個其他特徵、整數、步驟、操作、元件、組件及/或其群組的存在或添加。
亦應注意,在一些替代實施中,所提及的功能/動作可不按圖中所提及的次序發生。舉例而言,取決於所涉及的功能性/動作,以連續方式展示的兩個圖實際上可實質上同時執行,或有時可按相反次序執行。
本文中參看本發明概念的理想化實施例(以及中間結構)的示意性說明來描述本發明概念的實例實施例。由此,將預期到因(例如)製造技術及/或容限所致的與所說明的形狀的變化。因此,本發明概念的實例實施例不應解釋為限於本文中所說明的區的特定形狀,而應包含(例如)自製造所致的形狀偏差。
現將參看隨附圖式更全面地描述本發明概念,在隨附圖式中,展示本發明概念的實例實施例。然而,本發明概念可以許多不同形式體現且不應解釋為限於本文中所闡述的實例實施例;實際上,提供此等實例實施例,使得本發明將透徹且完整,且將本發明概念的概念完全傳達給熟習此項技術者。圖式中的相同參考數字貫穿本說明書指相同元件。在圖式中,為了清楚起見可放大或縮小層以及區的長度以及大小。當在元件清單之前時,諸如「……中的至少一者(at least one of)」的表達修飾元件的整個清單,且並不修飾清單的個別元件。
除非另有定義,否則本文中所使用的所有術語(包含技術術語以及科學術語)具有與本發明概念所屬領域的一般熟習此項技術者所通常理解相同的涵義。將進一步理解,諸如常用辭典中所定義的術語應被解譯為具有與其在相關技術的上下文中的涵義一致的涵義,且將不在理想化或過度正式意義上進行解譯,除非本文中明確地如此定義。
圖1說明根據實例實施例的積體電路1000A的組態。
參看圖1,積體電路1000A可包含處理器100A以及時鐘產生器200。處理器100A可包含核心處理器110以及時鐘管理電路120。
舉例而言,處理器100A可適用於智慧型手機、平板個人電腦(personal computer;PC)、數位相機、行動裝置、機上盒、智慧卡系統、伺服器系統以及其他各種電子裝置。
時鐘產生器200可產生輸入至處理器100A的第一時鐘信號CLK1_IN。時鐘產生器200可產生具有用於操作處理器100A的頻率的第一時鐘信號CLK1_IN。舉例而言,時鐘產生器200可為任何熟知振盪電路。
或者,時鐘產生器200可被安裝於積體電路1000A外部。在此情況下,自時鐘產生器200輸出的第一時鐘信號CLK1_IN可由處理器100A經由連接積體電路1000A與時鐘產生器200的信號線接收。
核心處理器110亦可被稱作中央處理單元(central processing unit;CPU)。核心處理器110可基於經程式化軟體控制構成積體電路1000A的組件的操作。舉例而言,核心處理器110可包含暫存器區塊、指令解碼器、算術邏輯單元(arithmetic logic unit;ALU)、控制邏輯以及其類似者。
核心處理器110可基於由時鐘管理電路120傳輸的第一時鐘信號CLK1_OUT根據指令管線操作(pipelining)依序執行三階段操作,包含指令提取操作、指令解碼操作以及指令執行操作。
或者,核心處理器110可在使用雙階段指令管線時依序執行雙階段操作,包含指令提取操作以及指令執行操作。或者,核心處理器110可在使用四階段指令管線時依序執行四階段操作,包含指令提取操作、指令解碼操作、運算元提取操作以及指令執行操作。除了上文所描述的指令管線方案以外,亦可使用各種指令管線方案。
當處理器100A實施軟體時,可存在出現核心處理器110等待同時不執行操作的時段的情況。舉例而言,所述情況可包含等待硬體操作(諸如,中斷處理)完成的情況,或因為當前驅動的硬體操作的預期完成時間較短而難以呼叫另一函式的情況。
在此情況下,核心處理器110可使用延遲函式執行根據不操作(no operation;NOP)處理的時間延遲操作。即使在執行根據NOP處理的延遲操作時,核心處理器110亦可使用時鐘信號。歸因於此,可產生功率消耗。
根據實例實施例,當出現核心處理器110等待同時不執行操作的時段時,可根據最初經設定的延遲指令INS_DLY藉由使用包含計時器電路的硬體來執行延遲操作以及時鐘閘控操作,從而減少功率消耗同時維持指令管線。舉例而言,延遲指令INS_DLY可被定義為根據實例實施例的特定指令。
當呼叫最初經設定的延遲指令INS_DLY時,核心處理器110可產生對應於所述延遲指令的時鐘控制因子資訊INF_CG且將時鐘控制因子資訊INF_CG傳送至時鐘管理電路120。
舉例而言,核心處理器110可基於解碼延遲指令INS_DLY的結果而產生時鐘控制因子資訊INF_CG。舉例而言,時鐘控制因子資訊INF_CG可包含關於時間延遲時段的長度的資訊。時鐘控制因子資訊INF_CG可進一步包含時鐘分頻比設定資訊、強制閘控資訊以及狀態資訊中的至少一者。
時鐘分頻比設定資訊為用於判定應使用哪一分頻比對第一時鐘信號CLK1_IN進行分頻以降低第一時鐘信號CLK1_IN的頻率以便產生用於時鐘管理電路120的計時器電路中的時間量測的時鐘信號的資訊。
強制閘控資訊可為用於忽略中斷(儘管中斷是在藉由執行延遲指令INS_DLY而觸發的時間延遲時段期間產生的)的函式設定資訊。狀態資訊可為用於告知核心處理器110時鐘管理電路120的當前狀態的函式設定資訊。舉例而言,狀態資訊可為用於支援時鐘管理電路120對核心處理器110的告知功能的設定資訊,其中時鐘管理電路120告知核心處理器110當核心處理器110歸因於在執行延遲指令INS_DLY時的時間延遲時段期間的中斷而再次操作時剩餘多少延遲時間。
時鐘管理電路120可在目標時段期間執行切斷第一時鐘信號CLK1_IN至核心處理器110的傳輸的時鐘閘控操作,所述目標時段是基於在由核心處理器110執行延遲指令INS_DLY時自核心處理器110接收的時鐘控制因子資訊INF_CG來判定。因此,執行時鐘閘控操作所基於的第一時鐘信號CLK1_OUT可在目標時段期間傳輸至核心處理器110的時鐘信號線。舉例而言,目標時段為時間延遲時段,且可被判定為自執行延遲指令INS_DLY的時間至對應於根據時鐘控制因子資訊INF_CG的時間延遲時段的長度的時間的時段。
或者,當呼叫延遲指令INS_DLY時,核心處理器110可按原樣將延遲指令INS_DLY傳送至時鐘管理電路120。在此情況下,時鐘管理電路120可解碼所接收延遲指令INS_DLY且基於解碼結果執行時鐘閘控操作。
如上文所描述,有可能經由由硬體(諸如,計時器電路)實施的時鐘管理電路120執行延遲操作以及時鐘閘控操作。
舉例而言,當強制閘控資訊經設定以優先在時間延遲時段期間處理中斷時,時鐘管理電路120可如下操作。
時鐘管理電路120可在目標時段期間接收到中斷信號INT時執行恢復第一時鐘信號CLK1_IN至核心處理器110的傳輸的操作,所述目標時段是基於延遲指令INS_DLY而判定的延遲時段。在目標時段尚未過去的情況下,甚至在核心處理器110根據中斷信號INT完成中斷任務之後,時鐘管理電路120可恢復切斷第一時鐘信號CLK1_IN至核心處理器110的傳輸的時鐘閘控操作。
當在開始執行延遲指令INS_DLY的時間與開始執行切斷第一時鐘信號CLK1_IN至核心處理器110的傳輸的時鐘閘控操作的時間之間的時段期間產生中斷時,時鐘管理電路120可執行允許第一時鐘信號CLK1_IN至核心處理器110的傳輸的操作,直至所執行的中斷任務完成為止。
雖然未展示,但時鐘管理電路120可自核心處理器110接收指示中斷任務完成的控制信號。
當強制閘控資訊經設定以忽略在時間延遲時段期間產生的中斷時,時鐘管理電路120可不允許第一時鐘信號CLK1_IN至核心處理器110的傳輸,即使在目標時段期間接收到中斷信號INT時亦如此。
核心處理器110可在根據延遲指令INS_DLY的執行的時鐘閘控操作完成之後執行將在延遲指令INS_DLY之後執行的後續指令。根據指令管線處理,核心處理器110可同時執行解碼延遲指令INS_DLY的操作以及提取將在延遲指令INS_DLY之後執行的後續指令的操作。核心處理器110可同時執行執行延遲指令INS_DLY的操作以及解碼後續指令的操作。核心處理器110可完成根據延遲指令INS_DLY的執行的時鐘閘控操作且執行執行經解碼後續指令的操作。因此,有可能經由硬體電路實施準確時間延遲操作以及時鐘閘控操作,同時維持指令管線。
圖2說明根據另一實例實施例的包含時鐘管理電路300的積體電路1000B的組態。
參看圖2,積體電路1000B可包含處理器100B、時鐘產生器200以及時鐘管理電路300。
由於已參看圖1描述時鐘產生器200,所以將省略其冗餘描述。類似於積體電路1000A,時鐘產生器200可被安裝於積體電路1000B外部。在此情況下,自時鐘產生器200輸出的第一時鐘信號CLK1_IN可由積體電路1000B的時鐘管理電路300經由連接積體電路1000B與時鐘產生器200的信號線接收。
處理器100B可根據指令管線基於第一時鐘信號CLK1_OUT執行指令處理。處理器100B可包含核心處理器。處理器100B的實例可包含單核心處理器或多核心處理器。舉例而言,處理器100B可適用於智慧型手機、平板個人電腦(personal computer;PC)、數位相機、行動裝置、機上盒、智慧卡系統、伺服器系統以及其他各種電子裝置。
當呼叫最初經設定的延遲指令INS_DLY時,處理器100B可產生對應於延遲指令INS_DLY的時鐘控制因子資訊INF_CG且將所產生的時鐘控制因子資訊INF_CG傳送至時鐘管理電路300。舉例而言,處理器100B可基於解碼延遲指令INS_DLY的結果而產生時鐘控制因子資訊INF_CG,且將所產生的時鐘控制因子資訊INF_CG傳送至時鐘管理電路300。由於已參看圖1描述時鐘控制因子資訊INF_CG,所以將省略其冗餘描述。
或者,當呼叫延遲指令INS_DLY時,處理器100B可按原樣將延遲指令INS_DLY傳送至時鐘管理電路300。
時鐘管理電路300可在目標時段期間執行切斷第一時鐘信號CLK1_IN的傳輸的時鐘閘控操作,所述目標時段是基於在由處理器100B執行延遲指令INS_DLY時自處理器100B接收的時鐘控制因子資訊INF_CG來判定。因此,執行時鐘閘控操作所基於的第一時鐘信號CLK1_OUT可在目標時段期間傳輸至處理器100B的時鐘輸入端子。
當延遲指令INS_DLY自處理器100B傳送至時鐘管理電路300時,時鐘管理電路300可解碼所接收延遲指令INS_DLY,且基於解碼結果執行時鐘閘控操作。因此,延遲操作以及時鐘閘控操作是由用硬體實施的時鐘管理電路300來執行。
舉例而言,當根據延遲指令INS_DLY的強制閘控資訊經設定以優先在時間延遲時段期間處理中斷時,時鐘管理電路300可如下操作。
中斷信號INT可施加至處理器100B以及時鐘管理電路300二者。
時鐘管理電路300可在目標時段期間接收到中斷信號INT時執行恢復第一時鐘信號CLK1_IN至處理器100B的傳輸的操作,所述目標時段是基於延遲指令INS_DLY而判定的延遲時段。亦即,當接收到中斷信號INT時,第一時鐘信號CLK1_IN可被接通且可被輸出至時鐘管理電路300。另外,自時鐘管理電路300輸出的第一時鐘信號CLK1_OUT可傳輸至處理器100B。
因此,處理器100B可根據中斷信號執行中斷任務。在目標時段尚未過去時,甚至在處理器100B完成中斷任務時,時鐘管理電路300可恢復切斷第一時鐘信號CLK1_IN的時鐘閘控操作。如所展示,處理器100B可向時鐘管理電路300提供控制信號CTL_SIGs,控制信號CTL_SIGs中的至少一者指示中斷任務完成。
當在開始執行延遲指令INS_DLY的時間與開始執行切斷第一時鐘信號CLK1_IN的時鐘閘控操作的時間之間的時段期間產生中斷時,時鐘管理電路300可執行接通第一時鐘信號CLK1_IN的操作以便允許傳輸第一時鐘信號CLK1_IN,直至所執行的中斷任務完成為止。因此,時鐘管理電路300可將用以產生時鐘脈衝的第一時鐘信號CLK1_OUT傳輸至處理器100B,直至中斷任務完成為止。
當強制閘控資訊經設定以忽略在時間延遲時段期間產生的中斷時,時鐘管理電路300可不暫時中止時鐘閘控操作,即使在目標時段期間接收到中斷信號INT時亦如此。
處理器100B可在根據延遲指令INS_DLY的執行的時鐘閘控操作完成之後執行將在延遲指令INS_DLY之後執行的後續指令。根據指令管線處理,處理器100B可同時執行解碼延遲指令INS_DLY的操作以及提取將在延遲指令INS_DLY之後執行的後續指令的操作。處理器100B可同時執行執行延遲指令INS_DLY的操作以及解碼後續指令的操作。處理器100B可完成根據延遲指令INS_DLY的執行的時鐘閘控操作且執行執行經解碼後續指令的操作。
圖3說明根據實例實施例的包含時鐘管理電路120的處理器100A的組態。
參看圖3,處理器100A可包含形成核心處理器110的至少部分的暫存器區塊111、指令解碼器112、控制邏輯113、算術邏輯單元(arithmetic logic unit;ALU)114以及匯流排115。處理器100A亦包含連接至匯流排115的時鐘管理電路120。
包含暫存器區塊111、指令解碼器112、控制邏輯113、ALU 114以及處理器110A的組件間的匯流排115的組態可被稱作核心處理器。
可經由匯流排115將信號傳送至構成處理器100A的暫存器區塊111、指令解碼器112、控制邏輯113、ALU 114以及時鐘管理電路120且自其接收信號。控制邏輯113可執行用於控制處理器100A的組件的操作的指令處理操作。
暫存器區塊111可包含儲存資料的暫存器以及儲存指令的暫存器。由控制邏輯113呼叫的指令可儲存於儲存指令的暫存器中。舉例而言,可自連接至處理器100A的快取記憶體或記憶體讀取所述指令。
指令解碼器112可執行解碼儲存於暫存器中的指令的操作。控制邏輯113可執行經解碼指令。ALU 114可執行運算函式,諸如算術運算及邏輯運算。
當由指令解碼器112解碼的指令為延遲指令INS_DLY時,控制邏輯113可基於解碼延遲指令INS_DLY的結果產生時鐘控制因子資訊INF_CG,且經由匯流排115將所產生的時鐘控制因子資訊INF_CG傳送至時鐘管理電路120。由於已參看圖1描述時鐘控制因子資訊INF_CG,所以將省略其冗餘描述。
或者,當呼叫延遲指令INS_DLY時,控制邏輯113可按原樣將延遲指令INS_DLY傳送至時鐘管理電路120。
時鐘管理電路120可基於在執行延遲指令INS_DLY時自控制邏輯113接收的時鐘控制因子資訊INF_CG而執行時鐘閘控操作。下文將詳細描述在時鐘管理電路120中執行時鐘閘控操作的程序。
圖4說明根據實例實施例定義的延遲指令的組態。
參看圖4,經定義以在時間延遲時段期間執行時鐘閘控操作的延遲指令INS_DLY可包含(例如)OP碼欄位11、狀態欄位12、強制閘控欄位13、時鐘分頻值欄位14以及計數值欄位15。
在OP碼欄位11中,寫入表示時間延遲指令的碼。在狀態欄位12中,寫入用於設定告知核心處理器110時鐘管理電路120的狀態資訊的功能的資訊。舉例而言,在狀態欄位12中,寫入指示是否支援由時鐘管理電路120告知核心處理器110在核心處理器110歸因於在執行延遲指令INS_DLY時的時間延遲時段期間的中斷而再次操作時剩餘多少延遲時間的功能的資訊。在強制閘控欄位13中,寫入指示是否支援即使在執行延遲指令INS_DLY時的時間延遲時段期間產生中斷時亦忽略中斷的功能的資訊。在時鐘分頻值欄位14中,寫入設定包含於時鐘管理電路120中的時鐘分頻器的時鐘分頻比的資訊。在計數值欄位15中,寫入關於時間延遲時段的長度的資訊。
圖5說明根據實例實施例的時鐘管理電路120或時鐘管理電路300的組態。
參看圖5,時鐘管理電路120或時鐘管理電路300可包含控制電路410以及時鐘閘控電路420。
控制電路410可自核心處理器110或處理器100B接收延遲指令INS_DLY或時鐘控制因子資訊INF_CG以及控制信號CTL_SIGs。可基於解碼延遲指令INS_DLY的結果而產生時鐘控制因子資訊INF_CG,且時鐘控制因子資訊INF_CG可包含關於時間延遲時段的長度的資訊。時鐘控制因子資訊INF_CG可進一步包含時鐘分頻比設定資訊、強制閘控資訊以及狀態資訊中的至少一者。
當接收到時鐘控制因子資訊INF_CG時,控制電路410可產生控制信號CTL以用於基於時鐘控制因子資訊INF_CG執行時鐘閘控操作,且可將控制信號CTL施加至時鐘閘控電路420。由控制電路410產生的控制信號CTL可包含一或多個控制信號以控制構成時鐘閘控電路420的組件。控制信號CTL的實例可包含用於量測目標時段(其為基於延遲指令INS_DLY判定的延遲時段)的計時器控制信號CTL_TIMER、用於控制產生用於時間量測的時鐘信號的時鐘分頻器的分頻比的分頻控制信號CTL_DIV以及用於時鐘閘控的切換控制信號CTL_SW。控制電路410可為邏輯電路且為設計選擇問題。
在接收到延遲指令INS_DLY的情況下,控制電路410可在由延遲指令INS_DLY指示的目標時段期間產生第一類型的控制信號,在除目標時段以外的時段期間產生第二類型的控制信號,在目標時段期間接收到中斷信號INT時產生第三類型的控制信號,且在目標時段期間終止中斷任務時產生第四類型的控制信號。第一類型的控制信號可具有用於執行時鐘閘控操作以使得不自時鐘閘控電路420輸出時鐘脈衝的邏輯值。第二類型的控制信號可具有用於允許時鐘閘控電路420輸出時鐘脈衝的邏輯值。第三類型的控制信號可具有用於允許時鐘閘控電路420輸出時鐘脈衝的邏輯值。第四類型的控制信號可具有用於恢復時鐘閘控操作的邏輯值。
下文將參看圖13至圖17詳細描述上文所描述的各種類型的控制信號。
時鐘閘控電路420可接收第一時鐘信號CLK1_IN。時鐘閘控電路420可根據由控制電路410施加的控制信號CTL藉由使用計時器電路來量測時間。作為量測時間的結果,時鐘閘控電路420可在目標時段到達時將計時器逾期信號S_TE傳送至控制電路410。在接收到計時器逾期信號S_TE時,控制電路410可產生用於終止時鐘閘控操作的控制信號CTL。換言之,在接收到計時器逾期信號S_TE時,控制電路410可產生用於允許時鐘閘控電路420輸出時鐘脈衝的控制信號CTL。
時鐘閘控電路420可根據由控制電路410施加的控制信號CTL控制切換電路以執行時鐘閘控操作。將參看圖6至圖8詳細描述時鐘閘控電路420的操作。
圖6說明圖5中所說明的時鐘閘控電路的組態的實例420A。
參看圖6,時鐘閘控電路420A可包含切換電路421、時鐘分頻器422以及計時器電路423。
第一時鐘信號CLK1_IN可輸入至切換電路421以及時鐘分頻器422。切換電路421可根據由控制電路410施加的切換控制信號CTL_SW執行輸出或切斷第一時鐘信號CLK1_IN的切換操作。
舉例而言,切換電路421可操作以在切換控制信號CTL_SW具有第一邏輯狀態的時段開啟,且可操作以在切換控制信號CTL_SW具有第二邏輯狀態的時段關閉。因此,切換電路421可允許輸入至第一端子P1的第一時鐘信號CLK1_IN在切換控制信號CTL_SW具有第一邏輯狀態的時段輸出至第二端子P2。另外,切換電路421可在切換控制信號CTL_SW具有第二邏輯狀態的時段切斷輸入至第一端子P1的第一時鐘信號CLK1_IN至第二端子P2的輸出。
亦即,關於自切換電路421的第二端子P2輸出的第一時鐘信號CLK1_OUT,可在切換控制信號CTL_SW具有第一邏輯狀態的時段產生時鐘脈衝,且在切換控制信號CTL_SW具有第二邏輯狀態的時段可不產生時鐘脈衝。舉例而言,第一時鐘信號CLK1_OUT可在切換控制信號CTL_SW具有第二邏輯狀態的時段具有DC狀態(例如,0V)。第一時鐘信號CLK1_OUT可輸出至核心處理器110的時鐘輸入端子或處理器100B的時鐘輸入端子。
可根據自控制電路410施加的分頻控制信號CTL_DIV來判定時鐘分頻器422的時鐘分頻比。時鐘分頻器422可基於所判定時鐘分頻比而對第一時鐘信號CLK1_IN進行分頻且產生第二時鐘信號CLK2。因此,第二時鐘信號CLK2可具有比第一時鐘信號CLK1_IN的頻率更低的頻率。
計時器電路423可基於第二時鐘信號CLK2在由延遲指令INS_DLY指示的目標時段到達時產生計時器逾期信號S_TE且將所產生的計時器逾期信號S_TE傳送至控制電路410。具體言之,計時器電路423可自施加計時器控制信號CTL_TIMER的時間開始對第二時鐘信號CLK2計數,且在計數值達到對應於目標時段長度的值(例如,來自由控制電路410供應至計時器電路423的INS_DLY或INF_CG資訊的計數值15)時產生計時器逾期信號S_TE。舉例而言,計時器控制信號CTL_TIMER可為計時器啟用信號。
當在目標時段期間不產生中斷時,切換電路421可不在目標時段期間根據切換控制信號CTL_SW輸出時鐘脈衝。亦即,切換電路421可在目標時段期間切斷第一時鐘信號CLK1_IN的輸出。因此,關於自切換電路421輸出的第一時鐘信號CLK1_OUT,在目標時段期間可不產生時鐘脈衝,且在除目標時段以外的時段期間可產生時鐘脈衝。
圖7說明圖5中所說明的時鐘閘控電路的組態的另一實例420B。
參看圖7,時鐘閘控電路420B可包含切換電路421以及計時器電路423。
圖7的時鐘閘控電路420B經組態以直接將第二時鐘信號CLK2自外部傳輸至計時器電路423,而不使用圖6的時鐘閘控電路420的時鐘分頻器422。舉例而言,圖1以及圖3的時鐘管理電路120能夠直接將外部時鐘作為第二時鐘信號CLK2傳輸至時鐘閘控電路420B的計時器電路423。在此情況下,第二時鐘信號CLK2可具有比第一時鐘信號CLK1_IN的頻率更低的頻率。
由於圖7中所說明的切換電路421以及計時器電路423的操作實質上相同於圖6中所說明的切換電路421以及計時器電路423的操作,所以將省略其冗餘描述。
圖8說明圖5中所說明的時鐘閘控電路的組態的另一實例420C。
參看圖8,時鐘閘控電路420C可包含切換電路421以及計時器電路423。
根據圖8的實例實施例,時鐘分頻器422'被安裝於時鐘閘控電路420C外部。舉例而言,在構成圖1以及圖3的時鐘管理電路120的時鐘閘控電路420C中,時鐘分頻器422'可經設計以被安裝於處理器100A外部。輸入至時鐘分頻器422'的時鐘信號可為第一時鐘信號CLK1_IN或第三時鐘信號CLK3。第三時鐘信號CLK3可具有與第一時鐘信號CLK1_IN的頻率不同的頻率。
由於圖8中所說明的切換電路421、時鐘分頻器422'以及計時器電路423的操作實質上相同於圖6中所說明的切換電路421、時鐘分頻器422以及計時器電路423的操作,所以將省略其冗餘描述。
將參看指令管線狀態圖以及主信號的波形圖描述根據各種條件在圖1或圖2的處理器100A或處理器100B中處理延遲指令的操作以及時鐘管理電路120或時鐘管理電路300中的時鐘閘控處理操作。
圖9為用於描述根據實例實施例的在處理器中執行延遲指令的程序的指令管線狀態圖。
參看圖9,存在一指令管線狀態圖,其中基於延遲指令INS_DLY判定的延遲時段為T6與T7之間的時段,且在T6與T7之間的時段期間不產生中斷,或在延遲指令INS_DLY的強制閘控欄位13中,設定了支援即使在執行延遲指令INS_DLY時的時間延遲時段期間產生中斷時亦忽略中斷的功能的資訊。
在T1與T2之間的時段,執行提取第一指令INS_F1的操作FE。
在T2與T3之間的時段,解碼第一指令INS_F1的操作DE以及提取第二指令INS_F2的操作可一同執行。
在T3與T4之間的時段,執行第一指令INS_F1的操作EX、解碼第二指令INS_F2的操作以及提取延遲指令INS_DLY的操作可一同執行。
在T4與T5之間的時段,執行第二指令INS_F2的操作EX、解碼延遲指令INS_DLY的操作以及提取第三指令INS_F3的操作可一同執行。
在T5與T6之間的時段,執行延遲指令INS_DLY的操作EX、解碼第三指令INS_F3的操作以及提取第四指令INS_F4的操作可一同執行。
由於在強制閘控欄位13中,設定了支援即使在執行延遲指令INS_DLY時的時間延遲時段期間產生中斷時亦忽略中斷的功能的資訊,所以基於延遲指令INS_DLY執行時鐘閘控操作而不管在T6與T7之間的時段期間是否產生中斷。因此,在T6與T7之間的時段中,時鐘脈衝可不傳輸至核心處理器110或處理器100B。
圖13中說明當處理器100A或處理器100B基於如圖9中所說明的指令管線狀態圖處理指令時,輸入至時鐘管理電路120或時鐘管理電路300的第一時鐘信號CLK1_IN的波形以及自時鐘管理電路120或時鐘管理電路300輸出且傳輸至核心處理器110以及處理器100B的第一時鐘信號CLK1_OUT的波形。
自圖13可見,關於第一時鐘信號CLK1_OUT,在T6與T7之間的時段期間不產生時鐘脈衝。亦即,在T6與T7之間的時段期間時鐘脈衝可不傳輸至核心處理器110或處理器100B。
圖14中說明當處理器100A或處理器100B基於如圖9中所說明的指令管線狀態圖處理指令時,由時鐘管理電路120或時鐘管理電路300產生的主信號的波形圖。
參看圖14,可在時間T6產生計時器控制信號CTL_TIMER。因此,計時器電路423可根據計時器控制信號CTL_TIMER開始計數操作。在時間T6,切換控制信號CTL_SW可自「高(HIGH)」狀態轉變至「低(LOW)」狀態。切換控制信號CTL_SW可維持「低(LOW)」狀態直至產生計時器逾期信號S_TE為止。切換控制信號CTL_SW可在產生計時器逾期信號S_TE的時間T7自「低(LOW)」狀態轉變至「高(HIGH)」狀態。
因此,在T6與T7之間的時段(在所述時段切換控制信號CTL_SW具有「低(LOW)」狀態),可關閉時鐘管理電路120或時鐘管理電路300的切換電路421,且在切換控制信號CTL_SW具有「高(HIGH)」狀態的時段,可開啟切換電路421。因此,在T6與T7之間的時段,關於第一時鐘信號CLK1_OUT,可不產生時鐘脈衝。因此,在T6與T7之間的時段,時鐘脈衝可不傳輸至核心處理器110或處理器100B。
再次參看圖9,在根據延遲指令INS_DLY的執行的時鐘閘控操作完成之後,執行第三指令INS_F3的操作以及解碼第四指令INS_F4的操作可在T7與T8之間的時段一同執行。如上文所描述,在執行延遲指令INS_DLY期間可不破壞指令管線結構。亦即,處理器100A或處理器100B可辨識在T6與T7之間的時段(其為時間延遲時段)期間執行延遲指令INS_DLY。在根據延遲指令INS_DLY的執行的時鐘閘控操作完成之後,處理器100A或處理器100B可在T7與T8之間的時段執行執行第三指令INS_F3以及解碼第四指令INS_F4的操作。在T8與T9之間的時段,可執行執行第四指令INS_F4的操作。
圖10為用於描述根據另一實例實施例的在處理器中執行延遲指令的程序的指令管線狀態圖。
參看圖10,存在一指令管線狀態圖,其中基於延遲指令INS_DLY判定的延遲時段為T6與T7之間的時段,在T6與T7之間的時段期間產生中斷,且在延遲指令INS_DLY的強制閘控欄位13中,設定了不支援在執行延遲指令INS_DLY時的時間延遲時段期間忽略中斷的功能的資訊。
如圖10中說明的在T1與T6之間的時段的指令管線狀態可相同於圖9中所說明的指令管線狀態。
在T5與T6之間的時段,執行延遲指令INS_DLY的操作EX、解碼第三指令INS_F3的操作以及提取第四指令INS_F4的操作可一同執行。
圖15中說明當處理器100A或處理器100B基於如圖10中的指令管線狀態圖處理指令時,由時鐘管理電路120或時鐘管理電路300產生的主信號的波形圖。
參看圖15,可在時間T6產生計時器控制信號CTL_TIMER。因此,計時器電路423可根據計時器控制信號CTL_TIMER開始計數操作。在時間T6,切換控制信號CTL_SW可自「高(HIGH)」狀態轉變至「低(LOW)」狀態。切換控制信號CTL_SW可維持「低(LOW)」狀態直至產生中斷信號INT的時間T6_1a為止。在時間T6_1a,切換控制信號CTL_SW可自「低(LOW)」狀態轉變至「高(HIGH)」狀態。在時間T6_1a,中斷狀態信號INT_ON可自「低(LOW)」狀態轉變至「高(HIGH)」狀態。中斷狀態信號INT_ON可在時間T6_1a與時間T6_2a之間的時段(在所述時段執行中斷任務)期間維持「高(HIGH)」狀態。
切換控制信號CTL_SW可在時間T6_1a至時間T6_2a的時段期間維持「高(HIGH)」狀態,在所述時段中斷狀態信號INT_ON轉變至「低(LOW)」狀態且控制信號CTL_SIGs指示中斷任務完成。在時間T6_2a,切換控制信號CTL_SW可自「高(HIGH)」狀態轉變至「低(LOW)」狀態。切換控制信號CTL_SW可維持「低(LOW)」狀態直至產生計時器逾期信號S_TE為止。切換控制信號CTL_SW可在產生計時器逾期信號S_TE的時間T7自「低(LOW)」狀態轉變至「高(HIGH)狀態」。
因此,在T6與T6_1a之間的時段以及T6_2a與T7之間的時段(在所述時段切換控制信號CTL_SW具有「低(LOW)」狀態),可關閉時鐘管理電路120或時鐘管理電路300的切換電路421,且在切換控制信號CTL_SW具有「高(HIGH)狀態」的時段,開啟切換電路421。
在被判定為延遲時段的T6與T7之間的時段中的T6與T6_1a之間的時段以及T6_2a與T7之間的時段中,可不自第一時鐘信號CLK1_OUT產生時鐘脈衝。因此,在T6與T6_1a之間的時段以及T6_2a與T7之間的時段,時鐘脈衝可不傳輸至核心處理器110或處理器100B。在被判定為延遲時段的T6與T7之間的時段中的T6_1a與T6_2a之間的時段(在所述時段歸因於產生中斷而執行中斷處理)中,可產生作為第一時鐘信號CLK1_OUT的時鐘脈衝。因此,在T6_1a與T6_2a之間的時段,時鐘脈衝可正常傳輸至核心處理器110或處理器100B。
再次參看圖10,在基於延遲指令INS_DLY被判定為延遲時段的T6與T7之間的時段中的T6_1a與T6_2a之間的時段中,核心處理器110或處理器100B可基於產生中斷而執行處理根據中斷指令INS_INT的中斷任務的中斷服務常式ISR。
在完成根據延遲指令INS_DLY的執行的時鐘閘控操作之後,核心處理器110或處理器100B可在T7與T8之間的時段執行提取第三指令INS_F3的操作。由於已在T6_1a與T6_2a之間的時段執行中斷服務常式,所以可重新執行提取第三指令INS_F3的操作。在T9與T10之間的時段,解碼第三指令INS_F3的操作以及提取第四指令INS_F4的操作可一同執行。在T9與T10之間的時段,執行第三指令INS_F3的操作以及解碼第四指令INS_F4的操作可一同執行。
圖11為用於描述根據另一實例實施例的在處理器中執行延遲指令的程序的指令管線狀態圖。
參看圖11,存在一指令管線狀態圖,其中基於延遲指令INS_DLY判定的延遲時段為T6與T7之間的時段,在T6與T7之間的時段期間產生中斷,在延遲時段之後完成在T6與T7之間的時段期間產生的中斷任務,且在延遲指令INS_DLY的強制閘控欄位13中,設定了不支援在執行延遲指令INS_DLY時的時間延遲時段期間忽略中斷的功能的資訊。
如圖11中說明的在T1與T6之間的時段中的指令管線狀態可相同於圖7中所說明的指令管線狀態。
在T5與T6之間的時段,執行延遲指令INS_DLY的操作EX、解碼第三指令INS_F3的操作以及提取第四指令INS_F4的操作可一同執行。
圖16中說明當處理器100A或處理器100B基於如圖11中所說明的指令管線狀態圖處理指令時,由時鐘管理電路120或時鐘管理電路300產生的主信號的波形圖。
參看圖16,可在時間T6產生計時器控制信號CTL_TIMER。因此,計時器電路423可根據計時器控制信號CTL_TIMER開始計數操作。在時間T6,切換控制信號CTL_SW可自「高(HIGH)」狀態轉變至「低(LOW)」狀態。切換控制信號CTL_SW可維持「低(LOW)」狀態直至產生中斷信號INT的時間T6_1b為止。在時間T6_1b,切換控制信號CTL_SW可自「低(LOW)」狀態轉變至「高(HIGH)」狀態。在時間T6_1b,中斷狀態信號INT_ON可自「低(LOW)」狀態轉變至「高(HIGH)」狀態。中斷狀態信號INT_ON可在時間T6_1b與時間T8之間的時段(在所述時段執行中斷任務)期間維持「高(HIGH)」狀態。
由於中斷狀態信號INT_ON自「高(HIGH)」狀態轉變至「低(LOW)」狀態的時間T8(表示中斷任務完成的時間)比時間T7更晚,所以切換控制信號CTL_SW可維持「高(HIGH)」狀態直至自時間T6_1b執行延遲指令INS_DLY為止。
因此,在T6與T6_1b之間的時段(在所述時段切換控制信號CTL_SW具有「低(LOW)」狀態),可關閉時鐘管理電路120或時鐘管理電路300的切換電路421,且在切換控制信號CTL_SW具有「高(HIGH)狀態」的時段,可開啟切換電路421。
在被判定為延遲時段的T6與T7之間的時段中的T6與T6_1b之間的時段中,可不產生作為第一時鐘信號CLK1_OUT的時鐘脈衝。因此,在T6與T6_1b之間的時段,時鐘脈衝可不傳輸至核心處理器110或處理器100B。在被判定為延遲時段的T6與T7之間的時段中的T6_1b與T7之間的時段(在所述時段歸因於產生中斷而執行中斷處理),可產生作為第一時鐘信號CLK1_OUT的時鐘脈衝。因此,在T6_1b與T7之間的時段,時鐘脈衝可正常傳輸至核心處理器110或處理器100B。
再次參看圖11,在基於延遲指令INS_DLY被判定為延遲時段的T6與T7之間的時段中的T6_1b與T7之間的時段中,核心處理器110或處理器100B可基於產生中斷而執行處理根據中斷指令INS_INT的中斷任務的中斷服務常式ISR。
由於在T7未完成在T6與T7之間的時段產生的中斷任務,所以核心處理器110或處理器100B可持續執行中斷服務常式ISR直至時間T8為止。
在完成執行中斷服務常式ISR之後,核心處理器110或處理器100B可在T8與T9之間的時段執行提取第三指令INS_F3的操作。由於已在T6_1a與T8之間的時段執行中斷服務常式,所以可重新執行提取第三指令INS_F3的操作。在T9與T10之間的時段,解碼第三指令INS_F3的操作以及提取第四指令INS_F4的操作可一同執行。在T10與T11之間的時段,執行第三指令INS_F3的操作以及解碼第四指令INS_F4的操作可一同執行。
圖12為用於描述根據另一實例實施例的在處理器中執行延遲指令的程序的指令管線狀態圖。
參看圖12,存在一指令管線狀態圖,其中基於延遲指令INS_DLY判定的延遲時段為T6與T7之間的時段,在T6與T7之間的時段(在所述時段執行延遲指令INS_DLY)期間產生中斷,且在延遲指令INS_DLY的強制閘控欄位13中,設定了不支援在執行延遲指令INS_DLY時的時間延遲時段期間忽略中斷的功能的資訊。
如圖12中說明的在T1與T5之間的時段的指令管線狀態可相同於圖9中所說明的指令管線狀態。
參看圖12,在T5與T6之間的時段,執行延遲指令INS_DLY的操作EX、解碼第三指令INS_F3的操作以及提取第四指令INS_F4的操作可一同執行。在T5與T6之間的時段(在所述時段執行延遲指令INS_DLY)可產生中斷。亦即,可在開始執行延遲指令INS_DLY的時間T5至開始執行時鐘閘控操作的時間T6的時段期間產生中斷。
圖17中說明當處理器100A或處理器100B基於如圖12中的指令管線狀態圖處理指令時,由時鐘管理電路120或時鐘管理電路300產生的主信號的波形圖。
參看圖17,可在時間T5_1c產生中斷信號INT,且中斷狀態信號INT_ON可在時間T5_1c自「低(LOW)」狀態轉變至「高(HIGH)狀態」。因此,核心處理器110或處理器100B可基於在時間T5_1c產生的中斷信號執行中斷服務常式ISR。
另外,時鐘管理電路120或時鐘管理電路300可根據對延遲指令INS_DLY的執行來執行時鐘閘控處理的操作。亦即,計時器電路423可根據計時器控制信號CTL_TIMER開始計數操作。
由於中斷狀態信號INT_ON在時間T6處於「高(HIGH)狀態」,所以切換控制信號CTL_SW可按原樣維持「高(HIGH)狀態」。亦即,切換控制信號CTL_SW可不在時間T6自「高(HIGH)狀態」轉變至「低(LOW)」狀態。
中斷狀態信號INT_ON可在時間T5_1c與時間T6_1c之間的時段(在所述時段執行中斷任務)期間維持「高(HIGH)」狀態。由於完成中斷任務的時間T6_1c在T6與T7之間的時段(其為基於延遲指令INS_DLY判定的延遲時段)內,所以切換控制信號CTL_SW可在時間T6_1c自「高(HIGH)狀態」轉變至「低(LOW)」狀態。
切換控制信號CTL_SW可維持「低(LOW)」狀態直至產生計時器逾期信號S_TE為止。切換控制信號CTL_SW可在產生計時器逾期信號S_TE的時間T7自「低(LOW)」狀態轉變至「高(HIGH)狀態」。
因此,在T6_1c與T7之間的時段(在所述時段切換控制信號CTL_SW具有「低(LOW)」狀態),可關閉時鐘管理電路120或時鐘管理電路300的切換電路421,且在切換控制信號CTL_SW具有「高(HIGH)狀態」的時段,可開啟切換電路421。
在被判定為延遲時段的T6與T7之間的時段中的T6_1c與T7之間的時段中,可不產生作為第一時鐘信號CLK1_OUT的時鐘脈衝。因此,在T6_1c與T7之間的時段,時鐘脈衝可不傳輸至核心處理器110或處理器100B。在被判定為延遲時段的T6與T7之間的時段中的T6與T6_1c之間的時段(在所述時段歸因於產生中斷而執行中斷處理),可產生作為第一時鐘信號CLK1_OUT的時鐘脈衝。因此,在T6與T6_1c之間的時段,時鐘脈衝可正常傳輸至核心處理器110或處理器100B。
再次參看圖12,在基於延遲指令INS_DLY被判定為延遲時段的T6與T7之間的時段中的T6與T6_1c之間的時段中,核心處理器110或處理器100B可基於產生中斷而執行處理根據中斷指令INS_INT的中斷任務的中斷服務常式ISR。亦即,核心處理器110或處理器100B可在T5_1c與T6_1c之間的時段執行中斷服務常式ISR。
在完成根據延遲指令INS_DLY的執行的時鐘閘控操作之後,核心處理器110或處理器100B可在T7與T8之間的時段執行提取第三指令INS_F3的操作。由於已在T5_1c與T6_1c之間的時段執行中斷服務常式,所以可重新執行提取第三指令INS_F3的操作。在T9與T10之間的時段,解碼第三指令INS_F3的操作以及提取第四指令INS_F4的操作可一同執行。在T9與T10之間的時段,執行第三指令INS_F3的操作以及解碼第四指令INS_F4的操作可一同執行。
將描述在各種類型的積體電路(包含如圖1以及圖2中所說明的積體電路)中執行的時鐘管理方法。由於不便描述,所以下文將參看圖2的積體電路描述時鐘管理方法。
圖18為根據實例實施例的在積體電路中執行的時鐘管理方法的流程圖。
參看圖18,存在一指令管線狀態圖,其中在基於延遲指令INS_DLY判定的延遲時段期間不產生中斷,且在延遲指令INS_DLY的強制閘控欄位13中,設定了支援即使在執行延遲指令INS_DLY時的時間延遲時段期間產生中斷時亦忽略中斷的功能的資訊。
在操作S101中,處理器100B可判定是否呼叫延遲指令INS_DLY。舉例而言,在存在處理器等待同時不執行操作的時段時呼叫延遲指令INS_DLY。
在操作S102中,當在處理器100B中呼叫延遲指令INS_DLY時,時鐘管理電路300的控制電路410可設定計時器逾期時間T_exp。舉例而言,控制電路410可基於自處理器100B接收的延遲指令INS_DLY或藉由解碼延遲指令INS_DLY產生的時鐘控制因子資訊INF_CG而設定計時器逾期時間T_exp。
在操作S103中,時鐘管理電路300的控制電路410可判定是否在處理器100B中執行延遲指令INS_DLY。
在操作S104中,當在處理器100B中執行延遲指令INS_DLY時,時鐘管理電路300的計時器電路423可開始時間量測操作。舉例而言,當執行延遲指令INS_DLY時,可藉由開始對具有比由處理器100B使用的時鐘頻率更低的頻率的時鐘信號進行計數的操作而開始時間量測操作。
在操作S105中,在計時器電路423開始時間量測操作之後,時鐘管理電路300可在切換電路421中執行時鐘閘控操作。或者,切換電路421中的時鐘閘控操作的執行可與計時器電路423中的時間量測操作的開始同時。時鐘閘控操作可為切斷時鐘信號至處理器100B的傳輸的操作。因此,在執行時鐘閘控操作的時段,可未在處理器100B的時鐘輸入端子處偵測到時鐘脈衝。
在操作S106中,時鐘管理電路300的控制電路410可判定由計時器電路423量測的時間是否達到計時器逾期時間T_exp。
當由計時器電路423量測的時間未達到計時器逾期時間T_exp時,可持續執行切斷時鐘信號至處理器100B的傳輸的時鐘閘控操作。
在操作S107中,當由計時器電路423量測的時間達到計時器逾期時間T_exp時,可執行將時鐘信號傳輸至處理器100B的時鐘開啟處理(clock on processing)。因此,當達到計時器逾期時間T_exp時,時鐘信號可正常傳輸至處理器100B。亦即,當達到計時器逾期時間T_exp時,可在處理器100B的時鐘輸入端子處偵測到時鐘脈衝。
圖19為根據另一實例實施例的在積體電路中執行的時鐘管理方法的流程圖。
圖19為在以下情況下的時鐘管理方法的流程圖:在延遲指令INS_DLY的強制閘控欄位13中,設定不支援即使在執行延遲指令INS_DLY時的時間延遲時段期間產生中斷時亦忽略中斷的功能的資訊。
在操作S201中,處理器100B可判定是否呼叫延遲指令INS_DLY。舉例而言,在存在處理器等待同時不執行操作的時段時,呼叫延遲指令INS_DLY。
在操作S202中,當在處理器100B中呼叫延遲指令INS_DLY時,時鐘管理電路300的控制電路410可設定計時器逾期時間T_exp。舉例而言,控制電路410可基於自處理器100B接收的延遲指令INS_DLY或藉由解碼延遲指令INS_DLY產生的時鐘控制因子資訊INF_CG而設定計時器逾期時間T_exp。
在操作S203中,時鐘管理電路300的控制電路410可判定是否在處理器100B中執行延遲指令INS_DLY。
在操作S204中,當在處理器100B中執行延遲指令INS_DLY時,時鐘管理電路300的計時器電路423自處理器接收通知且可開始時間量測操作。舉例而言,當執行延遲指令INS_DLY時,可藉由開始對具有比由處理器100B使用的時鐘頻率更低的頻率的時鐘信號進行計數的操作而開始時間量測操作。
在操作S205中,在開始時間量測操作之後,時鐘管理電路300可在執行時鐘閘控操作之前判定處理器100B是否處於中斷狀態。
在操作S206中,當處理器100B處於中斷狀態時,時鐘管理電路300可判定所執行的任務是否關於中斷服務常式ISR。
在操作S207中,當所執行的任務是關於中斷服務常式ISR時,時鐘管理電路300可執行時鐘閘控操作。所執行的任務是關於中斷服務常式ISR可意謂對中斷服務執行延遲指令INS_DLY。因此,可基於執行延遲指令INS_DLY而執行切斷時鐘信號至處理器100B的傳輸的時鐘閘控操作。
在操作S215中,判定計時器電路423是否已達到計時器逾期時間T_exp。若否,則重複操作S215。若是,則隨後處理進行至操作S214。
在操作S208中,當所執行的任務不是關於中斷服務常式ISR時,時鐘管理電路300可判定中斷任務是否完成。亦即,當所執行的任務不是關於中斷服務常式ISR時,此意謂在T5與T6之間的時段(在所述時段如在圖10中說明而執行延遲指令INS_DLY)產生中斷。在此情況下,暫時中止時鐘閘控操作直至中斷任務完成為止。
在操作S209中,當在操作S208中判定中斷任務完成時,時鐘管理電路300可判定由計時器電路423量測的時間是否達到計時器逾期時間T_exp。
在操作S214中,當在操作S209中判定由計時器電路423量測的時間達到計時器逾期時間T_exp時,時鐘管理電路300可維持執行將時鐘信號傳輸至處理器100B的時鐘開啟處理。
當在操作S209中判定由計時器電路423量測的時間未達到計時器逾期時間T_exp時,時鐘管理電路300可在操作S210中執行切斷時鐘信號至處理器100B的傳輸的時鐘閘控操作。
在操作S211中,時鐘管理電路300可判定在執行時鐘閘控操作的同時由計時器電路423量測的時間是否達到計時器逾期時間T_exp。
在操作S212中,當在操作S211中判定由計時器電路423量測的時間未達到計時器逾期時間T_exp時,時鐘管理電路300可判定是否自處理器100B請求中斷。舉例而言,當由時鐘管理電路300接收中斷信號時,可判定自處理器100B請求中斷。
當在操作S212中判定不請求中斷時,時鐘管理電路300可在執行時鐘閘控操作的同時在操作S211中判定是否達到計時器逾期時間T_exp。
當在操作S212中判定請求中斷時,時鐘管理電路300可在操作S213中執行將時鐘信號傳輸至處理器100B的時鐘開啟處理。
在執行時鐘開啟處理之後,時鐘管理電路300可執行判定針對所請求中斷的中斷任務是否完成的操作S208。
當在操作S211中判定由計時器電路423量測的時間達到計時器逾期時間T_exp時,時鐘管理電路300可在操作S216中執行將時鐘信號傳輸至處理器100B的時鐘開啟處理。
圖20說明根據實例實施例的時鐘管理電路所應用於的系統單晶片2000A的組態。
參看圖20,系統單晶片2000A可包含處理器2100A,處理器2100A包含嵌入式時鐘管理電路2110A、記憶體2200、多個功能區塊2300-1至2300-N以及匯流排2400。
處理器2100A可控制經由匯流排2400連接至其的記憶體2200以及多個功能區塊2300-1至2300-N的操作。處理器2100A可適用於智慧型手機、平板個人電腦(personal computer;PC)、數位相機、行動裝置、機上盒、智慧卡系統、伺服器系統以及其他各種電子裝置。
舉例而言,當執行對時間延遲函式的執行時,處理器2100A可執行自記憶體2200讀取延遲指令INS_DLY以及在處理器2100A的指令暫存器中儲存延遲指令INS_DLY的指令提取操作。處理器2100A可解碼並執行儲存於指令暫存器中的延遲指令INS_DLY。
如參看圖1描述的時鐘管理電路120可被用作時鐘管理電路2110A。因此,時鐘管理電路2110A可在由處理器2100A執行延遲指令INS_DLY的時間延遲時段期間執行時鐘閘控操作。
記憶體2200可包含儲存對操作系統單晶片2000A而言為必要的指令、資料或程式碼的SRAM或DRAM。記憶體2200可包含非揮發性記憶體。儲存於記憶體2200中的指令可包含執行根據實例實施例的延遲函式的延遲指令INS_DLY。舉例而言,延遲指令INS_DLY可具有與圖4中說明的結構相同的結構。
功能區塊2300-1至2300-N可為執行支援系統單晶片2000A的各種功能的區塊。舉例而言,功能區塊2300-1至2300-N可包含數據機、記憶體控制器、數位信號處理器、通用串列匯流排控制器、周邊電腦互連介面或其類似者。
圖21說明根據實例實施例的時鐘管理電路所應用於的系統單晶片2000B的組態。
參看圖21,系統單晶片2000B可包含處理器2100B、時鐘管理電路2110B、記憶體2200、多個功能區塊2300-1至2300-N以及匯流排2400。
由於已參看圖20描述記憶體2200以及多個功能區塊2300-1至2300-N,所以將省略其冗餘描述。
處理器2100B可控制經由匯流排2400連接至其的時鐘管理電路2110、記憶體2200以及多個功能區塊2300-1至2300-N的操作。處理器2100B可適用於智慧型手機、平板個人電腦(personal computer;PC)、數位相機、行動裝置、機上盒、智慧卡系統、伺服器系統以及其他各種電子裝置。
舉例而言,當執行對時間延遲函式的執行時,處理器2100B可執行自記憶體2200讀取延遲指令INS_DLY以及在處理器2100B的指令暫存器中儲存延遲指令INS_DLY的指令提取操作。處理器2100B可解碼並執行儲存於指令暫存器中的延遲指令INS_DLY。
如參看圖2描述的時鐘管理電路300可被用作時鐘管理電路2110B。因此,時鐘管理電路2110B可在由處理器2100B執行延遲指令INS_DLY的時間延遲時段期間執行時鐘閘控操作。
圖22說明根據另一實例實施例的時鐘管理電路所應用於的系統單晶片3000B的組態。
參看圖22,系統單晶片3000A可包含處理器3100,處理器3100包含嵌入式時鐘管理電路3110A、記憶體3200、多個功能區塊3300-1至3300-N、輸入/輸出(input/output;I/O)控制器3400、I/O橋接器3500、多個I/O裝置3600-1至3600-K以及匯流排3700。
由於記憶體3200以及多個功能區塊3300-1至3300-N具有與圖20中所說明的記憶體2200以及多個功能區塊2300-1至2300-N的組態相同的組態,所以將省略其冗餘描述。
處理器3100A可控制經由匯流排3700連接至其的記憶體3200、多個功能區塊3300-1至3300-N以及I/O控制器3400的操作。處理器3100A可適用於智慧型手機、平板個人電腦(personal computer;PC)、數位相機、行動裝置、機上盒、智慧卡系統、伺服器系統以及其他各種電子裝置。
舉例而言,當執行對時間延遲函式的執行時,處理器3100A可執行自記憶體3200讀取延遲指令INS_DLY以及在處理器3100A的指令暫存器中儲存延遲指令INS_DLY的指令提取操作。處理器3100A可解碼並執行儲存於指令暫存器中的延遲指令INS_DLY。
如參看圖1描述的時鐘管理電路120可被用作時鐘管理電路3110A。因此,時鐘管理電路3110A可在由處理器3100A執行延遲指令INS_DLY的時間延遲時段期間執行時鐘閘控操作。
I/O控制器3400可執行控制I/O裝置3600-1至3600-K的操作。I/O控制器3400可自處理器3100接收I/O命令且基於所接收的I/O命令而控制I/O裝置3600-1至3600-K。
I/O橋接器3500可執行控制用於在處理器3100A與I/O裝置3600-1至3600-K之間資料通信的頻道的操作。舉例而言,I/O橋接器3500可包含PCIe橋接器。
I/O裝置3600-1至3600-K的實例可包含記憶體裝置、固態磁碟機(solid state drive;SSD)、智慧卡以及數位相機。
圖23說明根據另一實例實施例的時鐘管理電路所應用於的系統單晶片3000B的組態。
參看圖23,系統單晶片3000B可包含處理器3100B、時鐘管理電路3110B、記憶體3200、多個功能區塊3300-1至3300-N、輸入/輸出(input/output;I/O)控制器3400、I/O橋接器3500、多個I/O裝置3600-1至3600-K以及匯流排3700。
記憶體3200以及多個功能區塊3300-1至3300-N可具有與圖20中所說明的記憶體2200以及多個功能區塊2300-1至2300-N的組態相同的組態。由於已參看圖22描述I/O控制器3400、I/O橋接器3500以及多個I/O裝置3600-1至3600-K,所以將省略其冗餘描述。
處理器3100B可控制經由匯流排3700連接至其的時鐘管理電路3110B、記憶體3200、多個功能區塊3300-1至3300-N以及I/O控制器3400的操作。處理器3100B可適用於智慧型手機、平板個人電腦(personal computer;PC)、數位相機、行動裝置、機上盒、智慧卡系統、伺服器系統以及其他各種電子裝置。
舉例而言,當執行對時間延遲函式的執行時,處理器3100B可執行自記憶體3200讀取延遲指令INS_DLY以及在處理器3100B的指令暫存器中儲存延遲指令INS_DLY的指令提取操作。處理器3100B可解碼並執行儲存於指令暫存器中的延遲指令INS_DLY。
如參看圖2描述的時鐘管理電路300可被用作時鐘管理電路3110B。因此,時鐘管理電路3110B可在由處理器3100B執行延遲指令INS_DLY的時間延遲時段期間執行時鐘閘控操作。
雖然已參看本發明概念的實例實施例特定展示並描述本發明概念,但將理解,在不脫離以下申請專利範圍的精神以及範疇的情況下,可對其形式以及細節作出各種改變。
11‧‧‧OP碼欄位
12‧‧‧狀態欄位
13‧‧‧強制閘控欄位
14‧‧‧時鐘分頻值欄位
15‧‧‧計數值欄位
100A、100B‧‧‧處理器
110‧‧‧核心處理器
111‧‧‧暫存器區塊
112‧‧‧指令解碼器
113‧‧‧控制邏輯
114‧‧‧算術邏輯單元(ALU)
115‧‧‧匯流排
120‧‧‧時鐘管理電路
200‧‧‧時鐘產生器
300‧‧‧時鐘管理電路
410‧‧‧控制電路
420、420A、420B、420C‧‧‧時鐘閘控電路
421‧‧‧切換電路
422、422'‧‧‧時鐘分頻器
423‧‧‧計時器電路
1000A、1000B‧‧‧積體電路
2000A、2000B‧‧‧系統單晶片
2100A、2100B‧‧‧處理器
2110A、2110B‧‧‧時鐘管理電路
2200‧‧‧記憶體
2300-1、2300-N‧‧‧功能區塊
2400‧‧‧匯流排
3000A、3000B‧‧‧系統單晶片
3100A、3100B‧‧‧處理器
3110A、3110B‧‧‧時鐘管理電路
3200‧‧‧記憶體
3300-1、3300-N‧‧‧功能區塊
3400‧‧‧I/O控制器
3500‧‧‧I/O橋接器
3600-1、3600-K‧‧‧I/O裝置
3700‧‧‧匯流排
CLK1_IN‧‧‧第一時鐘信號
CLK1_OUT‧‧‧第一時鐘信號
CLK2‧‧‧第二時鐘信號
CLK3‧‧‧第三時鐘信號
CTL‧‧‧控制信號
CTL_DIV‧‧‧分頻控制信號
CTL_SIGs‧‧‧控制信號
CTL_SW‧‧‧切換控制信號
CTL_TIMER‧‧‧計時器控制信號
DE‧‧‧操作
EX‧‧‧操作
FE‧‧‧操作
INF_CG‧‧‧時鐘控制因子資訊
INS_DLY‧‧‧延遲指令
INS_F1‧‧‧第一指令
INS_F2‧‧‧第二指令
INS_F3‧‧‧第三指令
INS_F4‧‧‧第四指令
INS_INT‧‧‧中斷指令
INT‧‧‧中斷信號
INT_ON‧‧‧中斷狀態信號
ISR‧‧‧中斷服務常式
P1‧‧‧第一端子
P2‧‧‧第二端子
S_TE‧‧‧計時器逾期信號
T1~T11‧‧‧時間
T5_1c‧‧‧時間
T6_1a、T6_1b、T6_1c、T6_2a‧‧‧時間
S101~S107‧‧‧步驟
S201~S216‧‧‧步驟
將自結合隨附圖式進行的以下詳細描述更清晰地理解本發明概念的實例實施例,其中: 圖1說明根據實例實施例的包含時鐘管理電路的積體電路的組態。 圖2說明根據另一實例實施例的包含時鐘管理電路的積體電路的組態。 圖3說明根據實例實施例的包含時鐘管理電路的處理器的組態。 圖4說明根據實例實施例定義的延遲指令的組態。 圖5說明根據實例實施例的時鐘管理電路的組態。 圖6說明圖5中所說明的根據實例實施例的時鐘閘控電路的組態。 圖7說明圖5中所說明的根據另一實例實施例的時鐘閘控電路的組態。 圖8說明圖5中所說明的根據另一實例實施例的時鐘閘控電路的組態。 圖9為用於描述根據另一實例實施例的在處理器中執行延遲指令的程序的指令管線狀態圖。 圖10為用於描述根據另一實例實施例的在處理器中執行延遲指令的程序的指令管線狀態圖。 圖11為用於描述根據另一實例實施例的在處理器中執行延遲指令的程序的指令管線狀態圖。 圖12為用於描述根據另一實例實施例的在處理器中執行延遲指令的程序的指令管線狀態圖。 圖13為根據實例實施例的時鐘管理電路的輸入/輸出時鐘信號的狀態圖。 圖14為在處理器根據如圖9中說明的指令管線狀態執行延遲指令時包含時鐘管理電路的積體電路的主信號的波形圖。 圖15為在處理器根據如圖10中說明的指令管線狀態執行延遲指令時包含時鐘管理電路的積體電路的主信號的波形圖。 圖16為在處理器根據如圖11中說明的指令管線狀態執行延遲指令時包含時鐘管理電路的積體電路的主信號的波形圖。 圖17為在處理器根據如圖12中說明的指令管線狀態執行延遲指令時包含時鐘管理電路的積體電路的主信號的波形圖。 圖18為根據實例實施例的在積體電路中執行的時鐘管理方法的流程圖。 圖19為根據另一實例實施例的在積體電路中執行的時鐘管理方法的流程圖。 圖20說明根據實例實施例的時鐘管理電路所應用於的系統單晶片的組態。 圖21說明根據另一實例實施例的時鐘管理電路所應用於的系統單晶片的組態。 圖22說明根據另一實例實施例的時鐘管理電路所應用於的系統單晶片的組態。 圖23說明根據另一實例實施例的時鐘管理電路所應用於的系統單晶片的組態。
100A‧‧‧處理器
110‧‧‧核心處理器
120‧‧‧時鐘管理電路
200‧‧‧時鐘產生器
1000A‧‧‧積體電路
CLK1_IN‧‧‧第一時鐘信號
CLK1_OUT‧‧‧第一時鐘信號
INF_CG‧‧‧時鐘控制因子資訊
INS_DLY‧‧‧延遲指令
INT‧‧‧中斷信號
Claims (17)
- 一種積體電路,其包括:時鐘產生器,其經組態以選擇性地產生第一時鐘;處理器,其經組態以執行操作;以及時鐘管理電路,所述時鐘管理電路經組態以自所述處理器接收時鐘管理資訊且基於所述時鐘管理資訊以及所述第一時鐘選擇性地產生第二時鐘,所述處理器經組態以基於所述第二時鐘執行部分的所述操作,其中所述處理器經組態以基於解碼指令而產生所述時鐘管理資訊;且所述時鐘管理電路包含時鐘閘控電路以及控制邏輯,所述時鐘閘控電路經組態以基於所述第一時鐘而選擇性地產生所述第二時鐘,且所述控制電路經組態以基於所述時鐘管理資訊而控制所述時鐘閘控電路。
- 如申請專利範圍第1項所述的積體電路,其中所述處理器包含所述時鐘管理電路以及多個功能組件。
- 如申請專利範圍第1項所述的積體電路,其中所述時鐘管理資訊包含指示暫時中止產生所述第二時鐘的時段的延遲資訊。
- 如申請專利範圍第3項所述的積體電路,其中所述時鐘管理資訊包含指示是否在暫時中止產生所述第二時鐘的所述時段期間忽略中斷資訊的強制閘控資訊,所述中斷資訊指示所述處理器是否應執行中斷操作;且所述時鐘管理電路包含用於量測暫時中止產生所述第二時鐘 的所述時段的計時器。
- 如申請專利範圍第4項所述的積體電路,其中所述時鐘管理資訊包含時鐘分頻資訊,所述時鐘分頻資訊指示對所述第一時鐘進行分頻以產生計時器時鐘的量,且所述計時器經組態以基於所述計時器時鐘操作。
- 如申請專利範圍第3項所述的積體電路,其中所述處理器經組態以基於解碼指令而產生所述時鐘管理資訊。
- 如申請專利範圍第1項所述的積體電路,其中所述時鐘閘控電路包含,切換器,其經組態以選擇性地將所述第一時鐘輸出為所述第二時鐘,以及計時器電路;且所述控制電路經組態以基於所述時鐘管理資訊而控制所述計時器電路的操作,且經組態以基於所述時鐘管理資訊以及所述計時器電路的輸出而控制所述切換器的操作。
- 如申請專利範圍第7項所述的積體電路,其進一步包括:時鐘分頻器,其經組態以藉由根據分頻器值對所述第一時鐘進行分頻而產生計時器時鐘;且其中所述計時器電路經組態以基於所述計時器時鐘操作;且其中所述時鐘閘控電路包含所述時鐘分頻器;且所述控制電路經組態以基於所述時鐘管理資訊而將所述分頻器值供應至所述時鐘分頻器。
- 如申請專利範圍第7項所述的積體電路,其中所述控制電路經組態以基於所述時鐘管理資訊、所述計時器電路的輸出以 及中斷資訊而控制所述切換器的操作,所述中斷資訊指示所述處理器是否應執行中斷操作。
- 一種時鐘管理電路,其包括:時鐘閘控電路,其經組態以接收第一時鐘,且經組態以基於所述第一時鐘以及控制信號而選擇性地產生第二時鐘;以及控制電路,其經組態以基於自處理器接收的時鐘管理資訊而產生所述控制信號,所述處理器接收所述第二時鐘,其中所述時鐘閘控電路包含:切換器,其經組態以選擇性地將所述第一時鐘輸出為所述第二時鐘,以及計時器電路;以及所述控制電路經組態以基於所述時鐘管理資訊而控制所述計時器電路的操作,且經組態以基於所述時鐘管理資訊以及所述計時器電路的輸出而控制所述切換器的操作。
- 如申請專利範圍第10項所述的時鐘管理電路,其進一步包括:時鐘分頻器,其經組態以藉由根據分頻器值對所述第一時鐘進行分頻而產生計時器時鐘;且其中所述計時器電路經組態以基於所述計時器時鐘操作;所述時鐘閘控電路包含所述時鐘分頻器;且所述控制電路經組態以基於所述時鐘管理資訊而將所述分頻器值供應至所述時鐘分頻器。
- 如申請專利範圍第10項所述的時鐘管理電路,其中所述控制電路經組態以基於所述時鐘管理資訊、所述計時器電路的 輸出以及中斷資訊而控制所述切換器的操作,所述中斷資訊指示所述處理器是否應執行中斷操作。
- 如申請專利範圍第10項所述的時鐘管理電路,其中所述時鐘管理資訊包含指示暫時中止產生所述第二時鐘的時段的延遲資訊;且所述控制電路經組態以控制所述計時器以量測所述時段,且經組態以在所述時段期間防止所述切換器將所述第一時鐘供應為所述第二時鐘。
- 如申請專利範圍第13項所述的時鐘管理電路,其中所述時鐘管理資訊包含指示是否在暫時中止產生所述第二時鐘的所述時段期間忽略中斷資訊的強制閘控資訊,所述中斷資訊指示所述處理器是否應執行中斷操作;且其中所述控制電路經組態以在所述強制閘控資訊不指示忽略所述中斷資訊的情況下回應於所述中斷資訊在所述時段期間啟用所述切換器以將所述第一時鐘提供為所述第二時鐘。
- 如申請專利範圍第10項所述的時鐘管理電路,其中所述時鐘管理資訊包含指示暫時中止產生所述第二時鐘的時段的延遲資訊;且所述時鐘管理資訊包含指示是否在暫時中止產生所述第二時鐘的所述時段期間忽略中斷資訊的強制閘控資訊,所述中斷資訊指示所述處理器是否應執行中斷操作。
- 一種積體電路,其包括:處理器,其經組態以基於時鐘信號執行操作;以及時鐘管理電路,其經組態以自所述處理器接收時鐘管理資 訊,且經組態以歷時基於所述時鐘管理資訊的時段暫時中止所述時鐘信號至所述處理器的傳輸;且其中所述時鐘管理資訊包含指示暫時中止傳輸所述第二時鐘的所述時段的延遲資訊,其中所述處理器經組態以執行管線化並行處理;且所述處理器經組態以在所述時段之後恢復所述管線化並行處理而不必再填充所述管線。
- 如申請專利範圍第16項所述的積體電路,其中所述時鐘管理資訊包含指示是否在所述時段期間忽略中斷資訊的強制閘控資訊,所述中斷資訊指示所述處理器是否應執行中斷操作;所述時鐘管理電路經組態以在所述強制閘控資訊不指示忽略所述中斷資訊的情況下回應於所述中斷資訊在所述時段期間提供所述時鐘信號;且所述時鐘管理電路經組態以在所述中斷操作在所述時段之前結束的情況下在所述時段的剩餘時間中恢復暫時中止所述時鐘信號。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2015-0111210 | 2015-08-06 | ||
KR1020150111210A KR102476357B1 (ko) | 2015-08-06 | 2015-08-06 | 클럭 관리 유닛과 이를 적용하는 집적 회로 및 시스템 온 칩 및 그 동작 방법 |
US15/185,505 US10983551B2 (en) | 2015-08-06 | 2016-06-17 | Clock management unit, integrated circuit including the clock management unit, system on chip, and method of operating the system on chip |
US15/185,505 | 2016-06-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201712464A TW201712464A (zh) | 2017-04-01 |
TWI762448B true TWI762448B (zh) | 2022-05-01 |
Family
ID=58053825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105124727A TWI762448B (zh) | 2015-08-06 | 2016-08-04 | 時鐘管理電路、以及含有該時鐘管理電路的積體電路 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10983551B2 (zh) |
KR (1) | KR102476357B1 (zh) |
CN (1) | CN106444965B (zh) |
TW (1) | TWI762448B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105718320B (zh) * | 2016-01-18 | 2020-11-06 | 华为技术有限公司 | 一种时钟任务处理方法、装置及设备 |
US11099602B2 (en) * | 2019-04-30 | 2021-08-24 | International Business Machines Corporation | Fault-tolerant clock gating |
JP7422066B2 (ja) * | 2020-12-28 | 2024-01-25 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW544680B (en) * | 2000-08-04 | 2003-08-01 | Nec Electronics Corp | Timer circuit and semiconductor memory device integrated with the timer circuit |
TW200739581A (en) * | 2005-09-28 | 2007-10-16 | Hynix Semiconductor Inc | Delay locked operation in semiconductor memory device |
CN103116384A (zh) * | 2013-02-01 | 2013-05-22 | 山东华芯半导体有限公司 | 一种SoC系统时钟控制的方法和SoC |
US20140125381A1 (en) * | 2012-11-05 | 2014-05-08 | Advanced Micro Devices, Inc. | Voltage-aware signal path synchronization |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6343363B1 (en) | 1994-09-22 | 2002-01-29 | National Semiconductor Corporation | Method of invoking a low power mode in a computer system using a halt instruction |
KR960003080B1 (ko) * | 1993-08-30 | 1996-03-04 | 켄 사쿠마 | 한국마늘의 껍질을 벗기는 기계 |
JPH11203266A (ja) * | 1998-01-07 | 1999-07-30 | Mitsubishi Electric Corp | マイクロコンピュータ |
US6671795B1 (en) | 2000-01-21 | 2003-12-30 | Intel Corporation | Method and apparatus for pausing execution in a processor or the like |
US6687838B2 (en) | 2000-12-07 | 2004-02-03 | Intel Corporation | Low-power processor hint, such as from a PAUSE instruction |
JP4831899B2 (ja) * | 2001-08-28 | 2011-12-07 | 富士通セミコンダクター株式会社 | 半導体集積回路及びクロック制御方法 |
WO2003040948A1 (fr) | 2001-11-08 | 2003-05-15 | Fujitsu Limited | Ordinateur et procede de commande |
US7363474B2 (en) | 2001-12-31 | 2008-04-22 | Intel Corporation | Method and apparatus for suspending execution of a thread until a specified memory access occurs |
CN100407102C (zh) | 2002-12-04 | 2008-07-30 | Nxp股份有限公司 | 基于软件的微处理器功率损耗控制 |
JP4575795B2 (ja) * | 2005-01-31 | 2010-11-04 | パナソニック株式会社 | クロック供給回路、半導体システムおよびその設計方法 |
US7770050B2 (en) * | 2006-05-03 | 2010-08-03 | Sony Computer Entertainment Inc. | Method and apparatus for resolving clock management issues in emulation involving both interpreted and translated code |
US7647509B2 (en) | 2006-05-12 | 2010-01-12 | Intel Corporation | Method and apparatus for managing power in a processing system with multiple partitions |
KR20090014692A (ko) | 2007-08-07 | 2009-02-11 | 한국과학기술원 | 인터럽트 기반의 프로세서를 위한 인터럽트 대기 명령어를실행하는 인터럽트 처리 방법 |
US8762692B2 (en) | 2007-09-27 | 2014-06-24 | Intel Corporation | Single instruction for specifying and saving a subset of registers, specifying a pointer to a work-monitoring function to be executed after waking, and entering a low-power mode |
CN101452337A (zh) | 2008-12-18 | 2009-06-10 | 北京中星微电子有限公司 | 一种外接设备的控制方法和装置 |
US8156275B2 (en) | 2009-05-13 | 2012-04-10 | Apple Inc. | Power managed lock optimization |
US8464035B2 (en) | 2009-12-18 | 2013-06-11 | Intel Corporation | Instruction for enabling a processor wait state |
JP2011150422A (ja) | 2010-01-19 | 2011-08-04 | Renesas Electronics Corp | データ処理装置 |
CN102955494A (zh) | 2011-08-31 | 2013-03-06 | 北京中电华大电子设计有限责任公司 | 一种wlan芯片的时钟树实现方法和电路 |
US9009451B2 (en) | 2011-10-31 | 2015-04-14 | Apple Inc. | Instruction type issue throttling upon reaching threshold by adjusting counter increment amount for issued cycle and decrement amount for not issued cycle |
WO2014043856A1 (en) | 2012-09-19 | 2014-03-27 | Qualcomm Incoporated | Clock gating circuit for reducing dynamic power |
US8816743B1 (en) | 2013-01-24 | 2014-08-26 | Altera Corporation | Clock structure with calibration circuitry |
US9411360B2 (en) * | 2014-01-13 | 2016-08-09 | Apple Inc. | Method to manage current during clock frequency changes |
US9496851B2 (en) * | 2014-09-10 | 2016-11-15 | Qualcomm Incorporated | Systems and methods for setting logic to a desired leakage state |
US9672305B1 (en) * | 2015-01-28 | 2017-06-06 | Apple Inc. | Method for gating clock signals using late arriving enable signals |
CN107315448A (zh) | 2017-06-26 | 2017-11-03 | 北方电子研究院安徽有限公司 | 一种低功耗多核SoC的时钟管理架构设计方法 |
-
2015
- 2015-08-06 KR KR1020150111210A patent/KR102476357B1/ko active IP Right Grant
-
2016
- 2016-06-17 US US15/185,505 patent/US10983551B2/en active Active
- 2016-08-04 TW TW105124727A patent/TWI762448B/zh active
- 2016-08-08 CN CN201610642814.4A patent/CN106444965B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW544680B (en) * | 2000-08-04 | 2003-08-01 | Nec Electronics Corp | Timer circuit and semiconductor memory device integrated with the timer circuit |
TW200739581A (en) * | 2005-09-28 | 2007-10-16 | Hynix Semiconductor Inc | Delay locked operation in semiconductor memory device |
US20140125381A1 (en) * | 2012-11-05 | 2014-05-08 | Advanced Micro Devices, Inc. | Voltage-aware signal path synchronization |
CN103116384A (zh) * | 2013-02-01 | 2013-05-22 | 山东华芯半导体有限公司 | 一种SoC系统时钟控制的方法和SoC |
Also Published As
Publication number | Publication date |
---|---|
CN106444965A (zh) | 2017-02-22 |
US10983551B2 (en) | 2021-04-20 |
KR102476357B1 (ko) | 2022-12-09 |
TW201712464A (zh) | 2017-04-01 |
KR20170017382A (ko) | 2017-02-15 |
US20170038791A1 (en) | 2017-02-09 |
CN106444965B (zh) | 2021-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI512448B (zh) | 用以啟用處理器等待狀態之指令 | |
TWI524175B (zh) | 經由微架構頻寬節流之處理器電力消耗控制及電壓降 | |
KR101930183B1 (ko) | 명령어 세트 아키텍처의 상이한 부분들을 구현하는 다수의 비유사 프로세서 코어들을 포함하는 프로세서 | |
US8341436B2 (en) | Method and system for power-state transition controllers | |
TWI567639B (zh) | 以指令之類別與內容為基礎之處理器電源管理技術 | |
US20140195784A1 (en) | Method, device and system for controlling execution of an instruction sequence in a data stream accelerator | |
JP2006351008A (ja) | マルチスレッドプロセッサのディスパッチ時にスレッドをブロックする方法、コンピュータプログラム、および装置(精細なマルチスレッドディスパッチロックメカニズム) | |
US9785447B2 (en) | System standby emulation with fast resume | |
TW201346519A (zh) | 包括在裝置中自主的硬體式深度省電之能源效率及能源節約的方法、設備及系統 | |
US8954771B2 (en) | Split deep power down of I/O module | |
TWI762448B (zh) | 時鐘管理電路、以及含有該時鐘管理電路的積體電路 | |
CN110573991B (zh) | 架构状态保留 | |
KR101930659B1 (ko) | 다수의 비유사 프로세서 코어들을 포함하는 프로세서 | |
US9411404B2 (en) | Coprocessor dynamic power gating for on-die leakage reduction | |
TW201411334A (zh) | 資訊處理裝置及電腦程式產品 | |
US6779122B2 (en) | Method and apparatus for executing a long latency instruction to delay the restarting of an instruction fetch unit | |
JP7495422B2 (ja) | 適応的な相互接続ルーティングのためのシステム、装置及び方法 | |
KR101896494B1 (ko) | 컴퓨팅 디바이스들에서의 전력 관리 | |
US10338665B2 (en) | Microcontroller power reduction system and method | |
JP6309216B2 (ja) | プロセッサシステムおよび半導体集積回路 | |
JP2005322266A (ja) | 低消費電力マイクロプロセッサおよびマイクロプロセッサシステム |