TW201527942A - 管理系統、多核系統和其管理方法 - Google Patents

管理系統、多核系統和其管理方法 Download PDF

Info

Publication number
TW201527942A
TW201527942A TW103129146A TW103129146A TW201527942A TW 201527942 A TW201527942 A TW 201527942A TW 103129146 A TW103129146 A TW 103129146A TW 103129146 A TW103129146 A TW 103129146A TW 201527942 A TW201527942 A TW 201527942A
Authority
TW
Taiwan
Prior art keywords
processor cores
peripheral
core
sampling period
monitoring unit
Prior art date
Application number
TW103129146A
Other languages
English (en)
Other versions
TWI542986B (zh
Inventor
Kai-Yuan Ting
Sandeep Kumar Goel
Ashok Mehta
Original Assignee
Taiwan Semiconductor Mfg Co Ltd
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 Taiwan Semiconductor Mfg Co Ltd filed Critical Taiwan Semiconductor Mfg Co Ltd
Publication of TW201527942A publication Critical patent/TW201527942A/zh
Application granted granted Critical
Publication of TWI542986B publication Critical patent/TWI542986B/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
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • 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/324Power saving characterised by the action undertaken by lowering clock frequency
    • 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/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/725Cordless telephones
    • H04M1/73Battery saving arrangements
    • 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)
  • Power Sources (AREA)

Abstract

適性電壓頻率縮放系統和方法。上述系統包括一監控單元、複數個處理單元、以及複數個周邊單元。每個上述處理單元都連結至上述監控單元。每個上述周邊單元都連結至上述監控單元。每個上述處理單元經由上述監控單元將請求傳送至至少一個上述周邊單元並接著由至少一個上述周邊單元接收回應。上述監控單元用於量測以及儲存上述回應以及上述請求間之延遲。

Description

