TWI338225B - Centralized interrupt controller - Google Patents
Centralized interrupt controller Download PDFInfo
- Publication number
- TWI338225B TWI338225B TW095141105A TW95141105A TWI338225B TW I338225 B TWI338225 B TW I338225B TW 095141105 A TW095141105 A TW 095141105A TW 95141105 A TW95141105 A TW 95141105A TW I338225 B TWI338225 B TW I338225B
- Authority
- TW
- Taiwan
- Prior art keywords
- interrupt
- message
- apic
- processing units
- logic
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
- G06F13/26—Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
-
- 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Computer And Data Communications (AREA)
Description
九、發明說明: C發明所屬之^技術領域】 發明領域 本發明係有關電子電路控制中斷領域。更特別本發明 係有關用於多個處理單元之-種集中化先進可_中^ 制器。 上 發明背景 任何電腦系統發揮效能的基礎為處理單元執行多項操 作,包括多種可能由耗接至該電腦系統之周邊裝“ 的各項間歇「服務」的控制。輸人/輸出(「⑽」)周^ 備例如包括印表機、掃㈣及顯示ϋ裝置等電腦物項需要 由主,處理H間歇服務,俾便確保有適t功能。例如服務 包括資料傳輸、資料捕捉及/或控制信號。 …tr周邊裝置典型有不同的服務排程’該服務排程並 非依據裝置的朗㈣,反㈣㈣其私_之用途決 處理器係根據其個別需求於此等裝置間將其服務 /夕工化,问時執行-項或多項背景程式。至少有兩種 告知域有服務祕及情法。於前一方 一二期檢查各個周邊裝置,了解是否已經設定旗標指 示服務請求。於德去女 百万法中’裝置的服務請求路由通過一 =㈣ϋ’Μ中斷該主機,齡卜分支由其目前的程 特洙中斷服務常式。中斷法為較佳,原因在於主機 4奉獻於似、要叫詢時鐘_。後述方;线本發明之 1338225 解決方法。
藉著多處理器電腦系統的發明,已經實作可將中斷於 多個處理器間動態分配之中斷管理系統。先進可規劃中斷 控制器(「APIC」)屬於此種多處理器中斷管理系統之一個 5 實例。用於多個多處理器電腦系統中,APIC中斷傳輸機構 可用來檢測來自於另一個處理單元或來自於一周邊裝置之 中斷請求,以及告知一個或多個處理單元與欲執行的令斷 請求相對應之特殊服務。有關APIC中斷傳輸系統之進一步 細節可參考Carson等人之美國專利申請案5,283,904,名稱 10 「多處理器可程式中斷控制器系統」。 多種習知APIC之設計為硬體密集,因而需要多個閘(亦 即閘數目大)。於多個多處理器系統中,各個核心有其本身 專用的APIC完全自容於該核心内部。對其它多處理器系 統,各個核心為有多個邏輯處理器之一同時多執行緒核 15 心。對各系統而言,各個邏輯處理器係與APIC相關聯,故 各個多執行緒核心包括多個APIC中斷傳輸機構,其各自維 持本身的架構狀態,與實作其本身之控制邏輯,通常係與 其它APIC控制邏輯相同。對任一型多處理器系統,多APIC 之晶粒面積及洩漏功率成本非期望地高。此外,動態功率 20 成本與多個APIC操作相關俾便於一多處理器系統中傳輸中 斷的動態功率成本也非期望地過大。 【發明内容3 發明概要 依據本發明之一實施例,係特地提出一種裝置,其包 6 含有:一單一邏輯區塊,用’來對傳輸中斷訊息往來於多個處理 皁元之動作進行優先順位的排序及控制功能,其中該邏輯區塊 為該等多個處理單元所共享;耦接至該邏輯區塊之一中斷排 序器區塊,用來對該等多個處理單元排程中斷事件供由該 邏輯區塊處理;一儲存區,用來對該等多個處理單元各自 維持架構中斷狀態資訊;一個或多個輸入訊息佇列,用來 接收内送中斷訊息以及將來自於該等訊息之資訊置入該儲 存區,以及一個或多個輸出訊息佇列,用來發送外送中斷 訊息。 圖式簡單說明 參考下列附圖將可了解本發明之實施例,其中類似的 π件係標示以類似的號碼。此等圖式非意圖為限制性,反 而係供舉例說明用於多個處理單元之集中化A ΡIC控制器之 裝置、系統及方法之選定之實施例。 第1圖為方塊圖,顯示對多個處理單元提供中斷控制之 一種集中化中斷控制器之至少—個實施例。 第2圖為方塊圖,顯示集中化中斷控制器之至少一個實 施例之進一步細節。 第3圖為方塊圖,顯示多排序器系統之各個實施例。 第4圖為方塊圖,顯示用於多個核心之中斷狀態之中央 倉儲之至少一個實施例。 第5圖為狀態變遷圖’顯示用於-集中化中斷控制器之 一中斷排序器區塊之操作之至少_個實施例。 第6圖為方塊圖,顯示可執行所揭示之技術之一種電腦 系統之至少一個樣本實施·例。 C ^ 較佳實施例之詳細說明 後文讨論說明用於多個處理單元之一集中化APIC之 5方法、系統及製造物件之選定之實施例。此處所述機構可 利用單核心或多核心多執行緒系統 。於後文說明中,陳述 多個特定細節,諸如處理器型別、多執行緒環境、系統組 態、及於一多排序器系統中的排序器數目及型別,以供徹 底了解本發明。但須了解,熟諳技藝人士可無此等特定細 10節而實施。此外,若干眾所周知之結構、電路等並未顯示 其細節以免混淆本發明。 第1圖為方塊圖,顯示包括一集中化中斷控制器110之 系統100之至少一個實施例。系統1〇〇包括多個核心 104(0)-104(n)。第1圖之虛線及橢圓顯示系統1〇〇可包括任何 數目(η)個核心,此處n^2。熟諳技藝人士了解系統之其它 實施例包括如後文說明之單一同時多執行緒(「SMT」) 核心(故n=l)。 第1圖顯示單一集中化中斷控制器110實體上與核心 104(0)-104(n)分開。第1圖也顯示系統100之各個核心 20 104(0)-104(n)係透過一本地互連裝置1〇2而耦接至集中化中 斷控制器110。如此集中化中斷控制器uo係透過本地互連 裝置102而與各個處理核心介接。集中化中斷控制器110的 高階目的係以對系統120而言該等APIC當於傳統根據核心 APIC之系統中操作時般係並列操作的方式’來串列模擬多 8 1338225 個APIC之操作。 ·
系統100之單一核心丨〇4可實作各種多執行緒體系中之 任一者,包括同時多執行緒(SMT)、切換事件多執行緒 (SoeMT)及/或時間多工化多執行緒(ΤΜυχ)。當來自於多於 5 一個硬體執行緒内文(「邏輯處理器」)之指令於任何特定時 間點係同時於處理器3〇4執行時,稱作為SMT,否則,單核 心多執行緒系統可實作SoeMT,此處處理器管線係於多個 硬體執行緒内文多工化,但於任何給定時間,只有來自於 一個硬體執行緒内文的指令可於該管線中執行。用於 10 SoeMT ’若執行緒切換事件是以時間為基準,則變成 丁ΜϋΧ〇雖然支援SoeM丁及TMUX體系之單一核心可支援多 執行緒’但於此處稱作為「單執行緒」核心,原因在於任 何給定時間只可執行來自於一個硬體執行緒内文之指令。
各個核心104可為可執行單一執行緒之單一處理單 15 元。或其中一個或多個核心可為執行SoeMT或TMUX多 執行緒之多執行緒核心,故於一個時間核心只為一個執行 緒執行指令。用於此等實施例’核心104稱作為「處理單元」。 對至少另一個實施例,各個核心104為多執行緒核心, 諸如SMT核心。對SMT核心104而言,核心1〇4之各個邏輯 2〇處理器稱作為「處理單元」。如此處使用,「處理單元」為 可執行一執行緒之任何實體單元或邏輯單元。各個處理單 元可包括下一個指令指標器邏輯’來判定該給定執行緒欲 執行之下一個指令。如此’一個處理單元於此處可互換稱 作為「排序器」。 9 對任—實施例(單執行緒榨心相對於多執行緒核心), 各個處理單元雜其本身之中斷控制器功能相關聯,但此 種功能之邏輯並非自容於各個處理單元㈣,反而係由集 中中斷控制器11 〇所提供。若任—個核心J 〇4為SMT核 心,則各個核心104之各個邏輯處理器可透過本地互連裝置 102而耗接至集中化中斷控制器110。 轉向參考第3圖,如前文說明,處理單元(或「排序器」) 可為邏輯處理器或實體核心。邏輯處理單it與實體處理單 元間的區別顯示於第3圖。第3圖為方塊圖,顯示可執行所 揭示之技術之多排序器系統之實施例310、350之選定的硬 體結構。 第3圖顯示一種單核心多排序器多執行緒環境31〇之選 定料體結構。第3圖也顯示—種多核心多執行緒環境35〇 之選疋之硬體結構,此處各個排序器為一個分開實體處理 器核心。 於單核心多執行緒環境3H)中,單一實體處理器删係 製作成彷彿多個邏輯處理器(圖中未顯示),於此處稱作為 LP丨至LPn來操作系統及使用者程式。各個邏輯處理器π! 至LPn可維持架構狀態之-完整集合AS,-ASn。對至少一個 實施例’架構狀態包括資料暫存器、節段暫存器、控制暫 存器、除錯暫存器,以及大部分之特殊模式暫存器。邏輯 處理器UVLPn共享實體處理器304的大部分其它資源,諸 如快取記憶體、執行單元、分支預測器、控制邏輯及匯流 排。但各個邏輯處理器LPrLPj能與其本身的Apic相關聯。 1338225 雖然多項硬體結構共享,但於多執行緒環境31〇中的各 個執行緒内文可獨立產生下一個指令位址(例如執行由一 才曰令快取記憶體、-執行指令快取記憶體或追縱快取記憶 體之提取)。如此,處理器304包括邏輯獨立的下一個指令 5指標器及提取邏輯320,㈣各個執行緒内文提取指令,即 使多個邏輯排序器可於—單一實體提取/解碼單元迎實作 亦如此。用於單核心多執行緒實施例,「排序器」一詞涵蓋 -執行緒内文之至少下-個指令指標器及提取邏輯32〇,連 同該執行緒内文之至少若干相關聯的架構狀態312。須注意 1 〇單核%夕執行緒系統31 〇排序器無需為對稱。例如同一個實 體核心的兩個單核心多執行緒排序器其各自維持的架構狀 態資訊量可能不同。 如此’對至少-個實施例,多排序器系統為可支援 同時夕個執行緒之單核心處理器3G4。對各實施例各個排 15序益為-邏輯處理器具有其本身指令下一個指令指標器及 提取邏輯及其本身之架構狀態資訊,但同一個實體處理器 核〜304執仃全部執行緒指令。對各實施例而言,邏輯處理 器、’持/、本身之架構狀態版本,但單一處理器核心之執行 資源可能於目前執行之執行緒間共享。 2〇帛3圖也顯示多核心多執行緒環境350之至少 一個實施 例此種% 土兄350包括兩個或多個分開實體處理器 304a 304η其各自可執行不同的執行緒,執行絲,故至少部 分不同執行緒/執行_執行可同時進行。各減理器3〇如 至304n〇括實體刀開的提取單元奶,來提取指令資訊用於 11 1338225 其個別之執行緒和執行絲。於;各個處理器304a_304n執行單 一執行緒/執行絲之實施例中,提取/解碼單元322實作單— 下一個指令指標器及提取邏輯320。但於各個處理器 304a-304n支援多個執行緒内文之實施例中,提取/解碼單元 5 322對各個所支援的執行緒内文實作分開的下一個指令指 標器及提取邏輯320。於一多處理器環境35〇中有額外下一 個指令指標器及提取邏輯320之任選情況於第3圖_以虛線 標示。 對第3圖多核心系統350之至少一個實施例,各個排序 10器可為一處理器核心,有多個核心304a-304n駐在於單一晶 片封裝體360。各個核心304a-304n可為單執行緒或多執行 緒處理器核心。晶片封裝體360於第3圖中以斷線標示,來 指示只舉例說明多核心系統350之單晶片實施例。用於其它 實施例,多核心系統之處理器核心可能駐在於分開晶片 15上。換言之,多核心系統可為多容座對稱性多重處理系統。 為求方便討論,後文討論焦點係集中於多核心系統35〇 之實施例。但此種討論焦點並非限制性,後文說明之機構 也可於多核心或單核心多排序器環境中執行。 轉向參考第1圖’可知系統1〇〇之核心1〇4(〇)·ι〇4(η)可 20透過本地互連裝置1〇2而彼此耦接。本地互連裝置1〇2可提 供核心間所需的全部通訊功能(諸如快取記憶體窺探等)^各 個核心104(0)-104(η)包括相對小型介面區塊來透過本地互 連裝置102發送及接收中斷相關訊息。大致上,此種核心介 面相當簡單,並未保有與中斷相關訊息相關的架構狀態, 12 1338225 也未對中斷排優先順序/或執行其它由本文所述之集中化 中斷控制器110所執行的其它APIC相關功能。
核心104(0)-104(n)可駐在於單一晶粒150(0)上。用於至 少一個實施例,第1圖所示系統100進一步包括任選的額外 5 晶粒。額外一或多個晶粒(高達150(n))之任選本質以虛線及 橢圓顯示於第1圖。第1圖顯示於另一個晶粒150(n)上來自於 處理器單元之一中斷訊息可透過系統互連裝置106而通訊 至第一晶粒(150(0))。集中化中斷控制器110係透過系統互 連裝置106而耦接至任何其它晶粒(直到150(n)),以及耦接 10 至周邊I/O裝置114。 熟諳技藝人士 了解第1圖所示晶粒150之組態僅供舉例 說明之用而非視為限制性。用於其它實施例,二元件150(0) 及150(n)可駐在於同一塊矽晶圓上,且可耦接至同一個本地 互連裝置102。相反地,各個核心104無需駐在於同一個晶 15 片上。各個核心104(0)-104(n)及/或本地互連裝置102可未駐 在於同一個晶粒150上。 系統100之各個核心104(0)-104(n)可進一步透過本地 互連裝置102而耦接至其它系統介面邏輯112。系統介面邏 輯112例如包括快取相干性邏輯或其它允許排序器透過系 20 統互連裝置而與其它系統元件介接之其它介面邏輯。其它 系統介面邏輯112又可透過系統互連裝置106而耦接至其它 系統元件116(諸如記憶體)。 第2圖為方塊圖,顯示集中化中斷控制器110之至少一 個實施例之進一步細節。雖然集中化中斷控制器110實體上 13 1338225 係與系統的核心(例如第1圖之7核心104(0)-104(n))分開,但 大致上第2圖顯示雖言如此集中化中斷控制器110仍然維持 各個APIC案例之完整架構狀態,其中之一者係與各個排序 器相關聯。集中化中斷控制器11〇管理全部中斷佇列功能及 5 排優先順位功能,該等功能通常係由傳統系統中每個核心 專用的APIC來管理。容後詳述,集中化中斷控制器11〇也可 用作為排序器與系統其餘部分耦接至系統互連裝置1〇6間 的防火牆。
第2圖顯示包括一集中化APIC狀態202之集中化中斷 10控制器110。APIC狀態202包括尋常與典型APIC處理相關之 架構狀態。換言之,APIC處理為應用程式設計時於架構上 可見的特徵’絕非意圖此種介面由本揭示所改變。當系統 包括如此處討論之傳統APIC硬體(換言之,對各個處理單元 有一個自容式APIC)、或集中化中斷控制器,皆預期此種硬 15體設計選擇至少對一個實施例對應用程式設計師而言為透 明。藉此方式,經由對一系統利用單一集中化中斷控制器 110,可減少面積成本、動態功率成本、及電力洩漏成本, 而同時維持作業系統販售商及應用程式設計師所期望的相 同架構介面。 如此,於方塊202維持為APIC狀態資訊之中央倉儲的 架構狀態通常為傳統系統中對各個Apic所維持之狀態。舉 例。之,若系統中有8個排序器,則集中化Apic狀態2〇2可 包括8個登錄項目之陣列,各個登錄項目反映出對傳統系統 中之-個排序ϋ所維持的架構Apic狀態(後文第4圖之討論 14 1338225 指出2麟項目也可包括某個微架構狀態)。 對至V個實施例,集中化APIC狀態202係實作為單 Alt體儲存g ’諸如暫存㈣案或陣列。暫存器稽案組 織允許比幸义先則依據核心Apic狀態為隨機邏輯而實作的先 5前辦法有更高面積致率。 大致上,集中化中斷控制 器110監視透過本地互連裝置 及或系統互連裳置1 〇6所接收之中斷訊息的接收狀 況’且將相關讯息储存於暫存器樓案2Q2之適當登錄項目。 #至少一個實施例’如此達成之方式係經由監視輸入訊息 10之目的地位址’將訊息儲存於與該目的地位址相關聯之 APIC案例登錄項目。此等功能可由輸入訊息佇列2〇4、2〇6 所執行,容後詳述。 同理,集中化中斷控制器no可監視輸出中斷訊息的產 生’可儲存訊息於暫存器檔案202之適當登錄項目,直到此 15等汛息接受服務且傳輸為止。對至少一個實施例,其達成 方式係經由監視輸出訊息的來源位址,將該訊息儲存於與 該來源位址相關聯之APIC案例登錄項目。此等功能可藉輸 出訊息佇列208、210執行,容後詳述。 集中化中斷控制器110之中斷排序器區塊214隨後可排 20 程此等懸而未決的中斷訊息,反映於集中化APIC狀態202 供服務。容後詳述’可根據公平體系來達成,因此並無任 何排序器的懸而未決的中斷活動重複被忽略。中斷排序器 區塊214可激化APIC中斷傳輸邏輯212來執行服務。 如此第2圖顯示集中化中斷控制器11〇包括APIC中斷 15 傳輸邏輯212。替代對一系統約各個棑序器(例如各個單一 執行緒核心或各個SMT核心之邏輯處理器),複製八?1(:邏 輯’集中化中斷控制器110可提供單套非冗餘之ApiC邏輯 212之拷貝來對系統的全部排序器服務中斷。 例如若系統(諸如第1圖之系統1〇〇)包括四個核心,其 各自支援8個同時SMT執行緒,傳統上系統要求以套八以。 邏輯212之拷貝。取而代之,第2圖顯示之集中化中斷控制 器110利用單套APIC邏輯212的拷貝來於一給定時間提供中 斷控制器服務予全部皆作動的32個執行緒《 由於系統之多個排序器可能同時有懸而未決的中斷活 動,故APIC邏輯212為多個排序器的競爭主角。因此集中化 中斷控制器110包括一中斷排序器區塊214。中斷排序器區 塊214對系統中的全部中斷「排序」服務,排序方式係對各 個排序器提供公平存取APIC邏輯212之方式排序。要言之, 集中化中斷控制器UG之中斷排序器區塊214控制對單一 APIC邏輯區塊212的存取。 。如此,中斷排序器區塊214控制排序器對共享八1>1(:邏 輯212的存取。此項功能係與傳統Αρκ^'統相反,傳統a叹 系統對各個排序器提供專用Apic邏輯區塊故各個排序器 具有即刻特別存取APIC邏輯。單一Apic區塊212可對系統 中的各個處理單疋就中斷優先順序的提供的完整架構 1¾求0 對系統的任何特定處理單元,通過Apic之中斷的來源 /目的地可為其它處理單元或周邊裝H㈣部之處理翠 1338225 元中斷係藉集中化中斷控制琴丨10透過本地互連裝置1〇2傳 輸。至/來自其它晶粒上之周邊裝置或處理單元之中斷可透 過系統互連裝置106而傳輸。
第2圖顯示集中化中斷控制器no包括四個訊息佇列排 5序來處理透過本地互連裝置102及系統互連裝置106之輸入 中斷訊息及輸出中斷訊息:一輸入系統訊息佇列2〇4、一輸 入本地訊息佇列206、一輸出本地訊息佇列2〇8、及一輸出 系統訊息佇列210。輸入本地訊息佇列206及輸出本地訊息 佇列20 8係耦接至本地互連裝置丨〇2 ;輸入系統訊息佇列2〇4 10及輸出系統訊息佇列210係耦接至系統互連裝置106。佇列 204、206、208、210各自為包括資料儲存及/或控制邏輯之 迷你控制器佇列。
佇列204、206 ' 208 ' 210之操作之進一步討論可參考 第1、2及4圖。第4圖提供集中化APIC狀態202之至少一個實 15 施例之細節視圖。第4圖顯示集中化APIC狀態202包括架構 狀態302及微架構狀態301、303二者。如前文說明,對各個 排序器104(0)-1 〇4(n)所維持之架構狀態302反映出傳統上與 排序器相關聯之APIC狀態。架構APIC狀態302之各個登錄 項目410於此處稱作為「APIC案例」。例如,APIC案例之輸 20入中斷訊息可儲存於與該案例相關聯之架構狀態302之登 錄項目410。對至少一個實施例,於APIC案例之登錄項目410 可維持高達240個輸入中斷訊息。 除了架構狀態302之外,集中化APIC狀態202也包括與 各個APIC案例410相關聯之微架構狀態3〇1以及一般性微架 17 1338225
構狀態303。一般性微架構狀態3〇3可包括一計分板3〇4來輔 助中斷排序器區塊214(參考第2圖)判定那一個排序器需要 存取APIC邏輯212(參考第2圖)。對至少一個實施例,計分 板304對系統中的各個排序器可維持計分。排序器計分之數 5值指示排序器是否有任何需要AI>IC邏輯212的懸而未決的 活動。對至少一個實施例,計分板3〇4可自動讀取,故中斷 排序器區塊214(第2圖)可容易快速地確定哪一個排序器需 要APIC邏輯212的注意力。 雖然中斷排序器區塊2丨4的一項特徵係公平地允許存 10取ApIC邏輯212,但計分板3〇4允許採用公平體系而無需中 斷排序器區塊214浪費處理資源於目前無需APIC邏輯212處 理的排序器上。如此,計分板基於輸入訊息以及對該等目 刖懸而未決之請求的處理狀態,追蹤哪一個八?1(::案例必需 工作。中斷排序器區塊214對一作動的APIc案例由集中化 15 APIC狀態202讀取目前狀態,採行對該目前狀態之適當動作 (例如紀錄於該特定APic案例410之架構狀態302及微架構 狀態301二者中)’然後重複處理用於下一個有懸而未決之 工作的APIC案例(如計分板3〇4的位元指示)。 當輸入中斷訊息透過本地互連裝置1〇2鎖定目標於同 20 一個晶粒上的另一個排序器時,輸入本地訊息佇列206接收 到該訊息且判定其目的地◦輸入訊息可鎖定目標於排序器 中之一者、多者、無任一者、或全部。佇列206可對各個被 鎖定目標的排序器寫入架構狀態分錄(例如參考第4圖之 410) ’來將中斷佇列等候處理。於此種情況下,佇列2〇6也 18 對被鎖定目標的排序器設定計分板登錄項目(若尚未設定 計分板登錄項目)來指出中斷活動懸而未決,單一 APIC邏輯 區塊212的服務為該標乾排序器之所需。 第4圖顯示若干中斷可繞道而由輸入本地訊息佇列2〇6 直接至輸出佇列208、210,無需於集中化apic狀態202佇列 等候。例如可能出現於並未對特定處理器特別定址的廣播 訊息。第4圖顯示類似之繞道處理也可能出現於輸入系統訊 息佇列204(容後詳述)。 類似前文對佇列206討論的處理也出現於輸入中斷訊 息透過系統互連裝置1〇6(來自於I/O裝置或另一晶粒上的排 序器)來鎖定目標於排序器l〇4(〇)-l〇4(n)中之一者。輸入系 統訊息佇列204接收該訊息且判定其目的地。佇列2〇6對各 個被鎖定目標之排序器寫入架構狀態分錄41〇,俾便將該中 斷佇列等候,且據此來對任何被鎖定目標的排序器更新計 分板登錄項目412。當然輸入的訊息也可如前文討論而被跨接。 訊息佇列204、206、208、210中之一者或多者可對輸 出訊息及/或輸入訊息實作防火牆特徵。有關此防火牆特 徵,第2圖係關聯第】圖做討論。 有關輸入訊息’輸入系統訊息佇列2〇4可作為中斷防火 牆,來防止對並未鎖定目標於晶粒15 0上與集中化中斷控制 器110相關聯之排序器之該等訊息做不必要的處理。如第i 圖所示,系統1〇〇包括多個多排序器晶粒15〇(〇)15〇(n)。由 特定晶粒之排序器所產生之中斷可透過系統互連裝置106 而發送至其它晶粒。同理,由周邊裝置114所產生之中斷可 1338225 透過系統互連裝置106而發送異晶粒。 對一晶粒150,集中化中斷控制器11〇(特別為輸入系統 訊息仵列204)可判定此種訊息之目的地位址是否包括任何 排序器(例如核心或邏輯處理器)於其晶粒15〇上。若訊息並 5 未鎖定目標於與該晶粒相關聯之本地互連裝置1〇2上的任 何核心或邏輯處理器,則輸入系統訊息佇列2〇4降低而前傳 該訊息至本地互連裝置102上的任一個排序器。藉此方式, 輸入系統訊息佇列避免「喚醒」該等核心/執行緒單純只為 了判定無需任何動作。如此可節省電力,且保有本地互連 10 裝置10 2的頻寬,原因在於無需將多個個別的排序器從節電 狀態中「喚醒」只為了判定該訊息並未靶定於該等排序器。 即使邏輯處理器中之一者或多者並非處於節電狀態, 輸入系統訊息佇列204仍然執行防火牆特徵,因而不會中斷 邏輯處理器之目前正在進行的工作,單純只為了判定輸入 15 中斷訊息無需任何動作。
於至少一個實施例中,防火牆也可對輸出訊息實作。 對輸出系統訊息為真,對若干實施例,對輸出本地訊息亦 為真。於至少一個實施例中,本地訊息之防火牆特徵只對 一種系統實作,該系統的本地互連裝置102支援一項特徵, 20 允許被靶定的中斷訊息傳輸至一特殊排序器,而非要求於 本地互連裝置102上的各個訊息皆廣播予全部排序器。於此 種情況下,輸出本地訊息佇列208可發送於本地互連裝置 10 2上的各個中斷訊息成單播訊息或廣播訊息予由該訊息 所鎖定目標的唯一的排序器。藉此方式,未被鎖定目標的 20 排序器無需中斷其處理來判芩排序器的動作並非該特定中 斷訊*息所需。輪出系統訊息可單純被鎖定目標,故無需發 送至非靶定的實體。 因此第2圖顯示藉由輸入訊息仔列204、206,輸入中斷 5汛息已經被放置於集中化APIC狀態202中,然後中斷排序器 區塊214可於系統棑序器中提供公平存取單套APIC邏輯 212(參考第2圖)之拷貝’來執行系統之APIC處理。中斷排 序益區塊214主要係經由循序通過APIC狀態202,為下一個 需要存取的排序器存取APIC邏輯212來實作其公平體系。由 丨〇中斷轉H區塊214所實作的公平财允許各個排序器皆 同等存取該中斷傳輸區塊。 於至少一個實施例中,此種構想上循序步進通過APIc 狀態202之登錄項目,可經由使用計分板(參考3〇4,第4圖) 變成更有效,其可自動查詢,來判定哪—個作動的排序器 15為「下一個」需要APIC服務的排序器。於至少一個實施例 47,循序處理可根據-種方法控制,該方法將於後文關聯 第5圖說明其細節。 第5圖為狀態圖,說明由中斷排序器區塊214(參見第2 圖)之至J/ -個實施例採用來對系統之多個排序器間提供 20公平存取AP1C邏輯212(參考第2圖)之單一拷貝,俾便執行 系統之APIC處理之方法500。後文第5圖之討論係參考第2 圖及第4圖做說明。 大致上,第5圖顯不中斷排序器區塊214由集中化Apic 狀態酬取作動的APIC案例之目前狀態,且對該目前狀態 21 1338225 採行適當的動作,然後對有鱗而未決工作之下一個八?1(:案 例重複該項處理。
第5圖顯示方法5〇〇始於狀態5〇2。於狀態5〇2,中斷排 序器區塊214諮詢計分板3〇4來判定哪一個APIC案例必須工 5作。如前文說明’於計分板304中對各個APIC案例可能有一 個登錄項目412。於至少一個實施例中,登錄項目412可為 一位元之登錄項目1當輸入訊息對該特殊APic案例被寫至 集中化APIC狀態202時’位元412可經設定。 當然’熟諳技藝人士了解計分板3〇4是一種效能增強, 10不一定存在於全部實施例中。於至少另一個實施例中,例 如中斷排序器區塊214可以有序方式(例如循序方式)通過集 中化APIC狀態202的各個登錄項目,來判定是否有任何作動 的APIC案例需要服務。 若於計分板304中並無任何位元被設定,則排序器皆無 15 懸而未決的APIC事件。於此種情況下,方法500可由狀態502 變遷至狀態508。於狀態508,方法500可將至少部分APIC 邏輯區塊212之電源關閉來於不需要邏輯212時省電。當電 源關完成時,方法500又變遷回狀態502,判定是否有任何 新的APIC動作需要檢測。 20 於狀態502,若為檢測得新動作(換言之,計分板304中 並無任何登錄項目被設定),則APIC邏輯212之電源已經關 閉,方法500由狀態502變遷至狀態506來等候新的APIC動作。 於等候狀態506期間,方法500定期存取計分板3〇4的内 容,來判定是否有任何APIC案例取得懸而未決的APIC工 22 作。佐何輪入APIC訊息反映在計分板内容304,皆造成由狀 態506變遷至狀態5〇2。前文輸入系統訊息佇列2〇4及輸入本 地机息佇列2〇6之討論提供有關架構APIC狀態302之說明; 於至少一個實施例中,計分板3〇4之登錄項目經更新來反映 5出APIC案例已經取得懸而未決的APIC工作。 方法5 00可於狀態5 〇 2判定若計分板3 〇 4之登錄項目412 經設定,則至少有一個APIC案例有懸而未決的apiC工作有 待進行。若有多於一個登錄項目經設定,則中斷排序器區 塊214判定哪一個apic案例為將由APIC邏輯212服務的下 1〇 一個案例。於至少一個實施例中,中斷排序器區塊214經由 選擇被設定的下一個計分板登錄項目來執行此項判定。藉 此方式,中斷排序器區塊214經由循序選擇下一個作動的 AHC案例來存取APIC邏輯212而實施公平體系。 當於狀態502選擇APIC案例時,方法5〇〇由方塊5〇2變 15遷至方塊504。於方塊504,中斷排序器區塊214由集中化 APIC狀態302讀取所選虛擬APIC之登錄項目41〇。藉此方 式中斷排序器區塊214判定哪一個APIC事件對所選apic 案例為懸而未決。多個APIC事件可能懸而未決,因而反映 於APIC豆錄項目41〇。於狀態5〇4的任何送代期間,對一個 20 APIC案例只處理―個懸而未決的事件。如此,可維持輪轉 型循序公平體系。 欲對同—個主動APIC案例之多個懸而未決之中斷事 件間做選擇,於狀態504期間中斷排序器區塊2M執行決定 優先順位處理。此種決定優先順位處理可仿真傳統系統中 23 1338225 藉專用APIC所執行的決定優朱順位體系 。例如,APIC中斷 定義為落入重要性類別。於至少一個實施例中,各個Apic 案例之架構狀態登錄項目41〇(第4圖)對每個邏輯處理器可 保有高達240懸而未決之中斷。此等可能落入16個重要性類 5別,而被歸類為16優先順位群。類別16-31之中斷的優先順 位係尚於類別32-47的優先順位。中斷類別號碼愈低,則中 斷優先順位愈高。如此,中斷排序器區塊214注視Apic案例 之240位元,若有多於一位元被設定,則於狀態5〇4只拾取 一個事件(基於既有的A PIC架構優先順位法則) 。於至少一 10個實施例中’中斷排序器區塊214激發APIC邏輯212來執行 此種優先順位的排序。 然後方法500於狀態504期間對所選定的事件排程或執 行適當動作。例如,事件可能為確認等候先前由輸出的訊 息佇列之一所發送的一中斷訊息。另外,事件可能為需要 15發送的輸出中斷訊息。或,輸入的中斷訊息或確認需要由 排序器之一服務。中斷排序器區塊214可作動AP1C邏輯212 來於狀態504服務該事件。 於等候確認之情況下,中斷排序器區塊214可諮詢微架 構狀態303來確定正在等候此種確認。若是,則中斷排序器 20區塊214諮詢APIC狀態202之適當登錄項目來於狀態5〇4判 定是否已經接收到確認。若否,則退出狀態504,處理下_ 個排序器事件。 若已經接收到確認,則微架構狀態303更新來反映出無 需再等候確認。清除計分板304之該APIC案例之登錄項目, 24 隨後變遷返回狀態502。於至少一個實施例中,計分板登錄 項目304唯有於目前接收到的事件為唯一對該Api(:案例為 未決事件時才被清除。 至於另一個實例,若於狀態5 04欲被服務的事件為發送 5中斷訊息(透過本地互連裝置1〇2或系統互連裝置1〇6發 送)’則此種事件可於狀態504被服務如下。假設為前述優 先順位處理,中斷排序器區塊214由目前接受服務的邏輯處 理器之APIC案例,判定欲傳輸哪一個輸出訊息。然後將輸 出訊息排程供傳輸,有預定之目的地位址,來傳出至適當輸 1〇出訊息佇列(輸出本地訊息佇列208或輸出系統訊息佇列2丨〇)。 若於事件完全接受服務前,輸出訊息要求額外服務, 諸如接收確認,則集中化中斷控制器110可更新微架構狀態 303來指示對此事件需要進一步服務(透過本地互連裝置 1〇2或系統互連裝置106輸出確認’可於輸入訊息佇列2〇4、 15 206中佇列等候,最後更新至集中化APIC狀態202,故可於 相關APIC案例之狀態504的下次迭代運算期間處理)。方法 由狀態504變遷至狀態502。 第6圖顯示可執行所揭示之技術之多執行緒運算系統 9〇〇之至少一個樣本實施例。運算系統9〇〇包括至少一個處 20理器核心904(0)及記憶體系統940。運算系統900可包括額外 核心(高達904(n)),如虛線及橢圓指示。 記憶體系統940可包括大型相對較緩慢的記憶體儲存 裝置902,以及一個或多個小型而相對快速的快取記憶體, 諸如指令快取記憶體944及/或資料快取記憶體942。記憶體 25 1338225 儲存裝置902可儲存指令91〇4資料912來控制處理器904之 操作。
記憶體系統940意圖作為記憶體之一般性代表,可包括 多種記憶體形式’諸如硬碟' CD-ROM、隨機存取記憶體 5 (Ram)、動態隨機存取記憶體(DRAM)、靜態隨機存取記憶 體(SRAM)、快閃記憶體及相關電路。記憶體系統94〇可儲 存由資料信號呈現的指令910及/或資料912,該等信號可藉 處理器904執行。指令910及/或資料912可包括用來執行此 處所述任何技術或全部技術之密碼及/或資料。 10 第6圖顯示可耦接至集中化中斷控制器110之各個處理
器904。各個處理器904包括一前端920,其供給指令資訊予 一執行核心930。被提取的指令資訊可緩衝於快取記憶體 225來等候執行核心930的執行。前端920可以規劃順序供給 指令資訊予執行核心930。於至少一個實施例中,前端920 15 包括提取/解碼單元322,其判定欲執行的下一個指令。於 系統900之至少一個實施例中,提取/解碼單元322可包括單 一下一個指令指標器及提取邏輯320。但於各個處理器904 支援多重執行緒内文之實施例中,提取/解碼單元322對各 個所支援的執行緒内文係實作分開的下一個指令指標器及 2〇 提取邏輯320。於多處理器環境下額外下一個指令指標器及 提取邏輯320之任選的本質以虛線標示於第6圖。 此處所述方法之實施例可於硬體、硬體乳化軟體、或 其它軟體、韌體、或此等實作技術之組合中實作。本發明 之實施例可對可程式系統實作,可程式系統包含至少一個 26 1338225 處理器…資料赫系統(包#依電性及非依紐記憶體及 /或儲料件)、至少-個輸人裝置及至少_個輸出裝置。用 於本案之目的,處理系統包括任何有處理器的系統,諸如 數位信號處理器(DSP)、微控制器、特殊應用積體電路(—ο 5 或微處理器。 程式可儲存於可藉-般用途或特殊用途可程式處理系 統讀取之儲存媒體或裝置(例如硬碟機、軟碟機、唯讀記憶 體(ROM)、CD-ROM裝置、快取記憶體、數位影音光碟(dvd) 或其匕儲存裝置)上。可存取處理系統中之處理器之指令, 1〇當儲存媒體或裝置係由處理系統讀取時可供組配及操胃^處 理系統來執行此處所述程序。本發明之實施例也可視為以 組配用於處理系統之機器可讀取儲存媒體實作,如此組配 的儲存媒體造成處理系統以特殊預定方式操作來執行此處 所述功能。 15 樣本系統900為基於可得自英特爾公司(Intel
Coloration)之奔騰(Pentium)、奔騰Pro、奔騰π、奔騰⑴、 奔騰4、意泰寧(Itanium)、及意泰寧2微處理器及行動英特 爾奔騰III處理器及行動英特爾奔騰4處理器-M之代表性 處理系統,但也可使用任何其它系統(包括有其它微處理器 20 之個人電腦(PC)、工程處理工作站、個人數位處理器及其 它掌上型裝置、機上盒等)。於一個實施例中,樣本系統可 執行得自微軟公司(Microsoft Cc^poration)之視窗(Windows) 作業系統之版本,但也可使用其它作業系統及圖形使用者 介面。 27 雖然已經顯示及說明本發明之特定實施例,但熟諳技 藝人士 了解可未悖離隨附之申請專利範圍做出變化及修 改。例如至少一個集中化APIC狀態2〇2之實施例可包括單— 。賣取蜂及單一寫入埠。於此等實施例中,輸入系統訊息佇 列204、輸入本地訊息佇列206及中斷排序器區塊214可利用 仲裁邏輯(圖中未顯示)來存取集中化Apic狀態2〇2。 此外’例如第5圖所示方法50〇之至少一個實施例可排 除狀態508。熟諸技藝人士了解狀態508只提供效能增強(電 力節省)’但非申請專利範圍中之本發明之實施例所必需。 此外’例如’前文說明前文討論之集中化中斷控制器 110之至少一個實施例可排除計分板304。用於此等實施 例’中斷排序器區塊214可循序橫過架構APIC狀態302之登 錄項目410,來判定欲接收來自於APIC邏輯212之服務之次 一 APIC案例。 如此’熟諳技藝人士了解可未悖離本發明之廣義態樣 而做出變化及修改。隨附之申請專利範圍於其範圍内涵蓋 全部此等落入於本發明之精髓範圍内之修改。 【闽式簡單說明】 第1圖為方塊圖,顯示對多個處理單元提供中斷控制之 一種集中化中斷控制器之至少一個實施例。 第2圖為方塊圖,顯示集中化中斷控制器之至少一個實 施例之進一步細節。 第3圖為方塊圖,顯示多排序器系統之各個實施例。 第4圖為方塊圖,顯示用於多個核心之中斷狀態之中央 1338225 倉儲之至少一個實施例。 第5圖為狀態變遷圖,顯禾用於一集中化中斷控制器之 一中斷排序器區塊之操作之玄少一個實施例。 第6圖為方塊圖,顯示巧·執行所揭示之技術之一種電腦 系統之至少一個樣本實施例。 【主要元件符敢說明】
100…系統 102…本地互連裝置 104...核心 106…系統互連裝置 110…集中化中斷控制器 112…系統介面邏輯 114··$邊輸入/輸出(I/O)裝置 116…系統元件、記憶體 301、303...微架構狀態 302…架構狀態 304.. .處理器、記分板 310.. .單核心多排序器多執行緒# 境 312.. .架構狀態 320…下一-指令-指標器與提取邏 輯 150…晶粒
322…實體提取/解碼單元 350.”多核心多執行緒環境 360…晶片封裝體 410、412“·登錄項目 500、508…狀態、方塊 900…多執行緒運算系统 902…儲存震置 904…處理器核心 910...指令 202…集中化先進可規劃中斷控制 器(APIC)狀態 204…輸入系統訊息佇列 206…#八本地訊息佇列 208·..輸出本)也讯息^宁列 210…輸出系統訊息作列 212...APIC中斷傳輸邏輯 214…中斷排序器區塊 225.··快取記憶體 912…資料 29 1338225 920.. .前端 ’942...資料快取記憶體 930.. .執行核心 944...指令快取記憶體 940.. .記憶體系統
(£ ) 30
Claims (1)
1338225 5
15
20 乃年?月”日修正本 —--—- 十、申請專利範圍:· 】.一種用於中斷控制之裝置,包含: 一單-邏輯區塊,用來對傳輸中斷訊息往來於多個 處理單S之動作進行優摘位的排序及控制功能,其中 該邏輯區塊為該等多個處理單元所共享; 、 耗接至該邏輯區塊之—中斷排序器區塊用來對該 等多個處理單it排程中斷事件供由該邏輯區塊處理;Λ -儲存區,用來對該等多個處理單元各自維持架構 中斷狀態資訊; -個或多個内送訊息糾,用來接收内送中斷訊息 以及將來自於該等訊息之資訊置入該儲存區;以及〜 -個或多個外送訊息仔列,用來發送外送中斷訊 息。 。 2-如申請專利範圍第1項之裝置,其令: 。。該單-邏輯區塊包括非冗餘電路而非對各個處理 單元包括冗餘邏輯裝置。 3.如申請專利範圍第1項之裝置,其中: 該中斷排序器區塊係用來根據一公平體系為該等 多個處理單元排程該等中斷事件。 4·如申請專利範圍第3項之裝置,其中: 該中斷排序器區塊係用來根據一循序橫越該儲存 區之順序為該等多個處理單元排程該等中斷事件。 5·如申請專利範圍第丨項之裝置,其進一步包含: —計分板,用來維持有關哪一個處理單元有懸而未 31 決之中斷事件之資料。 如申凊專利範圍第丨項之裝置,其中: 該儲存區進一步係供儲存微架構狀態資訊。 .如申請專利範圍第1項之裝置,其中: 該等多個處理單元欲透過一本地互連裝置通訊。 8’如申請專利範圍第7項之裝置,其中: 該一個或多個輸入訊息佇列包括用來透過該本地 互連裝置接收内送中斷訊息之一訊息佇列;以及 該一個或多個輸出訊息佇列包括用來透過該本地 互連裝置發送外送中斷訊息之一訊息佇列。 9‘如申請專利範圍第7項之裝置,其中: 該一個或多個輸入訊息佇列包括用來透過一系統 互連裝置接收内送中斷訊息之一訊息仔列;以及 5玄一個或多個輸出訊息佇列包括用來透過該系統 互連裝置發送外送中斷訊息之一訊息仔列。 瓜如申請專利範圍第旧之裝置,其中該—或多個外送訊 息佇列進一步: 由該儲存區取回有關該等外送中斷訊息之資訊。 如申請專利範圍第旧之裝置,其中該—個或多個外送 訊息彳宁列進一步包含: 防火牆邏輯裝置’用來抑制料外送中斷訊息中之 一或多者的傳輸。 12·如申請專利範圍第1項之裝置,其中該-個或多個㈣ 訊息佇列進一步包含·· 32 1338225
10 15
20 防火牆邏輯裝置,用來抑制該等内送中斷訊息中之 一或多者傳輸至該等處理單元中之一者或多者。 13. —種用於中斷控制之方法,包含有下列步驟: 藉一單一邏輯區塊來對傳輸中斷訊息往來於多個 處理單元之動作進行優先順位的排序及控制功能; 諮詢一儲存陣列來針對該等處理單元之一判定架 構中斷狀態;將該等處理單元之一加以排程以供用於 一非冗餘中斷傳輸區塊之中斷傳輸服務; 對該等多個處理單元排程中斷事件供由該邏輯區 塊處理;以及 對該等多個處理單元各自維持架構中斷狀態資訊; 其中該排程步驟係根據一公平體系執行,允許各個 處理單元可同等存取該非冗餘中斷傳輸區塊。 14. 如申請專利範圍第13項之方法,其中: 該非冗餘中斷傳輸區塊包括先進可程式中斷控制 器(APIC)邏輯裝置。 15. 如申請專利範圍第13項之方法,其中·· 該公平體系為用於具有一或多個懸而未決之中斷 事件之該等處理單元之一種循序輪轉體系。 16. —種執行緒化運算系統,包含: 多個處理單元,用來執行一或多個執行緒; 一單一邏輯區塊,用來對傳輸中斷訊息往來於多個 處理單元之動作進行優先順位的排序及控制功能; 耦接至該邏輯區塊之一中斷排序器區塊,用來對該 33 1338225 等多個處理單元排程中斷事件供由該邏輯區塊處理; 耦接至該等處理單元之一記憶體,用來對該等多個 處理單元各自維持架構中斷狀態資訊;及 一共享中斷控制器,用來對該等多個處理單元提供 5 中斷傳輸服務。 17. 如申請專利範圍第16項之系統,其中: 該共享中斷控制器進一步對該等多個處理單元提 供APIC中斷傳輸服務。 18. 如申請專利範圍第16項之系統,進一步包含: 10 該等處理單元不含有自備式AHC中斷傳輸邏輯裝 置。 19. 如申請專利範圍第16項之系統,其中: 該共享中斷控制器進一步包括防火牆邏輯裝置。 20. 如申請專利範圍第16項之系統,其進一步包含: 15 耦接於該等多個處理單元間之一本地互連裝置。 21. 如申請專利範圍第20項之系統,其中該共享中斷控制器 進一步包含: 防火牆邏輯裝置,用來抑制一個或多個中斷訊息透 過該本地互連裝置傳輸。 20 22.如申請專利範圍第16項之系統,其進一步包含: 耦接至該共享中斷控制器之一系統互連裝置。 23.如申請專利範圍第22項之系統,其中該共享中斷控制器 進一步包含: 防火牆邏輯裝置,用來抑制一個或多個中斷訊息透 34 1338225
過該系統互連裝置傳輸。· 24.如申請專利範圍第16項之系統,其中: 該共享中斷控制器係進一步於該等多個處理單元 間排程中斷之串列式服務。 35
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/270,750 US20070106827A1 (en) | 2005-11-08 | 2005-11-08 | Centralized interrupt controller |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200739355A TW200739355A (en) | 2007-10-16 |
TWI338225B true TWI338225B (en) | 2011-03-01 |
Family
ID=38005135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW095141105A TWI338225B (en) | 2005-11-08 | 2006-11-07 | Centralized interrupt controller |
Country Status (2)
Country | Link |
---|---|
US (1) | US20070106827A1 (zh) |
TW (1) | TWI338225B (zh) |
Families Citing this family (149)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8037224B2 (en) * | 2002-10-08 | 2011-10-11 | Netlogic Microsystems, Inc. | Delegating network processor operations to star topology serial bus interfaces |
US20050033889A1 (en) * | 2002-10-08 | 2005-02-10 | Hass David T. | Advanced processor with interrupt delivery mechanism for multi-threaded multi-CPU system on a chip |
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 |
US7627721B2 (en) | 2002-10-08 | 2009-12-01 | Rmi Corporation | Advanced processor with cache coherency |
US7334086B2 (en) * | 2002-10-08 | 2008-02-19 | Rmi Corporation | Advanced processor with system on a chip interconnect technology |
US7346757B2 (en) | 2002-10-08 | 2008-03-18 | Rmi Corporation | Advanced processor translation lookaside buffer management in a multithreaded system |
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 |
US7984268B2 (en) * | 2002-10-08 | 2011-07-19 | Netlogic Microsystems, Inc. | Advanced processor scheduling in a multithreaded system |
US9088474B2 (en) * | 2002-10-08 | 2015-07-21 | Broadcom Corporation | Advanced processor with interfacing messaging network to a CPU |
US20050033831A1 (en) * | 2002-10-08 | 2005-02-10 | Abbas Rashid | Advanced processor with a thread aware return address stack optimally used across active threads |
US7461215B2 (en) * | 2002-10-08 | 2008-12-02 | Rmi Corporation | Advanced processor with implementation of memory ordering on a ring based data movement network |
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 |
US7924828B2 (en) * | 2002-10-08 | 2011-04-12 | Netlogic Microsystems, Inc. | Advanced processor with mechanism for fast packet queuing operations |
US8015567B2 (en) * | 2002-10-08 | 2011-09-06 | Netlogic Microsystems, Inc. | Advanced processor with mechanism for packet distribution at high line rate |
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 |
US8799687B2 (en) | 2005-12-30 | 2014-08-05 | Intel Corporation | Method, apparatus, and system for energy efficiency and energy conservation including optimizing C-state selection under variable wakeup rates |
US7568758B2 (en) * | 2007-01-03 | 2009-08-04 | Kolcraft Enterprises | High chairs and methods to use high chairs |
US8190864B1 (en) * | 2007-10-25 | 2012-05-29 | Oracle America, Inc. | APIC implementation for a highly-threaded x86 processor |
US20090150696A1 (en) * | 2007-12-10 | 2009-06-11 | Justin Song | Transitioning a processor package to a low power state |
US8024590B2 (en) * | 2007-12-10 | 2011-09-20 | Intel Corporation | Predicting future power level states for processor cores |
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 |
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 |
US8234431B2 (en) * | 2009-10-13 | 2012-07-31 | Empire Technology Development Llc | Interrupt masking for multi-core processors |
US8705524B1 (en) * | 2010-06-17 | 2014-04-22 | Adtran, Inc. | Systems and methods for embedding metadata in data packets |
US8819680B2 (en) * | 2010-06-25 | 2014-08-26 | Panasonic Intellectual Property Corporation Of America | Computer system for controlling the execution of virtual machines |
US8943334B2 (en) | 2010-09-23 | 2015-01-27 | Intel Corporation | Providing per core voltage and frequency control |
US9069555B2 (en) | 2011-03-21 | 2015-06-30 | Intel Corporation | Managing power consumption in a multi-core processor |
US8793515B2 (en) | 2011-06-27 | 2014-07-29 | Intel Corporation | Increasing power efficiency of turbo mode operation in a processor |
US8769316B2 (en) | 2011-09-06 | 2014-07-01 | Intel Corporation | Dynamically allocating a power budget over multiple domains of a processor |
US8688883B2 (en) | 2011-09-08 | 2014-04-01 | Intel Corporation | Increasing turbo mode residency of a processor |
US8954770B2 (en) | 2011-09-28 | 2015-02-10 | Intel Corporation | Controlling temperature of multiple domains of a multi-domain processor using a cross domain margin |
US9074947B2 (en) | 2011-09-28 | 2015-07-07 | Intel Corporation | Estimating temperature of a processor core in a low power state without thermal sensor information |
US8914650B2 (en) | 2011-09-28 | 2014-12-16 | Intel Corporation | Dynamically adjusting power of non-core processor circuitry including buffer circuitry |
US9026815B2 (en) | 2011-10-27 | 2015-05-05 | Intel Corporation | Controlling operating frequency of a core domain via a non-core domain of a multi-domain processor |
US8832478B2 (en) | 2011-10-27 | 2014-09-09 | Intel Corporation | Enabling a non-core domain to control memory bandwidth in a processor |
US9158693B2 (en) | 2011-10-31 | 2015-10-13 | Intel Corporation | Dynamically controlling cache size to maximize energy efficiency |
US8943340B2 (en) | 2011-10-31 | 2015-01-27 | Intel Corporation | Controlling a turbo mode frequency of a processor |
US8972763B2 (en) | 2011-12-05 | 2015-03-03 | Intel Corporation | Method, apparatus, and system for energy efficiency and energy conservation including determining an optimal power state of the apparatus based on residency time of non-core domains in a power saving state |
US9239611B2 (en) | 2011-12-05 | 2016-01-19 | Intel Corporation | Method, apparatus, and system for energy efficiency and energy conservation including balancing power among multi-frequency domains of a processor based on efficiency rating scheme |
US9052901B2 (en) | 2011-12-14 | 2015-06-09 | Intel Corporation | Method, apparatus, and system for energy efficiency and energy conservation including configurable maximum processor current |
US9372524B2 (en) | 2011-12-15 | 2016-06-21 | Intel Corporation | Dynamically modifying a power/performance tradeoff based on processor utilization |
US9098261B2 (en) | 2011-12-15 | 2015-08-04 | Intel Corporation | User level control of power management policies |
WO2013137859A1 (en) | 2012-03-13 | 2013-09-19 | Intel Corporation | Providing energy efficient turbo operation of a processor |
WO2013137862A1 (en) | 2012-03-13 | 2013-09-19 | Intel Corporation | Dynamically controlling interconnect frequency in a processor |
US9436245B2 (en) | 2012-03-13 | 2016-09-06 | Intel Corporation | Dynamically computing an electrical design point (EDP) for a multicore processor |
CN104204825B (zh) | 2012-03-30 | 2017-06-27 | 英特尔公司 | 动态测量处理器中的功耗 |
WO2013162589A1 (en) | 2012-04-27 | 2013-10-31 | Intel Corporation | Migrating tasks between asymmetric computing elements of a multi-core processor |
US9063727B2 (en) | 2012-08-31 | 2015-06-23 | Intel Corporation | Performing cross-domain thermal control in a processor |
US8984313B2 (en) | 2012-08-31 | 2015-03-17 | Intel Corporation | Configuring power management functionality in a processor including a plurality of cores by utilizing a register to store a power domain indicator |
US9342122B2 (en) | 2012-09-17 | 2016-05-17 | Intel Corporation | Distributing power to heterogeneous compute elements of a processor |
US9423858B2 (en) | 2012-09-27 | 2016-08-23 | Intel Corporation | Sharing power between domains in a processor package using encoded power consumption information from a second domain to calculate an available power budget for a first domain |
US8924615B2 (en) * | 2012-10-26 | 2014-12-30 | Arm Limited | Communication of message signalled interrupts |
US9575543B2 (en) | 2012-11-27 | 2017-02-21 | Intel Corporation | Providing an inter-arrival access timer in a processor |
US9183144B2 (en) | 2012-12-14 | 2015-11-10 | Intel Corporation | Power gating a portion of a cache memory |
US9292468B2 (en) | 2012-12-17 | 2016-03-22 | Intel Corporation | Performing frequency coordination in a multiprocessor system based on response timing optimization |
US9405351B2 (en) | 2012-12-17 | 2016-08-02 | Intel Corporation | Performing frequency coordination in a multiprocessor system |
US9235252B2 (en) | 2012-12-21 | 2016-01-12 | Intel Corporation | Dynamic balancing of power across a plurality of processor domains according to power policy control bias |
US9075556B2 (en) | 2012-12-21 | 2015-07-07 | Intel Corporation | Controlling configurable peak performance limits of a processor |
US9164565B2 (en) | 2012-12-28 | 2015-10-20 | Intel Corporation | Apparatus and method to manage energy usage of a processor |
US9081577B2 (en) | 2012-12-28 | 2015-07-14 | Intel Corporation | Independent control of processor core retention states |
WO2014108747A1 (en) * | 2013-01-10 | 2014-07-17 | Freescale Semiconductor, Inc. | Integrated circuit processor and method of operating a integrated circuit processor |
US9335803B2 (en) | 2013-02-15 | 2016-05-10 | Intel Corporation | Calculating a dynamically changeable maximum operating voltage value for a processor based on a different polynomial equation using a set of coefficient values and a number of current active cores |
US9367114B2 (en) | 2013-03-11 | 2016-06-14 | Intel Corporation | Controlling operating voltage of a processor |
US9395784B2 (en) | 2013-04-25 | 2016-07-19 | Intel Corporation | Independently controlling frequency of plurality of power domains in a processor system |
US9377841B2 (en) | 2013-05-08 | 2016-06-28 | Intel Corporation | Adaptively limiting a maximum operating frequency in a multicore processor |
US9823719B2 (en) | 2013-05-31 | 2017-11-21 | Intel Corporation | Controlling power delivery to a processor via a bypass |
US9348401B2 (en) | 2013-06-25 | 2016-05-24 | Intel Corporation | Mapping a performance request to an operating frequency in a processor |
US9471088B2 (en) | 2013-06-25 | 2016-10-18 | Intel Corporation | Restricting clock signal delivery in a processor |
US9348407B2 (en) | 2013-06-27 | 2016-05-24 | Intel Corporation | Method and apparatus for atomic frequency and voltage changes |
US9377836B2 (en) | 2013-07-26 | 2016-06-28 | Intel Corporation | Restricting clock signal delivery based on activity in a processor |
US9495001B2 (en) | 2013-08-21 | 2016-11-15 | Intel Corporation | Forcing core low power states in a processor |
US10386900B2 (en) | 2013-09-24 | 2019-08-20 | Intel Corporation | Thread aware power management |
US9405345B2 (en) | 2013-09-27 | 2016-08-02 | Intel Corporation | Constraining processor operation based on power envelope information |
US9594560B2 (en) | 2013-09-27 | 2017-03-14 | Intel Corporation | Estimating scalability value for a specific domain of a multicore processor based on active state residency of the domain, stall duration of the domain, memory bandwidth of the domain, and a plurality of coefficients based on a workload to execute on the domain |
US9494998B2 (en) | 2013-12-17 | 2016-11-15 | Intel Corporation | Rescheduling workloads to enforce and maintain a duty cycle |
US9459689B2 (en) | 2013-12-23 | 2016-10-04 | Intel Corporation | Dyanamically adapting a voltage of a clock generation circuit |
US9323525B2 (en) | 2014-02-26 | 2016-04-26 | Intel Corporation | Monitoring vector lane duty cycle for dynamic optimization |
US10108454B2 (en) | 2014-03-21 | 2018-10-23 | Intel Corporation | Managing dynamic capacitance using code scheduling |
US9665153B2 (en) | 2014-03-21 | 2017-05-30 | Intel Corporation | Selecting a low power state based on cache flush latency determination |
US9760158B2 (en) | 2014-06-06 | 2017-09-12 | Intel Corporation | Forcing a processor into a low power state |
US10417149B2 (en) | 2014-06-06 | 2019-09-17 | Intel Corporation | Self-aligning a processor duty cycle with interrupts |
US9513689B2 (en) | 2014-06-30 | 2016-12-06 | Intel Corporation | Controlling processor performance scaling based on context |
US9606602B2 (en) | 2014-06-30 | 2017-03-28 | Intel Corporation | Method and apparatus to prevent voltage droop in a computer |
US9575537B2 (en) | 2014-07-25 | 2017-02-21 | Intel Corporation | Adaptive algorithm for thermal throttling of multi-core processors with non-homogeneous performance states |
US9760136B2 (en) | 2014-08-15 | 2017-09-12 | Intel Corporation | Controlling temperature of a system memory |
US9671853B2 (en) | 2014-09-12 | 2017-06-06 | Intel Corporation | Processor operating by selecting smaller of requested frequency and an energy performance gain (EPG) frequency |
US10339023B2 (en) | 2014-09-25 | 2019-07-02 | Intel Corporation | Cache-aware adaptive thread scheduling and migration |
US9977477B2 (en) | 2014-09-26 | 2018-05-22 | Intel Corporation | Adapting operating parameters of an input/output (IO) interface circuit of a processor |
US9684360B2 (en) | 2014-10-30 | 2017-06-20 | Intel Corporation | Dynamically controlling power management of an on-die memory of a processor |
US9703358B2 (en) | 2014-11-24 | 2017-07-11 | Intel Corporation | Controlling turbo mode frequency operation in a processor |
US9710043B2 (en) | 2014-11-26 | 2017-07-18 | Intel Corporation | Controlling a guaranteed frequency of a processor |
US10048744B2 (en) | 2014-11-26 | 2018-08-14 | Intel Corporation | Apparatus and method for thermal management in a multi-chip package |
US20160147280A1 (en) | 2014-11-26 | 2016-05-26 | Tessil Thomas | Controlling average power limits of a processor |
US10877530B2 (en) | 2014-12-23 | 2020-12-29 | Intel Corporation | Apparatus and method to provide a thermal parameter report for a multi-chip package |
US20160224098A1 (en) | 2015-01-30 | 2016-08-04 | Alexander Gendler | Communicating via a mailbox interface of a processor |
US9639134B2 (en) | 2015-02-05 | 2017-05-02 | Intel Corporation | Method and apparatus to provide telemetry data to a power controller of a processor |
US10234930B2 (en) | 2015-02-13 | 2019-03-19 | Intel Corporation | Performing power management in a multicore processor |
US9910481B2 (en) | 2015-02-13 | 2018-03-06 | Intel Corporation | Performing power management in a multicore processor |
US9874922B2 (en) | 2015-02-17 | 2018-01-23 | Intel Corporation | Performing dynamic power control of platform devices |
US9842082B2 (en) | 2015-02-27 | 2017-12-12 | Intel Corporation | Dynamically updating logical identifiers of cores of a processor |
US9710054B2 (en) | 2015-02-28 | 2017-07-18 | Intel Corporation | Programmable power management agent |
US9760160B2 (en) | 2015-05-27 | 2017-09-12 | Intel Corporation | Controlling performance states of processing engines of a processor |
US9710041B2 (en) | 2015-07-29 | 2017-07-18 | Intel Corporation | Masking a power state of a core of a processor |
US10001822B2 (en) | 2015-09-22 | 2018-06-19 | Intel Corporation | Integrating a power arbiter in a processor |
US9983644B2 (en) | 2015-11-10 | 2018-05-29 | Intel Corporation | Dynamically updating at least one power management operational parameter pertaining to a turbo mode of a processor for increased performance |
US9910470B2 (en) | 2015-12-16 | 2018-03-06 | Intel Corporation | Controlling telemetry data communication in a processor |
US10146286B2 (en) | 2016-01-14 | 2018-12-04 | Intel Corporation | Dynamically updating a power management policy of a processor |
US10289188B2 (en) | 2016-06-21 | 2019-05-14 | Intel Corporation | Processor having concurrent core and fabric exit from a low power state |
US10324519B2 (en) | 2016-06-23 | 2019-06-18 | Intel Corporation | Controlling forced idle state operation in a processor |
US10281975B2 (en) | 2016-06-23 | 2019-05-07 | Intel Corporation | Processor having accelerated user responsiveness in constrained environment |
US10379596B2 (en) | 2016-08-03 | 2019-08-13 | Intel Corporation | Providing an interface for demotion control information in a processor |
US10234920B2 (en) | 2016-08-31 | 2019-03-19 | Intel Corporation | Controlling current consumption of a processor based at least in part on platform capacitance |
US10423206B2 (en) | 2016-08-31 | 2019-09-24 | Intel Corporation | Processor to pre-empt voltage ramps for exit latency reductions |
US10379904B2 (en) | 2016-08-31 | 2019-08-13 | Intel Corporation | Controlling a performance state of a processor using a combination of package and thread hint information |
US10031833B2 (en) | 2016-08-31 | 2018-07-24 | Microsoft Technology Licensing, Llc | Cache-based tracing for time travel debugging and analysis |
US10031834B2 (en) * | 2016-08-31 | 2018-07-24 | Microsoft Technology Licensing, Llc | Cache-based tracing for time travel debugging and analysis |
US10042737B2 (en) | 2016-08-31 | 2018-08-07 | Microsoft Technology Licensing, Llc | Program tracing for time travel debugging and analysis |
US10168758B2 (en) | 2016-09-29 | 2019-01-01 | Intel Corporation | Techniques to enable communication between a processor and voltage regulator |
US10310963B2 (en) | 2016-10-20 | 2019-06-04 | Microsoft Technology Licensing, Llc | Facilitating recording a trace file of code execution using index bits in a processor cache |
US10489273B2 (en) | 2016-10-20 | 2019-11-26 | Microsoft Technology Licensing, Llc | Reuse of a related thread's cache while recording a trace file of code execution |
US10324851B2 (en) | 2016-10-20 | 2019-06-18 | Microsoft Technology Licensing, Llc | Facilitating recording a trace file of code execution using way-locking in a set-associative processor cache |
US10310977B2 (en) | 2016-10-20 | 2019-06-04 | Microsoft Technology Licensing, Llc | Facilitating recording a trace file of code execution using a processor cache |
US10540250B2 (en) | 2016-11-11 | 2020-01-21 | Microsoft Technology Licensing, Llc | Reducing storage requirements for storing memory addresses and values |
US10318332B2 (en) | 2017-04-01 | 2019-06-11 | Microsoft Technology Licensing, Llc | Virtual machine execution tracing |
US10429919B2 (en) | 2017-06-28 | 2019-10-01 | Intel Corporation | System, apparatus and method for loose lock-step redundancy power management |
US10296442B2 (en) | 2017-06-29 | 2019-05-21 | Microsoft Technology Licensing, Llc | Distributed time-travel trace recording and replay |
CN110998487A (zh) | 2017-08-23 | 2020-04-10 | 英特尔公司 | 现场可编程门阵列(fpga)中的自适应操作电压的系统、装置和方法 |
US10459824B2 (en) | 2017-09-18 | 2019-10-29 | Microsoft Technology Licensing, Llc | Cache-based trace recording using cache coherence protocol data |
US10620266B2 (en) | 2017-11-29 | 2020-04-14 | Intel Corporation | System, apparatus and method for in-field self testing in a diagnostic sleep state |
CN108182930B (zh) * | 2017-12-18 | 2021-12-10 | 福建星网视易信息系统有限公司 | 音效处理方法、设备及音视频点播系统 |
US10620682B2 (en) | 2017-12-21 | 2020-04-14 | Intel Corporation | System, apparatus and method for processor-external override of hardware performance state control of a processor |
US10558572B2 (en) | 2018-01-16 | 2020-02-11 | Microsoft Technology Licensing, Llc | Decoupling trace data streams using cache coherence protocol data |
US11907091B2 (en) | 2018-02-16 | 2024-02-20 | Microsoft Technology Licensing, Llc | Trace recording by logging influxes to an upper-layer shared cache, plus cache coherence protocol transitions among lower-layer caches |
US10642737B2 (en) | 2018-02-23 | 2020-05-05 | Microsoft Technology Licensing, Llc | Logging cache influxes by request to a higher-level cache |
US10496537B2 (en) | 2018-02-23 | 2019-12-03 | Microsoft Technology Licensing, Llc | Trace recording by logging influxes to a lower-layer cache based on entries in an upper-layer cache |
US10620969B2 (en) | 2018-03-27 | 2020-04-14 | Intel Corporation | System, apparatus and method for providing hardware feedback information in a processor |
US10739844B2 (en) | 2018-05-02 | 2020-08-11 | Intel Corporation | System, apparatus and method for optimized throttling of a processor |
US10955899B2 (en) | 2018-06-20 | 2021-03-23 | Intel Corporation | System, apparatus and method for responsive autonomous hardware performance state control of a processor |
US10976801B2 (en) | 2018-09-20 | 2021-04-13 | Intel Corporation | System, apparatus and method for power budget distribution for a plurality of virtual machines to execute on a processor |
US10860083B2 (en) | 2018-09-26 | 2020-12-08 | Intel Corporation | System, apparatus and method for collective power control of multiple intellectual property agents and a shared power rail |
US11656676B2 (en) | 2018-12-12 | 2023-05-23 | Intel Corporation | System, apparatus and method for dynamic thermal distribution of a system on chip |
US11256657B2 (en) | 2019-03-26 | 2022-02-22 | Intel Corporation | System, apparatus and method for adaptive interconnect routing |
US11442529B2 (en) | 2019-05-15 | 2022-09-13 | Intel Corporation | System, apparatus and method for dynamically controlling current consumption of processing circuits of a processor |
US11698812B2 (en) | 2019-08-29 | 2023-07-11 | Intel Corporation | System, apparatus and method for providing hardware state feedback to an operating system in a heterogeneous processor |
CN112559403B (zh) | 2019-09-25 | 2024-05-03 | 阿里巴巴集团控股有限公司 | 一种处理器及其中的中断控制器 |
US11366506B2 (en) | 2019-11-22 | 2022-06-21 | Intel Corporation | System, apparatus and method for globally aware reactive local power control in a processor |
US11132201B2 (en) | 2019-12-23 | 2021-09-28 | Intel Corporation | System, apparatus and method for dynamic pipeline stage control of data path dominant circuitry of an integrated circuit |
US11921564B2 (en) | 2022-02-28 | 2024-03-05 | Intel Corporation | Saving and restoring configuration and status information with reduced latency |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2855298B2 (ja) * | 1990-12-21 | 1999-02-10 | インテル・コーポレーション | 割込み要求の仲裁方法およびマルチプロセッサシステム |
US5613128A (en) * | 1990-12-21 | 1997-03-18 | Intel Corporation | Programmable multi-processor interrupt controller system with a processor integrated local interrupt controller |
US5511200A (en) * | 1993-12-01 | 1996-04-23 | Intel Corporation | Method and apparatus for providing an enhanced programmable priority interrupt controller |
AU1261995A (en) * | 1993-12-16 | 1995-07-03 | Intel Corporation | Multiple programmable interrupt controllers in a multi-processor system |
US5721931A (en) * | 1995-03-21 | 1998-02-24 | Advanced Micro Devices | Multiprocessing system employing an adaptive interrupt mapping mechanism and method |
US5689713A (en) * | 1995-03-31 | 1997-11-18 | Sun Microsystems, Inc. | Method and apparatus for interrupt communication in a packet-switched computer system |
US5678057A (en) * | 1995-06-07 | 1997-10-14 | Lsi Logic Corporation | Multi-Chip-Module (MCM) microcircuit including multiple processors and Advanced Programmable Interrupt Controller (APIC) |
US5727217A (en) * | 1995-12-20 | 1998-03-10 | Intel Corporation | Circuit and method for emulating the functionality of an advanced programmable interrupt controller |
US5857090A (en) * | 1995-12-29 | 1999-01-05 | Intel Corporation | Input/output subsystem having an integrated advanced programmable interrupt controller for use in a personal computer |
US5944809A (en) * | 1996-08-20 | 1999-08-31 | Compaq Computer Corporation | Method and apparatus for distributing interrupts in a symmetric multiprocessor system |
US5918057A (en) * | 1997-03-20 | 1999-06-29 | Industrial Technology Research Institute | Method and apparatus for dispatching multiple interrupt requests simultaneously |
US6192442B1 (en) * | 1998-04-29 | 2001-02-20 | Intel Corporation | Interrupt controller |
US6370606B1 (en) * | 1998-11-05 | 2002-04-09 | Compaq Computer Corporation | System and method for simulating hardware interrupts in a multiprocessor computer system |
US6606676B1 (en) * | 1999-11-08 | 2003-08-12 | International Business Machines Corporation | Method and apparatus to distribute interrupts to multiple interrupt handlers in a distributed symmetric multiprocessor system |
US7089341B2 (en) * | 2004-03-31 | 2006-08-08 | International Business Machines Corporation | Method and apparatus for supporting interrupt devices configured for a particular architecture on a different platform |
-
2005
- 2005-11-08 US US11/270,750 patent/US20070106827A1/en not_active Abandoned
-
2006
- 2006-11-07 TW TW095141105A patent/TWI338225B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
TW200739355A (en) | 2007-10-16 |
US20070106827A1 (en) | 2007-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI338225B (en) | Centralized interrupt controller | |
JP3570810B2 (ja) | 対称多重処理システム | |
EP0644487B1 (en) | Scalable system interrupt structure for a multiprocessing system | |
US6442631B1 (en) | Allocating system resources based upon priority | |
US8756605B2 (en) | Method and apparatus for scheduling multiple threads for execution in a shared microprocessor pipeline | |
US6938253B2 (en) | Multiprocessor communication system and method | |
CN101872315B (zh) | 用于多处理器的中断最优化 | |
TWI499970B (zh) | 增加處理器的加速模式內駐的方法與設備及其處理器 | |
CN1324429C (zh) | 数据处理系统的低功率系统和方法 | |
TWI537831B (zh) | 多核心處理器、用於執行處理程序切換之方法、用於保全一記憶體區塊之方法、用於致能使用一多核心裝置之異動處理之設備、以及用於執行記憶體異動處理之方法 | |
US5613126A (en) | Timer tick auto-chaining technique within a symmetrical multiprocessing system | |
US20080140896A1 (en) | Processor and interrupt controlling method | |
JP2013507719A (ja) | マルチコアプロセッサのための割込みマスク | |
WO1999038074A1 (en) | Method and apparatus for handling multiple level-triggered and edge-triggered interrupts | |
US7111182B2 (en) | Thread scheduling mechanisms for processor resource power management | |
WO2012001835A1 (ja) | マルチプロセッサシステム | |
EP0685798B1 (en) | Interrupt controllers in symmetrical multiprocessing systems | |
EP0644489A2 (en) | Method and apparatus for signalling interrupt information in a data processing system | |
CN110659115A (zh) | 具有硬件辅助任务调度的多线程处理器核 | |
US8024738B2 (en) | Method and system for distributing unused processor cycles within a dispatch window | |
KR100978147B1 (ko) | 중앙형 인터럽트 콘트롤러를 위한 장치, 방법 및 시스템 | |
US9886396B2 (en) | Scalable event handling in multi-threaded processor cores | |
JPH06324996A (ja) | 集積回路およびプログラマブル・マルチ・プロセッサ割り込みコントローラ・システム | |
US6708259B1 (en) | Programmable wake up of memory transfer controllers in a memory transfer engine | |
CN103257943B (zh) | 集中式中断控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |