TW201418972A - 用於節省功率和節省面積計算的異構性多處理器設計 - Google Patents
用於節省功率和節省面積計算的異構性多處理器設計 Download PDFInfo
- Publication number
- TW201418972A TW201418972A TW102127477A TW102127477A TW201418972A TW 201418972 A TW201418972 A TW 201418972A TW 102127477 A TW102127477 A TW 102127477A TW 102127477 A TW102127477 A TW 102127477A TW 201418972 A TW201418972 A TW 201418972A
- Authority
- TW
- Taiwan
- Prior art keywords
- core
- new
- workload
- cores
- low power
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5022—Workload threshold
-
- 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
本發明提供一種用於管理多核心中央處理單元(CPU,Central Processing Unit)內之處理器核心的技術,其會在廣泛工作負荷範圍中提供有效的功率和資源運用。該CPU包括至少一被設計成用於低功率操作的核心以及至少一被設計成用於高效能操作的核心。在低工作負荷中,該低功率核心執行該工作負荷。在特定較高的工作負荷中,該高效能核心執行該工作負荷。在特定其它的工作負荷中,該低功率核心與該高效能核心兩者會分擔執行該工作負荷。此技術可有利地在比習知系統更廣的工作負荷範圍中達成有效的處理。
Description
本發明大體上關於多處理器電腦系統,且更明確地說,關於一種用於節省功率和節省面積計算的異構性多處理器設計。
電池供電式行動計算平台近年來變得越來越重要,因而提高以低成本實現可高度調整計算能力之有效、低功率系統的需求。典型的行動裝置可能需要根據工作負荷(workload)需求而操作在廣泛的效能範圍中。不同的效能範圍習知會映對至不同的操作模式,功率消耗成比例相關於一給定操作模式內的效能。在低功率休眠模式中,行動裝置可提供小額的計算能力,例如,和蜂巢式基地台保持無線電聯繫。在主動模式中,行動裝置可針對使用者輸入提供低等待時間響應,舉例來說,透過視窗管理程式(window manager)。與典型應用相關聯的許多操作係在主動模式中以令人滿意的效能來執行。在高效能模式中,行動裝置需要提供尖峰計算能力,例如,用以執行即時遊戲或是實施短暫的使用者介面操作。主動模式和高效能模式通常需要日益增加的功率消耗。
數種技術已被開發用以改善行動裝置的效能和功率效率。此等技術包括藉由縮小裝置尺寸來降低裝置寄生負載、降低操作電壓與臨界電壓、以效能抵換功率效率以及加入被調整成用以在特定操作模式下良好操作的不同的電路配置。
於其中一範例中,行動裝置處理器複合體包括一低功率低效能處理器以及一高效能高功率處理器。在閒置和低作用主動模式中,該低功率處理器在較低效能位準處較省電,所以會被選來執行;而在高效能模式中,該高效能處理器較省電,所以會被選來執行較大的工作負荷。於此
情況中,抵換空間包括成本組成,因為該行動裝置載有兩個處理器組成的成本負擔,而每一次僅一個處理器會有作用。當此處理器複合體致能低功率操作和高效能操作時,該處理器複合體會以效率不彰的方式使用昂貴的資源。
如前面解釋,本技術中需要一種更有效的技術以適應於各種範圍的不同工作負荷。
本發明的一實施例提出一種用於配置一處理單元內一或多個核心以便執行不同工作負荷的方法,該方法包括:接收和一新工作負荷有關的資訊;以該資訊為基礎來判斷該新工作負荷不同於目前工作負荷;以該資訊為基礎來判斷該等一或多個核心中有多少個應該被配置用以執行該新工作負荷;以該等一或多個核心中有多少個應該被配置用以執行該新工作負荷為基礎來判斷是否需要一新核心配置;以及倘若需要新核心配置的話,那麼便將該處理單元轉變為該新核心配置,或者,倘若不需要新核心配置的話,那麼,便保持目前核心配置來執行該新工作負荷。
本發明的其它實施例包括,但不限於,一種包括指令的電腦可讀取儲存媒體,當該等指令被一處理單元執行時會導致該處理單元實施本文中所述之技術;以及一種計算裝置,其包括一被配置成用以實施本文中所述技術的處理單元。
已揭技術的一項優點係可有利地在廣泛工作負荷範圍中改善多核心中央處理單元的功率效率,同時有效地運用處理資源。
100‧‧‧電腦系統
102‧‧‧中央處理單元
104‧‧‧系統記憶體
105‧‧‧記憶體橋接器
106‧‧‧通訊路徑
107‧‧‧輸入/輸出(I/O)橋
108‧‧‧使用者輸入裝置
110‧‧‧顯示裝置
112‧‧‧平行處理子系統
113‧‧‧第二通訊路徑
114‧‧‧系統碟
116‧‧‧切換器
118‧‧‧網路轉接器
120‧‧‧外插卡
140(0)‧‧‧第一處理器核心/低功率核心
140(N)‧‧‧第二處理器核心/高效能核心
150‧‧‧作業系統核
152‧‧‧排程器
154‧‧‧裝置驅動器
156‧‧‧裝置驅動器
210(0)‧‧‧VF域
210(N)‧‧‧VF域
212‧‧‧可程式化虛擬辨識符(ID)
212(0)‧‧‧未說明
212(N)‧‧‧未說明
220‧‧‧核心互連線
222‧‧‧快取
224‧‧‧記憶體介面
226‧‧‧中斷分配器
230‧‧‧叢集控制單元
310‧‧‧總處理量
312‧‧‧功率
314‧‧‧低功率核心140(0)的最大總處理量
316‧‧‧高效能核心140(N)的最大總處理量
320‧‧‧功率曲線
322‧‧‧功率曲線
324‧‧‧功率曲線
330‧‧‧低功率核心區
332‧‧‧高效能核心區
334‧‧‧雙核心區
400‧‧‧方法
410-490‧‧‧步驟
為能夠詳細瞭解本發明的上述特點,本文已參考實施例更明確說明上面簡單摘要已說明之本發明,某些實施例圖解在隨附圖式中。然而,應該注意的係,隨附圖式僅圖解本發明的典型實施例,所以,不應被視為限制本發明的範疇,本發明承認其它等效實施例。
第一圖所示的係被配置成用以施行本發明之一或多項態樣的電腦系統之方塊圖;
第二圖所示的係根據本發明一實施例之第一圖的電腦系統的中央處理單元(CPU,Central Processing Unit)之方塊圖;第三圖所示的係根據本發明一實施例之包括多核心的CPU的不同操作區;以及第四圖所示的係根據本發明一實施例之用以將包括多核心的CPU配置成操作在省電區內的方法步驟之流程圖。
在下面說明中提出許多明確細節,以便更透徹瞭解本發明。然而,熟習本技術的人士便會明白,即使沒有此等明確細節中的一或多者仍可實行本發明。
第一圖所示的係被配置成用以施行本發明之一或多項態樣的電腦系統100之方塊圖。電腦系統100包括一中央處理單元(CPU,Central Processing Unit)102以及一系統記憶體104,它們透過一互連路徑進行通訊,該互連路徑可能包括一記憶體橋接器105。記憶體橋接器105(舉例來說,可能係北橋晶片)會透過一匯流排或其它通訊路徑106(舉例來說,HyperTransport連結線)被連接至一輸入/輸出(I/O,Input/output)橋107。舉例來說,I/O橋107可能係南橋晶片,其會從一或多個使用者輸入裝置108(舉例來說,鍵盤、指標裝置、電容式觸碰平板)處接收使用者輸入並且透過通訊路徑106與記憶體橋接器105將該輸入前傳至CPU 102。一平行處理子系統112會透過一匯流排或第二通訊路徑113(舉例來說,周邊元件互連(PCI,Peripheral Component Interconnect)、加速圖形埠或是HyperTransport連結線)被耦合至記憶體橋接器105。於一實施例中,平行處理子系統112係一圖形子系統,其會傳送像素至一顯示裝置110,顯示裝置110可能係任何習知陰極射線管、液晶顯示器、發光二極體顯示器或是類似物。一系統碟114同樣被連接至一I/O橋107,並且可能被配置成用以儲存供CPU 102與平行處理子系統112使用的內容以及應用程式和資料。系統碟114用以非揮發性儲存應用程式和資料,並且可能包括固定式或抽取式硬碟機、快
閃記憶體裝置以及唯讀記憶光碟(CD-ROM,Compact Disc Read Only Memory)、唯讀記憶數位多功能碟(DVD-ROM,Digital Video Disc Read Only Memory)、藍光、高畫質DVD(HD-DVD,High Definition DVD)或是其它磁式、光學式或固態儲存裝置。
一切換器116在I/O橋107和其它器件(例如,網路一轉接器118以及各種外插卡120)之間提供連接。其它器件(圖中並未明確顯示)(包括通用序列匯流排(USB,Universal Serial Bus)或其它連接埠、光碟(CD,Compact Disc)機、數位多功能光碟(DVD,Digital Versatile Disc)機、錄影裝置以及類似物)亦可能被連接至I/O橋107。第一圖中所示的各種通訊路徑(包括有明確名稱的通訊路徑106和113)可利用任何合宜協定來施行,例如,PCI Express、加速圖形埠(AGP,Accelerated Graphics Port)、HyperTransport或是任何其它匯流排或點對點通訊協定,而且不同裝置之間的連接可使用本技術中已知的不同協定。
於一實施例中,平行處理子系統112併入針對圖形和視訊處理最佳化的電路系統,舉例來說,包括視訊輸出電路系統,並且構成一圖形處理單元(GPU,Graphics Processing Unit)。於另一實施例中,平行處理子系統112會併入針對一般用途處理被最佳化的電路系統,同時保留基本的計算架構,本文中有更詳細說明。又,於另一實施例中,平行處理子系統112可能與一或多個其它系統元件整合在單一子系統中,例如,結合記憶體橋接器105、CPU 102以及I/O橋107,用以形成一晶片上系統(SoC,System on Chip)。
應該明白的係,本文中所示的系統為解釋性並且可加以改變與修正。連接拓樸(包括橋接器的數量與排列、CPU 102的數量以及平行處理子系統112的數量)可如所希般加以修正。舉例來說,於某些實施例中,系統記憶體104會直接被連接至CPU 102,而非經由橋接器;而其它裝置則透過記憶體橋105接器及CPU 102來與系統記憶體104進行通訊。於其它替代拓樸中,平行處理子系統112係被連接至I/O橋107或直接被連接至CPU 102,而非被連接至記憶體橋105接器。又,於其它實施例中,I/O橋107和記憶體橋接器105可整合成單一晶片,而非一或多個離散裝置。大部
分實施例可能包括二或多個CPU 102以及二或多個平行處理子系統112。本文中所示的特殊器件為非必要性;舉例來說,任何數量的外插卡或週邊裝置皆可被支援。於某些實施例中,切換器116會被消除,而網路轉接器118以及外插卡120則直接連接至I/O橋107。又,於其它實施例中,電腦系統100包括一行動裝置,而網路轉接器118則施行一數位無線通訊子系統。於此等實施例中,輸入裝置108包括一觸碰平板子系統,而顯示裝置110則施行一行動螢幕子系統,例如,液晶顯示模組。
CPU 102包括至少兩個處理器核心140(0)、140(N)。一第一處理器核心140(0)被設計成用於低功率操作;而一第二處理器核心140(N)被設計成用於高效能操作。於一實施例中,對稱性數量的低功率處理器核心和高效能處理器核心會被施行在CPU 102裡面。一駐存在系統記憶體104中的作業系統核150包括一排程器152以及裝置驅動器154、156。核150被配置成用以提供特定的習知核服務,包括和處理及執行緒管理有關的服務。排程器152被配置成用以管理指派給CPU 102內不同處理器核心140的執行緒與處理指派作業。裝置驅動器154被配置成用以管理哪一個處理器核心140要被致能使用以及哪一個被禁能,例如,透過降低電力(powering down)。裝置驅動器156被配置成用以管理平行處理子系統112,包括處理及緩衝要被處理的命令與輸入資料串。
第二圖所示的係根據本發明一實施例之第一圖的電腦系統100的CPU 102之方塊圖。如圖所示,CPU 102包括至少兩個核心140(0)、140(N)、一核心互連線220、一快取222、一記憶體介面224、一中斷分配器226以及一叢集控制單元230。
每一個核心140可操作在對應的電壓-頻率(VF,Voltage-Frequency)域內,不同於其它VF域。舉例來說,與核心140(0)相關聯的電路系統可操作在與VF域210(0)相關聯的一第一電壓和一第一操作頻率;而與核心140(N)相關聯的電路系統可操作在與VF域210(N)相關聯的一第二電壓和一第二操作頻率。於此範例中,每一個電壓和每一個頻率可在技術上可行的範圍內獨立地改變,用以達到特定的功率與效能目標。
於此範例中,核心140(0)被設計成用於低功率操作;而核心140(N)被設計成用於高效能操作,同時保留彼此指令集架構(ISA,Instruction Set Architecture)相容性。核心140(N)可透過任何可應用的技術(例如,針對高時脈速度的電路設計、針對同步送出與處理多重同時指令的邏輯設計以及針對改善的快取尺寸與效能的架構設計)達到較高效能。與核心140(0)相關聯的設計抵換可容許高邊際功率消耗來達到較大邊際執行效能。核心140(0)可透過針對減少漏電流、交叉電流(crossbar current)、寄生損失的電路設計以及針對減少與處理一指令相關聯的切換能量的邏輯設計來達到較低功率操作。與核心140(0)相關聯的設計抵換應該通常偏好減少功率消耗,甚至係犧牲時脈速度與處理效能。
每一個核心140(0)、140(N)皆包括一可程式化虛擬辨識符(ID)212(0)、212(N),其會辨識該處理器核心。每一個核心140(0)、140(N)皆可透過虛擬ID 212(0)、212(N)以一任意核心辨識符加以程式化,該虛擬ID 212可能與排程器152所保留的一特殊執行緒或處理相關聯。每一個核心140皆可能包括用以促成將內部執行狀態複製到另一核心140的邏輯。
於一實施例中,核心互連線220將核心140耦合至一快取222,快取222進一步被耦合至一記憶體介面224。核心互連線220可被配置成用以在核心140之間促成狀態複製。中斷分配器226被配置成用以接收一中斷訊號並且傳送該中斷訊號至一由虛擬ID 212裡面已程式化數值所辨識的一適當核心140。舉例來說,一以核心零為目標的中斷會被送往一虛擬ID 212被程式化為零的核心140。
叢集控制單元230會管理每一個核心140的可利用狀態,每一個核心140可單獨被熱插入而變成可利用或是被熱拔出而變成無法利用。在將一指定核心熱拔出之前,叢集控制單元230可能會讓該核心的執行狀態被複製到另一核心,以便繼續執行。舉例來說,倘若執行應該從低功率核心轉變成高效能核心的話,那麼,在該高效能核心開始執行之前,該低功率核心的執行狀態可能被複製到該高效能核心。執行狀態係施行方式專有,並且可能包括,但不限於,暫存器資料、轉譯緩衝器資料以及快取狀態。
於一實施例中,叢集控制單元230被配置成用以關閉已被熱拔出之核心的一或多個電壓供應器並且開啟已被熱插入之核心的一或多個電壓供應器。舉例來說,叢集控制單元230可能關閉與VF域210(0)相關聯的電壓供應器,以便熱拔出核心140(0)。叢集控制單元230可能還會施行用於每一個核心140的頻率控制電路系統。叢集控制單元230會從一駐存在裝置驅動器154內的叢集切換器軟體模組處接收命令。該叢集切換器係管理核心配置之間的轉變。舉例來說,叢集切換器能夠指示每一個核心用以保存內文(包括虛擬ID 212)以及載入一已保存的內文(包括任意虛擬ID 212)。該叢集切換器可能包括用以透過叢集控制單元230來保存與載入內文的硬體支援。控制單元230可提供工作負荷改變之自動偵測並且向該叢集切換器表示一新工作負荷需要一新配置。接著,該叢集切換器會指示控制單元230將工作負荷從一核心140轉移至另一核心140,或者透過熱插入額外的核心來致能該等額外核心。
第三圖所示的係根據本發明一實施例之包括多核心的CPU的不同操作區。CPU(例如,第一圖的CPU 102)包括至少一低功率核心140(0)以及一高效能核心140(N)。如圖所示,低功率核心140(0)的一功率曲線320係繪製為以一總處理量310為函數。同樣地,一功率曲線322係針對高效能核心140(N)所繪製,而一功率曲線324係針對雙核心配置所繪製。總處理量310此處的定義為每秒執行的指令,而功率312的定義為用以維持對應總處理量310所需要的功率單位,例如,瓦(或是其分率)。
一核心時脈頻率可改變,以便沿著總處理量310軸達成連續不同程度的總處理量。如圖所示,低功率核心140(0)的一最大總處理量低於高效能核心140(N)的一最大總處理量。於一實行場景,高效能核心140(N)能夠操作在高於低功率核心140(0)的時脈頻率處。於與功率曲線324相關聯的一雙核心模式中,低功率核心140(0)可以一位在相關聯的一上操作範圍中的時脈頻率來驅動,而高效能核心140(N)可以一位在相關聯的中等操作範圍中的不同時脈頻率來驅動。於一配置中,雙核心模式中的每一個核心140(0)、140(N)係在兩個核心的範圍內以相同的時脈頻率來驅動。於一不同的配置中,雙核心模式中的每一個核心140(0)、140(N)係在每一個核心的
相關聯範圍內以一不同的時脈來驅動。於一實施例中,每一個時脈頻率可被選擇用以達成每一個核心之雷同的正向執行進程。於特定的實施例中,多個核心140被配置成用於以共同的電壓供應器來操作並且可操作在獨立的時脈頻率中。
在低功率核心區330內,低功率核心140(0)能夠滿足使用該等三種核心配置(低功率、高效能、雙核心)之最小功率的總處理量需求。在高效能核心區332內,高效能核心140(N)能夠滿足使用該等三種核心配置之最小功率的總處理量需求,同時延伸總處理量310超越低功率核心140(0)的一最大總處理量314。在一雙核心區334內,同時操作低功率核心140(0)與高效能核心140(N)兩者可達成高於高效能核心140(N)之最大總處理量316的一總處理量,從而延伸整體總處理量,但是會犧牲額外的功率消耗。
給定有三個操作區330、332、334以及一低功率核心140(0)和一高效能核心140(N),那麼,在不同的核心配置之間會支援六種狀態轉變。第一狀態轉變係在區域330與區域332之間;第二狀態轉變係在區域332與區域330之間;第三狀態轉變係在區域330與區域334之間;第四狀態轉變係在區域334與區域330之間;第五狀態轉變係在區域332與區域334之間;以及第六狀態轉變係在區域334與區域332之間。熟習本技術的人士便會瞭解,額外的核心可新增額外的操作區以及核心配置之間的額外潛在狀態轉變,其並沒有脫離本發明的範疇與精神。
於一實施例中,CPU 102裡面的核心140的特徵為以電壓和頻率為函數的功率消耗以及總處理量。最終的特徵包括一系列的功率曲線以及具有不同功率需求的不同操作區。該等不同操作區可針對一給定的CPU 102設計來靜態決定。該等不同操作區可儲存在裝置驅動器154裡面的表格中,裝置驅動器154接著能夠將CPU 102配置成用於以主要工作負荷需求為基礎來熱插入及熱拔出的不同核心140。於一實施例中,裝置驅動器154會對目前的工作負荷需求重新作出反應並且重新配置CPU 102裡面的不同核心140,以便最佳符合該等需求。於另一實施例中,排程器152被配置成用以根據可用的核心140來排程工作負荷。排程器152可指示裝置驅動器154以工作負荷需求的現有和未來知識為基礎來熱插入或熱拔出不
同的核心。
第四圖所示的係根據本發明一實施例之用以將多核心CPU配置成操作在省電區內的方法步驟之流程圖。該等方法步驟雖然配合第一圖至第二圖的系統作說明;不過,熟習本技術的人士便會瞭解,被配置成以任何順序來實施該等方法步驟的任何系統皆落在本發明的範疇裡面。於一實施例中,該等方法步驟係由第一圖的CPU 102來實施。
如圖所示,方法400始於步驟410,第二圖的叢集控制單元230會於該處初始化CPU 102的核心配置。於一實施例中,叢集控制單元230會初始化CPU 102的核心配置,用以反映第一圖的低功率核心140(0)可利用性。於此配置中,核心140(0)會執行一作業系統開機年表,包括核150的載入和啟動執行。
在步驟412中,裝置驅動器154會接收工作負荷資訊。工作負荷資訊可能包括,但不限於,CPU負載統計、等待時間統計以及類似資訊。該工作負荷資訊可能接收自CPU 102內的叢集控制單元230或是習知的核任務與執行緒服務。倘若在步驟420中由該工作負荷資訊所反映的工作負荷中有改變的話,那麼,該方法便會前往步驟422,否則,該方法會回到步驟412。在步驟422中,該裝置驅動器會決定一用以支援該新工作負荷資訊之相稱的核心配置。該驅動器可能使用靜態事先算出的工作負荷表,該等工作負荷表會將功率曲線資訊映對至支援該工作負荷資訊中所反映之必要工作負荷的有效核心配置。
倘若在步驟430中該相稱的核心配置表示目前核心配置改變的話,那麼,該方法便會前往步驟432,否則,該方法會回到步驟412。在步驟432中,該裝置驅動器會讓CPU 102轉變至該相稱的核心配置。該轉變過程可能涉及熱插入一或多個核心並且可能也涉及熱拔出一或多個核心,其係依照一目前核心配置以及該相稱的核心配置之間的差異函數來進行。
倘若在步驟440中該方法應該終止的話,那麼,該方法便會前往步驟490,否則,該方法會回到步驟412。該方法可能必須在收到一終止訊號時終止,例如,在全面性關機事件期間。
簡言之,本文揭示一種用於管理多核心CPU內之處理器核心的技術。該技術涉及在必要時熱插拔核心資源。每一個核心皆包括一虛擬ID,以便允許從一特殊的實體核心電路處抽離核心執行內文。當系統工作負荷增加時,核心配置可能改變,以便支援該等增加。同樣地,當系統工作負荷減少時,核心配置可能改變,以便減少功率消耗同時支援已減輕的工作負荷。
該已揭技術的一項優點係可有利地在廣泛工作負荷範圍中改善多核心中央處理單元的功率效率,同時有效地運用處理資源。
前面說明雖然關於本發明的實施例;不過,仍可設計出本發明的其它及進一步實施例,其並無脫離本發明的基本範疇。舉例來說,本發明的態樣可以硬體或軟體或硬體與軟體之組合來施行。本發明的一實施例可被施行為用於電腦系統的程式商品。該程式商品的程式定義實施例的功能(包括本文中所述的方法)並且能夠容納在各式各樣的電腦可讀取儲存媒體中。示例性的電腦可讀取儲存媒體包括,但不限於:(i)資訊永久儲存於其上的不可寫入儲存媒體(舉例來說,電腦裡面的唯讀記憶體裝置,例如,可以唯讀記憶光碟(CD-ROM,Compact Disc Read Only Memory)機來讀取的CD-ROM碟片、快閃記憶體、唯讀記憶體(ROM,Read Only Memory)晶片或是任何類型的固態非揮發性半導體記憶體);以及(ii)其上儲存可變更資訊的可寫入儲存媒體(舉例來說,磁碟機或硬碟機裡面的軟磁碟或是任何類型的固態隨機存取半導體記憶體)。
本發明已在上面參考特定實施例說明。然而,熟習本技術的人士便會瞭解,可對其進行各種修正與改變,而不會脫離隨附申請專利範圍中所提出之本發明更廣的精神與範疇。因此,前面說明和圖式應被視為示例性,而沒有限制意義。
所以,本發明的範疇係由下面的申請專利範圍來決定。
400‧‧‧方法
410-490‧‧‧步驟
Claims (10)
- 一種用於配置一處理單元內一或多個核心以便執行不同工作負荷的方法,該方法包括:接收和一新工作負荷有關的資訊;以該資訊為基礎來判斷該新工作負荷不同於目前工作負荷;以該資訊為基礎來判斷該等一或多個核心中有多少個應該被配置用以執行該新工作負荷;以該等一或多個核心中有多少個應該被配置用以執行該新工作負荷為基礎來判斷是否需要一新核心配置;以及倘若需要新核心配置的話,那麼便將該處理單元轉變為該新核心配置,或者,倘若不需要新核心配置的話,那麼,便保持目前核心配置來執行該新工作負荷。
- 如申請專利範圍第1項的方法,其中,僅一低功率核心在該目前核心配置中執行工作,而判斷該等一或多個核心中有多少個應該被配置包括判斷僅有一高效能核心應該被配置用以執行該新工作負荷,以及進一步包括判斷需要一新的核心配置,以及藉由關閉該低功率核心且開啟該高效能核心來執行該新工作負荷而轉變該處理單元。
- 如申請專利範圍第1項的方法,其中,僅一高效能核心在該目前核心配置中執行工作,而判斷該等一或多個核心中有多少個應該被配置包括判斷僅有一低功率核心應該被配置用以執行該新工作負荷,以及進一步包括判斷需要一新的核心配置,以及藉由關閉該高效能核心且開啟該低功率核心來執行該新工作負荷而轉變該處理單元。
- 如申請專利範圍第1項的方法,其中,僅一低功率核心在該目前核心配置中執行工作,而判斷該等一或多個核心中有多少個應該被配置包括判斷該低功率核心與一高效能核心兩者應該被配置用以執行該新工作負荷,以及進一步包括判斷需要一新的核心配置,以及藉由開啟該高效能核心來執行該新工作負荷而轉變該處理單元。
- 如申請專利範圍第1項的方法,其中,僅一高效能核心在該目前核心配置中執行工作,而判斷該等一或多個核心中有多少個應該被配置包括判斷一低功率核心與該高效能核心兩者應該被配置用以執行該新工作負荷,以及進一步包括判斷需要一新的核心配置,以及藉由開啟該低功率核心來執行該新工作負荷而轉變該處理單元。
- 如申請專利範圍第1項的方法,其中,一低功率核心與一高效能核心皆在該目前核心配置中執行工作,而判斷該等一或多個核心中有多少個應該被配置包括判斷僅該高效能核心應該被配置用以執行該新工作負荷,以及進一步包括判斷需要一新的核心配置,以及藉由關閉該低功率核心來執行該新工作負荷而轉變該處理單元。
- 如申請專利範圍第1項的方法,其中,一低功率核心與一高效能核心皆在該目前核心配置中執行工作,而判斷該等一或多個核心中有多少個應該被配置包括判斷僅該低功率核心應該被配置用以執行該新工作負荷,以及進一步包括判斷需要一新的核心配置,以及藉由關閉該高效能核心來執行該新工作負荷而轉變該處理單元。
- 如申請專利範圍第1項的方法,其中,該處理單元包括一中央處理單元或是一圖形處理單元。
- 如申請專利範圍第1項的方法,其中,該等一或多個核心中所包含的每一個核心可透過一可程式化辨識符來辨識,而且,一或多個可程式化辨識符會被用於將該處理單元轉變至該新核心配置。
- 一種計算裝置,其包括:一中央處理單元,其包含至少一低功率核心與至少一高效能核心,該中央處理單元已程式化成藉由以下方式來配置一或多個核心,用以執行不同的工作負荷:接收和一新工作負荷有關的資訊;以該資訊為基礎來判斷該新工作負荷不同於目前工作負荷;以該資訊為基礎來判斷該等一或多個核心中有多少個應該被配置用以執行該新工作負荷;以該等一或多個核心中有多少個應該被配置用以執行該新工作負 荷為基礎來判斷是否需要一新核心配置;以及倘若需要新核心配置的話,那麼便將該處理單元轉變為該新核心配置,或者,倘若不需要新核心配置的話,那麼,便保持目前核心配置來執行該新工作負荷。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261678026P | 2012-07-31 | 2012-07-31 | |
US13/723,995 US9569279B2 (en) | 2012-07-31 | 2012-12-21 | Heterogeneous multiprocessor design for power-efficient and area-efficient computing |
US201313931122A | 2013-06-28 | 2013-06-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201418972A true TW201418972A (zh) | 2014-05-16 |
TWI502333B TWI502333B (zh) | 2015-10-01 |
Family
ID=50625698
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102127477A TWI502333B (zh) | 2012-07-31 | 2013-07-31 | 用於節省功率和節省面積計算的異構性多處理器設計 |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE102013108041B4 (zh) |
TW (1) | TWI502333B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI570548B (zh) * | 2014-11-20 | 2017-02-11 | 蘋果公司 | 包括執行指令集架構之不同部分之多個相異處理器核心之處理器 |
US9898071B2 (en) | 2014-11-20 | 2018-02-20 | Apple Inc. | Processor including multiple dissimilar processor cores |
US9928115B2 (en) | 2015-09-03 | 2018-03-27 | Apple Inc. | Hardware migration between dissimilar cores |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6501999B1 (en) | 1999-12-22 | 2002-12-31 | Intel Corporation | Multi-processor mobile computer system having one processor integrated with a chipset |
US6981083B2 (en) | 2002-12-05 | 2005-12-27 | International Business Machines Corporation | Processor virtualization mechanism via an enhanced restoration of hard architected states |
US20110213947A1 (en) * | 2008-06-11 | 2011-09-01 | John George Mathieson | System and Method for Power Optimization |
US8954977B2 (en) * | 2008-12-09 | 2015-02-10 | Intel Corporation | Software-based thread remapping for power savings |
US8140876B2 (en) | 2009-01-16 | 2012-03-20 | International Business Machines Corporation | Reducing power consumption of components based on criticality of running tasks independent of scheduling priority in multitask computer |
US8615672B2 (en) * | 2010-06-30 | 2013-12-24 | Via Technologies, Inc. | Multicore processor power credit management to allow all processing cores to operate at elevated frequency |
US9063730B2 (en) | 2010-12-20 | 2015-06-23 | Intel Corporation | Performing variation-aware profiling and dynamic core allocation for a many-core processor |
US8910177B2 (en) | 2011-04-14 | 2014-12-09 | Advanced Micro Devices, Inc. | Dynamic mapping of logical cores |
-
2013
- 2013-07-26 DE DE102013108041.3A patent/DE102013108041B4/de active Active
- 2013-07-31 TW TW102127477A patent/TWI502333B/zh active
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI570548B (zh) * | 2014-11-20 | 2017-02-11 | 蘋果公司 | 包括執行指令集架構之不同部分之多個相異處理器核心之處理器 |
US9898071B2 (en) | 2014-11-20 | 2018-02-20 | Apple Inc. | Processor including multiple dissimilar processor cores |
US9958932B2 (en) | 2014-11-20 | 2018-05-01 | Apple Inc. | Processor including multiple dissimilar processor cores that implement different portions of instruction set architecture |
US10289191B2 (en) | 2014-11-20 | 2019-05-14 | Apple Inc. | Processor including multiple dissimilar processor cores |
US10401945B2 (en) | 2014-11-20 | 2019-09-03 | Apple Inc. | Processor including multiple dissimilar processor cores that implement different portions of instruction set architecture |
US9928115B2 (en) | 2015-09-03 | 2018-03-27 | Apple Inc. | Hardware migration between dissimilar cores |
Also Published As
Publication number | Publication date |
---|---|
TWI502333B (zh) | 2015-10-01 |
DE102013108041B4 (de) | 2024-01-04 |
DE102013108041A1 (de) | 2014-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9569279B2 (en) | Heterogeneous multiprocessor design for power-efficient and area-efficient computing | |
JP6197196B2 (ja) | 電力効率の優れたプロセッサアーキテクチャ | |
KR101773224B1 (ko) | 전력-최적화된 인터럽트 전달 | |
TWI574159B (zh) | 在處理器中用於使非核心領域能夠控制記憶體頻寬之方法與系統及處理器(二) | |
US20110213950A1 (en) | System and Method for Power Optimization | |
US8924758B2 (en) | Method for SOC performance and power optimization | |
TW201211756A (en) | System and method for power optimization | |
US20120331275A1 (en) | System and method for power optimization | |
US8607177B2 (en) | Netlist cell identification and classification to reduce power consumption | |
TWI493332B (zh) | 用於電力管理的方法與設備及其平台與電腦可讀取媒體 | |
TWI570548B (zh) | 包括執行指令集架構之不同部分之多個相異處理器核心之處理器 | |
TWI553549B (zh) | 包括多個不同處理器核心之處理器 | |
JP2010061644A (ja) | プラットフォームベースのアイドルタイム処理 | |
JP2017519294A (ja) | フラッシュメモリベースストレージデバイスのマルチホスト電力コントローラ(mhpc) | |
TWI502333B (zh) | 用於節省功率和節省面積計算的異構性多處理器設計 | |
US20210089326A1 (en) | Dynamic bios policy for hybrid graphics platforms | |
US20230280809A1 (en) | Method and apparatus to control power supply rails during platform low power events for enhanced usb-c user experience | |
US20240028222A1 (en) | Sleep mode using shared memory between two processors of an information handling system | |
US20230090126A1 (en) | Device and method for reducing save-restore latency using address linearization | |
JP6409218B2 (ja) | 電力効率の優れたプロセッサアーキテクチャ | |
US20110286289A1 (en) | System and method of selectively varying supply voltage without level shifting data signals | |
JP2006338615A (ja) | データ通信システム | |
JP2017021811A (ja) | 電力効率の優れたプロセッサアーキテクチャ | |
JP2016212907A (ja) | 電力効率の優れたプロセッサアーキテクチャ | |
JP2012208693A (ja) | 半導体集積回路 |