MP Spec即MultiProcessor Specification,簡稱MPS,中文翻譯爲多重處理器規範,定義了MP系統配置的數據結構。BIOS構建MP配置數據結構,將硬件以已知格式呈現給標準設備驅動程序或操做系統的硬件抽象層。該規範的整體概念如圖 1.1所示。數據結構
圖 1.1 整體概念佈局
MP Spec提供了兩種將信息傳遞給操做系統的方法:一種符合一組常見硬件默認設置的最小配置方法,以及一種在硬件設計中提供最大靈活性的最大方法。圖 1.2顯示了MP配置數據結構的整體佈局。spa
圖 1.2 MP配置數據結構體操作系統
MP兼容系統必須實現Floating Pointer Structure,該結構是16字節的倍數的可變長度數據結構。目前,只定義了一個16字節的數據結構。要肯定系統是否符合MP規範,操做系統必須按照規範定義的順序搜索Floating Pointer Structure。圖 1.3顯示了該結構的格式。其中Physical Address Pointer字段代表MP Configuration Table的起始地址。若是MP Configuration Table不存在則全爲0。MP Feature Information Byte 1字段指定MP系統的默認配置類型。若是非零,則系統配置符合其中一個默認配置。翻譯
圖 1.3 Floating Pointer Structure設計
MP Configuration Table Header的格式如圖 1.4所示。orm
圖 1.4 MP Configuration Table Header排序
MP Configuration Table Header以後跟着數量不固定的且長度可變的條目。每一個條目的第一個字節標識條目類型。每一個條目類型具備已知的固定長度。MP Configuration Table的總長度取決於系統的配置。軟件必須遍歷Base Table中的每一個條目,直到達到Entry Count。 條目按照Entry Type升序排序。圖 1.5給出了Entry Type的每一個值的含義。ip
圖 1.5 Base MP Configuration Table Entry Typesci
配置表包含一個或多個I/O APIC條目,每一個I/O APIC條目的格式如圖 1.6所示。
圖 1.6 I/O APIC Entry
I/O Interrupt Assignment Entries條目指示哪一個中斷源鏈接到各個I/O APIC中斷輸入。每一個鏈接的I/O APIC中斷輸入都有一個條目。圖 1.7顯示了每一個條目的格式。
圖 1.7 I/O Interrupt Entry
其中中斷類型有圖 1.8所示幾種。
圖 1.8 Interrupt Type Values
《Intel Multiprocessor Specification》