TWI470418B - 具有相同指令集架構(isa)之不對稱效能多核心架構 - Google Patents

具有相同指令集架構(isa)之不對稱效能多核心架構 Download PDF

Info

Publication number
TWI470418B
TWI470418B TW101147200A TW101147200A TWI470418B TW I470418 B TWI470418 B TW I470418B TW 101147200 A TW101147200 A TW 101147200A TW 101147200 A TW101147200 A TW 101147200A TW I470418 B TWI470418 B TW I470418B
Authority
TW
Taiwan
Prior art keywords
core
demand
core processor
cores
processor
Prior art date
Application number
TW101147200A
Other languages
English (en)
Other versions
TW201342029A (zh
Inventor
George Varghese
Sanjeev S Jahagirdar
Deborah T Marr
Original Assignee
Intel Corp
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=46578386&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=TWI470418(B) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Intel Corp filed Critical Intel Corp
Publication of TW201342029A publication Critical patent/TW201342029A/zh
Application granted granted Critical
Publication of TWI470418B publication Critical patent/TWI470418B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • 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/3234Power saving characterised by the action undertaken
    • G06F1/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • 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/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • 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)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)

Description

具有相同指令集架構(ISA)之不對稱效能多核心架構 發明領域
發明領域通常有關於計算系統架構,且特別有關於一種具有相同指令集架構(ISA)之不對稱效能多核心架構。
發明背景
圖1顯示一典型的多核心處理器100_1。如在圖1中觀察到的,該多核心處理器100_1包括數個在一相同半導體晶粒100_1上的處理器核心101_1至101_N。該等處理器核心之每一者典型地含有至少一用於快取資料及/或指令的快取層。一交換結構(switch fabric)102互連該等處理器核心101_1至101_N到彼此以及到一或更多額外的快取層103_1至103_N。根據一作法,該等處理器101_1至101_N及該一或更多快取層具有內部連貫邏輯以例如避免二不同的核心同時修改相同的資料項目。
一系統記憶體介面(其亦可包括額外的連貫邏輯)104也被包括在內。在此,如果一核心請求一具有一所 需指令或資料項目的特定快取線,且該快取線沒有在任何快取層中被找到的話,則該請求會被呈送給該系統記憶體介面104。如果所尋找的快取線不在直接耦接到介面104的系統記憶體105_1中的話,則該請求會經由系統網路介面106被轉傳到另一多核心處理器,以從其區域系統記憶體(例如,多核心處理器100_X的系統記憶體105_X)提取所欲的資料/指令。一分封交換網路107存在於該等多處理器核心100_1至100_X之間,以支援這些類型的系統記憶體請求。
到系統I/O組件108_1至108_Y(例如,諸如硬磁碟驅動機的深不變性儲存器、列印機、外部網路介面等)的介面亦被包括在該多處理器核心上。這些介面可採用高速鏈接介面的型式,諸如高速乙太網路介面及/或高速PCIe介面。
一些多核心處理器亦可具有一到交換結構102的連接埠105,以調高與一相同(也被調高)快取結構相關聯的處理器核心之數目。例如,如在圖1中觀察到的,多處理器核心101_1至101_2係經由該交換結構連接埠105耦接,以有效地形成一有2N個核心的平台,該2N個核心共享一共同快取結構(處理器100_2係經由一到其交換結構的相似連接埠耦接到處理器100_1)。
依據本發明之一實施例,特地提出一種多核心處理器,包含數個支援一相同指令集的核心,其中,該等核心之至少一者係由邏輯閘所建構,在一相同的被施加操作 頻率及供應電壓之下,相較於該等核心之至少另一者的相同對應邏輯閘,該等邏輯閘消耗較少的電力。
100_1~100_X‧‧‧多核心處理器
101_1~101_N‧‧‧處理器核心
102‧‧‧交換結構
103_1~103_N‧‧‧快取層
104‧‧‧系統記憶體介面
105‧‧‧連接埠
105_1~105_X‧‧‧系統記憶體
106‧‧‧系統網路介面
107‧‧‧分封交換網路
108_1~108_Y‧‧‧系統I/O組件
201、202‧‧‧狀態
302_1、302_2‧‧‧驅動電晶體
303‧‧‧電容
304‧‧‧線
305、306‧‧‧電流
310‧‧‧驅動器電路
311、312‧‧‧邏輯閘
401‧‧‧低電力核心
402‧‧‧高電力核心
503‧‧‧電力節省
504‧‧‧點
505‧‧‧點
601、602、604、606‧‧‧狀態
610‧‧‧插圖
614‧‧‧位準
615‧‧‧狀態
701、702、703‧‧‧狀態
710‧‧‧插圖
711、712‧‧‧需求
800、801、802‧‧‧狀態
806、807、808‧‧‧狀態
本發明藉由隨附圖式的圖中之範例而非限制來說明,在圖式中類似的符號指示相似的元件,且在圖式中:圖1顯示一多核心處理器及周圍的計算機系統(先前技術);圖2顯示一電力管理策略(先前技術);圖3顯示一邏輯閘驅動電路;圖4顯示多核心處理器,其具有支援相同指令集的高電力及低電力核心;圖5比較一高電力核心與低電力核心的電力消耗;圖6顯示一第一電力管理方法;圖7顯示一第二電力管理方法;圖8顯示一設計方法。
概述 詳細說明
計算系統電力消耗變得愈來愈重要。因此,一些不同的電力管理方案係被結合於現代的計算系統。典型地,該系統的電力管理組件將在該系統的工作量提高時調高該系統的處理效能,且在該系統的工作量降低時調低該系統的處理效能。降低該系統的處理效能對應電力節省, 因為該系統的電力消耗係強烈地與其效能能力關聯。
隨著工作量調整處理效能及電力消耗的一典型作法是響應於系統工作量,致能/禁能完整的核心並且提高/降低它們的供應電壓與操作頻率。例如,如在圖2中觀察到的,在一最大效能及電力消耗狀態201之下,所有核心都被致能,且每一核心係被提供了一最大供應電壓及最高時鐘頻率。相反地,在一最低效能及電力消耗狀態202之下(此時程式碼仍能被執行),只有一核心係被致能。該單一核心係被提供了一最小供應電壓及最低操作頻率。
電子電路電力消耗的一些基本概念在圖3中被觀察到。在此,一邏輯閘311的驅動器電路310部分係被觀察為驅動下一個或更多個邏輯閘312。特別地,互連邏輯閘311、312的操作速度隨著下列情況而提高:其驅動電晶體302_1、302_2的寬度(對於每一電晶體,沿著垂直於電流流動方向的半導體表面被量測)增加,以及其驅動的線路304的電容303(與該(等)負載邏輯閘312的輸入電容)減少。在此,為了把該線路上的電壓從一邏輯低位準提高到一邏輯高位準,一足夠強的電流305需經由該線路被該供應電晶體(source transistor)302_1驅動,以快速地提供電荷到該電容303(並藉此提高該線路上的電壓)。相似地,為了把該線路上的電壓從一邏輯高位準降低到一邏輯低位準,一足夠強的電流306需經由該線路被該汲取電晶體(sink transistor)302_2「汲取」,以快速地從該電容提取電荷(並藉此降低該線路上的電壓)。
實質上,該等電晶體302_1、302_2將供應/汲取的電流量是它們各自寬度之函數。也就是說,該等電晶體愈寬,它們將供應/汲取愈多電流。此外,該等電晶體302_1、302_2將供應/汲取的電流量也是供應電壓VCC之函數,該供應電壓VCC係被提供給在圖3中被觀察到的該驅動器電路310。實質上,該供應電壓愈高,供應/汲取電流會愈強。
再者,該等電晶體將能夠提供電荷到該電容器/從該電容器提取電荷的速率是被驅動的該線路304的該電容303尺寸之函數。特別地,該等電晶體將隨著該電容304增加而較慢地提供/提取電荷,且隨著該電容304減少而較快地提供/提取電荷。該線路的電容304是取決於其實際尺寸。也就是說,該線路愈長且愈寬,則該電容304會增加,且相反地,該線路愈短且愈窄,則該電容304會減少。一旦該電路被生產出來,則該線路本身即具有固定尺寸。不過,線路寬度及線路長度是設計者必須考慮的設計參數。線路寬度不能被窄化過多,否則將有提高該線路電阻之效果,其也將減緩提供電荷到該電容器/從該電容器提取電荷的速率。
最後一個速度因素是該線路上的信號本身之頻率。實質上,以一較快時鐘信號來驅動的電路將比以一較慢時鐘信號來驅動的電路更迅速地在提供電荷到該線路電容304/從該線路電容304提取電荷之間切換。在此,更迅速的切換對應一較快傳送二元資訊的電路。
以上所述的用於提高該電容器上電荷被施加/提取之速率的所有因素也導致一消耗較多電力的電路。也就是說,一被設計成具有相對寬的供應/汲取電晶體、一高供應電壓、短負載線路且接收一較高頻率時鐘信號的電路將操作較快,且因此比在這些相同參數上相反配置的電路消耗較多電力。
回想圖1與2的討論,注意到先前技術多核心處理器電力管理方案已被實現在其組成核心都完全相同的處理器上。也就是說,參閱圖1,所有核心101_1至101_N在設計上都完全相同。在其它作法中,該等核心並不相同,而是徹底地不同。特別地,該等核心之一者是一低電力核心,但此較低電力特性是藉由相較於其它核心刪除相當大部分的邏輯電路來達成。更特別地,被刪除的相當大部分對應執行程式碼指令的邏輯。換句話說,與較高效能核心相比,該低電力核心支援一精簡指令集。然而,此作法的問題是系統軟體難以調整具有不同指令集的處理器核心之間的切換操作。
圖4繪示一新作法,其中該等核心之至少一者401係被設計成較低效能,且因此比處理器中的其它核心402消耗較少電力。然而,該(等)低電力核心401具有一與該(等)較高電力核心402相同的邏輯設計,且因此支援與該(等)高電力核心402相同的指令集403。該(等)低電力核心401藉由具有比該(等)較高電力核心較窄的驅動電晶體寬度,及/或具有與該(等)較高電力核心中的相同設計因素相比成相反 配置之其它電力消耗相關設計因素,來達成一較低電力設計點,上述其它電力消耗相關設計因素係諸如以上對於圖3所討論的任何設計因素。
根據將更詳盡地被討論於下之一作法,當多處理器核心被設計時,相同的高階描述(例如,相同的VHDL或Verilog描述)皆係被用於較高效能/電力核心及較低效能/電力核心。然而,當該等較高階描述被合成為RTL網路連線表時,對於從一RTL網路連線表到一電晶體層次網路連線表的後續合成,與該(等)高電力核心相比,不同的技術資料庫係被用於該(等)低電力核心。如以上所提及的,與用於該(等)低電力核心的資料庫相關聯的邏輯閘之驅動電晶體,比與用於該(等)高電力核心的資料庫相關聯的「相同」邏輯閘之「相同」電晶體,具有較窄的各別寬度。
根據該多處理器的設計,參閱圖5,該(等)較低電力核心固然地展現出與該(等)較高電力核心相比較低的電力消耗(及處理效能)。也就是說,在一相同的施加時鐘或操作頻率之下,例如因為其較窄的驅動電晶體寬度,一較低電力核心將比一較高電力核心消耗較少的電力。然而,因為較窄的驅動電晶體寬度,該較低電力核心具有一最大操作頻率,其小於該較高電力核心的最大操作頻率。
然而,該較低電力核心的意義在於該多處理器能夠持有與現有電力管理策略相同/相似的電力管理策略,且在較低/最低效能/電力狀態下仍達成甚至更低的電力消耗。特別地,簡單回想圖2的電力狀態202,其中只有一核 心係被留為可操作(其餘核心係被禁能)。在此,如果此一剩餘可操作核心是低電力核心,則該處理器將展現與先前技術低電力狀態202相比甚至更低的電力消耗。
被降低電力的節省量503在圖5中係可直接觀察到。在此,回想在對於圖2的先前技術低電力狀態202所討論的該多處理器中所有處理器都完全相同。因此,即使該供應電壓及該操作電壓被降到最低,電力消耗將會是一較高電力處理器(例如,具有較寬驅動電晶體寬度)的電力消耗。此操作點由圖5的點504來表示。相反地,在改良的多處理器的最低電力操作狀態下,如果可操作的核心是一低電力核心,則其將消耗由圖5的點505所表示之電力。因此,該改良的處理器在較低/最低效能操作狀態下展現比先前技術多處理器相對較低的電力消耗,而同時完全支援軟體被設計來據以操作的指令集架構。
圖6顯示一電力管理程序流程,其能以例如在該多處理器(或者另一多處理器或獨立控制器等)上運轉的電力管理軟體來被執行。相反地,圖6的電力管理程序流程能完全在該多處理器的硬體中被執行,或者藉由此硬體與軟體的某種組合來被執行。
根據圖6的程序流程,從其中至少一些高電力處理器核心及該(等)低電力核心係操作中的一初始狀態601,響應於對該多處理器需求的持續下降,每次需求的持續下降掉到低於下一較低門檻時,另一高電力核心會被禁能。例如,在一具有十六個核心的多處理器核心中,其中十四 個核心是高電力核心且二個核心是低電力核心,該初始狀態601可對應其中該等高電力核心之七者及該等低電力核心之二者係能操作之狀態。
響應於對該多處理器的持續降低需求,該等七個 高電力核心將隨著每一新的較低需求門檻而一個接一個被禁能602。例如,如在插圖610所觀察到的,需求位準611合理化七個高電力核心及二個低電力核心的致能。隨著需求持續下降到下一較低門檻612,該等高電力核心之一者係被禁能613,留下六個可操作的高電力核心及二個低電力核心。
在高電力核心被禁能之前,作為設計者之選擇, 該核心的個別操作頻率,或者已致能高電力核心全部(或部分者)的操作頻率,或者已致能高電力核心及低電力核心全部(或部分者)的操作頻率可被降低到一或更多較低操作頻率位準。
相似的設計者選擇存在於被施加到該等核心的 該等供應電壓。也就是說,在高電力核心被禁能之前,作為設計者之選擇,該核心的個別供應電壓,或者已致能高電力核心全部(或部分者)的供應電壓,或者已致能高電力核心及低電力核心全部(或部分者)的供應電壓可被降低到一或更多較低供應電壓。供應電壓可與操作電壓之降低同時被降低,或者如以上所述地,這些參數之僅一者或者無一個可被降低。
最後,隨著需求的持續下降,在需求掉到低於某 較低門檻614時,最後剩餘的高電力核心將被禁能615。這只留下該等低電力核心還在操作中。隨著需求在位準614之下持續下降,該(等)低電力核心的操作頻率及/或供應電壓可相似地被降低。隨著需求的持續下降,當需求掉到低於各下一較低需求門檻時,禁能核心的相似程序持續進行604,直到該多處理器核心只剩下一個低電力核心作為其單獨的操作核心606。
當然,在該處理器只具有一低電力核心的實施態 樣中,隨著最後的高電力核心之禁能,狀態606即達到。再次,該唯一剩餘的低電力核心的供應電壓及/或操作頻率可隨著需求持續下降而被降低。重要地,在狀態606中,如以上所述地,相較於其它具有完全相同的電力管理方案但其組成核心全都是高電力核心的多處理器核心,該多處理器將展現較低的電力消耗。假如該唯一操作的低電力核心係被提供了與被施加到該等高電力核心的最低操作供應電壓及/或操作頻率相庇較低的供應電壓及/或較低的操作頻率的話,甚至更低的電力消耗能在狀態606中被提供。
在該等高電力核心全部被禁能之後,當該系統只 在該(等)低電力核心上運作時,應用軟體、虛擬機器或虛擬機器監視器不需做出特別調整,或不需為應用軟體、虛擬機器或虛擬機器監視器做出特別調整。再次,在該系統中遍及所有核心對相同的指令核心之保留對應從軟體觀點來看關於底層核心的通透。針對較低核心,較低效能可被認定,但對指令串流內容的特別調整應沒必要。在各種替換 實施態樣中:1)硬體/機器可讀韌體能監視及控制核心組合;或2)硬體能將控制讓給作業系統且讓它監視需求及控制核心組合。
圖7實質上顯示上述程序的反向。如在圖7中觀察 到的,從其中只有單一低電力核心處於操作中的一狀態701開始,隨著對該多處理器的需求持續上升,額外的低電力核心係被致能(如果有更多的話)702。最終,高電力核心係被致能703。明顯地,從一操作中低電力處理器致能下一處理器所需的需求門檻,比從一操作中高電力處理器致能下一處理器所需的需求門檻,可對應一較低的需求增加量。
也就是說,插圖710顯示在一低電力處理器首先 被致能之後,在面對增加的需求時為了觸發下一處理器之致能所需的需求711之增加。在一高電力處理器首先被致能之後,在面對增加的需求時為了觸發下一高電力處理器之致能所需的需求712之增加大於上述需求711。會這樣的原因在於一高電力處理器比一低電力處理器能夠處理更多的總需求,且因此不像一低電力處理器那樣快需要有額外的「幫助」。
在面對增加的需求時,與核心之致能同時,以與 前文對於核心之禁能所討論那樣的邏輯反向方式,操作頻率及/或供應電壓亦可被增加。
圖8顯示用於設計一多核心處理器之一設計過 程,該多核心處理器係與以上所討論之原則一致。作為設計程序之部分,該處理器之每一核心的高階行為描述 800(例如,VHDL或Verilog描述)係被合成為一暫存器轉移層次(RTL)網路連線表801。用對應一較高電力/效能設計(諸如具有較寬驅動電晶體的邏輯電路)的資料庫,該RTL網路連線表係被合成802為相對應的較高電力核心閘層次網路連線表(每一高電力核心有一個)。用對應一較低電力/效能設計(諸如具有較寬驅動電晶體的邏輯電路)的資料庫,該RTL網路連線表係被合成803為相對應的較低電力核心閘層次網路連線表(每一低電力核心有一個)。在此,該等高電力及低電力核心的邏輯設計都相同,但它們的相對應邏輯電路之設計具有不同的效能/電力設計點。
然後,各別核心的電晶體層次網路連線表係被用 作執行一各別配置、繞線與時序分析806以及設計布局807之基礎。在此,由於通過邏輯電路及邏輯電路之間較大的可允許傳輸延遲,該等較低電力/效能核心可具有較寬鬆的配置及時序指引。換句話說,從圖3的討論回想較長負載線路導致較慢上升及下降時間,該等較低效能核心可允許電晶體及閘之間的較長負載線路,因為這些核心係被設計成具有較慢的操作(當然,如果負載線路被增長汰多,同時使用較窄驅動電晶體的話,則效能的下降可能比所期望的更多)。
在布局及時序分析完成後,該等核心在一清潔生 產接地規則檢查808後係被批准生產。
以上討論所教示的程序可利用諸如機器可執行 指令的程式碼來被實行,該等機器可執行指令使執行這些 指令之一機器實行一些功能。在本文中,一「機器」可以是將中間形式(或「抽象」)指令轉換為處理器特定指令的一機器(例如,一抽象執行環境,諸如一「虛擬機器」(例如,一Java虛擬機器)、一解譯器、一共用語言執行環境、一高階語言虛擬機器等)),及/或設置在被設計來執行指令的一半導體晶片上的電子電路(例如,以電晶體實現的「邏輯電路」),該半導體晶片係諸如一通用處理器及/或一專用處理器。以上討論所教示的程序也可由(替代一機器或與一機器結合)電子電路來實行,該電子電路係被設計為在不執行程式碼之下就實行該等程序(或其一部分)。
被相信的是以上討論所教示的過程也可用被描 述在由各軟體開發架構(例如,微軟公司的.NET、Mono、Java、甲骨文公司的Fusion等)支援的各種物件導向或非物件導向計算機程式語言(例如,Java、C#、VB、Python、C、C++、J#、APL、Cobol、Fortran、Pascal、Perl等)之原始層級程式碼中。該原始層級程式碼可被轉換為一抽象執行環境(例如,一Java虛擬機器、一共用語言執行環境、一高階語言虛擬機器、一解譯器等)可了解的一中間形式的程式碼(諸如Java位元組碼、微軟中間語言等),或可被直接編譯成目的碼。
根據各種作法,該抽象執行環境可藉由以下方式 將該中間形式程式碼轉換為處理器特定碼:1)編譯該中間形式程式碼(例如,在運行時間(例如,一JIT編譯器));2)解譯該中間形式程式碼;或3)在運行時間編譯該中間形式 程式碼及解譯該中間形式程式碼之組合。抽象執行環境可運作在各種作業系統(諸如UNIX、LINUX、包括視窗家族的微軟作業系統、包括MacOS X的蘋果電腦作業系統、Sun/Solaris、OS/2、Novell等)。
一製品可被用來儲存程式碼。儲存程式碼的一製 品可被實施為,但不限於,一或更多記憶體(例如,一或更多快閃記憶體、隨機存取記憶體(靜態、動態或其它))、光碟、CD-ROM、DVD ROM、EPROM、EEPROM、磁或光卡或者其它類型的適於儲存電子指令的機器可讀媒體。程式碼亦可經由實施在一傳播媒體中(例如,經由一通訊鏈(例如,一網路連接))之資料信號,從一遠端計算機(例如,一伺服器)被下載到一請求計算機(例如,一用戶)。
在前文說明中,本發明已參照其特定示範實施例來被描述。然而,將為明白的是,可對其做出各種修改及改變,而不背離附加申請專利範圍所提出針對本發明之較為寬廣的精神及範圍。
601、602、604、606‧‧‧狀態
610‧‧‧插圖
614‧‧‧門檻/位準
615‧‧‧狀態

