TWI233545B - Mechanism for processor power state aware distribution of lowest priority interrupts - Google Patents

Mechanism for processor power state aware distribution of lowest priority interrupts Download PDF

Info

Publication number
TWI233545B
TWI233545B TW092134722A TW92134722A TWI233545B TW I233545 B TWI233545 B TW I233545B TW 092134722 A TW092134722 A TW 092134722A TW 92134722 A TW92134722 A TW 92134722A TW I233545 B TWI233545 B TW I233545B
Authority
TW
Taiwan
Prior art keywords
component
item
processor
patent application
scope
Prior art date
Application number
TW092134722A
Other languages
English (en)
Other versions
TW200413889A (en
Inventor
John Horigan
Shivnandan Kaushik
Alon Naveh
James Crossland
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
Application filed by Intel Corp filed Critical Intel Corp
Publication of TW200413889A publication Critical patent/TW200413889A/zh
Application granted granted Critical
Publication of TWI233545B publication Critical patent/TWI233545B/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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • 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
    • 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/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
    • 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/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • 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

Description

1233545 (1) 玖、發明說明 【發明所屬之技術領域】 本發明大致關係於微處理機及電腦系統的領域。更明 確地說,本發明關係於最低優先權中斷之處理機電源狀態 旱控分配的機制之方法與設備。 【先前技術】 電腦系統已經大量地分佈於社會中。電腦的處理能力 已經大量地提升各種職業之作業人員之效率與產能。由於 採購並擁有電腦的成本持續下降,有愈來愈多之消費者已 經能利用到更新更快之機器。再者,因爲自由的關係,很 多人一直使用筆記型電腦。行動式電腦使得使用者於其離 開辦公室或旅行時,容易攜帶他們的資料與工作。此方式 對於市場行銷人員、公司執行者甚至學生均相當常用。 一類似現象也發生在桌上型電腦及伺服機器上。當更 新設計及特性被開發時,處理機的計算能力持續呈指數成 長。用於行動及桌上型商場之電腦設計逐漸地遷移至使用 多核心或多線軸處理機,其可以在同一時間內,執行多數 應用程式及工作。部份之系統也被建立有多數實體處理 機。然而’用於增加計算能力之價格標籤同樣地增加真實 功率消耗。換句話說,於這些機器中之功率消耗變成極端 地大。因爲與功率的關係熱考量變得很重要。 本發明係只作例示並不限定於附圖,其中,類似參考 數係表示類似之元件。 (2) (2)1233545 【發明內容】及【實施方式】 本案揭示用以最低優先權中斷之處理機電源狀態掌控 分佈之機制的方法與設備。於此所述之實施例係描述於一 般目的微處理機及晶片組中,但並不限定於此。雖然,以 下實施例係參考處理機及晶片組加以說明,但其他實施例 也可以應用至其他類型之積體電路及邏輯裝置。本發明之 相同技術及教導可以容易適用至其他類型之電源或半導體 裝置,其可以有利於電源監視及改良之中斷處理。本發明 之教導係可適用至執行中斷之任意處理機或機器。然而, 本發明並不限定於多處理機系統或多核心處理機模組,也 可以適用至任一多處理機及機器,其上執行有多線或多工 作者。 於以下說明中,爲了說明目的,多數特定細節係加以 說明,以提供對本發明之完整了解。然而,熟習於本技藝 者將了解到這些細節並非實施本發明所必須。於其他例子 中,已知電子結構及電路並未加以詳細說明,以避免不必 要地限制本發明。 技術已經進步到流行處理機及應用平行化。更多之伺 服器及平台被增加向分線,以增加整體系統效能。更多應 用已經被分線,分離爲指令之多數串流、利用多個處理 機。多處理掌控作業系統可以被排序這些線作系統內之多 處理機間之平行處理。再者,線層次平行也可以發生在每 一處理機上。在例如網路伺服、搜尋引擎、安全、串流媒 -6 - (3) (3)1233545 體及資料庫之領域的雙或多處理應用可以利用增加多線式 及多處理機電腦系統的處理能力。 例如超級分線技術之一種多分線技術係爲同時多線化 技術(SMT )的一形式,其中,軟體應用之多線可以同時 執行在一處理機上。這可以藉由在每一處理機上複製架構 式狀態,同時,共享一組處理機執行資源加以完成。此架 構狀態追縱一程式或線流,及執行資源爲以執行該工作 (即加、乘、裝載等)之處理機爲單位。於部份多處理機 系統中,每一處理機具有其本身組處理機執行資源及其本 身架構狀態。於能執行多處理系統之多線式中,用於每一 處理機之架構狀態可以即使每一處理具有一組執行資源時 仍複製。當排序串線時,作業系統處理在每一處理機上之 分離架構狀態爲分離之,,邏輯,,處理機。邏輯處理機幾乎共 享所有在實體處理機上之其他資源,例如快取、執行單 元、分支預測碼、控制邏輯、及匯流排。如同實體處理 機’每一邏輯處理機可以個別地反應以中斷。一邏輯處理 機可以追縱一第一軟體線,而另一邏輯處理機可以同時追 縱一第二軟體線。因爲多數線係共享一組執行資源,所以 一線可以使用資源,相反地,如果該處理機只執行一線 時’則資源爲空閒。結果,整體執行及系統反應可以改 良。 吾人想要各種改良功率消耗及執行處理機架構的方 法° 一領域涉及來自不同系統裝置之處理機的中斷要求的 處理及服務。於部份系統中,中斷要求係爲晶片組邏輯所 -7- (4) (4)1233545 管理。晶片組邏輯中斷這些要求並決定哪一處理機以分配 所服務之要求。於單一處理機系統中,這是容易完成,因 爲晶片組具有單一目標。但具有多數實體及/或邏輯處理 機之系統中,中斷要求分佈的工作可能變得複雜,因爲晶 片組傾向於最小化對效能中斷的影響。 先進可程式中斷控制器(AP 1C )架構允許裝置中斷 的輸送至一處理機,該處理機於一組目標處理機間操作於 最低優先權者。此處理機優先權係經由用於這些處理之工 作優先權登記的內容加以決定。此特性係基於現行執行中 之處理機代表被執行工作的迫切性之槪念。工作優先權愈 高’則其愈不希望被中斷,因爲這可能對整體效能有不想 要的衝擊。再者,藉由將一中斷指定給系統中之最低優先 權的處理機將提供較佳機會,使得中斷可以以最小量之等 待時間加以進行。 現行中斷輸送機構係不能得知處理機電源狀態,因 此,並不能知道一目標處理機是否在一省電模式。這些中 斷機構對於一處理機是在作業狀態或部份類型之休眠狀態 (例如停止許可、深眠等)是一無所知的。結果,中斷服 務要求可以目標在一睡眠處理機,這將使得處理機醒來並 離開睡眠狀態進入一操作模式,以處理中斷。因爲處理機 睡眠狀態被設計以節省電力,所以藉由叫醒一睡眠中之處 理機,而執行一工作,阻礙了該等目標。因爲多處理機及 多線式架構在行動式及桌上型電腦系統中愈來愈流行,所 以當輸送中斷時,避免對其他處理機省電模式之千擾的省 -8 - (5) (5)1233545 電技術變得更重要。 本發明之實施例使得低優先權中斷輸送設計,於當決 定將中斷要求送向何處時,考量處理機省電狀態。藉由實 現本發明之實施例,在較另一處理機於深睡狀態的一處理 機對於最低優先權中斷,將會是一較不喜好的目標。結 果,於睡眠狀態中之處理機可以持續蟄伏於個別睡眠狀態 中,而不會中斷,造成較佳之省電。 對於部份實施例,作業系統係負責控制省電狀態,也 稱爲C-狀態,其中,處理依據ACPI規格書輸入。作業系 統或系統管理軟體可以依據一處理機如何閒置的程度加以 選擇一適當電源狀態。雖然,可以使用若干ACPI功能作 業系統,但本發明之其他實施例也可以被實施爲所謂”古 董”作業系統及沒有ACPI功能之機器上。本發明之其他 實施例允許執行處理機電源狀態掌控的能力,在較舊系統 中,最低優先權中斷分配具有很少或沒有軟體修改。這對 於不能修改之較舊ACPI功能作業系統係特別想要的。 現參考第1圖,顯示例示電腦系統1 00。系統1 00包 含一元件,例如處理機1 0 1、1 0 5 '及晶片組1 1 6、1 3 0, 以佈署依據本發明之中斷之電源狀態掌控之機制,其係例 如於此所述之實施例。系統1 0 0係爲基於由美國加州聖塔 卡拉之英特爾公司所購得之PENTIUM III、PENTIUM4、 Itanium、及/或X Scale微處理機,但也可以使用其他系統 (包含具有其他微處理機之P C、工程工作站、機頂盒等 等)。於一實施例中,樣品系統1 0 0可以執行由美國華盛 -9- (6) 1233545 頓州雷蒙之微軟公司所購得之視窗作業系統版本 以使用其他作業系統(例如UNIX及Linux), 體,及/或圖形使用者界面。因此,本發明並不 一特定硬體電路及軟體的組合。 本加強並不限定於電腦系統。本發明之其他 可以用於其他裝置,例如手持裝置及內藏裝置。 例子包含行動電路、網際網路協定裝置、數位相 數位助理(PDA )、及手持PC。內藏應用可以 控制器、一數位信號處理機(DSP )、系統晶片 腦(NetPC )、機頂盒、網路集線器、廣域網路 開關、或其他使用中斷之多處理機或多線系統。 份架構已經經由低電源狀態或睡眠模式加以降 耗。因爲電子裝置的外形因素持續縮小及電子元 需求不斷增加,所以需要其他努力來節省電力, 效能具有最小之負面衝擊。 第1圖爲一多處理機電腦1 00之方塊圖,其 理機A 1 0 1及B 1 〇 5形成,依據本發明每一處理 斷處理邏輯103、107。本實施例係以具有多數 機之系統加以說明,但其他實施例也可以使用多 機,其中多邏輯處理機存在於單一實體處理機 地,本發明之其他實施例也可以以多核心模組加 其具有多處理機核心包裝在一起於一單一模組 1 〇〇係爲集線器架構例。電腦系統1 00包含處理 1 〇 5 ’以處理資料信號。處理機1 〇 1、丨〇 5可以爲 ,但也可 內藏式軟 限定於任 實施例也 手持裝置 機、個人 包含一微 、網路電 (WAN ) 再者,部 低功率消 件的電力 同時,對 係由兩處 機包含中 實體處理 線式處理 上。同樣 以實施, 內。系統 機 ιοί、 複雜指令 •10- (7) (7)1233545 集電腦(CISC )微處理機、精簡指令集運算(RISC )微 處理機、超長指令集(VLIW )微處理機、實現指令集組 合之處理機、或其他處理機裝置,例如數位信號處理機。 處理機1 0 1,1 0 5係連接至一處理機匯流排1 1 0,其 可以傳送資料信號於處理機101、105與系統100之其他 元件之間。系統1 00之元件執行爲熟習於本技藝者所知之 傳統功能。於一實施例中,處理機 1 0 1、1 05均包含位準 1 ( L 1 )內部快取記憶體1 〇2、1 06。一中斷處理機制 1 0 3、1 0 7同時也在處理機1 〇 1、1 〇 5內。對於一實施例, 中斷處理器103、107提供有關處理機優先權與電源狀態 的資訊。另一實施例之中斷邏輯103、107也可以用於微 控制器、內藏處理機、圖形裝置、D S P、及其他類型邏輯 電路中。系統1 0 0包含一記憶體1 2 0。 一系統邏輯晶片1 1 6被連接至處理機匯流排1 1 〇及記 憶體1 2 0。於所示實施例中之系統邏輯晶片〗丨6係爲一記 憶體控制器集線器(M C Η )。處理機1 0 1、1 〇 5可以經由 一處理機匯流排110與MCH116通訊。MCH116提供一高 頻寬路徑1 1 8給記憶體1 20,用以指令及資料儲存及用於 圖形命令、資料及質地的儲存。MCH1 16也有關於處理機 1 0 1、1 0 5、記憶體1 2 0、及系統1 〇 〇中之其他元件間之資 料信號,並橋接於處理機匯流排1 1 0、記憶體1 20、及系 統I/O 1 22間之資料信號。於部份實施例中,系統邏輯晶 片1 1 6可以提供用以連接至圖形控制器丨丨2之圖形埠。 MCH 1 1 6係經由記憶體界面]丨8連接至記憶體〗2〇。圖形 -11 - (8) (8)1233545 卡 1 1 2係經由加速圖形埠(AGP )連線1 14連接g MCH1 16。對於一實施例,中斷處理邏輯1 17也位在 M CH1 16內,因爲晶片組接收來自各種系統裝置之中斷要 求並分配中斷至用以處理之適當目的地。對於部份系統, 晶片組可輪詢中斷用之裝置。當分配中斷需要處理機處理 時,用於此實施例之MCH1 16之中斷邏輯117考量處理機 優先權及處理電源狀態。於中斷分配時也可以取決於特定 實施法而考量其他因素。 系統1 0 0使用一獨佔集線界面匯流排122,以將 MCH116連接至I/O控制器集線器(ICH) 130。ICH130 經由本地I/O匯流排,提供至部份I/O裝置的直接連接。 本地I/O匯流排爲一高速I/O匯流排,用以連接週邊至記 憶體1 20、晶片組及處理機1 〇 1、1 〇5。部份例子爲資料儲 存124、無線收發機126、韌體集線器(快閃BI0S ) 128、古董I/O控制器,其包含使用者輸入及鍵盤界面、 一串列擴充埠,例如通用串列匯流排(U S B )、音訊控制 器、及網路控制器134。資料儲存裝置124可以包含一硬 碟機、一軟碟機、一 CD-ROM裝置、一快閃記憶體裝 置、或其他大量儲存裝置。各種連接至 MCH116及 ICH 130之前述裝置均可能需要中斷服務。另外,處理機 也可以發出中斷給其他處理機。 依據本發明之機制實施例允許處理機睡眠狀態資訊輸 送至負責輸送最低優先權中斷的晶片組邏輯或系統元件。 於部份實施例中,當由系統中之可用目標處理機組中選擇 -12- (9) 1233545 一目的處理機作最低優先權中斷的輸送時,晶片組 延伸以使甩此處理機睡眠狀態資訊。一硬體爲主實 機制在處理機操作與睡眠狀態之間,建立一優先權 該機制經由一或多數匯流排週期,傳送此類型之ί 眠狀態資訊至晶片組。用於此實施例之晶片組被設 收操作/睡眠資訊,並於中斷分配演繹法中,將此 入考量。於一軟體爲主之實施例中,於作業系統中 允許處理機睡眠狀態資訊被間接傳送至晶片組,或 以中斷傳輸之系統元件反應至處理機。以本發明 例,一作業系統可以確定在較熟睡狀態中之處理機 以接收較低優先權中斷之較差目標,造成於多處理 線架構中之較佳省電情形。對於一實施例,此架構 要實施於硬體。本發明之其他實施例也可以主要實 體,而不必作硬體改變。再者,部份實施例也可以 硬體及軟體元件之混合組合。於另一實施例中,架 包含硬體及作業系統組合之設計,其中,作業系統 處理機之電源狀態,指定處理機工作優先權TPR 別處理機。例如,一較低電源狀態(即較高數C狀 C2及如以下之第4圖所示)相當於一較高TPR 此’該處理機被指定一較高 T P R値。換句話說 T P R値,中斷並不鼓勵被送至一低電源狀態之處理彳 第2圖爲一包含本發明之電源狀態掌控中斷機 核心處理機模組201與相關晶片組240之一方塊圖 此實施例之多核心處理機模組2 0 1包含兩個別實體 邏輯係 施例之 關係。 #作/睡 計以接 資訊列 之擴充 者,用 之實施 係爲用 機及多 可以主 施爲軟 用作爲 構有一 基於該 値給個 態、如 値,因 ,經由 制之多 200 〇 處理機 -13- 1233545 do) 核心,A 2 2 0及B 2 3 0。於此例子中,兩核心2 2 0、2 3 0均 相同。每一核心22 0、2 3 0均包含:執行邏輯221、23 1,以 執行碼及指令;一內部晶粒內快取222、232,以儲存資 料及指令;及中斷邏輯223、23 3,具有一工作優先權暫 存器(TPR ) 224、234。於部份實施例中,中斷邏輯 223、23 3、與相關TPR224、23 4可以位在處理機模組201 內,但不在核心 220、23 0內。一前側匯流排(FSB )單 元23 5橋接於核心220、23 0間之通訊,以及,外部世界 (即外部匯流排及快取)也位在模組20 1內。於此實施例 中,一單一共享FSB單元2 3 5被連接以服務兩處理機核 心Α220及處理機核心Β23 0。於其他實施例中,每一核心 可以具有其本身FSB單元。同樣地,於另一實施例中, 一單一中斷邏輯單元可以爲多數處理機核心所共享,其中 一 TPR暫存器或用於每一核心之輸入被維持於該中斷邏 輯方塊中。雖然中斷邏輯223、233在第2圖之例子中被 顯示爲分離方塊,但中斷邏輯也可以實體存在爲單一邏輯 方塊,但被邏輯方式複製。 除了兩處理機核心2 2 0、2 3 0外,一快取2 1 0也在處 理機模組201內。處理機核心220、2 3 0與快取210係經 由一在模組201內之匯流排連接在一起。於模組201內之 元件210、22 0、23 0及外部裝置間之通訊係經由一匯流排 界面2 5 0。於此實施例中,匯流排2 5 0係連接至晶片組邏 輯240。此實施例之晶片組240包含具有TPR表242及狀 態資訊表2 4 3之中斷邏輯2 4 1。TP R表2 4 2與狀態資訊表 -14 - (11) (11)1233545 243可以爲一般記憶體儲存位置,例如暫存器,以儲存資 料或資訊。於此所用之“暫存器”被稱爲板上處理機儲存位 置,其被用作爲巨指令之一部份,以指明運算元。換句話 說,於此所稱之暫存器係爲由處理機或元件(由程式師所 見)之外側可看到者。然而,於此所述之暫存器可以藉由 使用不同技術在一元件內之電路加以實施,例如實體暫存 器、使用暫存器重定名之動態指定實體暫存器、專屬或動 態指定實體暫存器之組合。 於系統作業時,資料被傳送於處理機220、2 3 0、快 取2 10、及晶片組240之間。再者,晶片組240由各種系 統裝置傳遞中斷要求至處理機核心220、23 0作處理。於 此實施例中,晶片組除了考量當分配中斷時之處理機優先 權外,也考量處理機電源狀態。此模組20 1之每一處理機 核心2 2 0、2 3 0儲存其優先權位準及其電源狀態於個別 TPR224、23 4中。處理機優先權値表示一特定處理機之操 作優先權與中斷用處理之容許度。再者,處理機優先權値 可以指示相關於系統中其他可用處理機之重要性及控制的 階層。例如,優先權’ 〇 ’之處理機可以爲系統中之主處理 機。高優先權中斷,例如時鐘中斷或非可遮蔽中斷 (NMI )被送給主處理機。固定輸送中斷也可以指定給一 特定處理機。具有高工作優先權値之處理機可以指示一不 應被中斷的處理機工作。例如,若一處理機正執行系統重 要功能,該處理機可以設定其工作優先權値至一適當値, 以避免中斷。具有較低優先權値之其他處理機可以被執行 -15- (12) (12)1233545 較不重要功能,也較容易受到中斷,以處理低優先權中斷 要求。 同樣地,電源狀態値表示特定處理機核心正處理之電 源區。例如,一處理機可以,通電忙碌中,、,通電閒置 中,、,暫停,、,停止許可,、,深睡眠,、,更深睡眠,或,斷 電’。取決於處理機在哪一電源狀態,服務一中斷的要求 可以具有不同電源關聯及完成時間。此例子之核心2 2 0、 230追縱在中斷邏輯223、233內之TPR2 24、234中之處 理機優先權値及處理機電源狀態。優先權値及電源狀態係 由核心2 2 0、2 3 0所傳送至晶片組2 4 0之中斷邏輯2 4 1。 此實施例之晶片組中斷邏輯241包含一 TPR表242及一 電源狀態資訊表24 3,用於系統中之每一處理機,用以分 別儲存處理機優先權値與處理機電源狀態値。因此,當晶 片組中斷邏輯2 4 1正決定哪一處理送出一中斷時,在個別 表242、243中之工作優先權及狀態資訊係被評估並列入 考量。取決於特定實施例之尋找演繹法,一中斷被送至一 特定處理機。於一實施例中,中斷主要爲具有’通電及閒 置’或’通電及忙碌狀態’之處理機所處置,因爲’睡眠’或5 斷電’之核心具有較不想要之電源及潛候衝擊。於一實施 例中,每一處理機的每一資訊段係被儲存於其本身特有暫 存器。 第3圖爲多線處理機301與相關晶片組360之方塊圖 3 0 0,其包含依據本發明之另一電源狀態掌控中斷機制的 實施例。此實施例之處理機模組3 0 ]包含一單一處理機核 -16 - (13) (13)1233545 心3 2 0及一快取記憶體3 1 0。此核心3 2 0係由晶片上快取 3 2 1、中斷邏輯3 2 2、多線邏輯3 2 3、前側匯流排邏輯 3 2 5、整數執行邏輯326、及浮動點執行邏輯3 2 7所構 成。在中斷邏輯內的爲一參考如上述第 2圖所述 TPR3 24。處理機核心320及快取310係與晶片組邏輯360 經由外部匯流排3 5 0連接在一起。晶片組3 60包含中斷邏 輯361,其維持一 TPR表3 62及一電源狀態資訊表3 63。 雖然TPR表3 62及狀態資訊表3 63被顯示爲分離個體, 但在另一實施例中,處理機優先權及電源狀態資訊也可以 儲存在一合倂資料結構中。再者,優先權與電源狀態資訊 可以組合爲用於每一處理機之單一代表値,以指出在中斷 分配給處置處理機的相關想要性及/或優先權。 於此實施例中,出現有單一實體處理機核心。然而, 多線邏輯323允許多指令線予以經由資源共享,而平行處 理於單一組架構資源上。例如,此例子之處理機模組3 0 1 係能同時處理兩線Α及Β。線Α及Β均維持其本身架構 狀態A3 3 0及B 3 40,但經由一資源共享演繹法,利用實體 處理機核心資源。除了實體多線邏輯3 2 3外,作業系統 (例如前述之視窗、UNIX、或Linux )也能發出多線或同 時執行多程式。於部份多處理機系統中,作業系統使用一 最低優先權中斷輸送作爲用於所有裝置中斷的預設演繹 法。由使用者及作業系統看來,系統3 00出現有多個,於 此例子中爲兩個邏輯處理機單元。架構狀態A3 3 0及B3 40 被以例示目的加以顯示並不代表在處理機模組3 〇 1中之實 -17- (14) (14)1233545 際實體邏輯方塊。此例子之架構狀態A3 3 0及B 3 4 0包含 用於每一線之個別處理機暫存器。爲一實施例,架構狀態 包含例如一般目的暫存器、控制暫存器、先進可程式中斷 控制(APIC )暫存器、及其他機器狀態暫存器的暫存 器。每一架構狀態之資料、設定等可以被儲存在處理機 3 01上之記憶體區。 爲此實施例,TPR表3 62及電源狀態資訊表3 63追縱 邏輯處理機之相關値。例如,如同前一例子之實體處理機 核心220、23 0,在此例子中之邏輯處理機的每一架構狀 態3 3 0、340具有一工作優先權値及一電源狀態値。在此 例子中之工作優先權値同時反映該線及工作的相關重要性 及中斷的容許度。第2圖例子之電源狀態値傳送實體電源 設定,此實施例之架構狀態之電源狀態値表示線活動之類 型,及功率消耗量。例如,一線可以爲,忙碌,狀態以表示 該線爲作動中及執行中。或者,一線可以具有一,閒置, 或’中止’狀態以表示該線並未正在執行或者正等待。同樣 地,一線可以具有一 ’睡眠,狀態,以表示該線正睡眠及其 架構狀態正被保持爲不動作。藉由評估處理機電源狀態, 以決定哪一邏輯處理機會送出一中斷服務要求,此晶片組 可以避免叫醒一睡眠線,其可能成本高及耗電高,若另一 線之電源狀態爲’閒置’。晶片組可以中斷具有,忙碌,狀態 之線,以服務一中斷,替代作動一更高成本線。 第4圖例示用於本發明一實施例之處理機電源狀態 (於ACPI規格之C-狀態)。對於此實施例,處理機電源 -18- (15) (15)1233545 狀態由 CO-BUSY4〇l-4〇6延伸,其中,具有,C之字尾數 愈低,則需要以服務一中斷之其他耗用電源量愈低。C0 位準包含一忙碌狀態及一閒置狀態,因爲處理機於兩情況 中均被通電,並執行使用者/核心碼或準備以執行碼。同 樣地,一線可以執行(忙碌)或閒置(迴路)。於此實施 法中之電源狀態的階層,由最活動並需要最小電量以帶到 作動狀態有:C0-BUSY401 、 C0-IDLE402 、 Cl - HALT/WAIT403 、 C2-ST0P GRANT404 、 C3 -DEEP SLEEP40 5及Cn4 06。Cn電源狀態406係爲在階層底部之 任意電源狀態,相對於其他電源狀態,在能服務一中斷 前,花用較大時間量及電源。可用電源狀態之數也可以取 決於特定實施例加以改變。於此所用之處理機及線係可互 相交換,使得一線能參考一邏輯處理機。 對於本發明之一實施例,晶片組中斷邏輯評估由各種 處理機所收到之處理機電源狀態,以決定一相關名單。於 此實施例中,C0-IDLE402狀態係低於 C0-BUSY401狀 態,因爲兩狀態表示一處理機或一線可以以很少或沒有損 耗來處置一中斷。然而,忙碌之處理機/線將必須中斷現 行執行之工作並可能在服務中斷要求前,儲存架構狀態, 而閒置之處理機/線將可以以甚至更少之損耗來立即進行 中斷要求。以停止或睡眠中之處理機/線,如分別在C2 4 04或C3 40 5,處理機/線將必須被喚醒及其架構狀態必 須被重新回復,這將可能需要很大量之時間。再者,喚醒 一睡眠處理機/線可能也需要一些電力,以重新開始或啓 -19- (16) (16)1233545 動必要之硬體邏輯。因此,處理機愈不活動,則在時間及 電力上使得處理機能準備服務中斷的成本愈大。因此,晶 片組中斷邏輯可以被架構以選擇最佳處理機,以基於包含 處理機電源狀態及處理機工作優先權之因素組合,來處置 一中斷要求。 第5圖爲用於一實施例晶片組之處理機工作資訊表輸 入値500的示意圖。輸入値500被儲存於包含暫存器、閂 鎖器等之各種記憶體位置中。對此實施例,每一輸入係由 五欄位構成,長三個位元組之資料,並儲存有關一處理機 工作優先權與處理機電源狀態的資訊。於此例子中之輸入 値 5 0 0的第一欄位爲一實體先進可程式中斷控制器 (xAPIC )識別碼501。此實施例之實體xAPIC ID501指 明輸入値所相關之實體處理機。一實施例之第一欄位係用 以,其中多處理機或多處理機核心被實體出現在系統中。 每一輸入値5 00之第二欄位爲邏輯xAPIC ID 5 02。此實施 例之邏輯xAPIC ID 5 02指明輸入値所相關之邏輯處理機或 線。此邏輯Ϊ D欄位5 0 2係爲此實施中之作業系統所程 式。 於此實施例中之TPR輸入値5 00之第三欄位爲保持 一致能旗標’以指示是否此特定輸入値爲有效否。此致能 欄位也可以用以表示是否該處理機/線能處置中斷。若一 處理機輸入未被致能,則處理機可能不能使用或者不動 作。對此實施例,一第四欄位係用以保持此處理機之電源 狀態5 04 °然而,於其他實施例中,此欄位可以被保留或 -20- (17) (17)1233545 不出現,因爲該中斷邏輯可以合倂電源狀態値及處理機優 先權値成爲一統一値。此實施例之第五欄位爲儲存用於此 處理機之TPR値5 0 5。TPR値用以表示在現行處理機的工 作優先權。此實施例之中斷邏輯的演繹法係被架構以不中 斷具有較中斷要求爲高之優先權的工作,並搜尋另一可能 處理機。但若中斷要求具有較現行工作爲高之優先權,則 工作可以被中斷,以服務該中斷。至於具有優先權位準等 於現行工作之中斷,若沒有另一較低優先權工作之處理 機,則邏輯可以中斷該工作。 於另一實施例中,TPR欄5 05可以架構以保有一整體 電源及工作優先權値,當搜尋一處理機時,中斷分配邏輯 可以由該處評估。雖然,第5圖中之例子的欄位係例示有 例示性欄位長及欄位位置,但此工作優先權表之輸入値及 結果取決於本發明之特定實施法而定。示於第5圖之表輸 入値已經以晶片組邏輯之環境加以說明。然而,類似類型 之結構可以放在每一個別處理機內,並以此作業系統以追 縱可用之每一實體及/或邏輯處理機之工作優先權値及電 源狀態値。 第6 A - D圖爲用以分配中斷之電源狀態掌控方法的一 實施例的流程圖。第6 A圖例示一實施例之電源狀態掌控 中斷分配之高位準方法。在方塊6 0 2,系統被開始或重 置。系統元件離開重置並啓始於方塊6 1 0。此等系統元件 (即處理機、晶片組、記憶體、I/O裝置)例可以於以上 之第1圖找到。作業系統也被啓始化與裝載。於開始程序 -21 - (18) (18)1233545 中,作業系統可以架構各種系統裝置作適當操作。於一實 施例中,作業系統可以爲多工並同時執行多數線。取決於 特定實施而定,作業系統可以在若干邏輯處理機或有的 話,實體處理機/核心執行多線。在方塊6 1 5,系統輸入正 常作業。於正常系統作業中,各類型之使用者應用及系統 工作係爲系統所執行。在方塊6 2 0,每一處理機的工作優 先權與電源狀態被追縱。追縱可以包含收集有關各種實體 及/或邏輯處理機的工作優先權、電源狀態 '及/或活動狀 態的資訊。於方塊6 3 0,檢查決定是否已收到任意中斷要 求。若在方塊6 3 0檢測沒有中斷要求,則系統在6 1 5持續 正常作業。 若在方塊6 3 0檢測出一中斷要求,則晶片組中斷邏輯 處置該要求並決定將該要求送至哪裡作服務。基於因素分 析’包含但並不限定於用於邏輯/實體處理機之工作優先 權値及電源狀態値,中斷邏輯選擇一適當處理機並傳送該 中斷要求。接收處理機服務該中斷要求然後在方塊660回 復其先前之活動。在方塊6 1 5,正常系統操作持續,直到 檢測出另一中斷要求爲止。 第6B圖爲例示於方塊610之啓始程序時,發生之作 業的流程圖。於方塊6 1 1,用於每一處理機之工作優先權 暫存器被啓始。晶片組中斷處置邏輯也在方塊612啓始。 在方塊6 1 3,每一處理機將其工作優先權及電源狀態傳送 至晶片組邏輯。處理機工作優先權及處理機電源狀態資訊 在方塊6 1 4被儲存於晶片邏輯,作用以當需要服務中斷要 -22- (19) 1233545 求時,作後續參考。工作優先權及電源狀態資訊只要在 理機之工作或電源位準改變,即加以更新。 第6C圖之流程圖例示於方塊620之處理機追縱時 操作的其他細節。於方塊62 1,在處理機之工作優先權 存器被更新以一工作優先權値及一電源狀態値。對於一 施例,工作優先權暫存器儲存兩値。於另一實施例中, 値被儲存在不同暫存器中。於另一實施例中,工作優先 暫存器基於兩値,儲存一統一値。新工作優先權與電源 態資訊在方塊622被送至晶片組。在方塊623,晶片組 輯將工作優先權資訊儲存入在用於該處理機之工作資訊 的一格中。此實施例之晶片組可以追縱在系統中之若干 體/邏輯處理機之工作資訊。在表中之每一輸入値被映 至一特定處理機。對此實施例,在方塊624,晶片組邏 也可以映圖處理機工作優先權至對應電源狀態。用於該 作之由該處理機所接收之電源狀態資訊係被存入工作資 表。 第 6D圖爲本發明一實施例中,當中斷要求在方 6 3 0被接到並在方塊640服務時,在晶片組邏輯及處理 活動的流程圖。對此實施例,方塊64 1 - 64 5及6 5 1 - 6 5 3 大致發生在晶片組,而方塊646-65 0大致發生在一處 機。在方塊641,晶片組中斷邏輯決定中斷優先權。在 塊642,邏輯檢查用於每一處理機之工作優先權。在方 64 3,也檢查用於每一處理機之電源狀態。在方塊644 於考量有工作優先權位準及電源狀態之演繹法,晶片組 處 暫 實 諸 權 狀 邏 表 實 圖 輯 工 訊 塊 機 係 理 方 塊 基 中 -23 - (20) (20)1233545 斷邏輯選擇一處理機,以服務該要求,並在方塊645送出 中斷要求給處理機。此實施例之晶片組邏輯也更新處理機 工作輸入,以注意中斷優先權與正處置該中斷的處理機。 在方塊64 6,中斷要求被接收於選定處理機。若有一 工作正在處理中,則處理機在方塊6 4 7暫停其現行工作。 在方塊648,用於該處理機之工作優先權輸入値被更新以 一新優先權値。對於一實施例,工作優先權輸入値在處理 機及在晶片組之實體暫存器位置處更新。於另一實施例 中,在爲作業系統所維持之記憶體結構處之工作優先權輸 入値被更新。在方塊 649,處理機服務中斷。在方塊 6 5 0,處理機通知晶片組中斷服務要求的完成並更新處理 機工作優先權値爲該中斷工作之優先權値。在方塊6 5 1, 晶片組接收中斷完成通知及回復之工作優先權値。處理機 資訊表被更新以該工作優先權。在方塊6 5 2,處理機再開 始在中斷前進行之工作,晶片組持續其操作。在方塊 6 5 3,晶片組同時也通知要求者該中斷服務要求之完成。 第7圖爲用於處理機電源狀態掌控之中斷分配的另一 實施例方法的流程圖。本實施例的方法係作業系統加以實 施並經由各種控制信號及指令加以操作。於一實施法中, 韌體係用以轉譯或傳送信號於軟體及硬體元件之間。在方 塊7 0 2,作業系統被開始與重置。爲作業系統所維持在處 理機資訊表中之工作優先權輸入値係在方塊7 04被啓始 化。對此實施例,在方塊706於工作優先權狀態與電源狀 態間建立一映圖。此實施例之工作優先權輸入將處理機工 -24 - (21) (21)1233545 作優先權値及處理機電源狀態値加入單一參考値內。 在方塊708,開始正常系統操作。在方塊710中,作 業系統追縱系統中之每一實體及邏輯處理機之動作中之工 作的工作優先權。在方塊7 1 2,作業系統詢問有關是否中 斷要求已經被接收。若沒有中斷要求要處理,則方塊7 0 8 繼續正常系統操作。用者應用及系統工作持續執行。但若 仍有中斷要求未處理,則作業系統在方塊7 1 4接收用以分 配之要求。在方塊716,作業系統分析每一處理機之儲存 在資訊表工作優先權及電源狀態値。在方塊7 1 8,作業系 統選擇具有適當優先權及電源狀態之處理機,以服務中斷 要求。對於一實施例,適當處理機係爲具有最低優先權工 作及最高優先權狀態者。換句話說,在要求被服務前,具 有最小時間潛候期及最小消耗功率需求之處理機係被選 擇。 於一實施例中,重要工作或高優先權工作典型不被中 斷以服務較低優先權之中斷。同樣地,部份類型之睡眠模 式之處理機可能是服務中斷要求所不想要之候選者,因爲 以功率及時間看來,喚醒一處理機可能成本較高。在方塊 7 20 ’中斷要求被傳送至用以服務之選定處理機。在方塊 7 22,用於該處理機之工作優先權輸入被更新,以反映中 斷要求之優先權。目標處理機接收及處置該要求。在方塊 724,作業系統被通知要求之完成。在方塊726,回復用 於該處理機之工作優先權輸入値。對於一實施例,在方塊 7 2 8,處理機回復操作最後中斷要求接收時仍在手上之工 -25· (22) (22)1233545 作。 雖然,上述例子描述以執行單元及邏輯電路方式來作 中斷處置與分配,但本發明之其他實施例可以以軟體加以 完成。此軟體可以被儲存在系統之記憶體中。同樣地’碼 也可以經由一網路或其他電腦可讀取媒體加以分配。例 如,一電腦程式可以經由例如軟碟或CD-ROM,甚至網際 網路之傳輸加以分配。因此,一機器可讀取媒體可以包含 可以機器(例如電腦)加以讀取之形式,來儲存或傳輸資 訊的機制。例如,一機器可讀取媒體可以包含一唯讀記憶 體(ROM )、隨機存取記憶體(RAM )、磁碟儲存媒體、 光學儲存媒體、快閃記憶體裝置、及電氣、光學、音學或 其他形式之傳遞信號(例如載波、紅外線信號、數位信號 等等)。 再者,依據本發明之積體電路設計之實施例可以以電 子形式加以傳送。例如,於一實施例中,一處理機之積體 電路設計之電子形式可以經由一製造廠加以處理或製造, 以取得一電腦元件。另一例子中,在電子形式中之積體電 路設計可以爲一機器所處理,以模擬一電腦元件。因此, 於部份實施例中,電路佈局圖及/或處理機之設計可以經 由機器可讀取媒體加以分配,或者,用以製造入一電路 中,實施在其上,或者模擬一模擬一處理機之積體電路。 一機器可讀取媒體也可以依據本發明儲存代表預定功能之 資料。 於前述說明書中,本發明已經參考例示實施例加以說 -26- (23) (23)1233545 明。然而,明顯地各種之修改與變化可以在不脫離本發明 之申請專利範圍所定之精神及範圍下加以完成。因此,說 明書及附圖只作例示而非限定目的。 【圖式簡單說明】 第1圖爲以一晶片組及處理機所形成之多處理機電腦 系統之方塊圖,其包含一機制用以依本發明一實施例,作 最低優先權中斷的電源狀態掌控分佈; 第2圖爲一多核心處理機模組及相關晶片組之方塊 圖,其包含本發明之電源狀態掌控中斷機制的一實施例; 第3圖爲一多線處理機與相關晶片組之方塊圖,其包 含依據本發明之電源狀態掌控中斷機制的另一實施例; 第4圖爲用於依據本發明一實施例之處理機電源狀 態; 第5圖爲用於一晶片組實施例之處理機工作資訊表輸 入値圖; 第6A-6D圖爲用以分配中斷之電源狀態掌控之一實 施例流程圖;及 第7圖爲一流程圖,顯示用於中斷之處理機電源狀態 旱控分配方法的流程圖。 【符號說明】 1 〇 〇電腦系統 1 〇 1處理機 -27- (24) (24)1233545 102快取記憶體 1 0 3中斷處置機制 1 0 5處理機 106快取記憶體 1 0 7中斷處置機制 1 1 〇處理機匯流排 1 1 2圖形卡 1 1 4加速圖形埠連線 1 1 6記憶體控制器集線器 1 17中斷處置邏輯 118記憶體界面 1 2 0記憶體
1 22系統I/O 124資料儲存 1 2 6無線收發機 1 2 8韌體集線器 130 I/O控制器集線器 1 3 4網路控制器 2 0 0方塊圖 201多核心處理機模組 2 1 0快取 2 2 0處理機核心 2 2 1執行邏輯 22 2內部晶粒內快取 (25) 中斷邏輯 工作優先權暫存器 核心 執行邏輯 內部晶粒內快取 中斷邏輯 工作優先權暫存器 前側匯流排單元 晶片組邏輯 中斷邏輯 工作優先權暫存器表 狀態資訊表 匯流排 方塊圖 處理機模組 快取記憶體 處理機核心 晶片上快取 中斷邏輯 多線邏輯 工作優先權暫存器 前側匯流排邏輯 整數執行邏輯 浮點執行邏輯 -29- (26) 1233545 3 3 0架構狀態 3 4 0架構狀態 3 5 0外部匯流排 3 6 0晶片組 361中斷邏輯 362工作優先權暫存器表 3 6 3電源狀態資訊表
5 0 0處理機工作資訊表輸入 5 Ο 1先進可程式中斷控制器
5 02 邏輯 xAPIC ID 5 03致能旗標 5 04電源狀態 5 0 5工作優先權暫存器値
-30-

Claims (1)

  1. (1) (1)1233545 拾、申請專利範圍 1 ·一種電源狀態分配方法,包含: 由一第一元件接收第一電源狀態資訊,及由一第二元 件接收第二電源狀態資訊; 由第一元件接收第一工作優先權資訊及由第二元件接 收第二工作優先權資訊; 由服務用第一裝置接收一中斷要求; 評估用於第一及第二元件之電源狀態及工作優先權資 訊,以決定哪一元件應服務該中斷要求; 基於該電源狀態與該工作優先權資訊,決定第一元件 或第二元件爲服務該中斷要求之目的元件;及 將該中斷要求傳送至該目的元件。 2 .如申請專利範圍第1項所述之方法,更包含將該第 一電源狀態資訊儲存於一第一記憶體位置及第二電源狀態 資訊儲存於一第二記憶體位置。 3 .如申請專利範圍第2項所述之方法,更包含將該第 一工作優先權資訊儲存於第三記憶體位置及該第二工作優 先權資訊儲存於第四記憶體位置。 4 .如申請專利範圍第3項所述之方法,更包含檢查用 於中斷要求之裝置。 5 ·如申請專利範圍第4項所述之方法,更包含更新用 於該目的元件之電源狀態與工作優先權資訊,以反映該中 斷要求之工作優先權。 6.如申請專利範圍第5項所述之方法,更包含由該目 -31 - (2) (2)1233545 的元件接收中斷完成之通知。 7 .如申請專利範圍第6項所述之方法,更包含將該目 的元件之電源狀態與工作優先權資訊回復至服務該中斷要 求前已經存在之値。 8 ·如申請專利範圍第7項所述之方法,更包含通知該 裝置中斷之完成。 9 ·如申請專利範圍第8項所述之方法,其中該第一及 第二元件爲處理機。 1 〇 ·如申請專利範圍第9項所述之方法,其中該第 一、第二、第三及第四記憶體位置係位在晶片組邏輯之 內。 11. 一種電源狀態分配設備,包含: 中斷處置邏輯,連接至第一組信號線,以接收中斷要 求,該第一組信號線連接至一或多數可以產生中斷要求之 裝置; 一匯流排界面,與連接至一第一元件及一第二元件之 匯流排相互動作,其中該中斷處置邏輯係經由匯流排界面 連接至第一匯流排,以接收用於該第一及第二元件之電源 狀態資訊及工作優先權資訊; 評估邏輯’連接該中斷處置邏輯,其中當該中斷處置 邏輯接收該中斷要求時,該評估邏輯評估用於該第一及第 二元件之電源狀態及工作優先權資訊,以決定哪一元件應 服務該中斷要求;及 選擇邏輯’連接該評估邏輯,以基於該電源狀態與該 -32- (3) (3)J233545 工作優先權資訊’選擇第一元件或第二元件爲服務該中斷 要求之目的元件。 12 ·如申請專利範®第1 1項所述之設備,更包含記憶 體’用以儲存第一及第=元件之電源狀態資訊與該工作優 先權資訊,給該評估輯所參考。 1 3 ·如申請專利範圍第1 2項所述之設備,其中該選擇 邏輯更將該中斷要求傳送至該服務用之目的元件。 1 4 ·如申請專利範圍第1 3項所述之設備,其中該選擇 邏輯進一步更新用於該目的元件之電源狀態與該工作優先 權資訊’以反映該中斷要求之工作優先權。 1 5 ·如申請專利範圍第1 4項所述之設備,其中該中斷 處置邏輯進一步自該目的元件接收中斷完成之通知。 1 6.如申請專利範圍第1 5項所述之設備,其中該選擇 邏輯進一步回復該目的元件之電源狀態與該工作優先權資 訊至服務中斷要求前已經存在之値。 1 7 ·如申請專利範圍第1 6項所述之設備,其中該中斷 處置邏輯進一步通知該裝置中斷之完成。 1 8 ·如申請專利範圍第1 7項所述之設備,其中該第一 及第二元件爲處理機。 19. 如申請專利範圍第17項所述之設備,其中該第一 及第二元件爲一多線式環境中之線。 20. 如申請專利範圍第19項所述之設備,其中該設備 爲一晶片組。 2 1 . —種電腦系統,包含: -33- (4) 1233545 一匯流排; 一第一處理機與一第二處理機,連接至該匯流排; 一或多數系統裝置,其可以產生中斷要求,其中該中 斷要求,需要來自該第一或第二處理機之服務;
    一晶片組,以處置該中斷要求,該晶片組連接至該等 系統裝置及該第一與第二處理機,其中該晶片組係接收用 於第一及第二處理機之電源狀態資訊與工作優先權資訊; 當接收到一中斷要求時,該晶片組評估該電源狀態與該工 作優先權資訊,並決定哪一處理機應服務該中斷要求;及 其中該晶片組基於該電源狀態及工作優先權資訊,選擇第 一處理機或第二處理機,以服務該要求。 22·如申請專利範圍第21項所述之系統,其中該晶片 組更包含記憶體暫存器,以儲存用於第一及第二元件之電 源狀態與工作優先權資訊,以爲評估邏輯所參考。
    2 3.如申請專利範圍第22項所述之系統,其中該晶片 組更包含邏輯以更新用於該目的元件之電源狀態與工作優 先權資訊,以反映該中斷要求之工作優先權。 24·如申請專利範圍第22項所述之系統,其中該晶片 組更包含邏輯,以追縱第一及第二處理機之電源狀態與工 作優先權資訊。 25·如申請專利範圍第22項所述之系統,其中該晶片 組由被選擇以服務該中斷要求之處理機’接收中斷要求完 成之通知。 2 6 .如申請專利範圍第2 5項所述之系統,其中該晶片 -34- (5) (5)1233545 組更包含邏輯,以回復用於該被選擇以服務該中斷要求之 處理機的電源狀態與工作優先權資訊,至服務該中斷要求 前已經存在的値。 2 7 ·如申.請專利範圍第2 6項所述之系統,其中該第一 及第二處理機均是多線式處理機。 28·如申請專利範圍第26項所述之系統,其中該第一 及第二處理機均爲一多核心模組之處理核心。 29. —種機器可讀取媒體,具有一電腦程式內藏於其 中,該電腦程式可以爲一機器所執行,以執行一方法,該 方法包含: 由一第一元件接收第一電源狀態資訊,及由一第二元 件接收第二電源狀態資訊; 由第一元件接收第一工作優先權資訊及由第二元件接 收第二工作優先權資訊; 由服務用第一裝置接收一中斷要求; 評估用於第一及第二元件之電源狀態及工作優先權資 訊,以決定哪一元件應服務該中斷要求; 基於該電源狀態與該工作優先權資訊,決定第一元件 或第二元件爲.服務該中斷要求之目的元件;及 將該中斷要求傳送至該目的元件。 30. 如申請專利範圍第29項所述之機器可讀取媒體’ 其中該方法更包含將該第一電源狀態資訊儲存於一第一記 憶體位置及第二電源狀態資訊儲存於一第二記憶體位置。 3 1 ·如申請專利範圍第30項所述之機器可讀取媒體’ -35- (6) (6)1233545 其中該方法更包含將該第一工作優先權資訊儲存於第三記 憶體位置及該第二工作優先權資訊儲存於第四記憶體位 置° 32·如申請專利範圍第29項所述之機器可讀取媒體, 其中該方法更包含檢查用於中斷要求之裝置。 3 3 ·如申請專利範圍第2 9項所述之機器可讀取媒體, 其中該方法更包含更新用於該目的元件之電源狀態與工作 優先權資訊,以反映該中斷要求之工作優先權。 3 4 .如申請專利範圍第3 3項所述之機器可讀取媒體, 其中該方法更包含由該目的元件接收中斷完成之通知。 3 5 .如申請專利範圍第3 4項所述之機器可讀取媒體, 其中該方法更包含將該目的元件之電源狀態與工作優先權 資訊回復至服務該中斷要求前已經存在之値。 3 6 ·如申請專利範圍第3 5項所述之機器可讀取媒體, 其中該第一及第二元件爲處理機。 3 7 . —種電源狀態分配方法,包含: 由一第一元件接收第一電元狀態資訊,及由一第二元 件接收第二電源狀態資訊; 基於該第一電源狀態資訊,將第一工作優先權値,指 定給該第一元件; 基於該第二電源狀態資訊,將第二工作優先權値,指 定給該第二元件; 由服務用第一裝置接收一中斷要求; 評估用於第一及第二元件之工作優先權値,以決定哪 -36- (7) 1233545 一元件應服務該中斷要求; 基於該工作優先權資訊,選擇第一元件或第二元件爲 服務該中斷要求之目的元件;及 將該中斷要求傳送至該目的元件。 3 8 ·如申請專利範圍第3 7項所述之方法,更包含儲存 第一及第二工作優先權値至一第一及第二暫存器中。
    3 9 ·如申請專利範圔第3 8項所述之方法,其中每一電 源狀態資訊包含一電源狀態値。 4 0 ·如申請專利範圍第3 9項所述之方法,其中每一電 源狀態値相當於一工作優先權値。 4 1 ·如申請專利範圍第4 0項所述之方法,其中一較高 電源狀態値相當於較低之工作優先權値及一較低電源狀態 値相當於一較高工作優先權値。
    4 2 ·如申請專利範圍第4 1項所述之方法,其中具有較 低工作優先權値之元件係較具有較高工作優先權値之另一 元件,能更佳地被選擇爲服務該中斷要求之目的元件。 43.如申請專利範圍第42項所述之方法,其中該第一 及第二元件分別爲一第一處理機及一第二處理機。 4 4 .如申請專利範圍第4 3項所述之方法,其中每一工 作優先權値均被儲存在一特有暫存器。 - 37-
TW092134722A 2002-12-26 2003-12-09 Mechanism for processor power state aware distribution of lowest priority interrupts TWI233545B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/330,622 US7191349B2 (en) 2002-12-26 2002-12-26 Mechanism for processor power state aware distribution of lowest priority interrupt

Publications (2)

Publication Number Publication Date
TW200413889A TW200413889A (en) 2004-08-01
TWI233545B true TWI233545B (en) 2005-06-01

Family

ID=32654547

Family Applications (1)

Application Number Title Priority Date Filing Date
TW092134722A TWI233545B (en) 2002-12-26 2003-12-09 Mechanism for processor power state aware distribution of lowest priority interrupts

Country Status (8)

Country Link
US (2) US7191349B2 (zh)
CN (1) CN100349147C (zh)
AU (1) AU2003298903A1 (zh)
DE (1) DE10393969T5 (zh)
GB (1) GB2412457B (zh)
HK (1) HK1075314A1 (zh)
TW (1) TWI233545B (zh)
WO (1) WO2004061686A2 (zh)

Cited By (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8769245B2 (en) 2010-12-09 2014-07-01 Industrial Technology Research Institute Very long instruction word (VLIW) processor with power management, and apparatus and method of power management therefor
TWI483186B (zh) * 2013-09-26 2015-05-01 Andes Technology Corp 微處理器及其使用指令迴圈快取記憶體的方法
TWI489379B (zh) * 2011-11-14 2015-06-21 Intel Corp 用以處理指令之方法、處理器、及系統
TWI512626B (zh) * 2012-04-11 2015-12-11 Nvidia Corp 微處理器中存取及管理程式碼轉譯
US9383803B2 (en) 2011-09-30 2016-07-05 Intel Corporation Priority based application event control (PAEC) to reduce power consumption
US9678882B2 (en) 2012-10-11 2017-06-13 Intel Corporation Systems and methods for non-blocking implementation of cache flush instructions
US9678755B2 (en) 2010-10-12 2017-06-13 Intel Corporation Instruction sequence buffer to enhance branch prediction efficiency
US9710399B2 (en) 2012-07-30 2017-07-18 Intel Corporation Systems and methods for flushing a cache with modified data
US9720839B2 (en) 2012-07-30 2017-08-01 Intel Corporation Systems and methods for supporting a plurality of load and store accesses of a cache
US9720831B2 (en) 2012-07-30 2017-08-01 Intel Corporation Systems and methods for maintaining the coherency of a store coalescing cache and a load cache
US9733944B2 (en) 2010-10-12 2017-08-15 Intel Corporation Instruction sequence buffer to store branches having reliably predictable instruction sequences
US9767038B2 (en) 2012-03-07 2017-09-19 Intel Corporation Systems and methods for accessing a unified translation lookaside buffer
US9766893B2 (en) 2011-03-25 2017-09-19 Intel Corporation Executing instruction sequence code blocks by using virtual cores instantiated by partitionable engines
TWI603184B (zh) * 2011-12-28 2017-10-21 英特爾股份有限公司 包含在可變喚醒率下之最佳化c-狀態選擇之高效節能方法、設備與系統
US9811342B2 (en) 2013-03-15 2017-11-07 Intel Corporation Method for performing dual dispatch of blocks and half blocks
US9811377B2 (en) 2013-03-15 2017-11-07 Intel Corporation Method for executing multithreaded instructions grouped into blocks
US9823930B2 (en) 2013-03-15 2017-11-21 Intel Corporation Method for emulating a guest centralized flag architecture by using a native distributed flag architecture
US9842005B2 (en) 2011-03-25 2017-12-12 Intel Corporation Register file segments for supporting code block execution by using virtual cores instantiated by partitionable engines
US9858080B2 (en) 2013-03-15 2018-01-02 Intel Corporation Method for implementing a reduced size register view data structure in a microprocessor
US9886416B2 (en) 2006-04-12 2018-02-06 Intel Corporation Apparatus and method for processing an instruction matrix specifying parallel and dependent operations
US9886279B2 (en) 2013-03-15 2018-02-06 Intel Corporation Method for populating and instruction view data structure by using register template snapshots
US9891924B2 (en) 2013-03-15 2018-02-13 Intel Corporation Method for implementing a reduced size register view data structure in a microprocessor
US9898412B2 (en) 2013-03-15 2018-02-20 Intel Corporation Methods, systems and apparatus for predicting the way of a set associative cache
US9916253B2 (en) 2012-07-30 2018-03-13 Intel Corporation Method and apparatus for supporting a plurality of load accesses of a cache in a single cycle to maintain throughput
US9921845B2 (en) 2011-03-25 2018-03-20 Intel Corporation Memory fragments for supporting code block execution by using virtual cores instantiated by partitionable engines
US9934042B2 (en) 2013-03-15 2018-04-03 Intel Corporation Method for dependency broadcasting through a block organized source view data structure
US9940134B2 (en) 2011-05-20 2018-04-10 Intel Corporation Decentralized allocation of resources and interconnect structures to support the execution of instruction sequences by a plurality of engines
US9965281B2 (en) 2006-11-14 2018-05-08 Intel Corporation Cache storing data fetched by address calculating load instruction with label used as associated name for consuming instruction to refer
US10031784B2 (en) 2011-05-20 2018-07-24 Intel Corporation Interconnect system to support the execution of instruction sequences by a plurality of partitionable engines
US10140138B2 (en) 2013-03-15 2018-11-27 Intel Corporation Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation
US10146548B2 (en) 2013-03-15 2018-12-04 Intel Corporation Method for populating a source view data structure by using register template snapshots
US10169045B2 (en) 2013-03-15 2019-01-01 Intel Corporation Method for dependency broadcasting through a source organized source view data structure
US10191746B2 (en) 2011-11-22 2019-01-29 Intel Corporation Accelerated code optimizer for a multiengine microprocessor
US10198266B2 (en) 2013-03-15 2019-02-05 Intel Corporation Method for populating register view data structure by using register template snapshots
US10228949B2 (en) 2010-09-17 2019-03-12 Intel Corporation Single cycle multi-branch prediction including shadow cache for early far branch prediction
US10241810B2 (en) 2012-05-18 2019-03-26 Nvidia Corporation Instruction-optimizing processor with branch-count table in hardware
US10324725B2 (en) 2012-12-27 2019-06-18 Nvidia Corporation Fault detection in instruction translations
US10521239B2 (en) 2011-11-22 2019-12-31 Intel Corporation Microprocessor accelerated code optimizer

Families Citing this family (136)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6760772B2 (en) 2000-12-15 2004-07-06 Qualcomm, Inc. Generating and implementing a communication protocol and interface for high data rate signal transfer
US8812706B1 (en) 2001-09-06 2014-08-19 Qualcomm Incorporated Method and apparatus for compensating for mismatched delays in signals of a mobile display interface (MDDI) system
US7627721B2 (en) 2002-10-08 2009-12-01 Rmi Corporation Advanced processor with cache coherency
US7961723B2 (en) 2002-10-08 2011-06-14 Netlogic Microsystems, Inc. Advanced processor with mechanism for enforcing ordering between information sent on two independent networks
US7346757B2 (en) * 2002-10-08 2008-03-18 Rmi Corporation Advanced processor translation lookaside buffer management in a multithreaded system
US7924828B2 (en) 2002-10-08 2011-04-12 Netlogic Microsystems, Inc. Advanced processor with mechanism for fast packet queuing operations
US20050044324A1 (en) * 2002-10-08 2005-02-24 Abbas Rashid Advanced processor with mechanism for maximizing resource usage in an in-order pipeline with multiple threads
US8015567B2 (en) 2002-10-08 2011-09-06 Netlogic Microsystems, Inc. Advanced processor with mechanism for packet distribution at high line rate
US8478811B2 (en) 2002-10-08 2013-07-02 Netlogic Microsystems, Inc. Advanced processor with credit based scheme for optimal packet flow in a multi-processor system on a chip
US7334086B2 (en) 2002-10-08 2008-02-19 Rmi Corporation Advanced processor with system on a chip interconnect technology
US20050033831A1 (en) * 2002-10-08 2005-02-10 Abbas Rashid Advanced processor with a thread aware return address stack optimally used across active threads
US7984268B2 (en) 2002-10-08 2011-07-19 Netlogic Microsystems, Inc. Advanced processor scheduling in a multithreaded system
US7461215B2 (en) * 2002-10-08 2008-12-02 Rmi Corporation Advanced processor with implementation of memory ordering on a ring based data movement network
US9088474B2 (en) 2002-10-08 2015-07-21 Broadcom Corporation Advanced processor with interfacing messaging network to a CPU
US8037224B2 (en) 2002-10-08 2011-10-11 Netlogic Microsystems, Inc. Delegating network processor operations to star topology serial bus interfaces
US8176298B2 (en) * 2002-10-08 2012-05-08 Netlogic Microsystems, Inc. Multi-core multi-threaded processing systems with instruction reordering in an in-order pipeline
KR101166734B1 (ko) 2003-06-02 2012-07-19 퀄컴 인코포레이티드 고속 데이터 레이트를 위한 신호 프로토콜 및 인터페이스의 생성 및 구현
JP2007507918A (ja) 2003-08-13 2007-03-29 クゥアルコム・インコーポレイテッド さらに高速なデータレート用の信号インタフェース
KR100973103B1 (ko) 2003-09-10 2010-08-02 콸콤 인코포레이티드 고속 데이터 인터페이스
JP2005092780A (ja) * 2003-09-19 2005-04-07 Matsushita Electric Ind Co Ltd リアルタイムプロセッサシステム及び制御方法
AU2004306903C1 (en) 2003-10-15 2009-01-22 Qualcomm Incorporated High data rate interface
AU2004307162A1 (en) 2003-10-29 2005-05-12 Qualcomm Incorporated High data rate interface
KR100915250B1 (ko) 2003-11-12 2009-09-03 콸콤 인코포레이티드 향상된 링크 제어를 제공하는 고속 데이터 레이트 인터페이스
US20050108713A1 (en) * 2003-11-18 2005-05-19 Geye Scott A. Affinity mask assignment system and method for multiprocessor systems
WO2005053272A1 (en) 2003-11-25 2005-06-09 Qualcomm Incorporated High data rate interface with improved link synchronization
EP2247070B1 (en) 2003-12-08 2013-09-25 QUALCOMM Incorporated High data rate interface with improved link synchronization
US7093036B2 (en) * 2003-12-11 2006-08-15 International Business Machines Corporation Processor state aware interrupts from peripherals
EP2375676B1 (en) 2004-03-10 2013-06-26 Qualcomm Incorporated High data rate interface apparatus and method
EP1735986B1 (en) * 2004-03-17 2013-05-22 Qualcomm, Incorporated High data rate interface apparatus and method
US7784064B2 (en) * 2004-04-14 2010-08-24 Barclays Capital Inc. Method for collecting monitor information
US7512774B2 (en) * 2004-04-14 2009-03-31 Barclays Capital Inc. Method and system for collecting processor information
KR100926658B1 (ko) 2004-06-04 2009-11-17 퀄컴 인코포레이티드 고 데이터 레이트 인터페이스 장치 및 방법
US8650304B2 (en) 2004-06-04 2014-02-11 Qualcomm Incorporated Determining a pre skew and post skew calibration data rate in a mobile display digital interface (MDDI) communication system
US8538997B2 (en) * 2004-06-25 2013-09-17 Apple Inc. Methods and systems for managing data
US8131674B2 (en) 2004-06-25 2012-03-06 Apple Inc. Methods and systems for managing data
EP1615141B1 (en) * 2004-07-01 2018-03-07 Harman Becker Automotive Systems GmbH A computing architecture for a mobile multimedia system used in a vehicle
CN100474214C (zh) * 2004-08-05 2009-04-01 松下电器产业株式会社 信息处理装置
US20060112208A1 (en) * 2004-11-22 2006-05-25 International Business Machines Corporation Interrupt thresholding for SMT and multi processor systems
US8873584B2 (en) 2004-11-24 2014-10-28 Qualcomm Incorporated Digital data interface device
US8723705B2 (en) 2004-11-24 2014-05-13 Qualcomm Incorporated Low output skew double data rate serial encoder
US8667363B2 (en) 2004-11-24 2014-03-04 Qualcomm Incorporated Systems and methods for implementing cyclic redundancy checks
US8692838B2 (en) 2004-11-24 2014-04-08 Qualcomm Incorporated Methods and systems for updating a buffer
US8699330B2 (en) 2004-11-24 2014-04-15 Qualcomm Incorporated Systems and methods for digital data transmission rate control
US8539119B2 (en) 2004-11-24 2013-09-17 Qualcomm Incorporated Methods and apparatus for exchanging messages having a digital data interface device message format
JP2006195867A (ja) * 2005-01-17 2006-07-27 Matsushita Electric Ind Co Ltd バス調停方法及び半導体装置
US20060294401A1 (en) * 2005-06-24 2006-12-28 Dell Products L.P. Power management of multiple processors
US7849466B2 (en) * 2005-07-12 2010-12-07 Qualcomm Incorporated Controlling execution mode of program threads by applying a mask to a control register in a multi-threaded processor
US7552236B2 (en) * 2005-07-14 2009-06-23 International Business Machines Corporation Routing interrupts in a multi-node system
US7412353B2 (en) 2005-09-28 2008-08-12 Intel Corporation Reliable computing with a many-core processor
GB0519981D0 (en) 2005-09-30 2005-11-09 Ignios Ltd Scheduling in a multicore architecture
US8730069B2 (en) 2005-11-23 2014-05-20 Qualcomm Incorporated Double data rate serial encoder
US8692839B2 (en) 2005-11-23 2014-04-08 Qualcomm Incorporated Methods and systems for updating a buffer
US7689838B2 (en) * 2005-12-22 2010-03-30 Intel Corporation Method and apparatus for providing for detecting processor state transitions
US7647509B2 (en) * 2006-05-12 2010-01-12 Intel Corporation Method and apparatus for managing power in a processing system with multiple partitions
US7797555B2 (en) * 2006-05-12 2010-09-14 Intel Corporation Method and apparatus for managing power from a sequestered partition of a processing system
US8799902B2 (en) * 2007-04-09 2014-08-05 Intel Corporation Priority based throttling for power/performance quality of service
JP4353990B2 (ja) * 2007-05-18 2009-10-28 株式会社半導体理工学研究センター マルチプロセッサ制御装置
US7627706B2 (en) 2007-09-06 2009-12-01 Intel Corporation Creation of logical APIC ID with cluster ID and intra-cluster ID
US8032681B2 (en) 2007-09-06 2011-10-04 Intel Corporation Processor selection for an interrupt based on willingness to accept the interrupt and on priority
US7769938B2 (en) * 2007-09-06 2010-08-03 Intel Corporation Processor selection for an interrupt identifying a processor cluster
US7962679B2 (en) * 2007-09-28 2011-06-14 Intel Corporation Interrupt balancing for multi-core and power
US9779235B2 (en) * 2007-10-17 2017-10-03 Sukamo Mertoguno Cognizant engines: systems and methods for enabling program observability and controlability at instruction level granularity
US8190864B1 (en) * 2007-10-25 2012-05-29 Oracle America, Inc. APIC implementation for a highly-threaded x86 processor
EP2235630A1 (en) * 2007-12-12 2010-10-06 Nxp B.V. Data processing system and method of interrupt handling
US7730248B2 (en) * 2007-12-13 2010-06-01 Texas Instruments Incorporated Interrupt morphing and configuration, circuits, systems and processes
GB2455744B (en) * 2007-12-19 2012-03-14 Advanced Risc Mach Ltd Hardware driven processor state storage prior to entering a low power mode
US7962771B2 (en) * 2007-12-31 2011-06-14 Intel Corporation Method, system, and apparatus for rerouting interrupts in a multi-core processor
US9596324B2 (en) 2008-02-08 2017-03-14 Broadcom Corporation System and method for parsing and allocating a plurality of packets to processor core threads
JP5397739B2 (ja) * 2008-03-18 2014-01-22 株式会社リコー 画像処理装置、画像処理方法および画像処理プログラム
US7793025B2 (en) * 2008-03-28 2010-09-07 Freescale Semiconductor, Inc. Hardware managed context sensitive interrupt priority level control
US8141084B2 (en) * 2008-04-07 2012-03-20 International Business Machines Corporation Managing preemption in a parallel computing system
US8024504B2 (en) * 2008-06-26 2011-09-20 Microsoft Corporation Processor interrupt determination
US8555292B2 (en) 2008-06-27 2013-10-08 Microsoft Corporation Synchronizing communication over shared memory
US7779191B2 (en) * 2008-07-29 2010-08-17 Nvidia Corporation Platform-based idle-time processing
CN104393919B (zh) * 2008-09-30 2017-04-12 发明科学基金I有限责任公司 用于本地接收器的功率发射
CN101403982B (zh) * 2008-11-03 2011-07-20 华为技术有限公司 一种多核处理器的任务分配方法和系统
US7996595B2 (en) * 2009-04-14 2011-08-09 Lstar Technologies Llc Interrupt arbitration for multiprocessors
US8171319B2 (en) * 2009-04-16 2012-05-01 International Business Machines Corporation Managing processor power-performance states
US8260996B2 (en) * 2009-04-24 2012-09-04 Empire Technology Development Llc Interrupt optimization for multiprocessors
US8321614B2 (en) * 2009-04-24 2012-11-27 Empire Technology Development Llc Dynamic scheduling interrupt controller for multiprocessors
US8064197B2 (en) * 2009-05-22 2011-11-22 Advanced Micro Devices, Inc. Heat management using power management information
US20100332877A1 (en) * 2009-06-30 2010-12-30 Yarch Mark A Method and apparatus for reducing power consumption
US8234431B2 (en) 2009-10-13 2012-07-31 Empire Technology Development Llc Interrupt masking for multi-core processors
US8578384B2 (en) * 2009-10-28 2013-11-05 Freescale Semiconductor, Inc. Method and apparatus for activating system components
US8365131B2 (en) * 2010-01-11 2013-01-29 Empire Technology Development Llc Hardware synthesis using thermally aware scheduling and binding
US9009499B2 (en) 2010-06-10 2015-04-14 Broadcom Corporation Power manager for a network having a virtual machine
US20110307716A1 (en) * 2010-06-10 2011-12-15 Broadcom Corporation Global control policy manager
US8352685B2 (en) 2010-08-20 2013-01-08 Apple Inc. Combining write buffer with dynamically adjustable flush metrics
JP5575248B2 (ja) * 2010-08-24 2014-08-20 三菱電機株式会社 通信端末、通信システム、通信方法及び通信プログラム
CN103080903B (zh) * 2010-08-27 2016-07-06 富士通株式会社 调度器、多核处理器系统以及调度方法
US8959270B2 (en) * 2010-12-07 2015-02-17 Apple Inc. Interrupt distribution scheme
US8458386B2 (en) 2010-12-07 2013-06-04 Apple Inc. Atomic interrupt masking in an interrupt controller to prevent delivery of same interrupt vector for consecutive interrupt acknowledgements
US8631256B2 (en) 2010-12-22 2014-01-14 Via Technologies, Inc. Distributed management of a shared power source to a multi-core microprocessor
US8782451B2 (en) 2010-12-22 2014-07-15 Via Technologies, Inc. Power state synchronization in a multi-core processor
US8637212B2 (en) 2010-12-22 2014-01-28 Via Technologies, Inc. Reticle set modification to produce multi-core dies
US8930676B2 (en) 2010-12-22 2015-01-06 Via Technologies, Inc. Master core discovering enabled cores in microprocessor comprising plural multi-core dies
US8972707B2 (en) 2010-12-22 2015-03-03 Via Technologies, Inc. Multi-core processor with core selectively disabled by kill instruction of system software and resettable only via external pin
US9460038B2 (en) 2010-12-22 2016-10-04 Via Technologies, Inc. Multi-core microprocessor internal bypass bus
US8635476B2 (en) 2010-12-22 2014-01-21 Via Technologies, Inc. Decentralized power management distributed among multiple processor cores
DE102011013833B4 (de) 2011-03-14 2014-05-15 Continental Automotive Gmbh Anzeigevorrichtung
KR20130021637A (ko) * 2011-08-23 2013-03-06 삼성전자주식회사 멀티 코어 시스템의 인터럽트 할당 방법 및 장치
US8688883B2 (en) 2011-09-08 2014-04-01 Intel Corporation Increasing turbo mode residency of a processor
US9400545B2 (en) 2011-12-22 2016-07-26 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including autonomous hardware-based deep power down in devices
US8819461B2 (en) * 2011-12-22 2014-08-26 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including improved processor core deep power down exit latency by using register secondary uninterrupted power supply
CN110471699B (zh) 2011-12-23 2023-07-28 英特尔公司 用于指令处理的处理器核、方法和系统
CA2799974C (en) * 2011-12-29 2018-05-22 The University Of Western Ontario Method and apparatus for wireless security enhancement using multiple attributes monitoring, continuous and interleaved authentication, and system adaption
US10146545B2 (en) 2012-03-13 2018-12-04 Nvidia Corporation Translation address cache for a microprocessor
GB2500434A (en) * 2012-03-23 2013-09-25 Cognovo Ltd Scheduling actions based on the state of the resources needed to execute the actions
US9342122B2 (en) * 2012-09-17 2016-05-17 Intel Corporation Distributing power to heterogeneous compute elements of a processor
US9678564B2 (en) * 2012-12-21 2017-06-13 Nxp B.V. Multiprocessor system with interrupt distributor
US9563579B2 (en) 2013-02-28 2017-02-07 Intel Corporation Method, apparatus, system for representing, specifying and using deadlines
US9571329B2 (en) * 2013-03-11 2017-02-14 International Business Machines Corporation Collective operation management in a parallel computer
US10108424B2 (en) 2013-03-14 2018-10-23 Nvidia Corporation Profiling code portions to generate translations
GB2514126A (en) * 2013-05-14 2014-11-19 Ibm Interruption of chip component managing tasks
US20140344947A1 (en) * 2013-05-20 2014-11-20 Advanced Micro Devices, Inc. Method and apparatus for handling storage of context information
US9336068B2 (en) 2013-06-07 2016-05-10 Apple Inc. Throttling of application access to resources
CN103336571B (zh) * 2013-06-13 2016-02-03 中国科学院计算技术研究所 一种降低多线程程序功耗的方法及系统
US9424212B2 (en) * 2013-06-13 2016-08-23 Microsoft Technology Licensing, Llc Operating system-managed interrupt steering in multiprocessor systems
US9535488B2 (en) 2013-08-28 2017-01-03 Via Technologies, Inc. Multi-core microprocessor that dynamically designates one of its processing cores as the bootstrap processor
US9792112B2 (en) 2013-08-28 2017-10-17 Via Technologies, Inc. Propagation of microcode patches to multiple cores in multicore microprocessor
US9465432B2 (en) * 2013-08-28 2016-10-11 Via Technologies, Inc. Multi-core synchronization mechanism
CN109240481B (zh) * 2013-08-28 2020-08-11 威盛电子股份有限公司 多核微处理器及使用其省电的方法
US9471132B2 (en) * 2013-09-27 2016-10-18 Intel Corporation Techniques for putting platform subsystems into a lower power state in parallel
EP3060996A4 (en) * 2013-10-25 2017-05-10 Advanced Micro Devices, Inc. Method and apparatus for performing a bus lock and translation lookaside buffer invalidation
CN103577328B (zh) * 2013-11-20 2016-08-17 北京奇虎科技有限公司 一种应用的性能分析方法及装置
CN104571466A (zh) * 2015-01-22 2015-04-29 宇龙计算机通信科技(深圳)有限公司 一种多系统终端的省电方法及装置
US10028225B2 (en) * 2015-08-26 2018-07-17 International Business Machines Corporation Efficient usage of internet services on mobile devices
CN105183123B (zh) * 2015-09-21 2018-01-09 北京元心科技有限公司 一种在基于容器的多系统中进行电源管理的方法和装置
US9848515B1 (en) 2016-05-27 2017-12-19 Advanced Micro Devices, Inc. Multi-compartment computing device with shared cooling device
CN106250235A (zh) * 2016-07-26 2016-12-21 张升泽 基于多内核芯片的多任务调度方法及系统
US10802831B2 (en) * 2017-06-30 2020-10-13 Sap Se Managing parallel processing
CN108306965B (zh) * 2018-01-31 2021-02-02 上海小蚁科技有限公司 摄像头的数据处理方法及装置、存储介质、摄像头
US11630789B2 (en) * 2020-09-11 2023-04-18 Apple Inc. Scalable interrupts
US11675718B2 (en) * 2021-03-26 2023-06-13 Advanced Micro Devices, Inc. Enhanced low-priority arbitration
US11803471B2 (en) 2021-08-23 2023-10-31 Apple Inc. Scalable system on a chip
CN117369987A (zh) * 2023-08-22 2024-01-09 华为技术有限公司 一种计算装置及相关任务执行调度方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4253146A (en) * 1978-12-21 1981-02-24 Burroughs Corporation Module for coupling computer-processors
US5613128A (en) 1990-12-21 1997-03-18 Intel Corporation Programmable multi-processor interrupt controller system with a processor integrated local interrupt controller
EP0683451B1 (en) 1994-05-09 2004-02-25 Canon Kabushiki Kaisha Power supply control method in multi-task environment
US5918057A (en) 1997-03-20 1999-06-29 Industrial Technology Research Institute Method and apparatus for dispatching multiple interrupt requests simultaneously
EP1030736B1 (en) * 1997-11-14 2003-10-01 Gen-Probe Incorporated Assay work station
US6418496B2 (en) * 1997-12-10 2002-07-09 Intel Corporation System and apparatus including lowest priority logic to select a processor to receive an interrupt message
AU2001257566A1 (en) * 2000-05-08 2001-11-20 Transilica, Inc. Priority in a portable thread environment
US6986066B2 (en) * 2001-01-05 2006-01-10 International Business Machines Corporation Computer system having low energy consumption
US6845456B1 (en) * 2001-05-01 2005-01-18 Advanced Micro Devices, Inc. CPU utilization measurement techniques for use in power management
US6823413B2 (en) * 2001-06-08 2004-11-23 Oki Electronic Industry Co., Ltd. Interrupt signal processing apparatus
US6990593B2 (en) * 2001-07-31 2006-01-24 Hewlett-Packard Development Company, L.P. Method for diverting power reserves and shifting activities according to activity priorities in a server cluster in the event of a power interruption
US7213065B2 (en) * 2001-11-08 2007-05-01 Racemi, Inc. System and method for dynamic server allocation and provisioning
US6990320B2 (en) * 2002-02-26 2006-01-24 Motorola, Inc. Dynamic reallocation of processing resources for redundant functionality
US7065766B2 (en) * 2002-07-11 2006-06-20 International Business Machines Corporation Apparatus and method for load balancing of fixed priority threads in a multiple run queue environment
US7152169B2 (en) * 2002-11-29 2006-12-19 Intel Corporation Method for providing power management on multi-threaded processor by using SMM mode to place a physical processor into lower power state
US7546475B2 (en) * 2003-05-13 2009-06-09 Hewlett-Packard Development Company, L.P. Power-aware adaptation in a data center

Cited By (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10289605B2 (en) 2006-04-12 2019-05-14 Intel Corporation Apparatus and method for processing an instruction matrix specifying parallel and dependent operations
US11163720B2 (en) 2006-04-12 2021-11-02 Intel Corporation Apparatus and method for processing an instruction matrix specifying parallel and dependent operations
US9886416B2 (en) 2006-04-12 2018-02-06 Intel Corporation Apparatus and method for processing an instruction matrix specifying parallel and dependent operations
US9965281B2 (en) 2006-11-14 2018-05-08 Intel Corporation Cache storing data fetched by address calculating load instruction with label used as associated name for consuming instruction to refer
US10585670B2 (en) 2006-11-14 2020-03-10 Intel Corporation Cache storing data fetched by address calculating load instruction with label used as associated name for consuming instruction to refer
US10228949B2 (en) 2010-09-17 2019-03-12 Intel Corporation Single cycle multi-branch prediction including shadow cache for early far branch prediction
US10083041B2 (en) 2010-10-12 2018-09-25 Intel Corporation Instruction sequence buffer to enhance branch prediction efficiency
US9733944B2 (en) 2010-10-12 2017-08-15 Intel Corporation Instruction sequence buffer to store branches having reliably predictable instruction sequences
US9921850B2 (en) 2010-10-12 2018-03-20 Intel Corporation Instruction sequence buffer to enhance branch prediction efficiency
US9678755B2 (en) 2010-10-12 2017-06-13 Intel Corporation Instruction sequence buffer to enhance branch prediction efficiency
US8769245B2 (en) 2010-12-09 2014-07-01 Industrial Technology Research Institute Very long instruction word (VLIW) processor with power management, and apparatus and method of power management therefor
US10564975B2 (en) 2011-03-25 2020-02-18 Intel Corporation Memory fragments for supporting code block execution by using virtual cores instantiated by partitionable engines
US11204769B2 (en) 2011-03-25 2021-12-21 Intel Corporation Memory fragments for supporting code block execution by using virtual cores instantiated by partitionable engines
US9766893B2 (en) 2011-03-25 2017-09-19 Intel Corporation Executing instruction sequence code blocks by using virtual cores instantiated by partitionable engines
US9934072B2 (en) 2011-03-25 2018-04-03 Intel Corporation Register file segments for supporting code block execution by using virtual cores instantiated by partitionable engines
US9921845B2 (en) 2011-03-25 2018-03-20 Intel Corporation Memory fragments for supporting code block execution by using virtual cores instantiated by partitionable engines
US9990200B2 (en) 2011-03-25 2018-06-05 Intel Corporation Executing instruction sequence code blocks by using virtual cores instantiated by partitionable engines
US9842005B2 (en) 2011-03-25 2017-12-12 Intel Corporation Register file segments for supporting code block execution by using virtual cores instantiated by partitionable engines
US10372454B2 (en) 2011-05-20 2019-08-06 Intel Corporation Allocation of a segmented interconnect to support the execution of instruction sequences by a plurality of engines
US10031784B2 (en) 2011-05-20 2018-07-24 Intel Corporation Interconnect system to support the execution of instruction sequences by a plurality of partitionable engines
US9940134B2 (en) 2011-05-20 2018-04-10 Intel Corporation Decentralized allocation of resources and interconnect structures to support the execution of instruction sequences by a plurality of engines
US9383803B2 (en) 2011-09-30 2016-07-05 Intel Corporation Priority based application event control (PAEC) to reduce power consumption
US11112853B2 (en) 2011-09-30 2021-09-07 Intel Corporation Priority based application event control (PAEC) to reduce power consumption
TWI556092B (zh) * 2011-09-30 2016-11-01 英特爾公司 用以減少電力消耗之基於優先順序的應用程式事件控制技術
US10254818B2 (en) 2011-09-30 2019-04-09 Intel Corporation Priority based application event control (PAEC) to reduce power consumption
US9811338B2 (en) 2011-11-14 2017-11-07 Intel Corporation Flag non-modification extension for ISA instructions using prefixes
TWI489379B (zh) * 2011-11-14 2015-06-21 Intel Corp 用以處理指令之方法、處理器、及系統
US10521239B2 (en) 2011-11-22 2019-12-31 Intel Corporation Microprocessor accelerated code optimizer
US10191746B2 (en) 2011-11-22 2019-01-29 Intel Corporation Accelerated code optimizer for a multiengine microprocessor
TWI603184B (zh) * 2011-12-28 2017-10-21 英特爾股份有限公司 包含在可變喚醒率下之最佳化c-狀態選擇之高效節能方法、設備與系統
US9767038B2 (en) 2012-03-07 2017-09-19 Intel Corporation Systems and methods for accessing a unified translation lookaside buffer
US10310987B2 (en) 2012-03-07 2019-06-04 Intel Corporation Systems and methods for accessing a unified translation lookaside buffer
US9880846B2 (en) 2012-04-11 2018-01-30 Nvidia Corporation Improving hit rate of code translation redirection table with replacement strategy based on usage history table of evicted entries
TWI512626B (zh) * 2012-04-11 2015-12-11 Nvidia Corp 微處理器中存取及管理程式碼轉譯
US10241810B2 (en) 2012-05-18 2019-03-26 Nvidia Corporation Instruction-optimizing processor with branch-count table in hardware
US9740612B2 (en) 2012-07-30 2017-08-22 Intel Corporation Systems and methods for maintaining the coherency of a store coalescing cache and a load cache
US9858206B2 (en) 2012-07-30 2018-01-02 Intel Corporation Systems and methods for flushing a cache with modified data
US10698833B2 (en) 2012-07-30 2020-06-30 Intel Corporation Method and apparatus for supporting a plurality of load accesses of a cache in a single cycle to maintain throughput
US9916253B2 (en) 2012-07-30 2018-03-13 Intel Corporation Method and apparatus for supporting a plurality of load accesses of a cache in a single cycle to maintain throughput
US10346302B2 (en) 2012-07-30 2019-07-09 Intel Corporation Systems and methods for maintaining the coherency of a store coalescing cache and a load cache
US9720831B2 (en) 2012-07-30 2017-08-01 Intel Corporation Systems and methods for maintaining the coherency of a store coalescing cache and a load cache
US9720839B2 (en) 2012-07-30 2017-08-01 Intel Corporation Systems and methods for supporting a plurality of load and store accesses of a cache
US9710399B2 (en) 2012-07-30 2017-07-18 Intel Corporation Systems and methods for flushing a cache with modified data
US10210101B2 (en) 2012-07-30 2019-02-19 Intel Corporation Systems and methods for flushing a cache with modified data
US9842056B2 (en) 2012-10-11 2017-12-12 Intel Corporation Systems and methods for non-blocking implementation of cache flush instructions
US9678882B2 (en) 2012-10-11 2017-06-13 Intel Corporation Systems and methods for non-blocking implementation of cache flush instructions
US10585804B2 (en) 2012-10-11 2020-03-10 Intel Corporation Systems and methods for non-blocking implementation of cache flush instructions
US10324725B2 (en) 2012-12-27 2019-06-18 Nvidia Corporation Fault detection in instruction translations
US9811342B2 (en) 2013-03-15 2017-11-07 Intel Corporation Method for performing dual dispatch of blocks and half blocks
US9904625B2 (en) 2013-03-15 2018-02-27 Intel Corporation Methods, systems and apparatus for predicting the way of a set associative cache
US10255076B2 (en) 2013-03-15 2019-04-09 Intel Corporation Method for performing dual dispatch of blocks and half blocks
US10198266B2 (en) 2013-03-15 2019-02-05 Intel Corporation Method for populating register view data structure by using register template snapshots
US10275255B2 (en) 2013-03-15 2019-04-30 Intel Corporation Method for dependency broadcasting through a source organized source view data structure
US10169045B2 (en) 2013-03-15 2019-01-01 Intel Corporation Method for dependency broadcasting through a source organized source view data structure
US10146576B2 (en) 2013-03-15 2018-12-04 Intel Corporation Method for executing multithreaded instructions grouped into blocks
US10146548B2 (en) 2013-03-15 2018-12-04 Intel Corporation Method for populating a source view data structure by using register template snapshots
US10140138B2 (en) 2013-03-15 2018-11-27 Intel Corporation Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation
US9934042B2 (en) 2013-03-15 2018-04-03 Intel Corporation Method for dependency broadcasting through a block organized source view data structure
US10503514B2 (en) 2013-03-15 2019-12-10 Intel Corporation Method for implementing a reduced size register view data structure in a microprocessor
US10248570B2 (en) 2013-03-15 2019-04-02 Intel Corporation Methods, systems and apparatus for predicting the way of a set associative cache
US9898412B2 (en) 2013-03-15 2018-02-20 Intel Corporation Methods, systems and apparatus for predicting the way of a set associative cache
US9891924B2 (en) 2013-03-15 2018-02-13 Intel Corporation Method for implementing a reduced size register view data structure in a microprocessor
US9886279B2 (en) 2013-03-15 2018-02-06 Intel Corporation Method for populating and instruction view data structure by using register template snapshots
US9858080B2 (en) 2013-03-15 2018-01-02 Intel Corporation Method for implementing a reduced size register view data structure in a microprocessor
US10740126B2 (en) 2013-03-15 2020-08-11 Intel Corporation Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation
US9823930B2 (en) 2013-03-15 2017-11-21 Intel Corporation Method for emulating a guest centralized flag architecture by using a native distributed flag architecture
US9811377B2 (en) 2013-03-15 2017-11-07 Intel Corporation Method for executing multithreaded instructions grouped into blocks
US11656875B2 (en) 2013-03-15 2023-05-23 Intel Corporation Method and system for instruction block to execution unit grouping
TWI483186B (zh) * 2013-09-26 2015-05-01 Andes Technology Corp 微處理器及其使用指令迴圈快取記憶體的方法

Also Published As

Publication number Publication date
WO2004061686A2 (en) 2004-07-22
CN1732447A (zh) 2006-02-08
WO2004061686A3 (en) 2004-11-18
US7191349B2 (en) 2007-03-13
GB2412457A (en) 2005-09-28
US20040128563A1 (en) 2004-07-01
TW200413889A (en) 2004-08-01
AU2003298903A1 (en) 2004-07-29
US20070143514A1 (en) 2007-06-21
CN100349147C (zh) 2007-11-14
DE10393969T5 (de) 2008-06-26
HK1075314A1 (en) 2005-12-09
GB2412457B (en) 2006-01-25
US7761720B2 (en) 2010-07-20
GB0505391D0 (en) 2005-04-20

Similar Documents

Publication Publication Date Title
TWI233545B (en) Mechanism for processor power state aware distribution of lowest priority interrupts
CN107209548B (zh) 在多核处理器中执行功率管理
US8489904B2 (en) Allocating computing system power levels responsive to service level agreements
US8423799B2 (en) Managing accelerators of a computing environment
TWI630476B (zh) 執行平台裝置之動態功率控制的處理器、機器可讀取媒體及系統
JP6197196B2 (ja) 電力効率の優れたプロセッサアーキテクチャ
JP6058541B2 (ja) コア単位電圧及び周波数制御の提供
KR101551321B1 (ko) 휴대용 컴퓨팅 디바이스에서 요청들을 스케쥴링하기 위한 방법 및 시스템
TWI425422B (zh) 多cpu領域行動電子裝置與其操作方法
CN105183128A (zh) 强制处理器进入低功率状态
JP2009093665A (ja) マルチスレッド・プロセッサ性能を制御する装置及び方法
CN105009101A (zh) 提供与数据缓冲器相关联的监听滤波
US20050262365A1 (en) P-state feedback to operating system with hardware coordination
US8745629B2 (en) System and method of controlling power in an electronic device
JP2022526765A (ja) プロセッサのパワーライセンス制御のためのシステム、装置、および方法
CN109564526A (zh) 使用封装和线程提示信息的组合来控制处理器的性能状态
TWI739345B (zh) 中斷處理系統與中斷處理方法
US11422849B2 (en) Technology for dynamically grouping threads for energy efficiency
CN112906326A (zh) 用于时延监视和响应的系统、装置和方法
WO2023225991A1 (en) Dynamic establishment of polling periods for virtual machine switching operations
WO2024027413A1 (zh) 一种协同调度方法和相关设备
JP6409218B2 (ja) 電力効率の優れたプロセッサアーキテクチャ
JP2017021811A (ja) 電力効率の優れたプロセッサアーキテクチャ

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees