APIC[高級可程式中斷控制器]

APIC[高級可程式中斷控制器]

apic:Advanced Programmable Interrupt Controller高級可程式中斷控制器。 APIC 是裝置的擴充組合用來驅動 Interrupt 控制器 。在目前的建置中,系統的每一個部份都是經由 APIC Bus 連線的。"本機 APIC" 為系統的一部份,負責傳遞 Interrupt 至指定的處理器;舉例來說,當一台機器上有三個處理器則它必須相對的要有三個本機 APIC。自 1994 年的 Pentium P54c 開始Intel 已經將本機 APIC 建置在它們的處理器中。實際建置了 Intel 處理器的電腦就已經包含了 APIC 系統的部份。

組成

I/O APIC的組成為: 一組24條IRQ線,一張24項的中斷重定向表(Interrupt Redirection Table),可程式暫存器,通過APIC匯流排傳送和接收APIC信息的一個信息單元。與8259A的IRQ引腳不同,中斷優先權與引腳號沒有關係: 中斷重定向表中的每一項都有可以被單獨編程以指明中斷向量和優先權、目標處理器以及選擇處理器的方式。重定向表中的信息用於把每個外部IRQ信號轉換為一條訊息,然後,通過APIC匯流排把訊息傳送給一個或者多個本地APIC單元。

系統中另一個重要的部份為 I/O APIC。系統中最多可擁有 8 個 I/O APIC。它們會收集來自 I/O 裝置的 Interrupt 訊號且在當那些裝置需要 interrupt 時傳送訊息至本機 APIC。每個 I/O APIC 有一個專有的 interrupt 輸入 (或 IRQ) 號碼。Intel 的 I/O APIC 通常有 24 個輸入 -- 其它的可能有多逹 64 個。而且有些機器擁有數個 I/O APIC,每一個分別有自己的輸入號碼,加起來一台機器上會有上百個 IRQ 可供裝置 Interrupt 使用。

然而,系統中若沒有 I/O APIC,那本機 APIC 就只能傳送核間中斷處理核心間的中斷信號。像這樣的狀況下,Windows 2000 會還原使用 8259 PIC 。

作用

CPU內部必須內置APIC單元。Intel多處理規範的核心就是高級可程式中斷控制器( Advanced Programmable Interrupt Controllers--APICs)的使用。CPU通過彼此傳送中斷來完成它們之間的通信。通過給中斷附加動作(actions),不同的CPU可以在某種程度上彼此進行控制。每個CPU有自己的APIC(成為那個CPU的本地APIC),並且還有一個I/O APIC來處理由I/O設備引起的中斷,這個I/O APIC是安裝在主機板上的,但每個CPU上的APIC則不可或缺,否則將無法處理多CPU之間的中斷協調。

一條APIC匯流排把"前端"I/O APIC連線到本地APIC。來自外部設備的IRQ線連線到I/O APIC,因此,相對於本地APIC,I/O APIC起到路由器的作用。

相關詞條

熱門詞條

聯絡我們