Claims (19)

  1. 一種多核心處理器,包含數個支援一相同指令集的核心,其中,該等核心之至少一者係由邏輯閘所建構,在一相同的被施加操作頻率及供應電壓之下,相較於該等核心之至少另一者的相同對應邏輯閘,該等邏輯閘消耗較少電力。
  2. 如申請專利範圍第1項之多核心處理器,其中,相較於該等核心之該至少另一者的該等相同對應邏輯閘,消耗較少電力的該等邏輯閘具有較窄的邏輯閘驅動電晶體。
  3. 如申請專利範圍第1項之多核心處理器,其中,有至少二個由該等消耗較少電力的邏輯閘所建構之核心。
  4. 如申請專利範圍第1項之多核心處理器,其中,該等核心中只有一者係由該等消耗較少電力的邏輯閘所建構。
  5. 如申請專利範圍第1項之多核心處理器,更包含介於該等核心與一系統記憶體介面之間的一交換結構。
  6. 一種方法,包含:操作一多核心處理器的已致能核心,使兩個核心都支援各自具有一相同指令集的軟體常式,在同一組被施加供應電壓及操作頻率之下,一第一核心比一第二核心有較高的效能且消耗較多的電力。
  7. 如申請專利範圍第6項之方法,更包含:響應於對該多核心處理器所提出的較低需求,禁能該第一核心但留下該第二核心為可操作的。
  8. 如申請專利範圍第7項之方法,更包含響應於對該多核心處理器所提出的較高需求,在該第一核心被禁能之後將它致能。
  9. 如申請專利範圍第8項之方法,其中該方法更包含:在偵測到對該多核心處理器所提出之需求中的一第一下降之後,禁能該第一核心;在偵測到對該多核心處理器所提出之需求中的一第一上升之後,致能該第一核心,與該第一下降相關聯的需求量大於與該第二下降相關聯的需求量。
  10. 如申請專利範圍第6項之方法,其中,該第一核心的操作包括以相較於該第二核心中的對應電晶體寬度較寬的電晶體寬度來驅動負載線。
  11. 如申請專利範圍第6項之方法,更包含響應於對該多核心處理器所提出的較低需求,降低該第一核心的一供應電壓及/或操作頻率。
  12. 如申請專利範圍第6項之方法,更包含響應於對該多核心處理器所提出的較高需求,提高該第一核心的一供應電壓及/或操作頻率。
  13. 如申請專利範圍第6項之方法,還包含:響應於對該多核心處理器所施加之需求的一下降,禁能該第一核心;及響應於對該多核心處理器所施加之需求的一額外下降,降低該第二核心的一供應電壓及/或操作頻率。
  14. 一種機器可讀媒體,其含有程式碼,該程式碼在被一機 器處理時致使一方法被執行,該方法包含:操作一多核心處理器的已致能核心,使兩個核心都支援各自具有一相同指令集的軟體常式,在同一組被施加供應電壓及操作頻率之下,一第一核心比一第二核心有較高的效能且消耗較多的電力;響應於對該多核心處理器所提出的較低需求,禁能該第一核心但留下該第二核心可操作。
  15. 如申請專利範圍第14項之機器可讀媒體,其中,該方法更包含響應於對該多核心處理器所提出的較高需求,在該第一核心被禁能之後,將它致能。
  16. 如申請專利範圍第15項之機器可讀媒體,其中,該方法更包含:在偵測到對該多核心處理器所提出之需求中的一第一下降之後,禁能該第一核心;在偵測到對該多核心處理器所提出之需求中的一第一上升之後,致能該第一核心,與該第一下降相關聯的需求量大於與該第二下降相關聯的需求量。
  17. 如申請專利範圍第14項之機器可讀媒體,其中,該方法更包含響應於對該多核心處理器所提出的較低需求,降低該第一核心的一供應電壓及/或操作頻率。
  18. 如申請專利範圍第14項之機器可讀媒體,其中,該方法更包含響應於對該多核心處理器所提出的較高需求,提高該第一核心的一供應電壓及/或操作頻率。
  19. 如申請專利範圍第14項之機器可讀媒體,其中,該方法 更包含:響應於對該多核心處理器所施加之需求的一下降,禁能該第一核心;及響應於對該多核心處理器所施加之需求的一額外下降,降低該第二核心的一供應電壓及/或操作頻率。
