TW201229911A - Interrupt distribution scheme - Google Patents
Interrupt distribution scheme Download PDFInfo
- Publication number
- TW201229911A TW201229911A TW100144040A TW100144040A TW201229911A TW 201229911 A TW201229911 A TW 201229911A TW 100144040 A TW100144040 A TW 100144040A TW 100144040 A TW100144040 A TW 100144040A TW 201229911 A TW201229911 A TW 201229911A
- Authority
- TW
- Taiwan
- Prior art keywords
- interrupt
- processor
- controller
- state
- rti
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/24—Interrupt
- G06F2213/2424—Interrupt packet, e.g. event
-
- 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)
- Software Systems (AREA)
- Bus Control (AREA)
- Power Sources (AREA)
- Microcomputers (AREA)
Description
201229911 六、發明說明: 【發明所屬之技術領域】 本發明係關於中斷控制器之領域 【先前技術】 研行軟體之— 可由軟體控制之各種硬體器 戍多個處理益’及 舉例而言,數位♦絲勺 括:諸如桌上型電腦、膝上型 ^ _)、伺服器、工作站等之電腦.、,你台式電腦(net 個人數位助理、智慧型電、尊’諸如蜂巢式電話、 件。硬體器件大體及其他專用器 記憶體、光碟機等)、通信(例如 磁^快閃 及其他輸入,輸出功能性(觸碰螢幕 操作等) 器、音訊等)之特定功能性。 ^、顯不 硬體器件通常經設計以在 間週期中操作。當需W八1入之情況下在一時 λ ^ 人)丨入時(例如,當對應於器件 式需要被執行時硬體器件可用信號發送一中 斷。该中斷經傳遞至系統中之處理器中 可暫時中止任務之劫—^ 者邊處理器 如,中斷服路登 <丁以執行對應於中斷的程式碼(例 *斷服務常用程式碼及/或驅動程式碼)。 處理琴::括·以上處理器時,給定中斷需要被提供至 繁地改變… 特疋處理…該映射並不很頻 處理‘/即’同—處理器通常词服給定中斷。若目標 此即刻回應於中斷,則此等靜態方案可導致長中 160358.doc 201229911 斷延時。若多個處理器可接收一給定中斷,則在處理器試 圖回應於中斷時存在一競爭條件。此等競爭條件可降低系 統中之效能及/或電力效率。 【發明内容】 在一實施例中,一中斷控制器可實施用於在多個處理器 間分佈中斷的一中斷分佈方案。該方案可在判定哪一處理 器應接收一給定中斷時考慮各種處理器狀態。舉例而言, 處理器狀態可包括處理器是否在睡眠狀態中、中斷是否被
啟用、處理器是否已回應於先前中斷等。藉由在分佈中斷 時考慮處理器狀態,可在一些實施例中減少中斷延時。替 代性地或額外地,中斷控制器可實施逾時機制以偵測到一 中斷正被延遲(例如,在被提供至一處理器後)。中斷可在 逾時期滿時被重新評估,且可能經提供至另一處理器。 在一實施例中,一中斷控制器可經組態以回應於傳遞用 於一中斷之中斷向量至一回應處理器而自動地且不可部分 完成地遮罩該中斷。該中斷控制器可將來自處理器之中斷 應答序列化為不可部分完成遮罩之一部分。因此,在此等 實施例中,每—中斷經傳遞至—個處理器,且不超過一個 處理器。 【實施方式】 以下[貫%方式]參考以下簡單描述之隨附圖式。 雖然本發明易具有各種修改及替代形式,但在圖式中藉 由實例展示了其特定實施例,且將在本文中對其進行詳二 描述。然而應理解,料圖式及對其之料描述並非意欲 160358.doc 201229911 將本發明限μ π _
%所揭示的特定形式,而正相反,本發明意欲 涵蓋屬於如A '附加申^專利範圍所界定的本發明之精神及範 • t所有修改、均等物及替代物。本文中所使用之標題 為達成、、且織性目#,且不意欲用以限制此描述之範鳴。 :本:明案全篇中所使用之詞語「可」係在允許意義(亦 P w月有可能)而非強制意義(亦即,意謂必須)上使用。 類似地,詞|五「4 k . J。 包括」意謂包括但不限於。 /可將各種單70、電路或其他組件描述為「經组態以」執 =或多個任務。在此等内容脈絡下,「經組態以」係對 、、“冓之廣泛敍述’其大體上意謂「具有在操作期間執行該 :該等任務之電路」。因而,單元/電路/組件可甚至在該 單兀/電路/組件當前未接通時經組態以執行該任務。大體 而言,形成對應於「經組態以」之結構的電路可包括用以 實施操作之硬體電路。類㈣,為便於描述,可將各種單 兀/電路/組件描料執行—或多個任務。此#描述 為包括片語「經杻雜w π >, 4組態以」。敍述經組態以執行一或多個任 務之一單元/電路/組件明確地不意欲援引35 u.s.c. § 112 第六段對於該單元/電路/組件之解釋。 一下文描述用於處置系統中之㈣的各種實施例。大體而 a ’ -中斷可為自一器件(例如,周邊器件)至一處理器之 通信以使該處理器暫時h該處理器#前正執行之程心 的執行以便執行對應於❹斷之程式碼1自器件之中斷 的通信可呈各種形式(例如,信號之確證、中斷訊息之: 輸,#)。1^件可使用t斷以使用於器件之中斷服務常用 l6035S.doc 201229911 程式碼及/或驅動程式瑪被執 一 一此牛—恩理器已採取至少 二:驟來處理中斷,暫時中止之程式碼的處理。 二二!況下,暫時中止之程式碼可保持暫…直至中 地處理為止。在其他狀況下’可使用推㈣斷 ^方案,其中中斷服務常用程式碼記錄中斷以用於稍後 處理,接著返回至暫時中止之程式碼。 Ο ❹ 中斷控制器可接收來自系統中之各種器件財斷,且可 ,供中斷至處理器。提供一令斷大體上可指代傳輸中斷之 心示至處理器。在一些實施例中,可藉由續證一至處理器 之中斷請求信號而提供中斷。在其他實施例中,可藉由傳 輸-訊息至識別中斷之處理器而提供中斷。處理器可以多 種方式回應於中斷。舉例而言,處理器可傳輸一中斷應交 以指示對中斷之接受。可以多種形式來傳輸中斷應答。i 例而言,中斷應答可為對指定為中斷應答暫存器之暫存器 的暫存器讀取。中斷應答可為在處理器之介面上的特定傳 輸。在其他實施例中,處理器可傳達對中斷之接受或拒 絕。 如下文較詳細地強調,在一些實施例中,中斷控制器可 考慮可影響處理器接受中斷(或以低延時接受中斷)之能力 的各種處理器狀態。因此,中斷控制器可基於在一給定中 斷時各種處理器中之處理器狀態來動態地識別一處理器以 接受給定中斷。同一中斷之隨後發生可基於隨後發生時的 不同處理器狀態而提供至一不同處理器。在一些實施例 中,基於處理器狀態選擇一處理器可導致較低總中斷延 160358.doc 201229911 時大體而言’處理器狀態可包括經直接程式化至處理器 中的狀& (例如’中斷啟s /停用、特殊權限級等)及/或直 接應用於處理器之狀態(例如,電力閘控、時脈閘控等)。 在一些實施例中,中斷控制器可經組態以回應於一中斷 正由處理器接受而不可部分完成地遮罩該中斷。以此方 式,中斷控制器可避免傳輸同一中斷至一個以上處理器。 卜 中斷之源可為對層級敏感的,且因此中斷可保持 確證直至源收到所要處理為止。遮罩可防止中斷被再次報 α直至遮罩由軟體明確地改變為止。中斷之自動遮罩亦可 允許中斷應合為無狀態的。舉例而言,中斷控制器無需知 曉處理器是否在處理—中斷的過程中。因&,與其他中斷 機制相比,可簡化中斷控制器之設計。 圖為種包括多個處理器60A至60B、中斷控制器50、 電力s理器52及多個周邊設備64A至64B之系統5的一實施 例之方塊圖。周邊設備64A至64B可耦接至中斷控制器 且可經組態以用信號發送中斷至中斷控制器50(圖1中之 中斷」)。電力官理器52可包括一離線暫存器54且可耦 接至中斷控制器5〇。特定言之,離線暫存器54之内容及關 於處理态6〇A至60B之額外處理器狀態(圖i中之「處理器狀 態」)可藉由電力管理器52提供至中斷控制器5〇。處理器 60A至60B可耦接至電力管理器52及中斷控制器5〇。特定 。之,處理60A至60B可各自提供額外處理器狀態 「PState」至中斷控制器5〇,且可各自接收來自中斷控制 器5〇之—中斷請求(「IRQ」)。處理器60A至60B及中斷控 160358.doc 201229911 制器50可額外地經由中斷控制器暫存器介面62(圖ι中之 「1C Reg介面」)來耦接。中斷控制器5〇可進一步包括一 遮罩暫存器56及至少一逾時暫存器58。
在一實施例中,中斷控制器50經耦接以接收處理器6〇A 至60B之處理器狀態,並經組態以在判定哪一處理器6〇a 至60B應被提供一中斷時包括處理器狀態。因此,可取決 於與處理器相關聯之當前處理器狀態而針對一給定中斷動 態地判定所選處理器60A至60B。中斷控制器5〇可提供中 〇 斷至所選處理器60A至60B(例如,藉由確證至圖1中之選定 處理器60A至60B的IRQ)。處理器60A至6〇B可(例如)藉由 傳輸一中斷應答(IAck)至中斷控制器50而接受中斷。藉由 在用以將一中斷投送至給定處理器6〇A至6〇b的決策中包 括處理器狀態,用於整個中斷處理之延時可藉由減少自提 供中斷至處理器60A至6〇B到該處理器接受該中斷的延時 而減少。 由中斷控制器5〇監視之處理器狀態可包括可影響處理器 回應於一中斷之能力的任一狀態。舉例而言,來自電力管 理器52之處理器狀態可包括處理器之電力狀態。若處理器 60A至60B在低電力狀態(諸如,睡眠狀態)中,則該處理器 可需要時間來轉變至一較高電力狀態(諸如,完全開啟狀 態)以回應於中斷。因此,已經在較高電力狀態中之處理 器可為用於提供中斷的一較佳選擇。來自電力管理器52之 處理器狀態可進一步包括來自離線暫存器54之離線狀態。 離線狀態可藉由在系統5上執行之軟體而程式化。若在離 160358.doc 201229911 線暫存器54中給定處理器被指示為離線,則該處理器可能 不可用於伺服中斷且因此可不被選擇以被提供中斷。 處理器60A至60B之處理器狀態可包括該處理器中 虽刖疋否啟用中斷的指#。當前使中斷停用之處理器可比 一當前使中斷啟狀處㈣更不可能迅速接受—提供之中 斷。在—實施例中,處理器6〇A至6〇B可包括一儲存一中 斷啟用或中斷停用位元之暫存器。該位元可由處理器6〇A 至60B輸出以用於外部監視。來自處理器6〇a至峨之其他 處理器狀態可包括(例如)處理器之特殊權限狀態的指:。 在低特殊權限狀態(例如,使用者狀態)中之處理器可正執 行應用程式碼,而在較高特殊權限狀態(例如,監督員狀 態)中之處理n可正執行作業系統m與在較高特殊 權限狀態中之處理器相比’在較低特殊權限狀態中之處理 益可為用於提供中斷之較佳選擇。在各種實施例令, 慮任何其他處理器狀態。 在支援處理器及中斷控制器之虛擬化的實施例 於投送中斷考慮額外處判狀m等環境中,周邊哭士 件(且因此其中斷)可為客體作業系統_私用的。亦即w 器f指派給客體OS,且可能不可用於由在系統上= ,、他客體OS使用直至器件不再被指派給該 丁 私用之中斷,斷經投送至處理ί m體〇s之-者’則可縮短中斷延時 理器可經組態以提供哪—客體在該處理器 = 示至中斷控侧如’客趙標,),且中斷控制器可 160358.doc -10- 201229911 ,%以在選擇-處理器以將令斷投送至其時考慮該指示。可 支棱逾時以判疋所選處理器不回應於令斷,且可回應於逾 時而選擇一執行超管理器/虛擬機監視程式之處理器。若 無處理器正執行所要玄科 要各體〇s,則可使用剩餘投送規則來選 擇處理器。在一些實施例中,不同中斷指示可用以中斷超 管理器/虛擬機監視程式(例如,可存在用於超管理器/虛擬 機監視程式及客體中之每—者的一獨立IRQ)。在此等實施 ❹ Ο ^可在未正在任一處理器上執行的所要客體〇s中確證 超官理器/虛擬機監視程式IRQ。 在實施例中,中斷控制器50可支援一或多個逾時。回 應於提供—中斷至—敎處判,中斷㈣㈣可以來自 逾夺暫存器58之-相應逾時值來初始化一逾時計數器。若 f選定處理器未回應於中斷的情況下逾時期滿,則中斷控 制器50可重新評估中斷並提供中斷至另—處理器。因此, :最初選定之處理器的回應受到延遲,則另—處理器可經 銷該提供二:二中,未自先前選定之處理器撤 因此’無論哪一處理器首先回應,皆可被提供 提供“丨、實施例中’可自先前選定之處理器撤銷該 、(例如’藉由撤銷確證其IRQ)。 時逾IS為可軟體程式化的’且可基於特定事件之預期延 型時。Γ ’若在處理器中中斷被停用’則其可在-典 略如,π微秒)中保持停用。逾時可經程式化以 在广時間’使得若在典型時間量令停用中斷則處理 p在逾時發生之前啟用中斷並接受中斷。若處理器在一 160358.doc 201229911 低電力狀態中,則在使處理器離開低電力狀態的同時特定 時間量:流逝(例如’ 60微秒)。逾時可經程式化以略長於 量由使得處理器可在逾時發生之前到達完全開啟狀 態並接受中斷。 =^例令,可支援多個逾時值且其可經程式化於逾 =存盗58中。每一逾時值可對應於一處理器狀態及相關 葬之中斷接收延時。回應於選擇一處理器以將中斷提供至 八—中斷控制a 5G可㈣應於該處理器之狀態的逾時初始 =一逾時計數器。在另-實施例中,逾時值不但可視選定 ;理器之當前狀態而定,而且若當前選擇之處理器逾時則 了視可旎被選擇的下一處理器之當前狀態而定。若一中 斷被提供至一處理且方兮考 “ 处益且在該處理15執行中斷應答之前逾時 』滿,則該處理器可被視為無回應且該處理器之無回應性 可影響隨後的中斷投送操作。 心 除針對每-處理H量測之逾時值(例如,自IRQ確證 日由中斷曰應答之中斷接受)外,亦可針對每一中斷量測逾 斷逾自投送一中斷至給定處理器至飼服該中斷的中 W㉙似於上文論述之針對處理器的逾時之期滿,中 7料之期滿可導致中斷被重新評估及中斷被提供至不同 =。在—實施例中,中斷逾時可不會使處理器被視為 …回應,且因此可不影響隨後中斷投送操作。 一在-實施例中,中斷控制器50可回應於來自一處理写之 -中斷應答而不可部分完成地遮罩一傳遞至處理哭的中 斷°中斷㈣H50可包括遮罩暫存器56 ’其可包括針對由 160358.doc -12- 201229911 中斷控制器50支援之每-中斷的遮罩位元。中斷控制器% 可將遮罩位元設定為-遮罩狀態以遮罩中斷。遮罩位元亦 可經設定為一未遮罩狀態以不遮罩中斷。在一實施例中, 遮草狀態為設定狀態且未遮罩狀態為清除狀態,儘管相反 狀態指派可用於其他實施例辛。 為了不可部分完成地遮罩-中斷,中斷之遮罩生效,使 得即使儘快地接收一隨後中斷應答仍將
中斷應答而提供中斷。舉例而言,若在中斷議= 在管線化’則可在隨後中斷應答可存取中斷狀態之前始络 -直管線化遮罩之效應。在一實施例中’中斷控制器料 序列化中斷應答,從而防止一中斷應答偵測到一待由先前 中斷應答遮罩的中斷。注意,可獨立於上文論述的處理器 狀態感知中斷投送而實施中斷之不可部分完成遮罩,且亦 可在單-處理器實施例中實施中斷之不可部分完成遮罩。 如上文所提及,可藉由在系統5中(例如,在處理器6〇A 至6〇B上)執行之軟體而程式化離線狀態以指示特定處理器 不可用於中斷。相對比而言,一在低電力狀態中之處理器 可在接受中斷時經歷較長延時,但該低電力狀態處理器仍 可用於中斷。在一實施例中’中斷控制器50不提供中斷至 離線的處理器。可存在導致軟體藉由使一給定處理器離線 而防止將中斷投送至該給定處理器的多種原因。舉例而 言’處理器可正執行一重要程式碼序列’且自簡單觀點或 安全觀點來看可需要防止中斷。舉例而言’程式碼序列可 為啟動程式碼序列。可視為重要的其他程式碼序列為存取 160358.doc 13 201229911 敏感記憶體位置(諸如,儲存秘密之位置)的程式碼序列。 其他貫例可為與電力有關的。亦即,若處理器離線則總體 上系統可更具電力效率。在系統之熱包絡中可不存在足夠 餘地以使處理器在線上。亦即,若處理器在線上則溫度 可增加太多。 如上文所論述,中斷控制器50可經組態以提供一中斷至 處理器。在所說明之實施例中,IRQ信號可經確證以提供 -中斷。其他實施例可傳達一中斷訊息至處理器,該處理 器可擷取並應答該訊息。處理器可以任一所要方式回應於 該提供。舉例而t,可傳輸上文論述之中斷應答(lAck)。 處理器正接受由中斷控制器提供之_中斷的任—肯定確認 可構成-回應。另外其他實施例可明確地接受或拒絕一提 供之中斷。 周邊器件64A至64B可包括包括於系統5中之任何所要輸 入/輸出器件或其他硬體器件。舉例而言,周邊設備64A至 64B可包括諸如-或多個網路連接媒體存取控制器 (mac)(諸如,乙太網路MAC或無線保真叫控制器)之 、.周路連接周邊設備。包括各種音訊處理器件之音訊單元可 包括於周邊設備64A至64B中。—或多個數位信號處理器 可包括於周邊設備64八细中。周邊設備“A至刚可包 括其他所要功能,諸如計時器、晶片上秘密記憶體、 加"擎等或其任-組合。周邊設備64A至64B可包括圖 形處理硬體、視訊處理硬體、視訊編碼器/解碼器及/或顯 示硬體。 160358.doc -14· 201229911 每一周邊器件64Α至64Β可傳達一或多個中斷至中斷控 制器50。在所說明之實施例中,每一周邊器件64α至64Β 可包括中斷枱號以用信號發送一中斷至中斷控制器5〇。 一些器件可包括多個中斷信號。其他器件可更進一步使用 一中斷訊息來傳送中斷及相關狀態(若存在)。 Ο
處理器60Α至60Β可實施任一指令集架構,且可經組態 以執行·》亥扣令集架構中界定的指令。處理器6〇α至可 使用任一微架構,包括純量、超純量、管線化、超管線 ‘…序按序、理論式、非理論式等或其組合。處理器 6〇Α至6〇Β可包括電路,且視情況可實施微編碼技術。處 里器60Α至60Β無需為對稱的。亦即,處理器6〇Α至6〇Β可 為不同的,可實施不同指令集,等。舉例而言,處理器 60Α至60Β可包括通用巾央處理單元(cpu)、專用處理器、 嵌入式處理器、數位信號處理器等。 除提供處理H狀態至中斷控制器5G及接收來自中斷控制 „5〇之IRQ外,處理器6〇A至6〇B亦可實施介面Μ以與中斷 控制崙50通仏。互連件62可在處理器6〇a至與中斷控 制器50之間傳送暫存器存取操作(例如,讀取及寫入)。此 a喿作可包括位址,其可由中斷控制器50解碼以識別正 被#取/寫人之暫存器。位址可為處理器的A至細之記憶 體位址空間之-部分(亦即,暫存器可為記憶體映射式)。 或者位址可為組態空@、1/〇空間或任一其他位址空間 之一部分。 暫存器存取操作 中之一者可為對IAck暫存器之讀取操 160358.doc -15· 201229911 作。IAck暫存器讀取可為上文論述之中斷應答,且回應於 IAck暫存器讀取而傳回的資料可為對應於正被傳遞至=理 器之中斷的中斷向量。其他暫存器存取操作可為離線暫存 器54及逾時暫存器58之讀取或寫入。可使用兩個暫存器寫 入操作來更新遮罩暫存器56。至一設定遮罩暫存器之寫1 可設定遮罩暫存器中之一或多個遮罩位元(例如,將所: 別之遮罩位元置於遮罩狀態巾)。至—清除遮罩暫存器之 寫入可清除一或多個遮罩位元(例如,將所識別之遮罩位 元置於未遮罩狀態中卜設定遮罩暫存器及清除遮軍暫存 器可具有可由中斷控制器50解碼以設定或清除遮罩暫存器 中之位元的不同位址。亦即,設定遮罩暫存器及清除遮罩 暫存器可實體上^存在’但#代地可指定在遮罩暫存器上 發生之操作。類似地,IAck暫存器可實體上不存在,但可 導致將中斷向量傳遞至讀取暫存器之處理器。其他暫存器 存取操作可讀取/寫人中斷控制器5〇中之其他暫存器⑽U 未展示)。 介面62可具有任一組態。舉例而言,介面以可為一亦用 以自處理器60A至細傳輸記憶體操作及其他類型操作的 通用介面(例如’匯流排、點對點互連件等)。介面62可通 過處理H60A至刪與中斷控制器5〇之間的_或多個直他 早舉例而言’在圖10中所示之實施例中,彳面可通過 橋接器/DMA單元。 如上文所提及,處理請人至_可在各種電力狀態 中。在完全開啟狀態中’處理器可預備執行指令且可接受 160358.doc 201229911 中斷。完全開啟狀態可包括可藉以支援操作的多個電壓/ 頻率對(例如,視工作負荷、可用電力等而定)。亦可存在 -或多個低電力狀態。在一低電力狀態中,處理器6〇a至 60B可為閒置(未執行指令)且可需要一時間週期來轉變至 - $全開啟狀態。該用以轉變之時間週期可視特定低電力狀 態而定。舉例而言,處理器可經時脈閘控,其令時脈未在 處理器中雙態切換。可需要幾個循環來重新啟動時脈並預 備處理器以進行執行。在另—低電力狀態中,至處理器中 ° <邏輯電路的電力可經㈣,但諸如處理器中之快取記憶 體的記憶體陣列仍可被供電。自此電力間控狀態返回至完 全開啟狀態可包括對邏輯電路供電及等待電力穩定。在又 -低電力狀態巾,至處理n邏輯電路及記憶體陣列之電力 可經閘控。自此電力閘控狀態返回 亦可包括初始化記憶體陣列。其他低電力狀態:、= 的在處理器中各種低電力狀態亦可稱為睡眠狀態。 $意’圖1中展示系統5中之與中斷處理有關的各種互連 件…:而可根據需要提供各種其他互連件。額外地,可 在系統5令提供各種其他組件(例如,記憶體控制器、#接 至記憶體控制器之記憶體等)。進一步注意圖1中所說明之 組件中的一或多者及/或其他組件可整合至單一積體電路 上作為系統早晶片。可存在任何數目之圖1中所示的各種 組件(例如,任何數目之處理器60A至60B、任何數目之周 邊設備64A至64B等)。 ° 現轉至圖2,展示說明用以投送一中斷至—處理器之中 160358.doc 201229911 斷控制器50之—實施例的操作的流程圖。雖然為易於理解 :特定次序展示區塊’但可使用其他次序。可在中斷控制 器50中之組合邏輯中並列執行區塊。區塊、區塊之組合及/ 或作為整體之流程圖可在多個時脈循環内經管線化。中斷 控制器50可經組態以實施圖2中所說明之操作。 使用對應於各種處理器60A至60B之處理器狀態,中斷 控制器50可經組態以識別處理器6〇A至6〇b中之哪一者符 合被提供中斷之條件(區塊7〇)。若處理器之處理器狀態(可 能與其他處理器之處理器狀態相比)指示提供一中斷至該 處理器係可接受的,則給定處理器可符合被提供該中斷之 條件。一些處理器可不合格。舉例而言,已經被提供中斷 且逾時的處理器可不符合中斷之條件。在除接受—中斷外 還實施一通信以拒絕一中斷的實施例中,已拒絕中斷之處 理器可不合格。離線之處理器可不合格。額外地,給定中 斷可經指定以將處理器60A至60B之子集作為目標(例如,
作為中斷訊息之一部分或經由與中斷相關聯之可程式化狀 態)。未作為目標之處理器可不合格U 中斷控制器5 0可經組態以選擇合格處理器中之一者(區 塊72),並提供中斷至選定之處理器(例如,確證至選定處 理器之IRQ)(區塊74)。中斷控制器50可經組態以可能基於 一些實施例中之選定處理器之處理器狀態而初始化用於選 定處理器之一逾時計數器(區塊76)。中斷控制器5〇可經組 態以判定中斷是否已被接受(決策區塊78)。舉例而言,中 斷控制器50可偵測來自處理器之中斷應答。若中斷被接受 160358.doc •18· 201229911 (決策區塊78,「是」分支),則中斷之投送可完成。若中 斷仍未被接受(決策區塊78,「否」分支)且用於中斷當前 被提供至的處理器之逾時未期滿(決策區塊8〇,「否」分 支),則中斷控制器50可繼續檢查逾時及中斷接受。若中 斷仍未被接受(決策區塊78,「否」分支)且偵測到_斷被 提供至的處理器之逾時(決策區塊8〇,「是」分支),則中 斷控制器50可認為處理器不符合中斷之條件(區塊82),且
可選擇另一合格處理器(區塊72)以向其提供中斷(區塊 74)。 接下來轉至圖3,展示說明回應於中斷應答(IAck)之中 斷控制器50之-實施例的操作之流程圖。雖然、為易於理解 而以敎次序展示區塊’但可使用其他次序。可在中斷控 制器财之組合邏輯巾朗執行區塊。區塊、區塊之組合 及/或作為整體之流程圖可在多個時脈循環内經管線化。 中斷控制器50可經組態以實施圖3中所說明之操作。 中斷控制H50可傳回識別投送至處理器之中斷的中斷向 )。若並行將一個以上t斷提供至處理器,則中 斷控制擇所提供+斷巾 /、 植田β1 者。舉例而言,可選 擇取低編號之中斷向量, ^ ^ 妾又最兩編號之中斷。在另 一 η例中,可選擇最雈 力 斷。在中斷間實施 例中,可選擇最高優先權 控制器50亦可…… 』隨機地選擇中斷。中斷 】J不可部分完成地遮罩由 (區塊86)。 (車由中斷向量識別之中斷 接下來轉至圖4,展 不5兄月猎由甲斷控制器50識別合格 160358.doc -19· 201229911 處理器之一實施例的流程圖(來自圖2之區塊70)。雖然為易 於理解而以特定次序展示區塊,但可使用其他次序。可在 中斷控制益50中之組合邏輯中並列執行區塊。區塊、區塊 之組合及/或作為整體之流程圖可在多個時脈循環内經管 線化。中斷控制器5〇可經組態以實施用於系統中之每一處 理器的圖4申所說明之操作。 、若處理器離線(如離線暫存器中所指示)或若中斷已經投 ”理器(決策區塊9〇’「是」分支,及決策區塊92, 疋」刀支),則中斷控制器可經組態以將處理器識別為 不合格(區塊94)。若為否,且處理器在睡眠狀態或其他低 電力狀態中(決策區塊96,「是」分支)’則中斷控制器50 可經組態以將處理器識別為合格且將處理器包括於合格群 3中(區塊%)。若處理器未離線,尚未被投送,且未在睡眠 狀態中(決策區塊9〇、92及96,「否」分支),且處理哭益 回應或在處理器中中斷被停用(決策區塊1〇〇, 「是」分 支),則中斷控制器50可經組態以將處理器識別為:格: 將處理器包括於合格群2中(區塊1〇2)。 如先前所提及,在一些實施例中,處理器6〇A至娜之 子集可經識別為給定中斷之目標。在此等實施例中,僅包 括於目標子集中之處理器可為合格處理器。未在目標子集 中之處理器可以類似於離線處理器之方式來對待,:為其 可未經選擇以被提供中斷。 — 在實施中斷之優先權的實施例中, ^ . ^ J在哉別合格處理 器時將優先權作為考慮因素。舉例 ° 右—處理器當前 160358.doc -20- 201229911 正處理-較高優先權中斷,則該處理器可被視為不符合中 斷之條件(或不及一些其他處理器合格正處理—較低優 先權中斷之處理器可被中斷以處理—較高優先權中斷:且 因此可認為符合較高優先權中斷之條件。 Ο Ο 針對此群預期最高延時。 合格處理器之分群可按用於提供中斷之次序或偏好Μ 定,其中群!最佳;群2次最佳;且群3在合格處理号中最又 不佳ϋ處理器不在低電力狀態中,回應於中斷,且不 使中斷停用,因而其可最可能以低延時接受一提供之中 斷。群2處理器亦不在低電力狀態中但可無回應或可” 使中斷停用。因此’平均而言,可預期比群!較高I: 時。群3處理器在低電力狀態十,且因此,平均而言,可 基於上述論述’圖5之流程圖可說明在中斷控制器5〇中 選擇-合格處理器(圖2中之區塊72)的一實施例。雖然為易 於理解而以特定次序展示區塊,但可使用其他次序。可在 中斷控制H5G中之組合邏輯中並列執行區塊。區塊、區塊 之組合及/或作為整體之流㈣可在多個時脈循環内” 線化。中斷控制器50可經組態以實施圖5中所說明 作。 锦 。若群1不為空(決策區塊106’「否」分支),則中斷控制 益50可經組態以自中選擇一處理器(區塊1〇8)。若群1為 工且群2不為空(決策區塊1〇6,「是」分支及決策區塊 , 否」分支),則中斷控制器50可經絚態以自群2中 選擇一處理(區塊112)。若群丨及2為空且群3不為空(決策 160358.doc •21- 201229911 區塊106及110,「是」分支及決策區塊114,「否」分 支),則中斷控制器50可經組態以自群3中選擇一處理器(區 塊116)0在一給定群中,可選擇任一合格處理器。舉例而 言,可選擇最低編號處理器,或可選擇最高編號處理器。 可隨機地選擇一處理器,或可選擇最近未選擇之處理器。 現轉至圖6,展示中斷控制器5〇之一實施例之方塊圖。 在圖6之實施例中,中斷控制器5〇包括一暫存器介面單元 120、一遮罩/軟體(sw)〇R單元122、一中斷路由器^斗及 諸如處理器排程器126八至U6B之多個處理器排程器。暫 存器介面單元120可耦接至1(:暫存器介面62,以及遮罩/軟 體0R單元122、中斷蹊由S 1?4 ® i目,浩、·口本π
元122亦可提供用於使在處理器上執行 以將遮罩應用於自中斷源 的中斷,從而提供經遮罩 施例中,遮罩/軟體OR單 執行之軟體引起中斷(如 160358.doc •22- 201229911 同相應源已確證中斷一樣)的—機制。軟體可在介面62上 傳輸暫存器存取操#以實現所要中_。遮罩/軟體〇R單元 122可將軟體中斷與自各別源接收之實際中斷進行邏輯或 (OR)運算以產生每—中斷,且可根據遮罩暫存器56遮罩經 ' €輯或t中斷以產纟遮罩之情。其他實施例可不實施軟 • 體〇R且可簡單地遮罩自中斷源接收的中斷以提供遮罩之 中斷至中斷路由器124。 中斷路由器124可接收遮罩之中斷,且可經組態以基於 〇 離線狀態、處理器狀態、逾時等來投送中斷至處理器。亦 即在貫施例中,中斷路由器124可實施圖2之流程圖。 中斷路由器可用信號發送給對應於中斷經投送至之處理器 的處理器排程器126A至126B。 母處理器排程器126A至126B可經組態以回應於接收 到來自中斷路由器124之中斷而確證至相應處理器6〇 a至 60BURQ信號。IRQ信號可為—般中斷請求信㉟。各種處 王里器實施亦可支援專用中斷或其他中斷。舉例而言,一些 U 實施例除IRQ外還可支援—低延時中斷。除圖6中所示之外 部器件中斷外,實施例還可支援各種計時器中斷。除外部 • 器件中斷外’處理器排程器㈣至⑽還可經組態以在 . 1叫信號上排程計時ϋ巾斷,及/或可在其他中斷上排程計 時器中斷且可排程其他類型之_斷。 暫存器介面單元12 G可經組態以解碼來自介面6 2之暫存 器存取操作,並與中斷控制器5〇之其他組件互動以完成暫 存器存取操作4於暫存器讀取操作,暫存器介面單元 160358.doc -23- 201229911 120可故組態以 曰f仔态磺取刼作之讀取資料傳回至 起始處理器。暫在哭入;„ _ 子态"面早兀120可經組態以解碼暫存器 存取操作之位址以判定 ° _ j疋丨皙存态正被存取。額外地,源 理盜可進_步識別哪—暫存器正被存取(例如,對於每 處理器之暫存器,諸如用於IAck命令之歸暫存器)。 ’展示對應於—中斷的遮罩/軟體OR單元U2 :一部分的一實施例之方塊圖。類似電路可經提供用於每 他中斷。圖7中所示之電路為說明單元122之操作的一 實施例j_可使用包括圖7中所示之電路之任何布爾均等 物的其他實施。圖7夕奋么丨—> 圖7之貝施例包括一遮罩觸發器130、或閘 132、軟體中斷觸發器m、或閘136及及閘138。 遮罩觸發器130可儲存用於中斷的遮罩位元(且因此連同 用於其他中斷之類似觸發器可為遮罩暫存器56之部分)。 在此實施财料位元可經設定㈣罩中斷並經清除以不 遮罩中斷。m罩觸發器⑽之反相輸出經提供至及 問138以遮罩由或閑136輸出之中斷(硬ϋ或軟體產生的)。 亦即,若遮罩位s經設^,則遮罩觸發器13Q之反相輸出 經清除且及閘138之輸出經清除。若遮罩位元被清除,則 遮罩觸發器130之反相輸出經設定且中斷作為遮罩之中斷 通過及問m。因此,在此實施例中,中斷為高態有效。 其他實施例可使用低態有效中斷且可使用反及閘。或問 136將外部中斷與軟體中斷觸發器134之輸出進行邏輯或^ 算。因此,若外部(硬體)中斷經確證或軟體已確證中斷, 則確證由或閘13 6輸出之中斷。 160358.doc -24- 201229911 可回應於使此中斷傳遞至應答處理器之IAck循環或回應 於經由一至設定遮罩暫存器(或閘132)之寫入設定遮罩的^ 體而於觸發器130中設定遮罩位元。由中斷控制器硬體^ 應於IAck循環自動地設定遮罩位元可實施遮罩位元之不可 部分完成設定。下一IAck循環因此可接收一不同中斷(因 為此中斷現在被遮罩),且因此多個處理器對讀取中斷之 競爭條件可被適當地處置。允許軟體亦設定遮罩位元可允
許軟體有效地停用-中斷。舉例而言,軟體亦可在词服中 斷後清除遮罩位元。 在所說明之實施例中,軟體可藉由執行一至一設定遮罩 暫存器之寫人操作而設定遮罩暫存器56中之料位元。寫 入資料中之設定位元可識別設定哪些遮罩位元。暫存器介 面單元120可解碼設定遮罩暫存器寫入,且可基於寫二^ 料來確證軟體設定遮罩信號。類似地,軟體可執行;_至: 清除遮罩暫存器之寫人操作,且寫人資料中之設定位元可 識別清除哪些遮罩位元。暫存器介面單以q可解竭清除 遮罩暫存寫入,且可某於宜入咨必十七^ 、 J|於寫入貧枓來確證軟體清除遮罩 〈5 0 以一類似方式,軟體可藉由一讯令击 糟宙δ又疋中斷暫存器寫入操作 來觸發一或多個中斷。寫入咨姐1^ β, 一 丁㈣馬入貝枓可識別設定哪些中斷位 元’且暫存器介面單元12〇可减蛾 J確δ丘相應軟體設定中斷作梦 以設定觸發器134。為了清i ^ 勹“除軟體產生之中斷,軟體
出一清除中斷暫存器寫入择作。宜 X 孫作寫入貧料可識別清除哪此 中斷位元(例如,藉由寫入資料中 貝丁寸丫隹相應位兀位置處的設 160358.doc -25· 201229911 定位元),且暫存器介面單元120可確證相應軟體清除中斷 信號。 觸發器13 0及134兩者經說明為具有設定及清除輸入。觸 發器可以任一所要方式來實施(例如,設定-重設(SR)觸發 器、具有用以基於設定或清除輸入來設定或清除觸發器之 邏輯的D觸發器等)。 圖8為用於中斷中之一者的中斷路由器124之一實施例的 方塊圖。可提供類似電路以用於每一其他中斷。在圖8之 實施例中,中斷路由器124可包括一路由選擇電路140、一 逾時控制單元142(其包括逾時暫存器58)及經路由之觸發器 144A至144B之一集合。對於每一處理器60A至60B,可存 在一經路由之觸發器144入至1448。 路由選擇電路140可接收離線狀態及處理器狀態以及來 自遮罩/軟體OR單元122的遮罩之中斷。路由選擇電路140 可實施圖2中所說明之操作以識別合格處理器(區塊70)並選 擇合格處理器(區塊72)。在一些實施例中,路由選擇電路 140可實施圖4及圖5中說明之實施例。路由選擇電路140可 輸出SetRoute信號(針對經組態以伺服中斷之每一處理器有 一個信號)。針對選定處理器之SetRoute信號可經確證,且 可撤銷嫁證其他SetRoute信號。每一 SetRoute信號可搞接 至各別觸發器144A至144B之設定輸入,其可分別為至處 理器排程器(PScheduler)126A至126B之輸出信號。 在此實施例中,中斷可保持投送至一給定處理器直至遮 罩之中斷被撤銷確證(「中斷撤銷確證」,耦接至每一觸 160358.doc -26- 201229911 發器⑽至购之清除輸入)。亦即,令斷被保持投送直 至其由一處理器接受為止。因此,即使中斷逾時且中斷經 投送至另-處理器,其亦保持投送至「逾時」處理器。以 此方式,若處理器逾時但隨後準備好回應於中斷,則至該 處理器之IRQ仍可在隨後時間被確證。其他實施例可在逾 時時或在中斷經提供至另一處理器的任何時間清除 狀態。 Ο Ο 逾時控制單元142可包括用以基於經m至暫存器58 中之逾時值來量測逾時的電路。亦即,逾時控制翠元可包 括用於處理器逾時之用以計數IRQ確證與接受(或逾時)之 間的時間及用以計數投送中斷至給定處理器與伺服中斷 (或中斷之逾時)之間的時間之計數器。若制到逾時,則 逾時控制軍元142可經組態以向路由選擇電路U0確證逾 n㈣擇電路14〇可重新評估中斷並選擇一處理器以 斷技送至其。逾時控制單元⑷可實施圖2之區塊76及 =所說明的操作(且路由選擇11〇可回應於逾時而實施區 二意’逾時控制單元142可每一中斷實施2個計數器,且 :存在一相當大數目之中斷。在一實施例中,計數器可由 =逾時共用以減少逾時計數器之硬體成本。圖9中展示 可疋成共用之實施例。在圖 '、 數哭甘α 在圖9之貫施例中,展示-自發計 / 入至計數器的時脈之每-時脈循環遞增 4數⑽〇可基於為計數器計時之時 之所要範圍而在各種實施例中實施任何數目之位元革及逾時 160358.doc •27- 201229911 計數器150之值元可輕接至多1器152及154。多工器152 係基於來自逾時暫存器58之處理器逾時而加以控制,且多 器154係基於來自逾時暫存器之中斷逾時而加以控 制。更特定言由多工器152及154選擇之位元可為預期 在所清求逾時週期内兩次改變狀態至邏輯一的位元。接著 刀別將選定之位元饋送至上升緣^貞測電路^ %及⑸,其產 生一滴答信號。每當選定位元自邏輯零改變至邏輯-時就 確證該滴答信號。 來自電路156之滴答信號可純至處理器逾時控制單元 142A。處理器逾時控制單μ42α可經組態以回應於來自 相應處理斋之IAck或回應於IRq被撤銷確證(或閉及多 工器164)而將—逾時計數H16G初始化為零。另外,選擇 多工器166之輸出。多I器166可經組態以除非確證滴答信 號確也用於處理器之IRQ,且逾時尚未被谓測到(及閉 168)(在該狀況下,選擇遞增值),否則選擇來自計數器⑽ 之當前值。因& ’ ^確證IRQ,則滴答信號之每—確證可 使逾時計數器160遞增,直至到達逾時。 比較器170麵接至計數器160之輸出,且可經組態以比較 計數器與3。若計數器為三,則可㈣到逾時。因為來自 計數器i50之計數器位元經選擇以在選定逾時週期内兩次 雙態切換為高’所以計數滴答信號之三個滴答可確保已超 過逾時。雖然在此狀況下逾時可能不完全準確,但在對於 每一逾時僅實施兩位元計數器⑽及共用自發計數器MO的 同時,準確度對中斷控制器5〇之用途而言可為足夠的。處 160358.doc *28- 201229911 理器逾時控制單元142A可用信號發送逾時,指示 回應。 中斷逾時控制單元142Β可類似於處理器逾時控制單元 142Α’使帛來自電路158之滴答信號。μ斷逾時控制單 元1㈣之狀況下’可自投送中斷至處理器到伺服該中斷 (例如,至遮罩之中斷撤銷確證)地量測逾時。可回應於中 斷之撤銷確證或投送中斷至任—處理器(或閘174)而經由多 工器176將計數器172初始化為零。隨後,可回應於一滴答
而、’’二由多工器178遞增計數器同時遮罩之中斷仍被確證(及 閘180)。可在比較器182偵測到計數器172已到達三時確證 逾時。 注意,雖然圖9中說明用於控制單元142八至1428(在此實 鉍例令,其兩者可為圖8中所示之逾時控制單元142之部 分)之特定邏輯電&,但其他實施例可使用# 一邏輯電 路特疋5之,可使用所說明電路之任何布爾均等物。額 外地’在其他實施例中可根據需要將更多計時器用以债測 各種其他逾時。 現轉至® 10’展示系統5之另—實施例的方塊圖。在圖 ⑺之實施例中,系統5包括一耦接至外部記憶體12八至uB 之積體電路(IC)1〇。在所說明之實施例中,積體電路腕 括中央處理器單元(CPU)區塊i 4,中央處理器翠元 區塊14包括—或多個處理器似以㈣快取記憶體Μ。 其他實施例可不包括L2快取記憶體18及/或可包括額外層 級之快取記憶體。額外地,涵蓋包括兩個以上處理器滅 160358.doc •29· 201229911 僅包括一個處理器16之實施例。積體電路ι〇進一步勺括一 或多個非即時(通τ)周邊設傷2。之集合及—或多:即時 ㈣周邊設備22之集合。在所說明之實施例中,即時周邊 設備包括一影像處理器24、一或多個顯示器管道(display P神6、-轉譯單元46及—埠仲裁器28。其他實施例可包 括較多或較少影像處理器24、較多或較少顯示器管道26及/ 或根據需要之任何額外即時周邊設備。影像處理器24可經 槁接以接收來自系統5中之一或多個相機的影像資料。類 似地,顯示器管道26可耦接至控制系統中之一或多個顯示 ϋ的―或多個顯示㈣未圖示影像處理器24可搞接 至轉譯單元46’其可被進一步麵接至蟑仲裁器28。埠仲裁 器28亦可㈣至顯示器管道26。在所說明之實施例中, CPU區塊14麵接至一橋接器/直接記憶體存取⑴财)控制器 3〇 ’橋接器/直接記憶體存取(DMA)控制器3〇可麵接至一或 ^個周邊器件32及/或—或多個周邊介面控制器34。橋接 器/DMA控制器30可包括一 1/〇處理器(I〇p口84。周邊器件 32及周邊介面控制器34之數目可在各種實施例中自零變化 至任一所要數目。圖”所說明之系統5進一步包括一圖形 早兀36,其包括諸如G〇 38八及〇1 38b之一或多個圖形控 制器每-® $單兀之圖形控制器的數目及圖形單元的數 目在其他貝她例中可不@。如圖i中所說明’系統5包括一 耦接至或多個記憶體實體介面電路(PHY)42A至42B之記 U體控制器40。§己憶體實體介面電路42A至42B經組態以 在積體电路1〇之接針上與記憶體i2A至i2B通信。記憶體 160358.doc -30- 201229911 控制器40亦包括埠44A至44E之集合。埠44A至44B分別耦 接至圖形控制器38A至38B。CPU區塊14耦接至埠44Co非 P時周邊叹備20及即時周邊設備22分別耦接至埠44d至 44E。包括於記憶體控制器4〇中之埠的數目在其他實施例 - 中可不同,記憶體控制器之數目在其他實施例中也可不 • 同。記憶體實體介面電路42A至42B及相應記憶體12A至 12B之數目在其他實施例中可為一或二個以上。中斷控制 器50及電力管理器52亦在圖1〇中加以說明(且可分別包括 〇 1線暫存器54,以及遮罩暫存器56及逾時暫存H 58,如圖 1中所示)。 在所說明之實施例中,中斷控制器5〇可接收來自周邊介 面控制器34 '周邊設備32、圖形單元38A至38B、即時周 邊設備22及非即時周邊設備2〇之中斷。因此,在此實施例 中,周邊介面控制器34、周邊設備32、圖形單元38八至 3 8B、即時周邊設備22及非即時周邊設備2〇可為圖上中之周 邊設備64入至64B的實例。在其他實施例中,來自上述之 集的中斷可由中斷控制器50接收。在所說明之實施例 中,處理器16中之任一者可伺服中斷且I〇p J 84可伺服中 - 斷。因此,在此實施例中,處理器16及IOP 184可為圖1中 之處理器60A至60B的實例。 額外地,在此實施例中,Ic暫存器介面62可經由cPU區 塊14自處理益16傳遞至橋接器/DMA控制器3 〇,接著傳遞 至中斷控制器50。更特定言之,橋接器/DMA控制器川可 包括一主控PIO操作之程式化I/0(PI〇)控制器。在此實施 160358.doc -31- 201229911 例中暫存器存取操作可為PI0操作。 在—實施例中H44A至44E可與特^類型之 相關聯。舉例而士,在一眚姑^办丨& 例而5在實知例中,訊務類型可包括即時 箱、非即時訊務及®形訊務。除上述訊務類型外,替代 ,述訊務類型’或除上述訊務類型之子集外,其他實施例 °括”他巩務類型。每一訊務類型可以不同方式特料备 (例如’依據要求及行為),且記憶體控制器可基於特u 不同方式處置訊務類型以提供較高效能。舉例而言,即時 訊務需要在特定時間量㈣服每—記憶體操作。若操作: 延時超過特定時間量,則錯誤操作可發生在即時周邊設備 ^ °舉例而言,影像資料可在影像處理器24中|失或顯示 器管道26耦接至的顯示器上之顯示影像可在視覺上失真。 舉例而言,即時訊務可特徵化為等時。另一方面,圖形訊 務可為相對高頻寬,但並非延時敏感的。諸如來自處理器 6之非即時δ孔務因效能原因而更加延時敏感但可經受得住 較回L時。亦即,大體可在不引起產生非即時訊務之器件 中之錯块操作的情況下以任一延時來伺服非即時訊務。類 似地,大體上可以任一延時來伺服較不延時敏感但較高頻 寬的圖形訊務。其他非即時訊務可包括音訊訊務,其為相 對低頻寬的且大體上可以合理延時來伺服。多數周邊設備 Λ務亦可為非即時(例如’至諸如磁性、光學、或固態儲 存器之儲存器件之訊務)。藉由提供與不同訊務類型相關 聯之埠44Α至44Ε ’記憶體控制器40可並列地暴露於不同 訊務類型。 160358.doc 32· 201229911 如上文所提及,即時周邊設備22可包括影像處理器24及 顯示器管道26。顯示器管道26可包括用以提取一或多個影 像圖框並掺合該等圖框以產生一顯示影像的電路。顯示器 管道26可進一步包括一或多個視訊管線,且可將視訊圖框 與(相對)靜態影像圖框摻合以產生用於以視訊圖框速率顯 示的圖框。顯示器管道26之結果可為待顯示於顯示幕上的 像素串流。像素值可經傳輸至一顯示控制器以用於在顯示 幕上顯示。影像處理器24可接收相機資料並將該資料處理 〇 成一待儲存於記憶體中之影像。 返回至§己憶體控制器40,一埠大體上可為記憶體控制器 40上之與一或多個源通信的通信點。在一些狀況下,蟑可 專用於一源(例如,槔44A至44B可分別專用於圖形控制器 38A至38B)。在其他狀況下,埠可在多個源之間被共用(例 如,處理器16可共用CPU埠44C,非即時周邊設備2〇可共 用非即%埠44D,且諸如顯示器管道26及影像處理器^斗之 即時周邊設備22可共用即時埠44E^ 一埠可耦接至單一介 面以與一或多個源通信。因此,當源共用—介面時,可在 ’丨面之源側存在一仲裁||以在該等源之間選擇。舉例而 言,對於至記憶體控制器40之CPU埠44C,L2快取記憶體 18可充當-仲裁器。對於即時痒桃,蟑仲裁器μ可充當 _令裁器且對於非即時埠44D,一類似埠仲裁器(未圖 示)可為一仲裁器。槔上之單一源或埠上之源的組合可稱 :、: 每埠44八至44]5耦接至一介面以與其各別代理 通4。该介面可為任何類型之通信媒體⑽如,匯流排、 160358.doc •33- 201229911 點對點互連件等)且可實施任—協定。在一些實施例中, 埠44A至44E可全部實施相同介面及協定。在其他實施例 中,不同埠可實施不同介面及/或協定。在另外其他實施 例中,記憶體控制器40可具有單—埠。 在一實施例中,每一源可指派一服務品質(Q〇s)參數至 由該源傳輸的每一記憶體操作。Q〇s參數可識別用於記憶 體插作之所請求服務層級。相對於請求較低服務層級之記 隐體操作,Q〇S參數值請求較高服務層級之記憶體操作可 被賦予更多偏好。每一記憶體操作可包括一流程 ID(FID)。fid可將記憶體操作識別為記憶體操作之流的一 部分。記憶體操作之流大體上可係相關的,而來自不同流 (即使來自同—源)之記億體操作可係不相關的。FID之一 部分(例如,一源攔位)可識別源,且FID之剩餘部分可識 別流(例如,流欄位)。因此,FID可類似於異動⑴,且一 些源可簡單地將異動ID作為Fm來傳輸。在此狀況下,異 動ID之源攔位可為FID之源攔位且異動m之序號(在來自同 一源之異動中識別該異動)可為FID之流攔位。在一些實施 例中’不同訊務類型可具有不同Q〇s參數定義。亦即,不 同訊務類型可具有不同QoS參數集。 圮憶體控制器40可經組態以處理在每一埠44八至4牡上 接收之QoS參數並可使用相對Q〇s參數值來相對於來自該 槔之其他記憶體操作及相對於在其他埠上接收之其他記憶 體操作排程在埠上接收之記憶體操作。更特定言之,記憶 體控制器4G可經組態以比較自不同⑽參數集中提取的 160358.doc -34- 201229911 Q〇s參數(例如,即時Qos參數與非即時Q〇s參數)且可經組 態以基於該等q〇s參數進行轴程決策。 在一些實施例中,記憶體控制器40可經組態以升級Q〇s 層級以用於待決之記憶體操作。可支援各種升級機制。舉 例而言,記憶體控制器40可經組態以回應於接收到來自一 流之具有指定較高Q0S層級之Q〇s參數的另一記憶體操作 而升級用於同一流之待決記憶體操作的Q〇s層級。此Q〇s 升級之形式可稱為帶内升級,因為使用正常記憶體操作傳 〇 輸方法傳輸的Q 〇 s參數亦充當針對同一流中之記憶體操作 的隱含升級請求。記憶體控制器40可經組態以推送(push) 來自同一埠或源(但非同一流,因為新接收的記憶體操作 指定較高QoS層級)之未決記憶體操作。作為另一實例,記 憶體控制器40可經組態以耦接至來自一或多個代理之一邊 帶介面,且可回應於在邊帶介面上接收到一升級請求而升 級QoS層級。在另一實例中,記憶體控制器4〇可經組態以 追蹤未決S己憶體操作之相對存留期。記憶體控制器40可經 組態以升級在特定存留期的過時(aged)記憶體操作之Q〇s 層級。升級發生所在之存留期可視過時記憶體操作之當前 QoS參數而定。 處理器16可實施任一指令集架構,且可經組態以執行該 指令集架構中界定的指令。處理器16可使用任一微架構, 包括純量、超純量、管線化、超管線化、無序、按序、理 論式、非理論式等或其組合。處理器16可包括電路,且視 情況可貫施微編碼技術。處理器丨6可包括一或多個丨級快 160358.doc -35- 201229911 取記憶體,且因此快取記憶體18為[2快取記憶體。其他實 施例可在處理器16中包括多個層級之快取記憶體,且快取 記憶體可為沿階層架構向下的下一層級。快取記憶體18 可使用任何大小及任何組態(集合相關型、直接映射型, 等)。 圖形控制器38Α至38Β可為任—圖形處理電路。大體而 言,圖形控制器38Α至則可經組態以將待顯示之物件演 現圖框緩衝器中。圖形控制器38α至38β可包括 可執行圖形軟體以執行圖形操作之一部分或全部,及/或 可執行特定圖形操作之硬體加速的圖形處理器。硬體加速 及軟體實施之量可在實施例之間不同。 非即時周邊設備2G可包括任何非即時周邊設備,因效能 及/或頻寬原因,其被提供對記憶體12Α至ΐ2Β的獨立存 取。亦即,由非即時周邊設備2〇進行之存取獨立於cpu區 塊14 ’且可與CPU區塊記憶體操作並列進行。諸如周邊設 備32及/或麵接至由周邊介面控制器34控制的周邊介面之 周邊設備的其他周邊設備亦可為非即時周邊設備,但可不 要求對記憶體之獨立存取。非即時周邊設備2〇之各種實施 例可包括視訊編碼器及解碼器、按比例調整器/旋轉器電 路、影像壓縮/解壓縮電路等。 橋接器/dma_130可包含用以將周邊設備32及周邊 介面控制器34橋接至記憶體空間的電路。在所說明之實施 例中’橋接器/DMA控制器30可經由cpu區塊⑷字記情體 操作自周邊設備/周邊介面控制器橋接至記憶體控制器 160358.doc -36- 201229911 40。CPU區塊14亦可維持橋接之記憶體操作與來自處理器 16/L2快取記憶體18的記憶體操作之間的連貫性。η快取 記憶體18亦可仲裁橋接之記憶體操作與來自處理器16之記 憶體操作以在cpu介面上傳輸至cpu蜂44C。橋接器/dma 控制器3G亦可代表周邊設備32及周邊介面控制器提供 DMA操作以傳送資料區塊至記憶體及自記憶體傳送資料區 塊。更特定言之,DMA控制器可經組態以代表周邊設備32 及周邊介面控制器34執行經由記憶體控制器4〇的去往及來 〇 自記憶體12A至126的傳送。DMA控制器可由處理器16程 式化以執行DMA操作。舉例而言,DMA控制器可經由描 述符來程式化。描述符可為儲存於記憶體12八至ΐ2β中之 描述DMA傳送的資料結構(例如,源及目的地位址、大小 等)。或者,可經由DMA控制器令之暫存器(未圖示)來程 式化DMA控制器。 周邊設備32可包括任何所要輸入/輸出器件4包括於積 ϋ電路H)上之其他硬體器件。舉例而言,周邊設備Μ可包 ◎ 括諸如一或多個網路連接媒體存取控制器(MAC)(諸如,乙 太網路MAC或無線保真(WiFi)控制器)之網路連接周邊設 備。包括各種音訊處理器件之音訊單元可包括於周邊設備 32中。—或多個數位信號處理器可包括於周邊設備32中。 周邊設備32可包括任一其他所要功能’諸如計時器、晶片 上秘密記憶體、加密引擎等或其任一組合。 周邊介面控制器34可包括用於任何類型周邊介面之任何 控制器。舉例而言,周邊介面控制器可包括各種介面控制 160358.doc -37- 201229911 器,諸如,通用串列匯流排(USB)控制器、快速周邊組件 互連(PCIe)控制器、快閃記憶體介面、通用輸入/輸出(I/O) 接針等。 記憶體12A至12B可為任何類型之記憶體,諸如,動態 隨機存取記憶體(DRAM)、同步DRAM(SDRAM)、雙資料 速率(DDR、DDR2、DDR3 等)SDRAM(包括 SDRAM之行動 版本(諸如mDDR3等)及/或SDRAM之低電力版本(諸如 LPDDR2 等))、RAMBUS DRAM(RDRAM)、靜態 RAM(SRAM) 等。一或多個記憶體器件可耦接於電路板上以形成記憶體 模組(諸如,單排直插記憶體模組(SIMM)、雙排直插記憶 體模組(DIMM)等)。或者,器件可以晶片上晶片(chip-〇n-chip)組態、封裝上封裝(package-on-package)組態或多晶片 模組組態與積體電路1 〇安裝在一起。 記憶體實體介面電路42 A至42B可處置至記憶體12 A至 12B之低層級實體介面。舉例而言,記憶體實體介面電路 42A至42B可負責信號之時序、至同步DRAM記憶體之適當 時脈等。在一實施例中,記憶體實體介面電路42A至42B 可經組態以鎖定至一在積體電路1 〇中供應的時脈且可經組 態以產生一由記憶體12使用之時脈。 注意其他實施例可包括組件之其他組合,包括圖1中所 示之組件及/或其他組件的子集或超集。雖然可能在圖i中 展示給定組件之一例項,但其他實施例可包括給定組件之 一或多個例項。類似地,在此[實施方式]全文中,即使僅 展示一個例項亦可包括給定組件之一或多個例項,及/或 160358.doc • 38 - 201229911 即使展示多個例項亦可使用僅包括一個例項之實施例。 接下來轉至圖u,展示系統35〇之_實施例的方塊圖。 在所說明之實施例中,έ 糸統50匕括耦接至外部記憶體 叫例如,圖〗0中之記憶體以至咖)之積體電路1〇之至少 一例項。積體電路Π)亦可為併人有圖】中所示之組件令之 -些或全部的積體電路。積體電路_接至—或多個周邊 設備354及外部記憶體12。亦提供—供應供應電壓至積體 Ο
電路1〇以及供應一或多個供應電遷至記憶體12及/或周邊 設備354的電源供應器356。在-些實施例令,可包括積體 電㈣之-個以上例項(且亦可包括一個以上外部記 12)。 周邊設備354可包括任-所要電路,此視系統35〇之類型 而定。舉例而言,在一實施例中,系統35〇可為一行動器 件(例如,個人數位助理(PDA)、智慧型電話等),且周邊 設備354可包括用於各種類型無線通信(諸如,你出、藍 芽、蜂巢式、全球定位系統,等)之器件。周邊設備354 = 可包括額外儲存器’包括RAM儲存器、固態儲存器或磁碟 儲存器。周邊設備354可包括使用者介面器件,諸如顯示 幕(包括觸控顯示幕或多點觸控顯示幕)、鍵盤或其他輪入 器件、麥克風、揚聲器等。在其他實施例中,系統35〇可 為任一類型之計算系統(例如,桌上型個人電腦、膝上型 電腦、工作站、迷你台式電腦等)。 一旦完全瞭解上述揭示内容’眾多變化及修改對於熟習 此項技術者將變得顯而易見。意欲將以下申請專利範圍解 160358.doc -39- 201229911 釋為包括所有此等變化及修改。 【圖式簡單說明】 圖1為種包括處理器、中斷控制器及發源中斷之各種 器件的系統之一實施例的方塊圖。 圖1為說明用以投送一中斷至一處理器的一中斷控制器 之—貫施例的操作之流程圖。 圖^為說明回應於來自一處理器之一中斷應答的一中斷 控制器之一實施例之操作的流程圖。 θ為說月用以識別用於—中斷之合格處理器的一中斷 控制器之一實施例之操作的流程圖。 圖5為說明用以選擇一合格處理器之中斷控制器的一實 施例之操作的流程圖。 為巾斷控制器t 一實施例的較詳細方塊圖。 圖7為圖6中所示之遮罩/軟體〇11電路之一實施例的方塊 圖0 圖 為圖6中所不之中斷路由器電路之一實施例的方塊 〇 •為呪明圖6中所示之中斷控制器中的逾時之一實施例 的方塊圖。 :10為包括中斷控制器之系統之另一實施例的方塊圖。 11為系統之又—實施例的方塊圖。 【主要元件符號說明】 5 系統 10 積體電路(1C) 160358.doc •40· 201229911 12 外部記憶體 12A 記憶體 12B 記憶體 14 中央處理器單元(CPU)區塊 16 處理器 18 2級(L2)快取記憶體 20 非即時(NRT)周邊設備 22 即時(RT)周邊設備 Ο 24 影像處理器 26 顯示器管道 28 埠仲裁器 30 橋接器/直接記憶體存取(DMA)控制器 32 周邊器件 34 周邊介面控制器 36 圖形單元 38Α G0/圖形單元 Ο 38Β G1/圖形單元 40 記憶體控制器 - 42Α 記憶體實體介面電路(PHY) 42Β 記憶體實體介面電路(PHY) 44Α 埠 44Β 埠 44C 埠 44D 埠 160358.doc -41 - 201229911 44E 46 50 52 54 56 58 60A 60B 62 64A 64B 120 122 124 126A 126B 130 132 134 136 138 140 142 埠 轉譯單元 中斷控制器 電力管理器 離線暫存器 遮罩暫存器 逾時暫存器 處理器 處理器 中斷控制器暫存器介面 周邊設備/周邊器件 周邊設備/周邊器件 暫存器介面單元 遮罩/軟體(SW)OR單元 中斷路由器 處理器排程器 處理器排程器 遮罩觸發器 或閘 軟體中斷觸發器 或閘 及閘 路由選擇電路 逾時控制單元 160358.doc -42- 201229911 142A 處理器逾時控制單元 142B 中斷逾時控制單元 144A 經路由之觸發器 144B 經路由之觸發器 150 自發計數器/計數器 152 多工器 154 多工器 156 上升緣偵測電路
15 8 上升緣偵測電路 160 逾時計數器 162 或閘 164 多工器 166 多工器 168 及閘 170 比較器 172 計數器 174 或閘 176 多工器 178 多工器 180 及閘 182 比較器 184 I/O處理器(IOP) 350 系統 354 周邊設備 356 電源供應器 160358.doc -43-
Claims (1)
1 201229911 七、申請專利範圍: 1 · 一種中斷控制器,其包含·· 電路,其經輕接以接收來自一系統中之一或多個器件 的中斷;及 中斷路由器,其耦接至該電路並經組態以自該系統 . 中之複數個處理器中選擇一處理器以用於一第一接收之 中斷且其中s亥中斷路由器經組態以用信號發送—中斷 該選定之處理器,其中該中斷路由器經組態以監視該 Ο 複數個處理器之一狀態並回應於該狀態而選擇該選定之 處理器。 2·如請求項1之中斷控制器,其中該中斷路由器經進一步 組態以回應於用信號發送該中斷至該選定處理器而初始 化-逾時計數器,且其中該巾斷路由器經組態以在沒有 來自4選定處理器之一回應的情況下回應於偵測到該逾 時计數益之期滿而選擇另一處理器以用於該中斷。 3.如請求項2之中斷控制器,其中該回應為一中斷應答回 〇 應。 4,如請求項3之中斷控制器,其進一步包含經組態以用識 • 別孩第中斷之一中斷向量來回應於該中斷應答回應的 電路。 5·如凊求項4之中斷控制器,其中該中斷應答為經界定用 於°亥中斷控制器之一中斷應答暫存器之一讀取,且其中 «玄”’呈組態以回應於該中斷應答的電路為經耦接以接收暫 存时存取操作之一暫存器介面單元,且其中回應於該讀 160358.doc 201229911 取而傳回的資料包括該中斷向量。 6.如請求項丨之中斷控制器,其中該處理器狀態包括該處 理器是否在一睡眠狀態中。 7·如請求項丨之中斷控制器,其中該處理器狀態包括在該 處理器中是否啟用中斷。 8. 如#求項丨之中斷控制器,其中該處理器狀態包括由軟 體程式化之一離線狀態。 9. 如明求項丨之中斷控制器,其中該處理器狀態包括正在 該處理器上執行的-虛擬化客體作業系統之一指示。 10. —種系統,其包含: 複數個器件; 複數個處理器;及 中斷控制器,其耦接至該複數個器件及該複數個處 理器,其中該中斷控制器經组態以自該複數個處理器中 選擇—處理器以用於自該複數個器件中之一者接收的一 第中斷’且其中該中斷控制器經組態以用信號發送該 第=中斷至該選定之處理器,其中該中斷控制器經組態 、視°亥複數個處理器之一狀態並回應於該狀態而選擇 該選定之處理器。 11 ·如吻求項1G之系統,其中該中斷控制器經進—步組態以 D應於接收4第—中斷而初始化對應於該第—中斷之一 第-迎時H·數器’且其中該中斷控制器經組態以在該中 斷未由違獲數個處理器中之—者應答的情況下回應於備 貝J到^第—迎時計數器之期滿而投送該中斷至該第二處 160358.doc 201229911 12. 如請求項1〇之系統,其中該中斷控制器經組態以回廣於 偵測到該逾時計數器之期滿而指示該第_處理器對中斷 無回應’且其中該中斷控制器經組態以若該第一處理器 為無回應則取消該第-處理器作為t斷之—潛在目標的 13. —種方法,其包含: -中斷控制器接收來自包括該中斷 〇 之-器件的一中斷; 統中 該中斷控制器監視該複數個處理器之一狀態; -亥中斷控制器自该系統中之複數個處理器中選擇—處 理益’其中該選擇至少部分地回應於該複數個處理器之 該狀態;及 投送該中斷至該選定之處理器。 1 4 .如g月求項1 3之方法,Φ ^ -V -ηα ,、甲該選疋之處理器之狀態包括使 中斷啟用。
15.如請求項13之方法,其中該複數個處理器中之一第—處 理器係在—低電力狀態中且該選定之處理器不在該低電 力狀態中。 _ 16. 如β求項13之方法’其中該選定之處理器係在—低電力 狀態中,且該選擇包含即使該第—處理器在該低電力狀 態中仍選擇該選定之處理器。 17. 如請求項丨3之方法,其進一步包含: 在未自該選定處理器接收-中斷應答的情況下偵測針 160358.doc 201229911 對該選定之處理器的一逾時; 回應於該逾時而指示該選定之處理器不合格; 選擇該複數個處理器中之一不同處理器;及 提供該中斷至該不同處理器。 160358.doc
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/962,146 US8959270B2 (en) | 2010-12-07 | 2010-12-07 | Interrupt distribution scheme |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201229911A true TW201229911A (en) | 2012-07-16 |
TWI447650B TWI447650B (zh) | 2014-08-01 |
Family
ID=45421878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100144040A TWI447650B (zh) | 2010-12-07 | 2011-11-30 | 中斷分佈方案 |
Country Status (10)
Country | Link |
---|---|
US (2) | US8959270B2 (zh) |
EP (1) | EP2463781B1 (zh) |
JP (2) | JP5923838B2 (zh) |
KR (1) | KR101320791B1 (zh) |
CN (1) | CN102567109B (zh) |
AU (1) | AU2011338863B2 (zh) |
BR (1) | BR112013013300B1 (zh) |
HK (1) | HK1171104A1 (zh) |
TW (1) | TWI447650B (zh) |
WO (1) | WO2012078334A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI621946B (zh) * | 2017-06-28 | 2018-04-21 | 緯創資通股份有限公司 | 排程方法、PCIe控制器及其相關電子系統 |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8909836B2 (en) * | 2012-10-08 | 2014-12-09 | Andes Technology Corporation | Interrupt controller, apparatus including interrupt controller, and corresponding methods for processing interrupt request event(s) in system including processor(s) |
JP2014106755A (ja) * | 2012-11-28 | 2014-06-09 | Fujitsu Mobile Communications Ltd | 情報処理装置及び制御方法 |
US9678564B2 (en) * | 2012-12-21 | 2017-06-13 | Nxp B.V. | Multiprocessor system with interrupt distributor |
US10534421B2 (en) | 2013-06-13 | 2020-01-14 | Microsoft Technology Licensing, Llc | Virtual per-processor timers for multiprocessor systems |
US9524195B2 (en) | 2014-02-27 | 2016-12-20 | International Business Machines Corporation | Adaptive process for data sharing with selection of lock elision and locking |
US9311178B2 (en) | 2014-02-27 | 2016-04-12 | International Business Machines Corporation | Salvaging hardware transactions with instructions |
US20150242216A1 (en) | 2014-02-27 | 2015-08-27 | International Business Machines Corporation | Committing hardware transactions that are about to run out of resource |
US9442775B2 (en) | 2014-02-27 | 2016-09-13 | International Business Machines Corporation | Salvaging hardware transactions with instructions to transfer transaction execution control |
US9361041B2 (en) | 2014-02-27 | 2016-06-07 | International Business Machines Corporation | Hint instruction for managing transactional aborts in transactional memory computing environments |
US9262206B2 (en) | 2014-02-27 | 2016-02-16 | International Business Machines Corporation | Using the transaction-begin instruction to manage transactional aborts in transactional memory computing environments |
US9329946B2 (en) | 2014-02-27 | 2016-05-03 | International Business Machines Corporation | Salvaging hardware transactions |
US9465673B2 (en) | 2014-02-27 | 2016-10-11 | International Business Machines Corporation | Deferral instruction for managing transactional aborts in transactional memory computing environments to complete transaction by deferring disruptive events handling |
US9471371B2 (en) | 2014-02-27 | 2016-10-18 | International Business Machines Corporation | Dynamic prediction of concurrent hardware transactions resource requirements and allocation |
US9336097B2 (en) | 2014-02-27 | 2016-05-10 | International Business Machines Corporation | Salvaging hardware transactions |
US9645879B2 (en) | 2014-02-27 | 2017-05-09 | International Business Machines Corporation | Salvaging hardware transactions with instructions |
US9424072B2 (en) | 2014-02-27 | 2016-08-23 | International Business Machines Corporation | Alerting hardware transactions that are about to run out of space |
US9411729B2 (en) | 2014-02-27 | 2016-08-09 | International Business Machines Corporation | Salvaging lock elision transactions |
US9442853B2 (en) | 2014-02-27 | 2016-09-13 | International Business Machines Corporation | Salvaging lock elision transactions with instructions to change execution type |
US9575890B2 (en) | 2014-02-27 | 2017-02-21 | International Business Machines Corporation | Supporting atomic accumulation with an addressable accumulator |
US9430273B2 (en) | 2014-02-27 | 2016-08-30 | International Business Machines Corporation | Suppressing aborting a transaction beyond a threshold execution duration based on the predicted duration |
US9524187B2 (en) | 2014-03-02 | 2016-12-20 | International Business Machines Corporation | Executing instruction with threshold indicating nearing of completion of transaction |
KR102187912B1 (ko) * | 2014-09-26 | 2020-12-07 | 인텔 코포레이션 | 인터럽트들의 세트들을 구성하는 장치 및 방법 |
KR20160061726A (ko) * | 2014-11-24 | 2016-06-01 | 삼성전자주식회사 | 인터럽트 핸들링 방법 |
US10203955B2 (en) * | 2014-12-31 | 2019-02-12 | Intel Corporation | Methods, apparatus, instructions and logic to provide vector packed tuple cross-comparison functionality |
CN104572282A (zh) * | 2015-01-05 | 2015-04-29 | 浪潮电子信息产业股份有限公司 | 一种将sas控制器中断绑定到cpu的自动化方法 |
US10585826B2 (en) * | 2016-01-25 | 2020-03-10 | Advanced Micro Devices, Inc. | Using processor types for processing interrupts in a computing device |
US10802998B2 (en) * | 2016-03-29 | 2020-10-13 | Intel Corporation | Technologies for processor core soft-offlining |
US11392438B2 (en) * | 2017-02-09 | 2022-07-19 | Arm Limited | Responding to unresponsive processing circuitry |
CN109144680A (zh) | 2017-06-27 | 2019-01-04 | 阿里巴巴集团控股有限公司 | 一种时钟滴答中断设置方法及装置 |
US10747298B2 (en) * | 2017-11-29 | 2020-08-18 | Advanced Micro Devices, Inc. | Dynamic interrupt rate control in computing system |
US11144481B2 (en) * | 2018-04-11 | 2021-10-12 | Apple Inc. | Techniques for dynamically adjusting the manner in which I/O requests are transmitted between a computing device and a storage device |
US11113216B2 (en) * | 2019-03-20 | 2021-09-07 | Mediatek Inc. | Dispatching interrupts in a multi-processor system based on power and performance factors |
US11307791B2 (en) * | 2019-05-24 | 2022-04-19 | Texas Instruments Incorporated | Quick clearing of registers |
US20210107512A1 (en) * | 2020-03-27 | 2021-04-15 | Intel Corporation | Computing system for mitigating execution drift |
CN111786546B (zh) * | 2020-07-20 | 2021-10-15 | 中车青岛四方车辆研究所有限公司 | 功率模块驱动系统及控制方法 |
US11630789B2 (en) * | 2020-09-11 | 2023-04-18 | Apple Inc. | Scalable interrupts |
EP4184712A4 (en) | 2020-09-15 | 2024-01-10 | Samsung Electronics Co., Ltd. | ELECTRONIC DEVICE HAVING AN ANTENNA STRUCTURE |
KR102549360B1 (ko) | 2020-12-14 | 2023-06-28 | 재단법인대구경북과학기술원 | 인터럽트 제어 장치 및 방법 |
US11675718B2 (en) * | 2021-03-26 | 2023-06-13 | Advanced Micro Devices, Inc. | Enhanced low-priority arbitration |
KR20220161878A (ko) * | 2021-05-31 | 2022-12-07 | 삼성전자주식회사 | 전자 장치 및 전자 장치의 센서 데이터 처리 방법 |
EP4290378A4 (en) * | 2021-05-31 | 2024-03-06 | Samsung Electronics Co., Ltd. | ELECTRONIC DEVICE AND METHOD FOR PROCESSING SENSOR DATA OF THE ELECTRONIC DEVICE |
US11934313B2 (en) | 2021-08-23 | 2024-03-19 | Apple Inc. | Scalable system on a chip |
US20230342158A1 (en) * | 2022-04-21 | 2023-10-26 | Microchip Technology Incorporated | Atomic Instruction Set and Architecture with Bus Arbitration Locking |
CN117472637B (zh) * | 2023-12-27 | 2024-02-23 | 苏州元脑智能科技有限公司 | 一种中断管理方法、系统、设备及介质 |
Family Cites Families (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3623014A (en) * | 1969-08-25 | 1971-11-23 | Control Data Corp | Computer communications system |
US5517626A (en) | 1990-05-07 | 1996-05-14 | S3, Incorporated | Open high speed bus for microcomputer system |
US5870621A (en) | 1994-12-22 | 1999-02-09 | Texas Instruments Incorporated | Quadrilateral multichip computer systems and printed circuit boards therefor |
US5717903A (en) * | 1995-05-15 | 1998-02-10 | Compaq Computer Corporation | Method and appartus for emulating a peripheral device to allow device driver development before availability of the peripheral device |
JP3676882B2 (ja) | 1996-06-12 | 2005-07-27 | 株式会社リコー | マイクロプロセッサ及びその周辺装置 |
EP0827085B1 (en) * | 1996-08-20 | 2006-03-29 | Compaq Computer Corporation | Method and apparatus for distributing interrupts in a scalable symmetric multiprocessor system without changing the bus width or bus protocol |
US5918057A (en) | 1997-03-20 | 1999-06-29 | Industrial Technology Research Institute | Method and apparatus for dispatching multiple interrupt requests simultaneously |
JP3699806B2 (ja) | 1997-06-20 | 2005-09-28 | 株式会社東芝 | 割込みコントローラ及び制御システム |
US6170025B1 (en) * | 1997-08-29 | 2001-01-02 | Intel Corporation | Distributed computer system supporting remote interrupts and lock mechanism |
US6105102A (en) | 1998-10-16 | 2000-08-15 | Advanced Micro Devices, Inc. | Mechanism for minimizing overhead usage of a host system by polling for subsequent interrupts after service of a prior interrupt |
US6701429B1 (en) | 1998-12-03 | 2004-03-02 | Telefonaktiebolaget Lm Ericsson(Publ) | System and method of start-up in efficient way for multi-processor systems based on returned identification information read from pre-determined memory location |
US6418497B1 (en) * | 1998-12-21 | 2002-07-09 | International Business Machines Corporation | Method and system for interrupt handling using system pipelined packet transfers |
JP2000242616A (ja) * | 1999-02-19 | 2000-09-08 | Nec Eng Ltd | 障害処理装置,障害処理方法および記録媒体 |
US6772257B1 (en) | 1999-12-23 | 2004-08-03 | Intel Corporation | Method and apparatus for processing interrupts |
JP2001229147A (ja) * | 2000-02-17 | 2001-08-24 | Nec Shizuoka Ltd | Cpu間通信制御方法および携帯情報端末 |
US20020116563A1 (en) | 2000-12-12 | 2002-08-22 | Lever Paul D. | Apparatus and method to reduce interrupt latency in shared interrupt systems |
US6792492B1 (en) | 2001-04-11 | 2004-09-14 | Novell, Inc. | System and method of lowering overhead and latency needed to service operating system interrupts |
US6813665B2 (en) | 2001-09-21 | 2004-11-02 | Intel Corporation | Interrupt method, system and medium |
US20030065497A1 (en) * | 2001-09-28 | 2003-04-03 | Rhoads Monte J. | Power management system to select a power state for a network computer system based on load |
US7328294B2 (en) * | 2001-12-03 | 2008-02-05 | Sun Microsystems, Inc. | Methods and apparatus for distributing interrupts |
JP2003281112A (ja) | 2002-03-25 | 2003-10-03 | Fujitsu Ltd | マルチプロセッサシステム |
US20040117532A1 (en) | 2002-12-11 | 2004-06-17 | Bennett Steven M. | Mechanism for controlling external interrupts in a virtual machine system |
GB2396445B (en) | 2002-12-19 | 2005-12-21 | Advanced Risc Mach Ltd | An interrupt controller and interrupt controlling method for prioritizing interrupt requests generated by a plurality of interrupt sources |
US7191349B2 (en) * | 2002-12-26 | 2007-03-13 | Intel Corporation | Mechanism for processor power state aware distribution of lowest priority interrupt |
GB2403822B (en) * | 2003-07-07 | 2006-05-10 | Advanced Risc Mach Ltd | Data processing apparatus and method for handling interrupts |
US7222203B2 (en) | 2003-12-08 | 2007-05-22 | Intel Corporation | Interrupt redirection for virtual partitioning |
GB2409543B (en) | 2003-12-23 | 2006-11-01 | Advanced Risc Mach Ltd | Interrupt masking control |
US7353301B2 (en) | 2004-10-29 | 2008-04-01 | Intel Corporation | Methodology and apparatus for implementing write combining |
US7398343B1 (en) | 2006-01-03 | 2008-07-08 | Emc Corporation | Interrupt processing system |
JP4971676B2 (ja) | 2006-04-28 | 2012-07-11 | ルネサスエレクトロニクス株式会社 | 割り込み制御回路及び割り込み制御方法 |
JP2008015593A (ja) * | 2006-07-03 | 2008-01-24 | Hitachi Ltd | 中継装置、プログラム、中継方法及び通信システム |
US7721034B2 (en) | 2006-09-29 | 2010-05-18 | Dell Products L.P. | System and method for managing system management interrupts in a multiprocessor computer system |
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 |
US8661167B2 (en) * | 2007-09-17 | 2014-02-25 | Intel Corporation | DMA (direct memory access) coalescing |
US8453143B2 (en) * | 2007-09-19 | 2013-05-28 | Vmware, Inc. | Reducing the latency of virtual interrupt delivery in virtual machines |
US7962679B2 (en) | 2007-09-28 | 2011-06-14 | Intel Corporation | Interrupt balancing for multi-core and power |
US7730248B2 (en) | 2007-12-13 | 2010-06-01 | Texas Instruments Incorporated | Interrupt morphing and configuration, circuits, systems and processes |
US7962771B2 (en) | 2007-12-31 | 2011-06-14 | Intel Corporation | Method, system, and apparatus for rerouting interrupts in a multi-core processor |
JP2009193525A (ja) | 2008-02-18 | 2009-08-27 | Mitsubishi Electric Corp | 割込制御装置 |
US8190826B2 (en) | 2008-05-28 | 2012-05-29 | Advanced Micro Devices, Inc. | Write combining cache with pipelined synchronization |
JP2010055296A (ja) * | 2008-08-27 | 2010-03-11 | Fujitsu Ltd | 負荷分散プログラム及び負荷分散装置 |
EP2166457B1 (en) | 2008-09-12 | 2014-04-23 | TELEFONAKTIEBOLAGET LM ERICSSON (publ) | Interrupt controller and methods of operation |
US7849247B2 (en) | 2008-10-14 | 2010-12-07 | Freescale Semiconductor, Inc. | Interrupt controller for accelerated interrupt handling in a data processing system and method thereof |
US8015337B2 (en) | 2009-03-23 | 2011-09-06 | Arm Limited | Power efficient interrupt detection |
US7996595B2 (en) * | 2009-04-14 | 2011-08-09 | Lstar Technologies Llc | Interrupt arbitration for multiprocessors |
US8260996B2 (en) * | 2009-04-24 | 2012-09-04 | Empire Technology Development Llc | Interrupt optimization for multiprocessors |
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 |
-
2010
- 2010-12-07 US US12/962,146 patent/US8959270B2/en active Active
-
2011
- 2011-11-17 AU AU2011338863A patent/AU2011338863B2/en active Active
- 2011-11-17 BR BR112013013300-7A patent/BR112013013300B1/pt active IP Right Grant
- 2011-11-17 JP JP2013543183A patent/JP5923838B2/ja active Active
- 2011-11-17 WO PCT/US2011/061197 patent/WO2012078334A1/en active Application Filing
- 2011-11-30 TW TW100144040A patent/TWI447650B/zh active
- 2011-12-06 KR KR20110129511A patent/KR101320791B1/ko active IP Right Grant
- 2011-12-06 EP EP20110192107 patent/EP2463781B1/en active Active
- 2011-12-07 CN CN201110402634.6A patent/CN102567109B/zh active Active
-
2012
- 2012-11-22 HK HK12111935.1A patent/HK1171104A1/zh not_active IP Right Cessation
-
2015
- 2015-01-06 US US14/590,203 patent/US9262353B2/en active Active
- 2015-01-26 JP JP2015012014A patent/JP5963282B2/ja active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI621946B (zh) * | 2017-06-28 | 2018-04-21 | 緯創資通股份有限公司 | 排程方法、PCIe控制器及其相關電子系統 |
US10628358B2 (en) | 2017-06-28 | 2020-04-21 | Wiwynn Corporation | Scheduling method, PCIe switch and electronic system using the same |
Also Published As
Publication number | Publication date |
---|---|
CN102567109B (zh) | 2015-04-08 |
KR101320791B1 (ko) | 2013-10-23 |
WO2012078334A1 (en) | 2012-06-14 |
EP2463781A3 (en) | 2012-11-21 |
JP5923838B2 (ja) | 2016-05-25 |
AU2011338863B2 (en) | 2015-01-22 |
JP2013545205A (ja) | 2013-12-19 |
AU2011338863A1 (en) | 2013-05-09 |
BR112013013300B1 (pt) | 2021-01-05 |
KR20120063436A (ko) | 2012-06-15 |
CN102567109A (zh) | 2012-07-11 |
US20120144172A1 (en) | 2012-06-07 |
EP2463781A2 (en) | 2012-06-13 |
JP2015079542A (ja) | 2015-04-23 |
US8959270B2 (en) | 2015-02-17 |
JP5963282B2 (ja) | 2016-08-03 |
EP2463781B1 (en) | 2015-01-21 |
BR112013013300A2 (pt) | 2016-09-13 |
US20150113193A1 (en) | 2015-04-23 |
US9262353B2 (en) | 2016-02-16 |
TWI447650B (zh) | 2014-08-01 |
HK1171104A1 (zh) | 2013-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW201229911A (en) | Interrupt distribution scheme | |
US10942737B2 (en) | Method, device and system for control signalling in a data path module of a data stream processing engine | |
US9032128B2 (en) | Method and system for generating and delivering inter-processor interrupts in a multi-core processor and in certain shared memory multi-processor systems | |
JP6961686B2 (ja) | トリガ動作を用いたgpuリモート通信 | |
US9467511B2 (en) | Techniques for use of vendor defined messages to execute a command to access a storage device | |
US9405552B2 (en) | Method, device and system for controlling execution of an instruction sequence in a data stream accelerator | |
US20120144081A1 (en) | Automatic Interrupt Masking in an Interrupt Controller | |
JP6181844B2 (ja) | デュアルホスト組込み共有デバイスコントローラ | |
US9009377B2 (en) | Edge-triggered interrupt conversion in a system employing level-sensitive interrupts | |
US10540301B2 (en) | Virtual host controller for a data processing system | |
TW200915081A (en) | Mechanism for broadcasting system management interrupts to other processors in a computer system | |
US9684613B2 (en) | Methods and systems for reducing spurious interrupts in a data storage system | |
KR20170013882A (ko) | 플래시 메모리 기반 저장 디바이스의 멀티 호스트 전력 제어기(mhpc) | |
TW201030623A (en) | Providing multiple virtual device controllers by redirecting an interrupt from a physical device controller | |
US9152588B2 (en) | Race-free level-sensitive interrupt delivery using fabric delivered interrupts | |
US9830154B2 (en) | Method, apparatus and system for data stream processing with a programmable accelerator | |
JP2014081952A (ja) | ホストコントローラ |