管理系統、多核系統和其管理方法
本發明係有關於電力管理,尤指適用於電力管理的適性電壓頻率縮放系統和方法。
由於半導體製程技術的持續縮小,使得更多數量的中央處理單元(CPU)以及周邊裝置可以被整合入單一系統內。這種整合方式通常帶來許多好處,例如電腦伺服器或系統單晶片(System-on-chip,SoC)會具有更多處理能力且行動裝置或蜂巢式行動電話會具有更多功能。例如蜂巢式行動電話藉由整合入小封裝的多處理器核心和多周邊裝置提供終端用戶各式各樣的特殊功能,例如語音電話、簡訊、多媒體應用程式、有線和/或無線網路、相機功能、全球衛星定位系統(Global Positioning System,GPS)、以及其他。為了達成更高效能及更多特徵的需求,系統設計者面對許多挑戰。其中之一種挑戰為有效的電力管理。例如,蜂巢式行動電話中的各種處理器核心和周邊裝置通常由單獨來源,例如電池供電。電池容量通常受限於電池大小,且電池大小通常受限於蜂巢式行動電話封裝的小體積。因此,如何有效使用電池電力變成這種系統設計的主要議題。
本發明一實施例揭露了一種管理系統,包括一監控單元、複數個處理單元、以及複數個周邊單元。每個上述處理單元都連結至上述監控單元。每個上述周邊單元都連結至上述監控單元。每個上述處理單元經由上述監控單元將請求傳送至至少一個上述周邊單元並接著由至少一個上述周邊單元接收回應。上述監控單元用於量測以及儲存上述回應以及上述請求間之延遲。
本發明又一實施例更揭露了一種多核系統。該多核系統包括一第一複數個處理器核心以及一第二複數個周邊裝置,該第二複數個周邊裝置用於經由一通訊網路,由上述第一複數個處理器核心接收指令以及傳送分別回應至上述第一複數個由上述第一複數個處理器核心。多核系統更包括用於監控上述通訊網路上之上述指令以及上述分別的回應,並儲存至少某些上述指令以及上述分別的回應之一記錄之一流量監控器裝置。多核系統更包括一記憶體,包括一組計算機可讀取指令,當由上述第一複數個之其中之一執行時,會讓上述系統進行以下步驟:存取上述記錄;根據至少部分上述記錄評估一策略;以及根據上述策略調整上述系統之一操作條件。
本發明再一實施例更揭露了一種管理方法,管理一多核系統之電力損耗,其中,上述多核系統包括連接至周邊裝置之處理器核心,以及每個上述處理器核心用於以一各自的第一電源模式運作,並更用於傳送指令至至少一個上述周邊裝置以及由上述至少一個上述周邊裝置接收回應,對於每個上述處理器核心。上述方法包括:在一取樣期間內測量一第一執行 時間,其中,上述第一執行時間係為上述各自處理器核心所傳送之上述指令的一集合指令-回應延遲;根據上述第一執行時間以及一第一組用戶定義標準計算一第一組度量值至少;至少根據上述第一組度量值以及一第二組用戶定義標準預測一第二電源模式;以及根據第二電源模式分別調整上述處理器核心之一操作條件。
100‧‧‧多核系統
112‧‧‧操作控制器裝置
110‧‧‧處理器核心
120‧‧‧網路
130‧‧‧周邊裝置
140‧‧‧通訊鏈結
150‧‧‧通訊鏈結
200‧‧‧系統
210‧‧‧監控器裝置
302‧‧‧位址解碼器
304‧‧‧開始時間維持器
306‧‧‧結束時間維持器
308‧‧‧儲存單元
312‧‧‧輸入
314‧‧‧輸出
316‧‧‧輸出
318‧‧‧輸入
322‧‧‧記錄
408‧‧‧AVFS評估任務
410‧‧‧任務
412‧‧‧操作系统
414‧‧‧AVFS裝置驅動程式
510、512、...、522‧‧‧步驟
第1圖係為本發明實施例中一種多核系統100的簡化方塊圖。
第2圖係為本發明實施例中一種多核系統200的方塊圖。
第3A圖係為本發明實施例中一種監控器裝置210一部分的顯示圖。
第3B圖顯示監控器裝置210裝設於處理器核心110和網路120間之通訊鏈結。
第4圖係為本發明實施例中一種具有硬體和軟體平台兩者之系統400的顯示圖。
第5圖係為本發明實施例中一種AVFS評估任務408的流程圖。
第6圖顯示本發明實施例中之一種用戶定義查找表。
第7圖顯示本發明實施例中之另一種用戶定義查找表。
在此必須說明的是,於下揭露內容中所提出之不同實施例或範例,係用以說明本發明所揭示之不同技術特徵, 其所描述之特定範例或排列係用以簡化本發明,然非用以限定本發明。此外,在不同實施例或範例中可能重覆使用相同的參考數字與符號,此等重覆使用之參考數字與符號係用以說明本發明所揭示之內容,而非用以表示不同實施例或範例間之關係。
以下發明提供各種不同實施例或舉例用以實現發明的不同特徵。以下描述之元件和安排的特殊舉例係用以簡化本發明。當然,實施例僅作為舉例而非用以限制本發明。另外,本發明於各個舉例中重複使用參考編號和/或字母。上述重複部分是為了提供簡潔和清楚而非為了規定所討論之各種實施例和/或設定之間之關係。並且以下描述中接續一第一程序之一第二程序的執行方式可包括第二程序立即在第一程序之後執行的實施例,可也包括第一和第二程序間執行額外程序的實施例。為了簡潔和清楚,各個特徵可以不同比例任意在圖上繪出。此外,以下描述中一第二特徵以上或在上的一第一特徵形式可包括第一和第二特徵以直接接觸形成的實施例,也可包括第一和第二特徵之間有額外特徵形成的實施例,讓第一和第二特徵不需直接接觸。
另外,說明書使用的空間相關專有名詞例如“在下”、“之下”、“較低”、“以上”、“較高”以及類似名詞用於更容易描述圖示中一種元素或特徵相對於其他元素或特徵的關係。空間相關專有名詞包括使用中或操作中裝置的不同方向,該不同方向是圖示中顯示之外的方向。例如,若翻轉圖中裝置,在其他元素或特徵“之下”或“在下”的元素會變成置於其他元素或特 徵“之上”。因此實施例名詞“以下”會包括以上或以下方向兩者。裝置可反向放置(旋轉90度或以其他方向)並且此處使用之空間相關描述詞可同樣的得到相應解釋。
第1圖係為本發明實施例中一種多核系統100的簡化方塊圖。系統100包括複數個處理器核心110以及一複數個周邊裝置(或輸入/輸出裝置)130。處理器核心110在本發明中也稱為中央處理單元(CPU)、處理單元、或簡稱為處理器。處理器核心110和周邊裝置130係經由一網路120而相連。
其中一個實施例中,系統100更包括複數個耦接至處理器核心110的操作控制器裝置112。藉由處理器核心的合適指令,操作控制器裝置112會動態調整處理器核心之某些操作條件和/或系統100之其他部分。例如一操作控制器裝置會增加或減低處理器核心之一供電電壓,並增加或減低處理器核心之一時脈頻率。
其中一個實施例中,系統100係為一現代行動裝置一部分,例如對終端用戶提供一種應用程式之一蜂巢式行動電話,該應用程式例如是聲音、簡訊、網路、和多媒體應用程式。處理器核心110可包括不同種類的處理器,例如一數位訊號處理器(Digital Signal Processor,DSP)、一微控制器、以及一通用處理器例如一精簡指令集(Reduced Instruction Set Computing,RISC)處理器。處理器核心110負責運作操作系統(OS)軟體以及各種應用程式軟體。
周邊裝置130包括不同種類的輸入/輸出(IO)裝置,用於對用戶提供終端功能。例如,一種IO裝置係為一顯示裝 置,例如具有或缺乏觸碰螢幕功能的一液晶顯示器(Liquid Crystal Display,LCD)裝置。其他種類的IO裝置係為一連接裝置,例如一以太網路埠、一通用序列匯流排(Universal Serial Bus,USB)埠、一通用異步收發器(Universal Asynchronous Receiver/Transmitter,UART)控制器、一無線網路控制器用於將系統100連接至一無線區域網路(Wireless Local Area Network,WLAN)、以及其他。其他種類的IO裝置係為一蜂巢裝置,例如一全球行動通訊系統(Global System for Mobile Communications,GSM)收發器、一寬頻劃碼多重接取(Wideband Code Division Multiple Access,WCDMA)收發器、以及一整合分封無線服務(General Packet Radio Service,GPRS)收發器。周邊裝置130可包括記憶體裝置、直接記憶體存取控制器(DMA)、音效晶片(audio codecs)、一相機模組、一計時器裝置、及其他等等。
處理器核心110和周邊裝置130藉由網路120而連結(或連接),用於裝置間之溝通。其中一個實施例中,每個其中之一處理器核心110與一或複數個周邊裝置130溝通。因此,從一系統路徑的觀點來看一點對點網路間之每個對處理器/周邊效率不佳。反而會使用一晶片內之多層高速匯流排,例如一晶片內網路(Network-on-Chip,下稱NOC)。在實施例系統100(第1圖)中,網路120係為一NOC,作為用於處理器核心110和周邊裝置130間之資訊流量之一傳輸子系統。其中一個實施例中,處理器核心110和周邊裝置130間之通訊被數位化並產生封包。例如,由一處理器至一周邊裝置之一封包,該封 包包括一來源位址辨識處理器、一目標位址辨識周邊裝置、和由周邊裝置執行的一或複數個指令。一旦收到封包,周邊裝置即執行指令並接著將一回應封包送回處理器。回應封包類似地也包括一來源和目標位址,並更包括一結果相關指令。例如,結果能夠包括由一記憶體讀取的資料、由一用戶收集的資料、或僅是收到指令的一確認。網路120包括辨識一封包之來源/目標位址並將封包傳送至合適的接收端之一路由器(或一開關)。在系統100中,一封包可以是一單播封包(從其中之一處理器110到其中之一周邊裝置130)、一多播封包(從其中之一處理器110到多個周邊裝置130)、或一廣播封包(從其中之一處理器100到所有周邊裝置130)。
系統100更包括電力調節器和分配器(distributors)(未圖示),用於提供電力由一電源,例如一電池,至處理器核心110、周邊裝置130、和網路120。系統100更包括時脈源和時脈分配網路(未圖示),用於控制一操作頻率處理器核心之110、周邊裝置130、和網路120。例如,時脈源可包括一震盪器、一鎖相回路(phase-locked loop,PLL)、一除頻器、一時脈倍頻器、以及其他等等。
由於系統100中所有這些元件,各種裝置的電力損耗管理以及節省能量變成一主要議題。這是由於系統100通常由一單獨電源,也就是電池供電,充電後的電池有限。對於這個議題的其中一種態度是,根據觀察一半導體裝置之動態電力消耗是用於半導體裝置之一供電電壓的平方成正比,且和用於半導體裝置之一時脈訊號頻率成正比。另一觀察是處理器 110不需在所有的時間都運作。例如,直到發送一任務給一處理器之前處理器可留在一待機模式。在待機模式中,處理器以極低頻或低壓可運作。只有在接收任務後處理器才需切換到一全振幅時脈頻率和/或電壓。因此,藉由動態調整供電電壓和時脈頻率處理器核心之110會減低系統100的電力損耗。還有其他觀察,像是所有系統100上運作的任務並不都需要相同量的電力損耗。例如,對於在一日曆中設定一約會的一任務,其應用程式不會消耗像運作其他任務所需一樣多的電力,該其他任務例如三維(three-dimensional,3D)遊戲應用程式。根據以上各種觀察,其中一種電力管理方法係為將系統100上運作的應用程式(或任務)分類為許多策略,其中,每個策略以一電壓/頻率對的形式和一電力需求相關。當系統100之一操作系统核心發送一應用程式至其中之一處理器110時就會引發相關策略,使得操作控制器裝置112相應設定個別處理器的電壓/頻率。然而,這種方式通常使用一固定應用程式對策略對應,因此對新應用程式不易有可適性(scalable)。
第2圖係為本發明實施例中一種多核系統200的方塊圖。系統200和系統100相似,但是系統200包括以通訊鏈結140和150分別耦接處理器核心110和網路120間之一流量監控器210。流量監控器210用於收集關於處理器核心110和周邊裝置130間之流通的異動統計。操作系統(OS)核心(未圖示)週期性存取統計1並相應調整系統200之操作條件。以下本發明說明書將會詳細描述收集、存取、以及調整的操作動作。架構系統200之基本原理為當運作時,處理器核心110通 常比周邊裝置130消耗更多電力。因此,知道之一特定時間期間(一取樣期間)內,有多少時間用於處理器核心110上而非周邊裝置130上之運作之異動會很有用。為了適應此種異動模式,藉由針對一或複數個取樣期間評估一處理器核心之異動統計,處理器核心之一合適電源模式,例如一電壓和頻率設定會被預測並接著應用於處理器核心。這個方法不依賴一應用程式-策略的對應關係。確切來說,這個方法分析處理器的最近活動並調整其操作電壓和頻率適應性。因此,其具有邊做邊學的能力且比以固定策略為基礎之電壓-頻率適性方法更有彈性。本發明中將此方法稱為適性電壓和頻率縮放(Adaptive Voltage and Frequency Scaling,下稱AVFS)。
其中一個實施例中,根據一取樣期間中一能量損耗之一估計值以及用於處理器110之效能損耗,一處理器110之電壓/頻率設定可被適性改變。例如,於一取樣期間中當處理器110之供電電壓為V1時,需要低於V1電壓之一任務將會造成一能量損耗。換句話說,能夠於處理器110上運作之任務具有一較低電壓且同時仍滿足其需求。另一方面,由於任務將無法以處理器110固定在V1的供電電壓準時完成,需要低於V1電壓之一任務將會造成一效能損耗。根據觀測資料,主要在處理器核心110上運作之任務在統計上較多效能導向。因而,當運作這種任務時增加處理器110核心之供電電壓將會減低系統200之效能損耗。相對地,主要在周邊裝置130上運作之任務在統計上較少效能導向。因而,當運作這種任務時減低處理器110核心之供電電壓將會減低系統200之能量損耗。因 此,根據監控器裝置210收集的異動統計可能可以預測在最近將來的異動模式並接著調整供電電壓和/或操作頻率處理器核心之110為了最小化效能損失、能量損失、或其中之一種結合。
第3A圖係為本發明實施例中一種監控器裝置210一部分的顯示圖。監控器裝置210包括一位址解碼器302、一開始時間維持器304、一結束時間維持器306、以及一儲存單元308。位址解碼器302都經由輸入312和輸出314連結至處理器核心110(第2圖)。開始/結束時間維持器304和306分別經由輸出316和輸入318連接至某些網路120之路由邏輯電路(第2圖)。儲存單元308儲藏複數個記錄322。每個記錄322儲存某些關於其中之一處理器核心110和其中之一周邊裝置130間異動之統計。
監控器裝置210的運作機制會在之後解釋。當其中之一處理器核心110執行一任務時會產生目的地為一或複數個周邊裝置130的一或複數個指令(或指令封包)。在網路120對其安排到合適的目標的路線前,這些指令會通過監控器裝置210,特別是通過位址解碼器302和開始時間維持器304。對每個指令來說,位址解碼器302辨識指令的目標/來源位址;開始時間維持器304獲得一目前時戳作為指令的一開始時間;且一記錄322被產生並儲存於儲存單元308。記錄322表示處理器核心之辨識值、目標周邊裝置之辨識值、以及指令的開始時間。在周邊裝置已經完成指令後,會將一回應(或一回應封包)傳回,該回應可例如為一確認封包。在由各自處理器核心接收前,該回應通過監控器裝置210,特別是通過結束時間維持器 306和位址解碼器302。類似地,結束時間維持器306獲得一目前時戳作為個別指令之一結束時間、位址解碼器302辨識回應的目標/來源位址,且記錄322接著刷新(或更新)指令的結束時間。
其中一個實施例中,監控器裝置210被夾在處理器核心110和網路120之間,使得所有指令/回應通過監控器裝置210(第2圖)。因此指令和回應的延遲增加,同時造成系統路徑簡化。於其他實施例中,如第3B圖所示,監控器裝置210裝設於處理器核心110和網路120間之通訊鏈結。每個通訊鏈結皆叉開並接入監控器裝置210。以這個方式,監控器裝置210只偵測通訊鏈結上之指令/回應並不會讓指令/回應增加延遲。
其中一個實施例中,於系統200之一初始發展階段期間,以異動層級模型(Transaction Level Model,TLM)取代暫存器轉移階層(Register Transfer Level,RTL)對系統200之監控器裝置210、網路120、和/或其他元件(第2圖)進行模擬。TLM將模組中之通訊細節由模組硬體實現細節當中隔離開來。因此,它讓系統設計者體驗到不同網路架構的快速原形製作。
第4圖係為本發明實施例中一種具有硬體和軟體平台兩者之系統400的顯示圖。系統400包括一多核硬體平台,例如系統200、一AVFS裝置驅動程式414、一操作系统412、各種任務(或應用程式)410、以及一AVFS評估任務408。每個任務410係於其中之一處理器核心110之上執行。某些任務可更涉及一或複數個周邊裝置130。AVFS評估任務408於其中 之一處理器核心110之上執行,為了簡便處理器核心110稱為CPU-0。AVFS評估任務408讓CPU-0週期性存取儲存於監控器裝置210之儲存單元308內之異動統計,評估某些系統效能/能量度量值,且針對每個處理器核心110的電壓和頻率進行適應性調整。其中一個實施例中,除了任務408外CPU-0也會執行一或複數個任務410。
第5圖係為本發明實施例中一種AVFS評估任務408的流程圖。任務408將與第4圖的系統400一起解釋。
於操作動作510中,任務408初始化各種系統元件。例如,任務408針對每個處理器核心110設定一初始電源模式(例如一電壓/頻率設定);任務408清除儲存單元308使其準備好收集異動統計;以及其他等等。
於操作動作512中,系統400執行一或複數個任務410(第4圖)。當處理器核心110和周邊裝置130間交換異動時,監控器裝置210收集關於異動的統計,包括由其中之一處理器核心110傳送一指令到由其中之一處理器核心110接收該指令之一回應之間之一延遲。其中一個實施例中,監控器裝置210針對每對處理器和周邊裝置儲存一集合延遲,該集合延遲係針對每對間之所有異動之一延遲總和。在換到操作動作514之前,任務408繼續操作動作512一個取樣期間。取樣期間長度係為根據系統400之標的應用程式一用戶定義參數及其選擇。一方面,取樣期間應長到足夠讓異動數量代表每個處理器核心110之一典型工作量。另一方面,取樣期間應短到足夠讓系統操作條件會以及時的方式進行調整以達到系統效能/能 量需求。其中一個實施例中,合適的取樣期間設定由使用系統400操作TLM模擬來判定。其中一個實施例中,取樣期間為20毫秒(milliseconds,ms)。
於操作動作514中,任務408造成CPU-0從監控器裝置210讀取異動統計,並將結果儲存在CPU-0的局部記憶體。其中一個實施例中,操作動作514也清除監控器裝置210之儲存單元308使得異動統計針對每個取樣期間得到一新開始。
於操作動作516中,任務408根據目前收集的異動統計決定是否評估某些系統度量值。例如,任務408可於每個N取樣期間後評估系統400的效能和/或能量損耗數據,其中N係一大於或等於1之整數。若任務408決定不要評估系統度量值,任務408會回到操作動作512收集更多異動統計。反之,任務408會處理操作動作518。
於操作動作518中,任務408根據先前取樣期間中由操作動作512和514收集的異動統計,針對每個處理器核心110計算一組系統度量值。其中一個實施例中具有N個取樣期間要評估(N係為一用戶定義整數,大於或等於1)且針對每個整數i□[1,N],系統度量值組包括下列數值:Ti io=取樣期間i內屬於IO的流量執行時間;Ti cpu=取樣期間i內屬於CPU的流量執行時間;μi=取樣期間i內之效能索引(0μi1);Li P=取樣期間i內之效能損耗;Li E=取樣期間i內之能量損耗;以及 Li T=取樣期間i內之總共損耗。
為了計算一或複數個以上系統度量值而使用以下用戶定義參數:Sp=每個N取樣期間的長度;μmean=針對一特定電源模式的平均值效能索引;以及α=效能和能量損耗(0α1)間之取捨參數。
其中一個實施例中,針對其中之一處理器核心110計算一或複數個以上的系統度量值組可以使用以下步驟進行,為了簡便處理器核心110稱為CPU-n:步驟1:計算Ti io:Ti io=CPU-n以及所有可實施周邊裝置130間之指令/回應的一集合延遲(或回應時間),該集合延遲由監控器裝置210在取樣期間i中測量。
步驟2:計算Ti cpuT i cpu =S p -T i io (1)
步驟3:計算效能索引μi
步驟4:藉由在一用戶定義查找表中查找μmean,而找出μmean,該用戶定義查找表將CPU-n之目前電源模式匹配到平均值(其中一個例子以第6圖的5個電源模式顯示),並計算效能/能量損失:
步驟5:使用用戶定義的取捨參數α計算總共損耗:L i T =α×L i P +(1-αL i E (5)
步驟6:若有的話根據取樣期間和先前取樣期間計算一加權總共損耗,其中β係為一用戶定義參數,0 β 1,且w 0=0:w i =w i-1×β+(1-βL i T (6)
步驟7:針對每個取樣期間i[1,N]重複步驟1-6,接著針對每個i[1,N]計算一機率Pi
步驟8:選擇取樣期間k其中,Pk係為機率P1到PN中之最大機率。接著在取樣期間k內使用一或複數個系統度量值測量或計算藉以預測系統400在下個評估期間內之一操作條件。
於操作動作520中,任務408使用操作動作518的系統度量值組計算藉以預測CPU-n下個評估期間之一操作條件。其中一個實施例中,任務408使用μk,μk在上面步驟(2)和(8)中計算/判定一段取樣期間k,藉以查找一用戶定義查找表,用於對CPU-n判定一合適電源模式。第7圖顯示本發明實施例中之一種用戶定義查找表,其具有5個電源模式,且每個電源模式以一對電壓頻率設定的形式記錄。例如,若μk為0.45,則會選擇電源模式3。
於操作動作522中,任務408讓系統400藉由使 用AVFS裝置驅動程式414以及分別操作控制器裝置112來調整CPU-n的操作條件。
其中一個實施例中,針對每個處理器核心110會一個接一個執行操作動作518、520、和522。或是會針對二或複數個處理器核心110同時執行。
在處理器核心110之操作條件已調整後,任務408回到操作動作512進行下個評估。
本發明描述之各種邏輯區塊、模組、以及電路可以使用通用處理器、數位訊號處理器(Digital Signal Processor,DSP)、特定應用積體電路(Application Program Specific Integrated Circuit,ASIC)、或其他可程控邏輯元件、離散式邏輯電路或電晶體邏輯閘、離散式硬體元件、或用於執行本發明所描述之執行的功能之其任意組合。通用處理器可以為微處理器,或者,該處理器可以為任意商用處理器、控制器、微處理器、或狀態機。
說明書使用之"判定”一詞包括計算、估算、處理、取得、調查、查找、確定、以及類似意義。"判定”也包括解決、偵測、選擇、獲得、以及類似的意義。
本發明描述之各種邏輯區塊、模組、單元、以及電路的操作以及功能可以利用電路硬體或嵌入式軟體碼加以實現,該嵌入式軟體碼可以由一處理器存取以及執行。
本發明雖以實施例揭露如上,然其並非用以限定本發明,任何熟習此項技藝者,在不脫離本發明之精神和範圍內,當可做些許的更動與潤飾,因此本發明之保護範圍當視後 附之申請專利範圍所界定者為準。
408‧‧‧AVFS評估任務
510、512、...、522‧‧‧步驟

Claims (14)

  1. 一種管理系統,包括:一監控單元;複數個處理單元,其中,每個上述處理單元都連結至上述監控單元;以及複數個周邊單元,其中,每個上述周邊單元都連結至上述監控單元;其中,每個上述處理單元經由上述監控單元將請求傳送至至少一個上述周邊單元並接著由至少一個上述周邊單元接收回應;以及上述監控單元用於量測以及儲存上述回應以及上述請求間之延遲。
  2. 如申請專利範圍第1項所述之管理系統,更包括:一記憶體單元包括一組計算機可讀取指令,當由上述處理單元執行時,會讓上述處理單元之一進行以下步驟:存取上述監控單元中儲存之上述延遲;根據至少部分上述延遲計算上述系統之一效能度量值;以及根據上述效能度量值,讓上述系統調整上述系統之一電源模式。
  3. 如申請專利範圍第2項所述之管理系統,其中,上述電源模式包括:上述系統之一操作頻率之一設定;以及上述系統之一供電電壓之一設定。
  4. 如申請專利範圍第1項所述之管理系統,其中,上述監控單元包括:一儲存單元;以及控制邏輯藉以執行下述功能:當上述監控單元偵測到從上述處理單元其中之一至上述周邊單元其中之一的一請求時,記錄一第一時間;當上述監控單元偵測從上述周邊單元之上述其中之一的一分別回應時,記錄一第二時間;計算上述第一時間以及第二時間間之一第一差值;以及將上述第一差值更新於上述儲存單元中之一記錄,其中,上述記錄係獨特相關於上述其中之一上述處理單元。
  5. 一種多核系統,包括:一第一複數個處理器核心;一第二複數個周邊裝置,用於經由一通訊網路,由上述第一複數個處理器核心接收指令以及傳送分別回應至上述第一複數個由上述第一複數個處理器核心;一流量監控器裝置,用於監控上述通訊網路上之上述指令以及上述分別的回應,並儲存至少某些上述指令以及上述分別的回應之一記錄;以及一記憶體,包括一組計算機可讀取指令,當由上述第一複數個之其中之一執行時,會讓上述系統進行以下步驟:存取上述記錄;根據至少部分上述記錄評估一策略;以及根據上述策略調整上述系統之一操作條件。
  6. 如申請專利範圍第5項所述之多核系統,其中,上述操作條件係為:上述系統之一操作頻率、上述系統之一供電電壓、或其中一種結合。
  7. 如申請專利範圍第5項所述之多核系統,其中,上述流量監控器裝置依附至上述通訊網路藉以大致不將延遲加入上述通訊網路。
  8. 如申請專利範圍第5項所述之多核系統,其中,上述記錄儲存於一堆疊暫存器之中,包括:一複數個輸入值;每個上述輸入值係獨特相關於其中之一上述處理器核心;以及每個上述輸入值包括相關指令之一延遲,以及上述處理器核心之上述其中之一以及至少一個上述周邊裝置間之分別的回應。
  9. 一種管理方法,管理一多核系統之電力損耗,其中,上述多核系統包括連接至周邊裝置之處理器核心,以及每個上述處理器核心用於以一各自的第一電源模式運作,並更用於傳送指令至至少一個上述周邊裝置以及由上述至少一個上述周邊裝置接收回應,對於每個上述處理器核心,上述方法包括下列步驟:在一取樣期間內測量一第一執行時間,其中,上述第一執行時間係為上述各自處理器核心所傳送之上述指令的一集合指令-回應延遲;根據上述第一執行時間以及一第一組用戶定義標準計算一 第一組度量值至少;至少根據上述第一組度量值以及一第二組用戶定義標準預測一第二電源模式;以及根據第二電源模式分別調整上述處理器核心之一操作條件。
  10. 如申請專利範圍第9項所述之管理方法,其中,上述測量上述第一執行時間步驟包括:初始一計算機可存取儲存單元;當一指令從上述各自的處理器核心傳送至上述周邊裝置其中之一時,記錄一開始時間;當上述指令之一回應從上述周邊裝置其中之一傳送至上述各自的處理器核心時,記錄一結束時間;計算從上述開始時間到上述結束時間之一延遲;將上述延遲加入至上述計算機可存取儲存單元;以及重複一取樣期間內之上述記錄步驟、上述計算步驟、以及上述加入步驟。
  11. 如申請專利範圍第9項所述之管理方法,其中,上述調整上述各自的處理器核心之上述操作條件包括:調整上述各自的處理器核心之一供電電壓;以及調整上述各自的處理器核心之一操作頻率。
  12. 如申請專利範圍第9項所述之管理方法,其中,上述計算上述第一組度量值包括下述步驟:藉由從上述取樣期間將上述第一執行時間減掉來計算一第二執行時間; 計算第二執行時間對上述取樣期間之一比值為一第一效能索引μ1;根據上述各自的處理器核心之上述第一組用戶定義標準以及上述第一電源模式來獲取一第二效能索引μ2;如以下算式,計算一效能損失LP,以及一能量損失LE:若μ12,則LP12,以及LE=0;若是其他,則LP=0,以及LE21;以及藉由LT=α×LP+(1-α)×LE來計算一總共損失LT,其中,α係為一用戶定義參數以及0α1。
  13. 如申請專利範圍第12項所述之管理方法,更包括於上述預測步驟之前:針對N個取樣期間重複上述測量步驟以及上述計算上述第一組度量值步驟,其中,N係為一用戶定義整數且N大於1;針對上述N個取樣期間之每i個取樣期間,計算一加權總共損失Wi,其中,所有整數i[1,N],係為上述第i個取樣期間之上述總共損耗,β係為一用戶定義參數,0β1,且W0=0;針對上述N取樣期間之每j個取樣期間,計算一機率Pj,其中,所有整數j[1,N];以及選擇上述第m個取樣期間之上述第一組度量值用於上述預測步驟之中,其中,1mN以及上述第m個取樣期間的機率Pm係為所有上述機率P1到PN中之上述最大機率。
  14. 如申請專利範圍第9項所述之管理方法,更包括:針對至少兩個上述處理器核心同時執行上述測量、計算、 預測、以及調整步驟。
TW103129146A 2014-01-10 2014-08-25 管理系統、多核系統和其管理方法 TWI542986B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/152,607 US9625971B2 (en) 2014-01-10 2014-01-10 System and method of adaptive voltage frequency scaling

Publications (2)

Publication Number Publication Date
TW201527942A true TW201527942A (zh) 2015-07-16
TWI542986B TWI542986B (zh) 2016-07-21

Family

ID=53484825

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103129146A TWI542986B (zh) 2014-01-10 2014-08-25 管理系統、多核系統和其管理方法

Country Status (4)

Country Link
US (1) US9625971B2 (zh)
CN (1) CN104778112B (zh)
DE (1) DE102014119155B4 (zh)
TW (1) TWI542986B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10466754B2 (en) * 2014-12-26 2019-11-05 Intel Corporation Dynamic hierarchical performance balancing of computational resources
US20160292015A1 (en) * 2015-04-03 2016-10-06 Qualcomm Innovation Center, Inc. Processor frequency scaling based upon load tracking of dependent tasks
US10627885B2 (en) * 2018-01-09 2020-04-21 Intel Corporation Hybrid prioritized resource allocation in thermally- or power-constrained computing devices
US11048318B2 (en) * 2018-12-06 2021-06-29 Intel Corporation Reducing microprocessor power with minimal performance impact by dynamically adapting runtime operating configurations using machine learning
CN112292652B (zh) * 2019-02-27 2023-06-02 华为技术有限公司 一种动态电压频率调整系统和方法
GB2586029B (en) * 2019-07-29 2022-07-27 Siemens Ind Software Inc Emulating broadcast in a network on chip
WO2022041251A1 (zh) * 2020-08-31 2022-03-03 华为技术有限公司 一种功率预算的分配方法及相关设备
CN116931703B (zh) * 2023-09-18 2023-12-26 惠州市鑫晖源科技有限公司 基于数据分析的电竞主机电源电压调整方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7290156B2 (en) 2003-12-17 2007-10-30 Via Technologies, Inc. Frequency-voltage mechanism for microprocessor power management
TWI243983B (en) 2004-08-03 2005-11-21 Via Tech Inc System and method of power management
US7386739B2 (en) 2005-05-03 2008-06-10 International Business Machines Corporation Scheduling processor voltages and frequencies based on performance prediction and power constraints
CN101223745A (zh) * 2005-07-19 2008-07-16 皇家飞利浦电子股份有限公司 用于通信资源分配的电子设备和方法
US7263457B2 (en) 2006-01-03 2007-08-28 Advanced Micro Devices, Inc. System and method for operating components of an integrated circuit at independent frequencies and/or voltages
JP4839164B2 (ja) * 2006-09-15 2011-12-21 株式会社日立製作所 ハードウェアモニタを用いた性能評価システム及び再構築可能な計算機システム
EP2362297B1 (en) 2010-02-25 2014-05-14 Telefonaktiebolaget L M Ericsson (publ) Technique for selecting a frequency of operation in a processor system
US8713277B2 (en) * 2010-06-01 2014-04-29 Apple Inc. Critical word forwarding with adaptive prediction
KR102001414B1 (ko) * 2012-09-27 2019-07-18 삼성전자주식회사 데이터 트랜잭션에 따라 전력공급을 제어하는 시스템-온-칩 및 그 동작방법
US9629104B2 (en) * 2013-11-27 2017-04-18 At&T Intellectual Property I, Lp Client-side scheduling for media transmissions according to client device states

Also Published As

Publication number Publication date
CN104778112B (zh) 2018-06-26
DE102014119155A1 (de) 2015-07-16
CN104778112A (zh) 2015-07-15
DE102014119155B4 (de) 2020-07-16
US20150198997A1 (en) 2015-07-16
TWI542986B (zh) 2016-07-21
US9625971B2 (en) 2017-04-18

Similar Documents

Publication Publication Date Title
TWI542986B (zh) 管理系統、多核系統和其管理方法
Zhu et al. Task offloading decision in fog computing system
Xia et al. Phone2Cloud: Exploiting computation offloading for energy saving on smartphones in mobile cloud computing
JP5792836B2 (ja) 電力しきい値を使用したモバイル通信端末のためのスマート電力マネージメントの方法および装置
TWI513343B (zh) 在低功率模式下用於管理通訊鏈接及網路連接性之設備與系統
US11206193B2 (en) Method and system for provisioning resources in cloud computing
CN106844051A (zh) 一种边缘计算环境中功耗优化的负载任务迁移算法
US20150106649A1 (en) Dynamic scaling of memory and bus frequencies
CN104508594A (zh) 在处理器中配置功率管理功能
CN110138732A (zh) 访问请求的响应方法、装置、设备及存储介质
CN112292652B (zh) 一种动态电压频率调整系统和方法
US11546857B2 (en) Wireless sensor network for pipeline fluid leakage measurement
US20070214374A1 (en) Ultra low power system for sensor network applications
Kayaaslan et al. Energy-price-driven query processing in multi-center web search engines
Li et al. Method of resource estimation based on QoS in edge computing
Paul Real-time power management for embedded M2M using intelligent learning methods
Shekhar et al. URMILA: Dynamically trading-off fog and edge resources for performance and mobility-aware IoT services
CN114661456A (zh) 用于工业控制系统的时间感知通用输入输出
Lahmar et al. Wireless sensor networks: Trends, power consumption and simulators
CN106055079A (zh) 一种中央处理器的管理方法、及装置
Cho et al. A battery lifetime guarantee scheme for selective applications in smart mobile devices
CN104782171A (zh) 信道感知任务调度
CN104956345B (zh) 基于响应定时优化在多处理器系统中执行频率协调
Banerjee et al. Triage: balancing energy and quality of service in a microserver
Chen et al. Optimal offloading control for a mobile device based on a realistic battery model and semi-Markov decision process