TWI624756B - 具有多核心處理器的電子裝置以及多核心處理器的管理方法 - Google Patents

具有多核心處理器的電子裝置以及多核心處理器的管理方法 Download PDF

Info

Publication number
TWI624756B
TWI624756B TW105138691A TW105138691A TWI624756B TW I624756 B TWI624756 B TW I624756B TW 105138691 A TW105138691 A TW 105138691A TW 105138691 A TW105138691 A TW 105138691A TW I624756 B TWI624756 B TW I624756B
Authority
TW
Taiwan
Prior art keywords
processor
candidate
settings
setting
cores
Prior art date
Application number
TW105138691A
Other languages
English (en)
Other versions
TW201727435A (zh
Inventor
黃俊銘
Chun Ming Huang
薛友倫
You Lung Hsueh
Original Assignee
宏達國際電子股份有限公司
Htc Corporation
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 宏達國際電子股份有限公司, Htc Corporation filed Critical 宏達國際電子股份有限公司
Publication of TW201727435A publication Critical patent/TW201727435A/zh
Application granted granted Critical
Publication of TWI624756B publication Critical patent/TWI624756B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • 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
    • 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/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5012Processor sets
    • 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)
  • Power Sources (AREA)

Abstract

一種應用於多核心處理器的管理方法包括:決定複數候選處理器設置,其中該些候選處理器設置相應的計算效能高於相應於一當前處理器設置的計算效能,且每一該些候選處理器設置包括一啟動核心數及一處理器頻率;根據相應於該些候選處理器設置的能耗,在該些候選處理器設置中選出一者作為一更新處理器設置;以及根據該更新處理器設置的該啟動核心數及該處理器頻率執行複數作業。

Description