TW101147200A 2011-12-22 2012-12-13 具有相同指令集架構(isa)之不對稱效能多核心架構 TWI470418B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/335,257 US9569278B2 (en) 2011-12-22 2011-12-22 Asymmetric performance multicore architecture with same instruction set architecture

Publications (2)

Publication Number Publication Date
TW201342029A TW201342029A (zh) 2013-10-16
TWI470418B true TWI470418B (zh) 2015-01-21

Family

ID=46578386

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101147200A TWI470418B (zh) 2011-12-22 2012-12-13 具有相同指令集架構(isa)之不對稱效能多核心架構

Country Status (4)

Country Link
US (3) US9569278B2 (zh)
CN (3) CN112947736B (zh)
TW (1) TWI470418B (zh)
WO (1) WO2013095944A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104322042A (zh) * 2012-08-29 2015-01-28 东莞宇龙通信科技有限公司 终端和终端工作状态的调整方法
US9164570B2 (en) * 2012-12-13 2015-10-20 Advanced Micro Devices, Inc. Dynamic re-configuration for low power in a data processor
KR102005765B1 (ko) * 2012-12-17 2019-07-31 삼성전자주식회사 시스템-온 칩과, 이의 동작 방법
KR102082859B1 (ko) 2013-01-07 2020-02-28 삼성전자주식회사 복수의 이종 코어들을 포함하는 시스템 온 칩 및 그 동작 방법
JP6051924B2 (ja) * 2013-02-21 2016-12-27 富士通株式会社 情報処理装置の制御方法、制御プログラム、情報処理装置
US9391927B2 (en) 2013-03-20 2016-07-12 Empire Technology Development Llc Heterogeneous router clock assignment and packet routing
US9634486B2 (en) * 2014-07-09 2017-04-25 Qualcomm Incorporated Dynamic power rail control for clusters of loads
US9952650B2 (en) 2014-10-16 2018-04-24 Futurewei Technologies, Inc. Hardware apparatus and method for multiple processors dynamic asymmetric and symmetric mode switching
US10928882B2 (en) 2014-10-16 2021-02-23 Futurewei Technologies, Inc. Low cost, low power high performance SMP/ASMP multiple-processor system
US10248180B2 (en) 2014-10-16 2019-04-02 Futurewei Technologies, Inc. Fast SMP/ASMP mode-switching hardware apparatus for a low-cost low-power high performance multiple processor system
KR20160054850A (ko) * 2014-11-07 2016-05-17 삼성전자주식회사 다수의 프로세서들을 운용하는 장치 및 방법
US20160306416A1 (en) * 2015-04-16 2016-10-20 Intel Corporation Apparatus and Method for Adjusting Processor Power Usage Based On Network Load
TWI609578B (zh) * 2015-09-17 2017-12-21 財團法人資訊工業策進會 具有程式編譯功能之線上討論系統及其方法
US10551868B2 (en) * 2016-03-16 2020-02-04 Mediatek, Inc. Multiprocessor systems having processors with different processing capabilities connecting to a clock generator
US10591966B1 (en) * 2019-02-20 2020-03-17 Blockchain Asics Llc Actively controlled series string power supply
US20220164442A1 (en) * 2019-08-12 2022-05-26 Hewlett-Packard Development Company, L.P. Thread mapping
WO2021081813A1 (zh) * 2019-10-30 2021-05-06 阿里巴巴集团控股有限公司 多核处理器及其调度方法、设备及存储介质
JP2023020219A (ja) * 2021-07-30 2023-02-09 株式会社リコー 情報処理装置、方法およびプログラム
GB202202793D0 (en) * 2022-03-01 2022-04-13 Graphcore Ltd External exchange connectivity

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006074024A2 (en) * 2004-12-30 2006-07-13 Intel Corporation A mechanism for instruction set based thread execution on a plurality of instruction sequencers
US7437581B2 (en) * 2004-09-28 2008-10-14 Intel Corporation Method and apparatus for varying energy per instruction according to the amount of available parallelism
US20090222654A1 (en) * 2008-02-29 2009-09-03 Herbert Hum Distribution of tasks among asymmetric processing elements
US20110213935A1 (en) * 2010-03-01 2011-09-01 Arm Limited Data processing apparatus and method for switching a workload between first and second processing circuitry

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6804632B2 (en) * 2001-12-06 2004-10-12 Intel Corporation Distribution of processing activity across processing hardware based on power consumption considerations
US20070083785A1 (en) * 2004-06-10 2007-04-12 Sehat Sutardja System with high power and low power processors and thread transfer
US20060112226A1 (en) * 2004-11-19 2006-05-25 Hady Frank T Heterogeneous processors sharing a common cache
US20060171244A1 (en) * 2005-02-03 2006-08-03 Yoshiyuki Ando Chip layout for multiple cpu core microprocessor
KR101108397B1 (ko) * 2005-06-10 2012-01-30 엘지전자 주식회사 멀티-코어 프로세서의 전원 제어 장치 및 방법
KR101177125B1 (ko) * 2005-06-11 2012-08-24 엘지전자 주식회사 멀티-코어 프로세서의 합성모드 구현 방법 및 장치
US7490254B2 (en) * 2005-08-02 2009-02-10 Advanced Micro Devices, Inc. Increasing workload performance of one or more cores on multiple core processors
US20080263324A1 (en) * 2006-08-10 2008-10-23 Sehat Sutardja Dynamic core switching
US20080127192A1 (en) * 2006-08-24 2008-05-29 Capps Louis B Method and System for Using Multiple-Core Integrated Circuits
CN101241390B (zh) * 2007-02-07 2011-04-13 华硕电脑股份有限公司 多核心处理器的效能调整方法
US8527789B2 (en) * 2007-08-13 2013-09-03 Dell Products, Lp System and method of modifying power use within an information handling system
US8055822B2 (en) * 2007-08-21 2011-11-08 International Business Machines Corporation Multicore processor having storage for core-specific operational data
US7992020B1 (en) 2008-03-05 2011-08-02 Xilinx, Inc. Power management with packaged multi-die integrated circuit
US20090271646A1 (en) * 2008-04-24 2009-10-29 Vanish Talwar Power Management Using Clustering In A Multicore System
US8006112B2 (en) * 2008-06-09 2011-08-23 Dell Products L.P. System and method for managing blades after a power supply unit failure
US8296773B2 (en) * 2008-06-30 2012-10-23 International Business Machines Corporation Systems and methods for thread assignment and core turn-off for integrated circuit energy efficiency and high-performance
US20100058086A1 (en) 2008-08-28 2010-03-04 Industry Academic Cooperation Foundation, Hallym University Energy-efficient multi-core processor
JP5237739B2 (ja) 2008-09-29 2013-07-17 株式会社日立製作所 情報処理装置
US8984309B2 (en) * 2008-11-21 2015-03-17 Intel Corporation Reducing network latency during low power operation
US9043795B2 (en) * 2008-12-11 2015-05-26 Qualcomm Incorporated Apparatus and methods for adaptive thread scheduling on asymmetric multiprocessor
CN101436098A (zh) * 2008-12-24 2009-05-20 华为技术有限公司 降低多核对称多处理系统的功耗的方法及装置
US8543857B2 (en) * 2009-09-26 2013-09-24 Intel Corporation Method and apparatus for low power operation of multi-core processors
US8892931B2 (en) * 2009-10-20 2014-11-18 Empire Technology Development Llc Power channel monitor for a multicore processor
US8423717B2 (en) * 2009-12-02 2013-04-16 Honeywell International Inc. Multi-core processing cache image management
US8489904B2 (en) * 2010-03-25 2013-07-16 International Business Machines Corporation Allocating computing system power levels responsive to service level agreements
US8381006B2 (en) * 2010-04-08 2013-02-19 International Business Machines Corporation Reducing power requirements of a multiple core processor
US8627128B2 (en) * 2010-11-09 2014-01-07 International Business Machines Corporation Power management for processing capacity upgrade on demand
US8695008B2 (en) * 2011-04-05 2014-04-08 Qualcomm Incorporated Method and system for dynamically controlling power to multiple cores in a multicore processor of a portable computing device
US9348656B2 (en) * 2011-12-19 2016-05-24 Advanced Micro Devices, Inc. Apparatus and method for managing power among a plurality of processors sharing a thermal platform

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7437581B2 (en) * 2004-09-28 2008-10-14 Intel Corporation Method and apparatus for varying energy per instruction according to the amount of available parallelism
WO2006074024A2 (en) * 2004-12-30 2006-07-13 Intel Corporation A mechanism for instruction set based thread execution on a plurality of instruction sequencers
US20090222654A1 (en) * 2008-02-29 2009-09-03 Herbert Hum Distribution of tasks among asymmetric processing elements
US20110213935A1 (en) * 2010-03-01 2011-09-01 Arm Limited Data processing apparatus and method for switching a workload between first and second processing circuitry

