專利名稱:中斷控制器的制作方法
技術(shù)領(lǐng)域:
本申請(qǐng)案涉及中斷控制器。 背景技水
中斷控制器用于微處理器和微控制器中以管理多個(gè)可能的中斷源和所謂的異常處 置。中斷通常導(dǎo)致程序的循序處理以及允許處理器對(duì)相應(yīng)中斷源作出反應(yīng)的中斷服務(wù)例 程(ISR)的執(zhí)行中的異常。然而,進(jìn)入和退出ISR花費(fèi)時(shí)間。ISR通常需要在執(zhí)行之 前和之后的某些"內(nèi)務(wù)清理(house cleaning)"程序,其有時(shí)稱為前同步碼和后同步碼。 ISR的此類前同步或后同步是不可中斷的。因此,頻繁但低優(yōu)先級(jí)的中斷可由于進(jìn)入和 退出其ISR碼而消耗大量處理器時(shí)間。
然而,如果存在經(jīng)循序處置的多個(gè)未決中斷,那么可在ISR中跳過(guò)某些步驟。 一些 系統(tǒng)使用如尾鏈(tail-chaining)等概念,且其它系統(tǒng)使用例如結(jié)合(coalescing)等概念。 尾鏈?zhǔn)强蓱?yīng)用于控制器和ISR級(jí)處的任何中斷系統(tǒng)的一般活動(dòng)。尾鏈通過(guò)當(dāng)鏈接到另一 ISR時(shí)跳過(guò)核心寄存器的恢復(fù)和保存而減少額外開銷。尾鏈辨識(shí)當(dāng)處于ISR的后同步中 時(shí)的未決中斷,從而允許當(dāng)前ISR跳過(guò)恢復(fù)一些狀態(tài)寄存器和所有推進(jìn)的通用寄存器 (GPR)。尾鏈還允許用于未決中斷的ISR跳過(guò)存儲(chǔ)GPR狀態(tài)。此外,其將緊接的中斷 處置減少至少2*所保存的GPR。
結(jié)合是應(yīng)用于中斷源以限制所產(chǎn)生的中斷數(shù)目的特定活動(dòng)。結(jié)合簡(jiǎn)單地是在向處理 器斷言實(shí)際中斷之前對(duì)請(qǐng)求的特定數(shù)目進(jìn)行計(jì)數(shù)。因此,結(jié)合將中斷事件的斷言延遲到 對(duì)于一個(gè)中斷源存在將服務(wù)的兩個(gè)或兩個(gè)以上中斷為止。
發(fā)明內(nèi)容
根據(jù)一實(shí)施例, 一種中斷控制器可包括中斷寄存器單元,其接收多個(gè)中斷源信號(hào);
中斷檢測(cè)器,其耦合到所述中斷寄存器單元;計(jì)數(shù)器單元,其親合到所述中斷檢測(cè)器, 其中在中斷源信號(hào)第一次出現(xiàn)時(shí),所述計(jì)數(shù)器單元界定期間所述中斷寄存器存儲(chǔ)其它中斷源信號(hào)的時(shí)間窗口;以及中斷請(qǐng)求單元,其耦合到所述計(jì)數(shù)器單元以用于產(chǎn)生中斷請(qǐng) 求信號(hào)。根據(jù)另一實(shí)施例,計(jì)數(shù)器單元可包括計(jì)數(shù)器;等待時(shí)間值寄存器,其耦合到所述 計(jì)數(shù)器,其中所述等待時(shí)間值寄存器存儲(chǔ)等待時(shí)間值;超時(shí)單元,其耦合到所述計(jì)數(shù)器, 其中在中斷源信號(hào)第一次出現(xiàn)時(shí),所述計(jì)數(shù)器預(yù)加載有等待時(shí)間值并通過(guò)時(shí)鐘信號(hào)遞減 且比較器檢測(cè)計(jì)數(shù)器何時(shí)達(dá)到零。根據(jù)另一實(shí)施例,計(jì)數(shù)器單元可包括計(jì)數(shù)器;比較 器,其耦合到所述計(jì)數(shù)器;等待時(shí)間值寄存器,其耦合到所述比較器,其中所述等待時(shí) 間值寄存器存儲(chǔ)等待時(shí)間值,其中在中斷源信號(hào)第一次出現(xiàn)時(shí),所述計(jì)數(shù)器被重置并通 過(guò)時(shí)鐘信號(hào)遞增且比較器檢測(cè)計(jì)數(shù)器何時(shí)達(dá)到或超過(guò)等待時(shí)間值。根據(jù)另一實(shí)施例,中 斷寄存器可包括多個(gè)鎖存器。根據(jù)另一實(shí)施例,中斷寄存器可包括具有多個(gè)位的寄存器, 其中每一中斷源信號(hào)被指派到所述多個(gè)位中的一者。根據(jù)另一實(shí)施例,中斷請(qǐng)求單元進(jìn) 一步可接收中斷確認(rèn)信號(hào)并產(chǎn)生用于中斷寄存器單元的重置信號(hào)。根據(jù)另一實(shí)施例, 一種中斷控制器可包括多個(gè)群組中斷控制器,每一群組中斷控制 器包括群組中斷寄存器單元,其接收多個(gè)中斷源信號(hào);中斷檢測(cè)器,其耦合到所述中 斷寄存器單元;計(jì)數(shù)器單元,其耦合到所述中斷檢測(cè)器,其中在中斷源信號(hào)第一次出現(xiàn) 時(shí),所述計(jì)數(shù)器單元界定期間所述中斷寄存器存儲(chǔ)其它中斷源信號(hào)的時(shí)間窗口;以及群 組中斷請(qǐng)求單元,其耦合到所述計(jì)數(shù)器單元以用于產(chǎn)生群組中斷信號(hào);群組中斷仲裁器, 其從所述多個(gè)中斷群組控制器接收群組中斷信號(hào);以及中斷請(qǐng)求單元,其耦合到所述群 組中斷仲裁器以用于產(chǎn)生中斷請(qǐng)求信號(hào)。根據(jù)又一實(shí)施例, 一種中斷控制器可包括至少一第一群組中斷控制器,其產(chǎn)生針 對(duì)多個(gè)中斷源的中斷源信號(hào);至少一第二群組中斷控制器,其包括群組中斷寄存器單 元,其接收多個(gè)中斷源信號(hào)中斷檢測(cè)器,其耦合到所述中斷寄存器單元;計(jì)數(shù)器單元, 其耦合到所述中斷檢測(cè)器,其中在中斷源信號(hào)第一次出現(xiàn)時(shí),所述計(jì)數(shù)器單元界定期間 所述中斷寄存器存儲(chǔ)其它中斷源信號(hào)的時(shí)間窗口;以及群組中斷請(qǐng)求單元,其耦合到所 述計(jì)數(shù)器單元以用于產(chǎn)生群組中斷信號(hào);群組中斷仲裁器,其從所述第一和第二群組中 斷控制器接收中斷源信號(hào)和群組中斷信號(hào);以及中斷請(qǐng)求單元,其耦合到所述群組中斷 仲裁器以用于產(chǎn)生中斷請(qǐng)求信號(hào)。根據(jù)另一實(shí)施例,計(jì)數(shù)器單元可包括計(jì)數(shù)器;等待時(shí)間值寄存器,其耦合到所述 計(jì)數(shù)器,其中所述等待時(shí)間值寄存器存儲(chǔ)等待時(shí)間值;超時(shí)單元,其耦合到所述計(jì)數(shù)器, 其中在中斷源信號(hào)第一次出現(xiàn)時(shí),所述計(jì)數(shù)器預(yù)加載有等待時(shí)間值并通過(guò)時(shí)鐘信號(hào)遞減 且比較器檢測(cè)計(jì)數(shù)器何時(shí)達(dá)到零。根據(jù)另一實(shí)施例,計(jì)數(shù)器單元可包括計(jì)數(shù)器;比較器,其耦合到所述計(jì)數(shù)器;等待時(shí)間值寄存器,其耦合到所述比較器,其中所述等待時(shí) 間值寄存器存儲(chǔ)等待時(shí)間值,其中在中斷源信號(hào)第一次出現(xiàn)時(shí),所述計(jì)數(shù)器被重置并通 過(guò)時(shí)鐘信號(hào)遞增且比較器檢測(cè)計(jì)數(shù)器何時(shí)達(dá)到或超過(guò)等待時(shí)間值。根據(jù)另一實(shí)施例,中 斷寄存器可包括多個(gè)鎖存器。根據(jù)另一實(shí)施例,中斷寄存器可包括具有多個(gè)位的寄存器, 其中每一中斷源信號(hào)被指派到所述多個(gè)位的一者。根據(jù)另一實(shí)施例,中斷請(qǐng)求單元可進(jìn)
一步接收中斷確認(rèn)信號(hào)且可產(chǎn)生用于中斷寄存器單元的重置信號(hào)。
根據(jù)又一實(shí)施例, 一種處置多個(gè)中斷的方法可包括以下步驟從多個(gè)中斷源信號(hào)接 收第一中斷源信號(hào);存儲(chǔ)第一中斷源信號(hào);界定接收到第一中斷源信號(hào)時(shí)的時(shí)間窗口; 存儲(chǔ)在所述時(shí)間窗口期間出現(xiàn)的任何其它中斷源信號(hào);以及在時(shí)間窗口到期之后產(chǎn)生中 斷請(qǐng)求。
根據(jù)另一實(shí)施例,所述方法可進(jìn)一步包括以下步驟在單一服務(wù)例程中服務(wù)于在所 述時(shí)間窗口期間收集的多個(gè)中斷源信號(hào)。根據(jù)另一實(shí)施例,所述方法可進(jìn)一步包括以下 步驟使用尾鏈中斷服務(wù)例程服務(wù)于在所述時(shí)間窗口期間收集的多個(gè)中斷源信號(hào)。根據(jù) 另一實(shí)施例,可由計(jì)數(shù)器創(chuàng)建所述時(shí)間窗口,在中斷源信號(hào)第一次出現(xiàn)時(shí),所述計(jì)數(shù)器 預(yù)加載有等待時(shí)間值并通過(guò)時(shí)鐘信號(hào)遞減直到計(jì)數(shù)器達(dá)到零為止。根據(jù)另一實(shí)施例,可 由計(jì)數(shù)器創(chuàng)建所述時(shí)間窗口,在中斷源信號(hào)第一次出現(xiàn)時(shí),所述計(jì)數(shù)器被重置并通過(guò)時(shí) 鐘信號(hào)遞增直到計(jì)數(shù)器達(dá)到預(yù)定等待時(shí)間值為止。
根據(jù)又一實(shí)施例, 一種處置多個(gè)中斷的方法可包括以下步驟將多個(gè)中斷源信號(hào)集
合指派到多個(gè)中斷群組;對(duì)于每一中斷群組,執(zhí)行以下步驟接收第一中斷源信號(hào);存 儲(chǔ)第一中斷源信號(hào);界定接收到第一中斷源信號(hào)時(shí)的時(shí)間窗口;存儲(chǔ)在所述時(shí)間窗口期 間出現(xiàn)的任何其它中斷源信號(hào);以及在時(shí)間窗口到期之后產(chǎn)生群組中斷信號(hào);仲裁來(lái)自 所述多個(gè)中斷群組的任何群組中斷信號(hào);以及產(chǎn)生中斷請(qǐng)求。
根據(jù)另一實(shí)施例,每一群組可指派有一優(yōu)先級(jí)等級(jí)。根據(jù)另一實(shí)施例,所述方法可 進(jìn)一步包括以下步驟在單一服務(wù)例程中服務(wù)于在所述時(shí)間窗口期間收集的多個(gè)中斷源
信號(hào)。根據(jù)另一實(shí)施例,所述方法可進(jìn)一步包括以下步驟使用尾鏈中斷服務(wù)例程服務(wù)
于在所述時(shí)間窗口期間收集的多個(gè)中斷源信號(hào)。根據(jù)另一實(shí)施例,可由計(jì)數(shù)器創(chuàng)建所述 時(shí)間窗口,在中斷源信號(hào)第一次出現(xiàn)時(shí),所述計(jì)數(shù)器預(yù)加載有等待時(shí)間值并通過(guò)時(shí)鐘信 號(hào)遞減直到計(jì)數(shù)器達(dá)到零為止。根據(jù)另一實(shí)施例,可由計(jì)數(shù)器創(chuàng)建所述時(shí)間窗口,在中 斷源信號(hào)第一次出現(xiàn)時(shí),所述計(jì)數(shù)器被重置并通過(guò)時(shí)鐘信號(hào)遞增直到計(jì)數(shù)器達(dá)到預(yù)定等 待時(shí)間值為止。
可通過(guò)參考結(jié)合附圖作出的以下描述內(nèi)容來(lái)獲得對(duì)本發(fā)明及其優(yōu)點(diǎn)的更完整理解, 附圖中
圖1是中斷控制器的第一實(shí)施例的示意框圖; 圖2是中斷控制器的第二實(shí)施例的示意框圖3是根據(jù)圖1或圖2使用多個(gè)群組控制器的中斷控制器的第三實(shí)施例;
圖4是展示示范性中斷處置的時(shí)序圖5是根據(jù)一實(shí)施例的中斷處置的流程圖。
雖然已參考本發(fā)明的實(shí)例實(shí)施例描繪、描述且界定本發(fā)明的實(shí)施例,但這些參考不 暗示對(duì)本發(fā)明的限制,且不應(yīng)推斷出任何此類限制。如相關(guān)領(lǐng)域的且得到本發(fā)明益處的 一般技術(shù)人員將了解,所揭示的標(biāo)的物能夠容許形式和功能上的相當(dāng)多的修改、改變和 等效物。所描繪和描述的本發(fā)明的實(shí)施例僅為實(shí)例,且并不詳盡地闡明本發(fā)明的范圍。
具體實(shí)施例方式
本發(fā)明的微控制器中斷控制器對(duì)事件作出響應(yīng),如同所述事件均為即時(shí)重要的。舉 例來(lái)說(shuō),當(dāng)事件發(fā)生時(shí),此控制器斷言對(duì)CPU的中斷請(qǐng)求。因此,此控制器立即辨識(shí) 低優(yōu)先級(jí)、單一事件。如上文所陳述,進(jìn)入和退出ISR消耗指令時(shí)鐘來(lái)用于保存和恢復(fù) GP寄存器。事件相對(duì)于主程序?yàn)楫惒降那揖哂性跁r(shí)間上同時(shí)或接近地發(fā)生的有限可能 性。因此,當(dāng)前中斷控制器阻止共享的ISR—次處理一個(gè)以上中斷的能力且甚至阻止ISR 至尾鏈的能力。然而,并非所有事件均為關(guān)鍵性的,因?yàn)樵S多事件為低優(yōu)先級(jí)。舉例來(lái) 說(shuō),實(shí)時(shí)操作系統(tǒng)(RTOS)響應(yīng)要求在100微秒范圍內(nèi)。
根據(jù)一實(shí)施例,時(shí)間接近度中斷結(jié)合使用中斷接近計(jì)時(shí)器以允許其中在已達(dá)到最大 可容許等待時(shí)間之前將阻止任何中斷群組的時(shí)間窗口。這提供結(jié)合將使用尾鏈ISR或單 一ISR排隊(duì)和處理的若干中斷事件的機(jī)會(huì)。
圖1展示能夠處置多個(gè)中斷源的中斷控制器100的第一實(shí)施例。多個(gè)中斷每一者由 如數(shù)字110指示的單一線饋送到控制器,到達(dá)相關(guān)聯(lián)的中斷寄存器單元120。根據(jù)一實(shí) 施例,這些寄存器可為當(dāng)中斷發(fā)生時(shí)切換其狀態(tài)的單一一位寄存器(例如,鎖存器), 或可實(shí)施為具有多個(gè)位的單一寄存器,其中每一中斷線110被指派到多個(gè)位中的一者。 中斷檢測(cè)單元130檢測(cè)一個(gè)或一個(gè)以上中斷信號(hào)的任何斷言并控制與等待時(shí)間值寄存器 140耦合的接近計(jì)數(shù)器150。此外,接近計(jì)數(shù)器150由時(shí)鐘信號(hào)190控制,所述時(shí)鐘信 號(hào)190控制計(jì)數(shù)器150的遞減功能。接近計(jì)時(shí)器150的輸出與超時(shí)電路160耦合,所述 超時(shí)電路160比較計(jì)數(shù)器值且每當(dāng)計(jì)數(shù)器達(dá)到0時(shí)便產(chǎn)生信號(hào)。接著將此信號(hào)饋送到中斷請(qǐng)求單元170,所述中斷請(qǐng)求單元170在端子180處產(chǎn)生中央處理單元(CPU)中斷 信號(hào)。根據(jù)一個(gè)實(shí)施例,中斷請(qǐng)求單元170可包括單穩(wěn)態(tài)觸發(fā)器,其在從超時(shí)電路160 接收到邏輯信號(hào)時(shí)產(chǎn)生一脈沖作為中斷請(qǐng)求信號(hào)。中斷控制器IOO可進(jìn)一步包含搜集并 存儲(chǔ)其它必要信息(例如,優(yōu)先級(jí)、中斷源地址、計(jì)時(shí)器信息等)的電路,以用于處置 可由CPU在執(zhí)行相應(yīng)異常時(shí)提供或讀取的相應(yīng)中斷。中斷請(qǐng)求單元170可進(jìn)一步從CPU 接收中斷確認(rèn)信號(hào)且產(chǎn)生一個(gè)或一個(gè)以上重置信號(hào)RESET以重置中斷寄存器單元120 和中斷檢測(cè)單元130。何時(shí)重置寄存器單元120的時(shí)序取決于CPU進(jìn)行的中斷處置的設(shè) 計(jì)。因此,寄存器單元120可通過(guò)中斷服務(wù)例程或通過(guò)中斷確認(rèn)信號(hào)或中斷處置期間的 任何其它適當(dāng)事件而重置。圖2展示另一實(shí)施例,其中計(jì)數(shù)器150—旦由中斷檢測(cè)單元130起始就經(jīng)控制以通 過(guò)每一時(shí)鐘信號(hào)220執(zhí)行遞增功能。比較器210將計(jì)數(shù)器150的值與等待時(shí)間值寄存器 230進(jìn)行比較并產(chǎn)生饋送到群組中斷請(qǐng)求單元170的信號(hào)。圖3展示如圖1所示使用多個(gè)中斷群組控制器100或200的中斷控制器的第三實(shí)施 例。每一群組控制器lOOa..n可處置多個(gè)中斷源,例如32個(gè)中斷信號(hào)。此外,每一群組 lOOa..n可被指派有特定優(yōu)先級(jí)等級(jí)l..n。每一中斷群組控制器lOOa..n的輸出被饋送到 群組中斷仲裁器210,其產(chǎn)生去往提供CPU中斷信號(hào)的中斷請(qǐng)求單元220的輸出信號(hào)。 群組中斷仲裁器210依據(jù)(例如)指派到不同群組的不同優(yōu)先級(jí)而仲裁中斷信號(hào)。然而, 可使用任何其它類型的仲裁來(lái)產(chǎn)生CPU中斷信號(hào)。根據(jù)一實(shí)施例,中斷控制器可將任何中斷指派到n個(gè)優(yōu)先級(jí)群組lOOa..n中的一者。 每一優(yōu)先級(jí)群組lOOa..n可(例如)處置32個(gè)中斷源。根據(jù)一個(gè)實(shí)施例,每一群組控制 器lOOa..n可如圖1所示而設(shè)計(jì)。然而,根據(jù)各種實(shí)施例,僅最高優(yōu)先級(jí)群組控制器100a 或群組控制器lOOa..n的任何子集可裝備有接近計(jì)時(shí)器,而剩余群組控制器lOOa..n被設(shè) 計(jì)成不具有接近計(jì)數(shù)器150且每當(dāng)其發(fā)生時(shí)便產(chǎn)生用于所述群組的中斷。如圖3所示,盡管僅最低優(yōu)先級(jí)群組可需要具有接近計(jì)時(shí)器,但在此實(shí)例中,每一 優(yōu)先級(jí)群組含有等待時(shí)間值寄存器140、 230和接近計(jì)數(shù)器150。返回參看圖l,群組的 接近計(jì)數(shù)器150在通過(guò)線110映射到群組的任何中斷第一次發(fā)生時(shí)加載有來(lái)自寄存器 "0的等待時(shí)間值。計(jì)數(shù)器接著基于所提供的時(shí)鐘190遞減到零。映射到群組的任何其 它中斷當(dāng)其發(fā)生時(shí)由中斷寄存器120俘獲。根據(jù)圖1,當(dāng)計(jì)數(shù)器150達(dá)到零時(shí),其將中 斷發(fā)送到CPU。根據(jù)圖3所示的實(shí)施例,當(dāng)計(jì)數(shù)器150達(dá)到零時(shí),其仲裁待發(fā)布到CPU 中斷輸入的其它群組lOOa..n.ISR現(xiàn)可處理在等待時(shí)間周期期間發(fā)生的所有中斷?;蛘撸?如圖2所示,在通過(guò)線110映射到群組的任何中斷第一次發(fā)生時(shí),接近計(jì)數(shù)器150被重置并基于所提供的時(shí)鐘220遞增其值。比較器210連續(xù)地將計(jì)數(shù)器150的計(jì)數(shù)器值與寄 存器230的等待時(shí)間值進(jìn)行比較,且如果計(jì)數(shù)器等于或超過(guò)等待時(shí)間值,那么產(chǎn)生去往 群組中斷請(qǐng)求單元170的信號(hào)。
圖4展示根據(jù)一實(shí)施例的微控制器或微處理器系統(tǒng)中的示范性信號(hào)的時(shí)序圖。頂部 信號(hào)指示系統(tǒng)時(shí)鐘。根據(jù)圖1所示的實(shí)施例,下一信號(hào)表示計(jì)時(shí)器150及其值。信號(hào)IRQ 1表示指派到群組的第一傳入中斷,其致使寄存器120指示已斷言中斷IRQ 1。計(jì)時(shí)線 "IR l未決"展示此中斷未決持續(xù)的時(shí)間。IRQ1致使計(jì)時(shí)器150加載預(yù)置值,在所展 示的實(shí)例中,此值為OxF(HF代表"十六進(jìn)制F")。隨著每一時(shí)鐘,(例如)時(shí)鐘信號(hào) 的上升沿,計(jì)時(shí)器遞減直到其達(dá)到O為止。這創(chuàng)建時(shí)間窗口。系統(tǒng)監(jiān)視此時(shí)間窗口期間 的其它中斷源。如圖4的實(shí)例中所示,在第一中斷IRQ 1之后不久斷言第二中斷IRQ 2。 此也由寄存器120辨識(shí)。再次,計(jì)時(shí)線"IR2未決"展示此中斷未決持續(xù)的周期。當(dāng)計(jì) 時(shí)器達(dá)到O時(shí),將中斷發(fā)信號(hào)通知CPU。 CPU確認(rèn)此中斷并開始其服務(wù)例程。
圖5中展示相應(yīng)流程圖。每當(dāng)在步驟400處接收到中斷時(shí),便在步驟410中起始計(jì) 時(shí)器。計(jì)時(shí)器預(yù)置有等待時(shí)間值且遞減到零,或重置并遞增到等待時(shí)間值??筛鶕?jù)相應(yīng) 最小等待時(shí)間值針對(duì)每一群組指派等待時(shí)間值。因此,多個(gè)群組可每一者被指派有不同
的等待時(shí)間值。因此,等待時(shí)間值取決于必須多快地服務(wù)于某些中斷的要求,且因此如 果使用多個(gè)群組,則可個(gè)別地加以指派。接著在步驟420中確定是否已接收另一中斷, 如果是,那么在步驟430中收集并存儲(chǔ)相應(yīng)中斷信息。如果否,那么跳過(guò)步驟430。在 步驟440中,檢查計(jì)時(shí)器是否己到期。如果是,那么在步驟450中產(chǎn)生針對(duì)CPU的中 斷。否則,重復(fù)步驟420到440。
因此,本發(fā)明非常適于實(shí)現(xiàn)所述目的并獲得所提及的結(jié)果和優(yōu)點(diǎn),以及其中固有的 其它結(jié)果和優(yōu)點(diǎn)。雖然所屬領(lǐng)域的技術(shù)人員可作出許多變化,但此類變化包含在由所附 權(quán)利要求書界定的本發(fā)明的精神內(nèi)。
權(quán)利要求
1.一種中斷控制器,其包括中斷寄存器單元,其接收多個(gè)中斷源信號(hào);中斷檢測(cè)器,其耦合到所述中斷寄存器單元;計(jì)數(shù)器單元,其耦合到所述中斷檢測(cè)器,其中在中斷源信號(hào)第一次出現(xiàn)時(shí),所述計(jì)數(shù)器單元界定期間所述中斷寄存器存儲(chǔ)其它中斷源信號(hào)的時(shí)間窗口;以及中斷請(qǐng)求單元,其耦合到所述計(jì)數(shù)器單元以用于產(chǎn)生中斷請(qǐng)求信號(hào)。
2. 根據(jù)權(quán)利要求l所述的中斷控制器,其中所述計(jì)數(shù)器單元包括計(jì)數(shù)器,等待時(shí)間值寄存器,其耦合到所述計(jì)數(shù)器,其中所述等待時(shí)間值寄存器存儲(chǔ)等待 時(shí)間值;超時(shí)單元,其耦合到所述計(jì)數(shù)器;其中在所述中斷源信號(hào)第一次出現(xiàn)時(shí),所述計(jì)數(shù)器被預(yù)加載所述等待時(shí)間值并通 過(guò)時(shí)鐘信號(hào)遞減且比較器檢測(cè)所述計(jì)數(shù)器何時(shí)達(dá)到零。
3. 根據(jù)權(quán)利要求1所述的中斷控制器,其中所述計(jì)數(shù)器單元包括計(jì)數(shù)器;比較器,其耦合到所述計(jì)數(shù)器;等待時(shí)間值寄存器,其耦合到所述比較器,其中所述等待時(shí)間值寄存器存儲(chǔ)等待其中在所述中斷源信號(hào)第一次出現(xiàn)時(shí),所述計(jì)數(shù)器被重置并通過(guò)時(shí)鐘信號(hào)遞增且 所述比較器檢測(cè)所述計(jì)數(shù)器何時(shí)達(dá)到或超過(guò)所述等待時(shí)間值。
4. 根據(jù)權(quán)利要求1所述的中斷控制器,其中所述中斷寄存器包括多個(gè)鎖存器。
5. 根據(jù)權(quán)利要求1所述的中斷控制器,其中所述中斷寄存器包括具有多個(gè)位的寄存 器,其中每一中斷源信號(hào)被指派到所述多個(gè)位中的一者。
6. 根據(jù)權(quán)利要求1所述的中斷控制器,其中所述中斷請(qǐng)求單元進(jìn)一步接收中斷確認(rèn)信 號(hào)并產(chǎn)生用于所述中斷寄存器單元的重置信號(hào)。
7. —種中斷控制器,其包括多個(gè)群組中斷控制器,每一群組中斷控制器包括 群組中斷寄存器單元,其接收多個(gè)中斷源信號(hào); 中斷檢測(cè)器,其耦合到所述中斷寄存器單元;計(jì)數(shù)器單元,其耦合到所述中斷檢測(cè)器,其中在中斷源信號(hào)第一次出現(xiàn)時(shí),所 述計(jì)數(shù)器單元界定期間所述中斷寄存器存儲(chǔ)其它中斷源信號(hào)的時(shí)間窗口;以及群組中斷請(qǐng)求單元,其耦合到所述計(jì)數(shù)器單元以用于產(chǎn)生群組中斷信號(hào); 群組中斷仲裁器,其從所述多個(gè)中斷群組控制器接收所述群組中斷信號(hào);以及 中斷請(qǐng)求單元,其耦合到所述群組中斷仲裁器以用于產(chǎn)生中斷請(qǐng)求信號(hào)。
8. —種中斷控制器,其包括至少一第一群組中斷控制器,其產(chǎn)生用于多個(gè)中斷源的中斷源信號(hào); 至少一第二群組中斷控制器,其包括群組中斷寄存器單元,其接收多個(gè)中斷源信號(hào);中斷檢測(cè)器,其耦合到所述中斷寄存器單元;計(jì)數(shù)器單元,其耦合到所述中斷檢測(cè)器,其中在中斷源信號(hào)第一次出現(xiàn)時(shí),所 述計(jì)數(shù)器單元界定期間所述中斷寄存器存儲(chǔ)其它中斷源信號(hào)的時(shí)間窗口;以及群組中斷請(qǐng)求單元,其耦合到所述計(jì)數(shù)器單元以用于產(chǎn)生群組中斷信號(hào); 群組中斷仲裁器,其從所述第一和第二群組中斷控制器接收所述中斷源信號(hào)和所 述群組中斷信號(hào);以及中斷請(qǐng)求單元,其耦合到所述群組中斷仲裁器以用于產(chǎn)生中斷請(qǐng)求信號(hào)。
9. 根據(jù)權(quán)利要求8所述的中斷控制器,其中所述計(jì)數(shù)器單元包括計(jì)數(shù)器,等待時(shí)間值寄存器,其耦合到所述計(jì)數(shù)器,其中所述等待時(shí)間值寄存器存儲(chǔ)等待 時(shí)間值;超時(shí)單元,其耦合到所述計(jì)數(shù)器;其中在所述中斷源信號(hào)第一次出現(xiàn)時(shí),所述計(jì)數(shù)器被預(yù)加載所述等待時(shí)間值并通 過(guò)時(shí)鐘信號(hào)遞減且比較器檢測(cè)所述計(jì)數(shù)器何時(shí)達(dá)到零。
10. 根據(jù)權(quán)利要求8所述的中斷控制器,其中所述計(jì)數(shù)器單元包括計(jì)數(shù)器;比較器,其耦合到所述計(jì)數(shù)器;等待時(shí)間值寄存器,其耦合到所述比較器,其中所述等待時(shí)間值寄存器存儲(chǔ)等待 時(shí)間值;其中在所述中斷源信號(hào)第一次出現(xiàn)時(shí),所述計(jì)數(shù)器被重置并通過(guò)時(shí)鐘信號(hào)遞增且 所述比較器檢測(cè)所述計(jì)數(shù)器何時(shí)達(dá)到或超過(guò)所述等待時(shí)間值。
11. 根據(jù)權(quán)利要求8所述的中斷控制器,其中所述中斷寄存器包括多個(gè)鎖存器。
12. 根據(jù)權(quán)利要求8所述的中斷控制器,其中所述中斷寄存器包括具有多個(gè)位的寄存 器,其中每一中斷源信號(hào)被指派到所述多個(gè)位中的一者。
13. 根據(jù)權(quán)利要求8所述的中斷控制器,其中所述中斷請(qǐng)求單元進(jìn)一步接收中斷確認(rèn)信 號(hào)且產(chǎn)生用于所述中斷寄存器單元的重置信號(hào)。
14. 一種用于處置多個(gè)中斷的方法,其包括以下步驟從多個(gè)中斷源信號(hào)接收第一中斷源信號(hào); 存儲(chǔ)所述第一中斷源信號(hào);界定接收到所述第一中斷源信號(hào)時(shí)的時(shí)間窗口; 存儲(chǔ)在所述時(shí)間窗口期間出現(xiàn)的任何其它中斷源信號(hào);以及 在所述時(shí)間窗口到期之后產(chǎn)生中斷請(qǐng)求。
15. 根據(jù)權(quán)利要求14所述的方法,其進(jìn)一步包括以下步驟在單一服務(wù)例程中服務(wù)于 在所述時(shí)間窗口期間收集的多個(gè)中斷源信號(hào)。
16. 根據(jù)權(quán)利要求14所述的方法,其進(jìn)一步包括以下步驟使用尾鏈中斷服務(wù)例程服 務(wù)于在所述時(shí)間窗口期間收集的多個(gè)中斷源信號(hào)。
17. 根據(jù)權(quán)利要求14所述的方法,其中由計(jì)數(shù)器創(chuàng)建所述時(shí)間窗口,所述計(jì)數(shù)器在中 斷源信號(hào)第一次出現(xiàn)時(shí)被預(yù)加載等待時(shí)間值并通過(guò)時(shí)鐘信號(hào)遞減直到所述計(jì)數(shù)器 達(dá)到零為止。
18. 根據(jù)權(quán)利要求14所述的方法,其中由計(jì)數(shù)器創(chuàng)建所述時(shí)間窗口,所述計(jì)數(shù)器在中 斷源信號(hào)第一次出現(xiàn)時(shí)被重置并通過(guò)時(shí)鐘信號(hào)遞增直到所述計(jì)數(shù)器達(dá)到預(yù)定等待 時(shí)間值為止。
19. 一種用于處置多個(gè)中斷的方法,其包括以下步驟將多個(gè)中斷源信號(hào)集合指派到多個(gè)中斷群組;對(duì)于每一中斷群組,執(zhí)行以下步驟接收第一中斷源信號(hào); 存儲(chǔ)所述第一中斷源信號(hào);界定接收到所述第一中斷源信號(hào)時(shí)的時(shí)間窗口; 存儲(chǔ)在所述時(shí)間窗口期間出現(xiàn)的任何其它中斷源信號(hào);以及 在所述時(shí)間窗口到期之后產(chǎn)生群組中斷信號(hào);仲裁來(lái)自所述多個(gè)中斷群組的任何群組中斷信號(hào);以及產(chǎn)生中斷請(qǐng)求。
20. 根據(jù)權(quán)利要求19所述的方法,其中向每一群組指派優(yōu)先級(jí)等級(jí)。
21. 根據(jù)權(quán)利要求19所述的方法,其進(jìn)一步包括以下步驟在單一服務(wù)例程中服務(wù)于 在所述時(shí)間窗口期間收集的多個(gè)中斷源信號(hào)。
22. 根據(jù)權(quán)利要求19所述的方法,其進(jìn)一步包括以下步驟使用尾鏈中斷服務(wù)例程服 務(wù)于在所述時(shí)間窗口期間收集的多個(gè)中斷源信號(hào)。
23. 根據(jù)權(quán)利要求19所述的方法,其中由計(jì)數(shù)器創(chuàng)建所述時(shí)間窗口,所述計(jì)數(shù)器在中 斷源信號(hào)第一次出現(xiàn)時(shí)被預(yù)加載等待時(shí)間值并通過(guò)時(shí)鐘信號(hào)遞減直到所述計(jì)數(shù)器 達(dá)到零為止。
24. 根據(jù)權(quán)利要求19所述的方法,其中由計(jì)數(shù)器創(chuàng)建所述時(shí)間窗口,所述計(jì)數(shù)器在中 斷源信號(hào)第一次出現(xiàn)時(shí)被重置并通過(guò)時(shí)鐘信號(hào)遞增直到所述計(jì)數(shù)器達(dá)到預(yù)定等待 時(shí)間值為止。
全文摘要
一種中斷控制器具有中斷寄存器單元,其接收多個(gè)中斷源信號(hào);中斷檢測(cè)器,其耦合到所述中斷寄存器單元;計(jì)數(shù)器單元,其耦合到所述中斷檢測(cè)器,其中在中斷源信號(hào)第一次出現(xiàn)時(shí),所述計(jì)數(shù)器單元界定在此期間所述中斷寄存器存儲(chǔ)其它中斷源信號(hào)的時(shí)間窗口;以及中斷請(qǐng)求單元,其耦合到所述計(jì)數(shù)器單元以用于產(chǎn)生中斷請(qǐng)求信號(hào)。
文檔編號(hào)G06F13/24GK101558395SQ200780045847
公開日2009年10月14日 申請(qǐng)日期2007年12月12日 優(yōu)先權(quán)日2006年12月15日
發(fā)明者約瑟夫·W·特里斯, 羅德尼·J·佩薩文托 申請(qǐng)人:密克羅奇普技術(shù)公司