具有多核心處理器的電子裝置以及多核心處理器的管理方法
本案涉及裝置、方法、及非揮發性電腦可讀取記錄媒體。具體而言,本案涉及具多核心處理器的電子裝置、多核心處理器的管理方法、以及非揮發性電腦可讀取記錄媒體。
隨電子科技的進展,具有多核心處理器(multi-core processor)的電子裝置已被廣泛地應用。
多核心處理器具有複數處理器核心(processor core)。此些處理器核心可根據實際需求被分別啟動或關閉。越多處理器核心啟動,則計算效能 (performance)越多且能耗越大,反之亦然。因此,多核心處理器的管理為相關領域中的重要研究議題。
本案一實施態樣涉及一種應用於多核心處理器的管理方法。根據本案一實施例,該管理方法包括:決定複數候選處理器設置(processor configuration),其中該些候選處理器設置相應的計算效能(performance)高於相應於一當前處理器設置的計算效能,且每一該些候選處理器設置包括一啟動核心數(active core number)及一處理器頻率(processor frequency);根據相應於該些候選處理器設置的能耗(power consumption),在該些候選處理器設置中選出一者作為一更新處理器設置;以及根據該更新處理器設置的該啟動核心數及該處理器頻率執行複數作業(task)。
本案另一實施態樣涉及一種電子裝置。根據本案一實施例,該電子裝置包括一多核心處理器、一記憶體、以及一或多程式。該記憶體電性連接該多核心處理器。該一或多程式儲存於該記憶體中,並用以被該多核心處理器所執行。該一或多程式包括以下指令:決定複數候選處理器設置,其中該些候選處理器設置相應的計算效能高於相應於一當前處理器設置的計算效能,且每一該些候選處理器設置包括一啟動核心數及一處理器頻率;根據相應於該些候選處理器設置的能耗,在該些候選處理器設置中選出一者作為一更 新處理器設置;以及根據該更新處理器設置的該啟動核心數及該處理器頻率執行複數作業。
本案一實施態樣涉及一種應用於多核心處理器的管理方法。根據本案一實施例,該管理方法包括:決定複數候選處理器設置,其中該些候選處理器設置相應的能耗低於相應於一當前處理器設置的能耗,且每一該些候選處理器設置包括一啟動核心數及一處理器頻率;根據相應於該些候選處理器設置的計算效能,在該些候選處理器設置中選出一者作為一更新處理器設置;以及根據該更新處理器設置的該啟動核心數及該處理器頻率執行複數作業。
本案另一實施態樣涉及一種電子裝置。根據本案一實施例,該電子裝置包括一多核心處理器、一記憶體、以及一或多程式。該記憶體電性連接該多核心處理器。該一或多程式儲存於該記憶體中,並用以被該多核心處理器所執行。該一或多程式包括以下指令:決定複數候選處理器設置,其中該些候選處理器設置相應的能耗低於相應於一當前處理器設置的能耗,且每一該些候選處理器設置包括一啟動核心數及一處理器頻率;根據相應於該些候選處理器設置的計算效能,在該些候選處理器設置中選出一者作為一更新處理器設置;以及根據該更新處理器設置的該啟動核心數及該處理器頻率執行複數作業。
通過應用上述一實施例的操作,即可在考量能耗的情況下增加多核心處理器的計算效能。
100‧‧‧電子裝置
110‧‧‧多核心處理器
CR1-CR8‧‧‧處理器核心
120‧‧‧記憶體
200‧‧‧管理方法
S1-S3‧‧‧操作
300‧‧‧管理方法
T1-T5‧‧‧操作
400‧‧‧管理方法
U1-U3‧‧‧操作
500‧‧‧管理方法
V1-V5‧‧‧操作
第1圖為根據本案一實施例所繪示的電子裝置的示意圖;第2圖為根據本發明一實施例所繪示的管理方法的流程圖;第3圖為根據本發明另一實施例所繪示的管理方法的示意圖;第4圖為根據本發明另一實施例所繪示的管理方法的示意圖;以及第5圖為根據本發明另一實施例所繪示的管理方法的示意圖。
以下將以圖式及詳細敘述清楚說明本揭示內容之精神,任何所屬技術領域中具有通常知識者在瞭解本揭示內容之實施例後,當可由本揭示內容所教示之技術,加以改變及修飾,其並不脫離本揭示內容之精神與範圍。
關於本文中所使用之『電性連接』,可指二或多個元件相互直接作實體或電性接觸,或是相互間接作實體或電性接觸,而『電性連接』還可指二或多個元件元件相互操作或動作。
關於本文中所使用之『第一』、『第二』、...等,並非特別指稱次序或順位的意思,亦非用以限定本發明,其僅為了區別以相同技術用語描述的元件或操作。
關於本文中所使用之『包含』、『包括』、『具有』、『含有』等等,均為開放性的用語,即意指包含但不限於。
關於本文中所使用之『及/或』,係包括所述事物的任一或全部組合。
關於本文中所使用之方向用語,例如:上、下、左、右、前或後等,僅是參考附加圖式的方向。因此,使用的方向用語是用來說明並非用來限制本案。
關於本文中所使用之用詞(terms),除有特別註明外,通常具有每個用詞使用在此領域中、在此揭露之內容中與特殊內容中的平常意義。某些用以描述本揭露之用詞將於下或在此說明書的別處討論,以提供本領域技術人員在有關本揭露之描述上額外的引導。
本發明的一實施態樣涉及一種電子裝置。在以下段落中,將以一智慧型電話為例對電子裝置的細節進行描述,然而其它電子裝置,如桌上型電腦或平板電腦亦在本案範圍之中。
第1圖為根據本案一實施例所繪示的電子裝置100的示意圖。在本實施例中,電子裝置100包括多核心處理器110以及記憶體120。在一實施例中,多核心處理器110電性連接記憶體120。
在一實施例中,多核心處理器110包括處理器核心CR1-CR8。在一實施例中,處理器核心CR1-CR8電性連接記憶體120。在一實施例中,處理器核心CR1-CR8可為中央處理器核心(CPU core)。在一實施例中,處理器核心CR1-CR8可用各種處理器頻率(如中央處理器頻率(CPU frequency))執行程序。應注意到,其它數量的處理器核心亦在本案範圍之中。
在一實施例中,處理器核心CR1-CR8可用一或多個處理器晶片或處理電路實現,但不以此為限。在一實施例中,記憶體120可包括一或多個記憶體裝置,其中每一記憶體裝置或多個記憶體裝置之集合包括電腦可讀取記錄媒體。記憶體120可包括唯讀記憶體、快閃記憶體、軟碟、硬碟、光碟、隨身碟、磁帶、可由網路存取之資料庫、或熟悉此技藝者可輕易思及具有相同功能之電腦可讀取紀錄媒體。
在一實施例中,多核心處理器110可運行或執行儲存於記憶體120中的各種軟體程式及/或指令集,以執行電子裝置100的各種功能。
在一實施例中,記憶體120儲存多種處理器設置(processor configuration)。每一處理器設置包括一啟動處理器核心數(activated processor core number)及一處理器頻率(processor frequency)。多核心處理器110可根據記憶體120儲存的處理器設置中的一者(如當前處理器設置),啟動特定數量的處理器核心CR1-CR8,並使其具有特定的處理器頻率,以執行複數作業(task)。舉例而言,當 當前處理器設置的啟動處理器核心數為3,且當前處理器設置的處理器頻率為1.3GHz時,多核心處理器110啟動3個處理器核心(如處理器核心CR1-CR3),並使此3個處理器核心具有處理器頻率1.3GHz,以執行前述複數作業。
當需要增加多核心處理器110的計算效能時,多核心處理器110可從儲存於記憶體120的處理器設置中,決定(如執行初始選擇)複數候選處理器設置,其中相應於候選處理器設置的計算效能皆高於相應於當前處理器設置的計算效能。
接著,多核心處理器110可根據相應於前述候選處理器設置的能耗,在前述候選處理器設置中選出一者作為一更新處理器設置。接著,多核心處理器110可用此一更新處理器設置以更新前述當前處理器設置,以根據此一更新處理器設置的啟動核心數及處理器頻率執行前述複數作業。舉例而言,當更新處理器設置的啟動處理器核心數為4,且更新處理器設置的處理器頻率為1.1GHz時,多核心處理器110啟動4個處理器核心(如處理器核心CR1-CR4),並使此4個處理器核心具有處理器頻率1.1GHz,以執行前述複數作業。
另一方面,當需要降低多核心處理器110的計算效能或能耗時,多核心處理器110可從儲存於記憶體120的處理器設置中,決定複數候選處理器設置,其中相應於此些候選處理器設置的能耗低於相應於當前處理器設置的能耗。
接著,多核心處理器110可根據相應於此些候選處理器設置的計算效能,在此些候選處理器設置中選出一者作為一更新處理器設置。接著,多核心處理器110可用此一更新處理器設置以更新前述當前處理器設置,以根據此一更新處理器設置的啟動核心數及處理器頻率執行前述複數作業。
透過上述的操作,可在考量能耗的狀況下增加或降低多核心處理器110的效率。
以下將藉由第2圖中的管理方法200以提供本案更具體細節,然本案不以下述實施例為限。
參照第1、2圖,管理方法200包括以下操作。
在操作S1中,多核心處理器110決定複數候選處理器設置,其中相應於此些候選處理器設置的計算效能高於相應於一當前處理器設置的計算效能。在一實施例中,此些候選處理器設置為前述儲存於記憶體120的複數處理器設置中的一部份。在一實施例中,每一候選處理器設置包括一啟動核心數及一處理器頻率。
在一實施例中,決定複數候選處理器設置的操作係在需要增加多核心處理器110的計算效能時執行。在一實施例中,當啟動的處理器核心的平均處理負荷量(average processor usage)高於預設門檻時(如80%),則判斷需要增加多核心處理器110的計算效能。在一實施例中,當收到效能增加要求(例如來自於使用者,作業系統排程器,或內部/外部控制器)時,則判斷需要增加多核心處理 器110的計算效能。應注意到,在多種不同狀況下皆可能需要增加多核心處理器110的計算效能,且本案不以上述實施例為限。
在操作S2中,多核心處理器110根據相應於前述候選處理器設置的能耗,在前述候選處理器設置中選出一者作為一更新處理器設置。
在一實施例中,多核心處理器110可選擇前述候選處理器設置中的一者,其相應的能耗低於前述候選處理器設置中的其它者所相應的能耗。亦即,對應於前述候選處理器設置中選出的該者(即更新處理器設置)的能耗為對應於前述候選處理器設置的能耗中的最低者。
在操作S3中,在更新處理器設置決定後,多核心處理器110根據更新處理器設置的啟動核心數及處理器頻率執行複數作業。
透過上述的操作,可在考量能耗的狀況下增加多核心處理器110的效率。
在本案的一實施例中,在操作S1中,多核心處理器110可進一步取得一最大啟動核心數(maximum effective processor core)。在一實施例中,所述最大啟動核心數對應於待處理作業(pending task)可被同時處理的最大數量。舉例而言,當多核心處理器110的待處理作業可被最多5個處理器核心同時處理時,最大啟動核心數可為5。在一實施例中,最大啟動核心數可相等於多核心處理器110的當前進程佇列長度(current run queue length)。
在取得最大啟動核心數後,多核心處理器110可決定複數候選處理器設置,其中此些候選處理器設置相應的計算效能高於相應於當前處理器設置的計算效能,並且此些候選處理器設置的啟動核心數不高於最大啟動核心數。舉例而言,當最大啟動核心數為4時,只有啟動核心數等於或小於4的處理器設置會被選為候選處理器設置。
藉由如此設置,可避免啟動的處理器核心多於所需的處理器核心,以避免浪費資源。
在本案的一實施例中,在操作S2中,當需要更顯著地增加多核心處理器110的計算效能時,多核心處理器110可依以下操作選擇前述更新處理器設置。
首先,多核心處理器110可在前述候選處理器設置中選出一初步選擇處理器設置,其中相應於此一初步選擇處理器設置的能耗低於相應於其它候選處理器設置的能耗。
而後,多核心處理器110可決定複數二級候選處理器設置,其中相應於此些二級候選處理器設置的計算效能高於相應於前述初步選擇處理器設置的計算效能,且此些二級候選處理器設置係在前述候選處理器設置之中(亦即,此些二級候選處理器設置為前述候選處理器設置中的一部份)。
在前述二級候選處理器設置決定後,多核心處理器110可根據相應於此些二級候選處理器設置的能耗,在此些二級候選處理器設置中選出一者作為前述更新處理器 設置。在一實施例中,相應於此些二級候選處理器設置中選出的該者(即更新處理器設置)的能耗係低於相應於此些二級候選處理器設置中的其他者的能耗。
應注意到,上述的操作可根據實際需求遞迴(iterate)一或多次,且本案不以上述實施例為限。
在一些實施例中,當啟動的處理器核心的平均處理負荷量高於預設門檻(如90%)時,或當啟動的處理器核心的平均處理負荷量持續高於預設門檻(如80%)一特定期間(如200ms)時,則可能需要顯著地增加多核心處理器110的計算效能。
藉由上述操作,可更顯著或確實地增加多核心處理器110的效能。
為使敘述清楚,以下將描述一操作例,然而本案不以下述操作例為限。
在本操作例中,儲存於記憶體120的處理器設置與相應的計算效能及相應的能耗顯示於下表TB1。計算效能係以Dhrystone Million Instruction per Second(DMIPS)表示,且能耗係以使用中能量(power in running)(mA)表示。應注意到,其它表示計算效能與能耗的方式亦在本案範圍之中。
在一實施例中,電子裝置100可預先量測對應於每一處理器設置的計算效能及能耗,並將量測到的計算效能及能耗相應於此些處理器設置儲存於記憶體120中。在一實施例中,電子裝置100可根據相應的計算效能,排列此些處理器設置。
在不同實施例中,電子裝置100可從其它裝置取得對應於此些處理器設置的計算效能及能耗,並將此些資 料儲存於記憶體120中。在另一實施例中,對應於此些處理器設置的計算效能及能耗係預先儲存於記憶體120中的。
在本操作例中,當前處理器設置為處理器設置#1,且最大啟動核心數為4。當需要增加多核心處理器110的計算效能時,多核心處理器110決定處理器設置#3、#4、#5、#7、#8為候選處理器設置,其中此些候選處理器設置相應的計算效能皆高於相應於當前處理器設置的計算效能,且此些候選處理器設置的啟動核心數不高於最大啟動核心數。
而後,由於對應於處理器設置#5的計算效能為對應於候選處理器設置的計算效能中的最低者,多核心處理器110從候選處理器設置中選擇處理器設置#5作為更新處理器設置。而後,多核心處理器110配置處理器設置#5,並根據處理器設置#5執行複數作業。
在不同實施例中,當需要更顯著地增加多核心處理器110的計算效能時,在處理器設置#3、#4、#5、#7、#8決定為候選處理器設置後,由於對應於處理器設置#5的計算效能為對應於候選處理器設置的計算效能中的最低者,多核心處理器110從候選處理器設置中選擇處理器設置#5作為初步選擇處理器設置。
而後,由於相應於處理器設置#7、#8的計算效能高於相應於初步選擇處理器設置(即處理器設置#5)的計算效能,且處理器設置#7、#8的啟動核心數不高於最大啟 動核心數,故多核心處理器110決定處理器設置#7、#8為二級候選處理器設置。
而後,由於相應處理器設置#8的能耗是相應於此些二級候選處理器設置中的能耗的最低者,多核心處理器110在此些二級候選處理器設置中選擇處理器設置#8作為更新處理器設置。而後,多核心處理器110配置處理器設置#8,並根據處理器設置#8執行複數作業。
透過上述的操作,可在考量能耗的狀況下增加多核心處理器110的效率。
以下段落將參照第3圖中的管理方法,描述本案另一實施例,然本案不以下述實施例為限。
參照第1、3圖,管理方法300包括以下操作。
在操作T1中,多核心處理器110判斷是否需要增加多核心處理器110的計算效能。若是,則進行操作T2。若否,多核心處理器110不另做動且此程序結束。
應注意到,操作T1中的相關細節可參照前述段落,故在此不贅述。
在操作T2中,多核心處理器110從能耗表(power cost table)中取得相應於當前處理器設置的計算效能。在一實施例中,能耗表可記錄前述處理器設置,相應於此些處理器設置的計算效能,以及相應於此些處理器設置的能耗。
在操作T3中,多核心處理器110取得最大啟動核心數。此一操作的具體細節可參照前述段落,故在此不贅述。
在操作T4中,多核心處理器110藉由決定候選處理器設置並選擇候選處理器設置中的一者作為更新處理器設置,以尋找更新處理器設置。在一實施例中,多核心處理器110決定候選處理器設置,其中此些候選處理器設置相應的計算效能高於相應於當前處理器設置的計算效能,且此些候選處理器設置的啟動核心數不高於最大啟動核心數。而後,多核心處理器110根據相應於前述候選處理器設置的能耗,在前述候選處理器設置中選擇一者作為更新處理器設置。此一操作的具體細節可參照前述段落,故在此不贅述。
若可找到更新處理器設置,則執行操作T5。若否,多核心處理器110不另做動且此程序結束。
在操作T5中,多核心處理器110配置更新處理器設置,以令多核心處理器110根據更新處理器設置的啟動核心數及處理器頻率執行複數作業。
透過上述的操作,可在考量能耗的狀況下增加多核心處理器110的效率。
以下將藉由第4圖中的管理方法以提供本案更具體細節,然本案不以下述實施例為限。
參照第1、4圖,管理方法400包括以下操作。
在操作U1中,多核心處理器110決定複數候選處理器設置,其中此些候選處理器設置相應的能耗低於相應 於當前處理器設置的能耗。在一實施例中,此些候選處理器設置為前述儲存於記憶體120的複數處理器設置中的一部份。在一實施例中,每一候選處理器設置包括一啟動核心數及一處理器頻率。
在一實施例中,決定複數候選處理器設置的操作係在需要降低多核心處理器110的計算效能時執行。在一實施例中,當啟動的處理器核心的平均處理負荷量(average processor usage)低於預設門檻時(如60%),則判斷需要降低多核心處理器110的計算效能。在一實施例中,當收到效能降低要求(例如來自於使用者,作業系統排程器,或內部/外部控制器)時,則判斷需要降低多核心處理器110的計算效能。應注意到,在多種不同狀況下皆可能需要降低多核心處理器110的計算效能,且本案不以上述實施例為限。
在操作U2中,多核心處理器110根據相應於前述候選處理器設置的計算效能,在前述候選處理器設置中選出一者作為一更新處理器設置。
在一實施例中,多核心處理器110可選擇前述候選處理器設置中的一者,其相應的計算效能高於前述候選處理器設置中的其它者所相應的計算效能。亦即,對應於前述候選處理器設置中選出的該者(即更新處理器設置)的計算效能為對應於前述候選處理器設置的計算效能中的最高者。
在操作U3中,在更新處理器設置決定後,多核心處理器110根據更新處理器設置的啟動核心數及處理器頻率執行複數作業。
透過上述的操作,可在考量能耗的狀況下降低多核心處理器110的效率。
在本案的一實施例中,在操作U1中,多核心處理器110可進一步取得最大啟動核心數。此一最大啟動核心數的具體細節可參照前述段落,故在此不贅述。
在取得最大啟動核心數後,多核心處理器110可決定複數候選處理器設置,其中此些候選處理器設置相應的能耗低於相應於當前處理器設置的能耗,並且此些候選處理器設置的啟動核心數不高於最大啟動核心數。
藉由如此設置,可避免啟動的處理器核心多於所需的處理器核心,以避免浪費資源。
在本案的一實施例中,在操作U2中,當需要更顯著地降低多核心處理器110的計算效能時,多核心處理器110可依以下操作選擇前述更新處理器設置。
首先,多核心處理器110可在前述候選處理器設置中選出一初步選擇處理器設置,其中相應於此一初步選擇處理器設置的計算效能高於相應於其它候選處理器設置的計算效能。
而後,多核心處理器110可決定複數二級候選處理器設置,其中相應於此些二級候選處理器設置的能耗低 於相應於前述初步選擇處理器設置的能耗,且此些二級候選處理器設置係在前述候選處理器設置之中。
在前述二級候選處理器設置決定後,多核心處理器110可根據相應於此些二級候選處理器設置的計算效能,在此些二級候選處理器設置中選出一者作為前述更新處理器設置。在一實施例中,相應於此些二級候選處理器設置中選出的該者(即更新處理器設置)的計算效能係高於相應於此些二級候選處理器設置中的其他者的計算效能。
應注意到,上述的操作可根據實際需求遞迴一或多次,且本案不以上述實施例為限。
在一些實施例中,當啟動的處理器核心的平均處理負荷量低於預設門檻(如30%)時,或當啟動的處理器核心的平均處理負荷量持續低於預設門檻(如60%)一特定期間(如200ms)時,則可能需要顯著地降低多核心處理器110的計算效能。
藉由上述操作,可更顯著地降低多核心處理器110的效能。
為使敘述清楚,以下將描述一操作例,然而本案不以下述操作例為限。
參照上表TB1,在本操作例中,當前處理器設置為處理器設置#8,且最大啟動核心數為5。當需要降低多核心處理器110的計算效能時,多核心處理器110決定處理器設置#5、#4、#2、#1、#0為候選處理器設置,其中此些候選處理器設置相應的能耗皆低於相應於當前處理器設置 的能耗,且此些候選處理器設置的啟動核心數不高於最大啟動核心數。
而後,由於對應於處理器設置#5的計算效能為對應於候選處理器設置的計算效能中的最高者,多核心處理器110從候選處理器設置中選擇處理器設置#5作為更新處理器設置。而後,多核心處理器110配置處理器設置#5,並根據處理器設置#5執行複數作業。
在不同實施例中,當需要更顯著地降低多核心處理器110的計算效能時,在處理器設置#5、#4、#2、#1、#0決定為候選處理器設置後,由於對應於處理器設置#5的計算效能為對應於候選處理器設置的計算效能中的最高者,多核心處理器110從候選處理器設置中選擇處理器設置#5作為初步選擇處理器設置。
而後,由於相應於處理器設置#2、#1、#0的能耗低於相應於初步選擇處理器設置(即處理器設置#5)的能耗,且處理器設置#2、#1、#0的啟動核心數不高於最大啟動核心數,故多核心處理器110決定處理器設置#2、#1、#0為二級候選處理器設置。
而後,由於相應處理器設置#2的計算效能是相應於此些二級候選處理器設置中的計算效能的最高者,多核心處理器110在此些二級候選處理器設置中選擇處理器設置#2作為更新處理器設置。而後,多核心處理器110配置處理器設置#2,並根據處理器設置#2執行複數作業。
透過上述的操作,可在考量能耗的狀況下降低多核心處理器110的效率。
以下段落將參照第5圖中的管理方法,描述本案另一實施例,然本案不以下述實施例為限。
參照第1、5圖,管理方法500包括以下操作。
在操作V1中,多核心處理器110判斷是否需要降低多核心處理器110的計算效能。若是,則進行操作V2。若否,多核心處理器110不另做動,且此程序結束。
應注意到,操作V1中的相關細節可參照前述段落,故在此不贅述。
在操作V2中,多核心處理器110從能耗表(power cost table)中取得相應於當前處理器設置的計算效能。關於能耗表的具體細節可參照前述段落,故在此不贅述。
在操作V3中,多核心處理器110取得最大啟動核心數。此一操作的具體細節可參照前述段落,故在此不贅述。
在操作V4中,多核心處理器110藉由決定候選處理器設置並選擇候選處理器設置中的一者作為更新處理器設置,以尋找更新處理器設置。在一實施例中,多核心處理器110決定候選處理器設置,其中此些候選處理器設置相應的能耗低於相應於當前處理器設置的能耗,且此些候選處理器設置的啟動核心數不高於最大啟動核心數。而後,多核心處理器110根據相應於前述候選處理器設置的計算效 能,在前述候選處理器設置中選擇一者作為更新處理器設置。此一操作的具體細節可參照前述段落,故在此不贅述。
若可找到更新處理器設置,則執行操作V5。若否,多核心處理器110不另做動且此程序結束。
在操作V5中,多核心處理器110配置更新處理器設置,以令多核心處理器110根據更新處理器設置的啟動核心數及處理器頻率執行複數作業。
透過上述的操作,可在考量能耗的狀況下降低多核心處理器110的效率。
應注意到,在一些實施例中,效能增加方法(如方法200、300)及效能降低方法(如方法400、500)可同時應用於同一電子裝置,且本案不以上述實施例為限。
應注意到,上述的管理方法可應用於相同或相似於第1圖中所示結構之電子裝置。而為使敘述簡單,以下將根據本發明一實施例,以第1圖中的電子裝置100為例進行對管理方法敘述,然本發明不以此應用為限。
應注意到,在一些實施例中,上述的管理方法亦可實作為一電腦程式,並儲存於一非暫態電腦可讀取記錄媒體中,而使電腦、電子裝置、或第1圖中的多核心處理器110讀取此記錄媒體後執行上述的管理方法。非暫態電腦可讀取記錄媒體可為唯讀記憶體、快閃記憶體、軟碟、硬碟、光碟、隨身碟、磁帶、可由網路存取之資料庫或熟悉此技藝者可輕易思及具有相同功能之非暫態電腦可讀取記錄媒體。
另外,應瞭解到,上述的管理方法的操作,除特別敘明其順序者外,均可依實際需要調整其前後順序,甚至可同時或部分同時執行。
再者,在不同實施例中,上述的管理方法的操作亦可適應性地增加、置換、及/或省略。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何熟習此技藝者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。

Claims (20)

  1. 一種應用於多核心處理器的管理方法,包括:決定複數候選處理器設置(processor configuration),其中該些候選處理器設置相應的計算效能(performance)高於相應於一當前處理器設置的計算效能,且每一該些候選處理器設置包括一啟動核心數(active core number)及一處理器頻率(processor frequency);根據相應於該些候選處理器設置的能耗(power consumption),在該些候選處理器設置中選出一者作為一更新處理器設置;以及根據該更新處理器設置的該啟動核心數及該處理器頻率執行複數作業(task)。
  2. 如請求項1所述之管理方法,其中對應於該更新處理器設置的能耗為對應於該些候選處理器設置的能耗中的最低者。
  3. 如請求項1所述之管理方法,其中決定該些候選處理器設置的操作更包括:取得一最大啟動核心數,其中該最大啟動核心數對應於該些作業可被同時處理的最大數量;以及其中該些候選處理器設置的啟動核心數不高於該最大啟動核心數。
  4. 如請求項1所述之管理方法,其中根據相應於該些候選處理器設置的能耗,在該些候選處理器設置中選出一者作為該更新處理器設置的操作更包括:在該些候選處理器設置中選出一初步選擇處理器設置,其中相應於該初步選擇處理器設置的能耗低於相應於其它候選處理器設置的能耗;決定複數二級候選處理器設置,其中相應於該些二級候選處理器設置的計算效能高於相應於該初步選擇處理器設置的計算效能,且該些二級候選處理器設置在該些候選處理器設置之中;以及根據相應於該些二級候選處理器設置的能耗,在該些二級候選處理器設置中選出一者作為該更新處理器設置。
  5. 如請求項4所述之管理方法,其中相應於該些二級候選處理器設置中選出的該者的能耗低於相應於該些二級候選處理器設置中的其他者的能耗。
  6. 一種電子裝置,包括:一多核心處理器;一記憶體,電性連接該多核心處理器;以及一或多程式,其中該一或多程式儲存於該記憶體中,並用以被該多核心處理器所執行,該一或多程式包括以下指令:決定複數候選處理器設置,其中該些候選處理器設置相應的計算效能高於相應於一當前處理器設置的計算效能,且每一該些候選處理器設置包括一啟動核心數及一處理器頻率;根據相應於該些候選處理器設置的能耗,在該些候選處理器設置中選出一者作為一更新處理器設置;以及根據該更新處理器設置的該啟動核心數及該處理器頻率執行複數作業。
  7. 如請求項6所述之電子裝置,其中對應於該更新處理器設置的能耗為對應於該些候選處理器設置的能耗中的最低者。
  8. 如請求項6所述之電子裝置,其中該一或多程式更包括以下指令:取得一最大啟動核心數,其中該最大啟動核心數對應於該些作業可被同時處理的最大數量;以及其中該些候選處理器設置的啟動核心數不高於該最大啟動核心數。
  9. 如請求項6所述之電子裝置,其中該一或多程式更包括以下指令:在該些候選處理器設置中選出一初步選擇處理器設置,其中相應於該初步選擇處理器設置的能耗低於相應於其它候選處理器設置的能耗;決定複數二級候選處理器設置,其中相應於該些二級候選處理器設置的計算效能高於相應於該初步選擇處理器設置的計算效能,且該些二級候選處理器設置在該些候選處理器設置之中;以及根據相應於該些二級候選處理器設置的能耗,在該些二級候選處理器設置中選出一者作為該更新處理器設置。
  10. 如請求項9所述之電子裝置,其中相應於該些二級候選處理器設置中選出的該者的能耗低於相應於該些二級候選處理器設置中的其他者的能耗。
  11. 一種應用於多核心處理器的管理方法,包括:決定複數候選處理器設置,其中該些候選處理器設置相應的能耗低於相應於一當前處理器設置的能耗,且每一該些候選處理器設置包括一啟動核心數及一處理器頻率;根據相應於該些候選處理器設置的計算效能,在該些候選處理器設置中選出一者作為一更新處理器設置;以及根據該更新處理器設置的該啟動核心數及該處理器頻率執行複數作業。
  12. 如請求項11所述之管理方法,其中對應於該更新處理器設置的計算效能為對應於該些候選處理器設置的計算效能中的最高者。
  13. 如請求項11所述之管理方法,其中決定該些候選處理器設置的操作更包括:取得一最大啟動核心數,其中該最大啟動核心數對應於該些作業可被同時處理的最大數量;以及其中該些候選處理器設置的啟動核心數不高於該最大啟動核心數。
  14. 如請求項11所述之管理方法,其中根據相應於該些候選處理器設置的計算效能,在該些候選處理器設置中選出一者作為該更新處理器設置的操作更包括:在該些候選處理器設置中選出一初步選擇處理器設置,其中相應於該初步選擇處理器設置的計算效能高於相應於其它候選處理器設置的計算效能;決定複數二級候選處理器設置,其中相應於該些二級候選處理器設置的能耗低於相應於該初步選擇處理器設置的能耗,且該些二級候選處理器設置在該些候選處理器設置之中;以及根據相應於該些二級候選處理器設置的計算效能,在該些二級候選處理器設置中選出一者作為該更新處理器設置。
  15. 如請求項14所述之管理方法,其中相應於該些二級候選處理器設置中選出的該者的計算效能高於相應於該些二級候選處理器設置中的其他者的計算效能。
  16. 一種電子裝置,包括:一多核心處理器;一記憶體,電性連接該多核心處理器;以及一或多程式,其中該一或多程式儲存於該記憶體中,並用以被該多核心處理器所執行,該一或多程式包括以下指令:決定複數候選處理器設置,其中該些候選處理器設置相應的能耗低於相應於一當前處理器設置的能耗,且每一該些候選處理器設置包括一啟動核心數及一處理器頻率;根據相應於該些候選處理器設置的計算效能,在該些候選處理器設置中選出一者作為一更新處理器設置;以及根據該更新處理器設置的該啟動核心數及該處理器頻率執行複數作業。
  17. 如請求項16所述之電子裝置,其中對應於該更新處理器設置的計算效能為對應於該些候選處理器設置的計算效能中的最高者。
  18. 如請求項16所述之電子裝置,其中該一或多程式更包括以下指令:取得一最大啟動核心數,其中該最大啟動核心數對應於該些作業可被同時處理的最大數量;以及其中該些候選處理器設置的啟動核心數不高於該最大啟動核心數。
  19. 如請求項16所述之電子裝置,其中該一或多程式更包括以下指令:在該些候選處理器設置中選出一初步選擇處理器設置,其中相應於該初步選擇處理器設置的計算效能高於相應於其它候選處理器設置的計算效能;決定複數二級候選處理器設置,其中相應於該些二級候選處理器設置的能耗低於相應於該初步選擇處理器設置的能耗,且該些二級候選處理器設置在該些候選處理器設置之中;以及根據相應於該些二級候選處理器設置的計算效能,在該些二級候選處理器設置中選出一者作為該更新處理器設置。
  20. 如請求項19所述之電子裝置,其中相應於該些二級候選處理器設置中選出的該者的計算效能高於相應於該些二級候選處理器設置中的其他者的計算效能。