Also Published As

Publication number Publication date
CN108763129B (zh) 2021-12-07
CN112947736B (zh) 2024-04-09
US20120198207A1 (en) 2012-08-02
US10049080B2 (en) 2018-08-14
CN108763129A (zh) 2018-11-06
CN104011704A (zh) 2014-08-27
WO2013095944A1 (en) 2013-06-27
US9569278B2 (en) 2017-02-14
US20170154012A1 (en) 2017-06-01
CN104011704B (zh) 2018-05-08
TW201342029A (zh) 2013-10-16
US10740281B2 (en) 2020-08-11
US20190073336A1 (en) 2019-03-07
CN112947736A (zh) 2021-06-11

Similar Documents

Publication Publication Date Title
TWI470418B (zh) 具有相同指令集架構(isa)之不對稱效能多核心架構
US8438416B2 (en) Function based dynamic power control
CN104081315B (zh) 包括线程合并的用于能效和节能的方法、装置和系统
US20120151232A1 (en) CPU in Memory Cache Architecture
Lee et al. Smartsage: training large-scale graph neural networks using in-storage processing architectures
US11853787B2 (en) Dynamic platform feature tuning based on virtual machine runtime requirements
US20190310864A1 (en) Selecting a Precision Level for Executing a Workload in an Electronic Device
Lari et al. Hierarchical power management for adaptive tightly-coupled processor arrays
Zyuban et al. IBM POWER8 circuit design and energy optimization
CN108139791B (zh) 功率监控的cpu功率网设计
Foley et al. AMD'S" LLANO" Fusion APU
Ditzel Accelerating ML Recommendation With Over 1,000 RISC-V/Tensor Processors on Esperanto's ET-SoC-1 Chip
Kim et al. Optimstore: In-storage optimization of large scale dnns with on-die processing
US20230333999A1 (en) Maximizing on-chip data reuse in compute in memory and compute near memory architectures
US10831667B2 (en) Asymmetric memory tag access and design
US20210157512A1 (en) Flexible configuration of storage device with translation language set
Chen et al. Opportunistic turbo execution in NTC: exploiting the paradigm shift in performance bottlenecks
Soldavini et al. A survey on domain-specific memory architectures
JP7335253B2 (ja) スコアボードの保存及び復元
JP2021177367A (ja) プロセッサアイドル時間のインテリジェント予測装置及び方法
US20230115542A1 (en) Programmable matrix multiplication engine