TW201229911A - Interrupt distribution scheme - Google Patents

Interrupt distribution scheme Download PDF

Info

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
Application number
TW100144040A
Other languages
English (en)
Other versions
TWI447650B (zh
Inventor
Erik P Machnicki
Cesare Josh P De
Ruchi Wadhawan
Mark D Hayter
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of TW201229911A publication Critical patent/TW201229911A/zh
Application granted granted Critical
Publication of TWI447650B publication Critical patent/TWI447650B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/24Interrupt
    • G06F2213/2424Interrupt packet, e.g. event
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • 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
TW100144040A 2010-12-07 2011-11-30 中斷分佈方案 TWI447650B (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI621946B (zh) * 2017-06-28 2018-04-21 緯創資通股份有限公司 排程方法、PCIe控制器及其相關電子系統

Families Citing this family (44)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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) ホストコントローラ