TW105138691A 2016-01-25 2016-11-24 具有多核心處理器的電子裝置以及多核心處理器的管理方法 TWI624756B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662286451P 2016-01-25 2016-01-25
US62/286,451 2016-01-25
US15/249,470 2016-08-28
US15/249,470 US10621008B2 (en) 2016-01-25 2016-08-28 Electronic device with multi-core processor and management method for multi-core processor

Publications (2)

Publication Number Publication Date
TW201727435A TW201727435A (zh) 2017-08-01
TWI624756B true TWI624756B (zh) 2018-05-21

Family

ID=59360579

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105138691A TWI624756B (zh) 2016-01-25 2016-11-24 具有多核心處理器的電子裝置以及多核心處理器的管理方法

Country Status (3)

Country Link
US (1) US10621008B2 (zh)
CN (1) CN106997311B (zh)
TW (1) TWI624756B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10064141B2 (en) * 2016-12-09 2018-08-28 Qualcomm Incorporated Core frequency/count decision-based thermal mitigation optimization for a multi-core integrated circuit
JP2018106591A (ja) * 2016-12-28 2018-07-05 ルネサスエレクトロニクス株式会社 半導体装置、動作制御方法、及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090164399A1 (en) * 2007-12-19 2009-06-25 International Business Machines Corporation Method for Autonomic Workload Distribution on a Multicore Processor
TW201342244A (zh) * 2011-12-23 2013-10-16 Intel Corp 多核心處理器之晶粒內差異特性化技術
TW201527950A (zh) * 2013-10-31 2015-07-16 Samsung Electronics Co Ltd 包含異質多核心處理器的電子系統及其操作方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9464898B2 (en) * 2012-02-21 2016-10-11 Panasonic Intellectual Property Management Co., Ltd. Inertial force sensor and electronic device using same
US9037889B2 (en) * 2012-09-28 2015-05-19 Intel Corporation Apparatus and method for determining the number of execution cores to keep active in a processor
US9098280B2 (en) * 2012-12-28 2015-08-04 Intel Corporation Staged power distribution control
US10146286B2 (en) * 2016-01-14 2018-12-04 Intel Corporation Dynamically updating a power management policy of a processor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090164399A1 (en) * 2007-12-19 2009-06-25 International Business Machines Corporation Method for Autonomic Workload Distribution on a Multicore Processor
TW201342244A (zh) * 2011-12-23 2013-10-16 Intel Corp 多核心處理器之晶粒內差異特性化技術
TW201527950A (zh) * 2013-10-31 2015-07-16 Samsung Electronics Co Ltd 包含異質多核心處理器的電子系統及其操作方法

Also Published As

Publication number Publication date
US10621008B2 (en) 2020-04-14
TW201727435A (zh) 2017-08-01
CN106997311B (zh) 2020-09-18
US20170212792A1 (en) 2017-07-27
CN106997311A (zh) 2017-08-01

Similar Documents

Publication Publication Date Title
KR102380576B1 (ko) 그래픽 프레임 프로세싱에서 전력 소비를 감소시키기 위한 cpu/gpu dcvs 공동 최적화
US9075610B2 (en) Method, apparatus, and system for energy efficiency and energy conservation including thread consolidation
EP3155521B1 (en) Systems and methods of managing processor device power consumption
US8924975B2 (en) Core selection for applications running on multiprocessor systems based on core and application characteristics
US10031574B2 (en) Apparatus and method for controlling multi-core processor of computing system
Joshi Apache hadoop performance-tuning methodologies and best practices
KR101799253B1 (ko) 다중 클러스터 이종 프로세서 아키텍처에서 동적 캐시 확장을 제공하기 위한 시스템 및 방법
US9665161B2 (en) Method and computer-readable medium for dynamically managing power of multi-core processor
US20150301858A1 (en) Multiprocessors systems and processes scheduling methods thereof
JP5695766B2 (ja) マルチコアシステムエネルギー消費最適化
CN108604114B (zh) 存储器子系统的强迫空闲
JP2018534676A (ja) 競合の存在下での効率的なタスクスケジューリングのための方法
TW201308206A (zh) 減少字型指令
US20170201566A1 (en) File downloading method, apparatus, and terminal device
US10445131B2 (en) Core prioritization for heterogeneous on-chip networks
US11061841B2 (en) System and method for implementing a multi-threaded device driver in a computer system
US20140373025A1 (en) Method for allocating process in multi-core environment and apparatus therefor
TWI624756B (zh) 具有多核心處理器的電子裝置以及多核心處理器的管理方法
US9507641B1 (en) System and method for dynamic granularity control of parallelized work in a portable computing device (PCD)
TWI566087B (zh) Cpu使用控制系統及方法
US20210240547A1 (en) Method, apparatus, and electronic device for improving cpu performance
US20120180063A1 (en) Method and Apparatus for Providing Management of Parallel Library Implementation
US10719107B2 (en) Method and apparatus to maintain node power budget for systems that share a power supply
KR20240014742A (ko) 성능 정보를 고려하는 메모리 관리 방법 및 장치
JP2009070090A (ja) 情報処理装置