共用方式為


ACPI 系統描述資料表

在 SoC 型平臺上不需要實作進階設定和電源介面 (ACPI) 硬體規格,但大部分的 ACPI 軟體規格 (或可能需要) 。 ACPI 會定義泛型、可延伸的資料表傳遞機制,以及描述平臺至作業系統的特定資料表。

資料表結構和標頭,包括識別碼和總和檢查碼欄位,都是在 ACPI 5.0 規格中定義。 除了本文所述的特定資料表之外,Windows 還會利用這個資料表傳遞機制。

這些資料表背後的概念是讓一般軟體支援標準智慧財產權 (IP) 區塊,這些區塊可以透過各種方式整合到各種平臺。 透過資料表策略,特定平臺的平臺變數屬性會在資料表中提供,並由一般軟體用來自行適應整合至平臺的特定 IP 區塊集。 因此,此軟體可以撰寫一次、徹底測試,然後經過一段時間的優化。

根系統描述指標 (RSDP)

Windows 取決於 UEFI 韌體來啟動硬體平臺。 因此,Windows 會使用 EFI 系統資料表來尋找 RSDP,如 ACPI 5.0 規格的 5.2.5.2 節「在已啟用 UEFI 的系統上尋找 RSDP」中所述。 平臺韌體會在 RSDP 中填入 RSDT 或 XSDT 的位址。 (如果提供這兩個數據表位址,Windows 偏好 XSDT.)

根系統描述資料表 (RSDT)

RSDT (或 XSDT) 包含平臺上提供之任何其他系統描述資料表的指標。 具體而言,此資料表包含下表的指標:

  • 固定 ACPI 硬體資料表 (FADT)

  • 多個中斷控制器資料表 (MADT)

  • 選擇性地,核心系統資源資料表 (CSRT)

  • 偵錯埠資料表 2 (DBG2)

  • BGRT (開機圖形資源資料表)

  • 韌體效能資料表 (FPDT)

  • DSDT (基底系統描述資料表)

  • 選擇性地,其他系統描述資料表 (SSDT)

已修正 ACPI 描述資料表 (FADT)

固定 ACPI 硬體資料表 (FADT) 包含平臺上各種固定硬體功能的重要資訊。 為了支援硬體降低的 ACPI 平臺,ACPI 5.0 會擴充 FADT 資料表定義,如下所示:

  • FADT 內的 [旗標] 欄位 (位移 112) 有兩個新的旗標:

    HARDWARE_REDUCED_ACPI位移 20。 表示此平臺上無法使用 ACPI 硬體。 如果未實作 ACPI 固定硬體程式設計模型,就必須設定此旗標。

    LOW_POWER_S0_IDLE_CAPABLE位移 21。 表示平臺支援 ACPI S0 系統電源狀態內的低電源閒置狀態,比任何 Sx 睡眠狀態更有效率。 如果設定此旗標,Windows 不會嘗試睡眠和繼續,而是改用平臺閒置狀態和連線待命。

  • [FADT Preferred_PM_Profile] 欄位 (位元組位移 45) 具有新的角色專案「平板電腦」。 此角色會影響顯示器和輸入的電源管理原則,並影響螢幕鍵盤的顯示。

  • [IA-PC 開機架構旗標] 欄位 (位移 109) 有新的 「RTC Not Present」 旗標, (位位移 5) ,表示電腦的[RTC] 未實作,或不存在於舊版位址。 如果已設定此旗標,平臺必須實作 ACPI 時間和警示控制方法裝置。 如需詳細資訊,請參閱ACPI 定義的裝置一文中的控制方法時間和警示裝置一節。

  • 新增欄位以支援硬體縮減 ACPI 平臺上的傳統電腦睡眠/繼續。 Windows 會忽略這些欄位,但必須存在於資料表中,才能符合規範。

  • 如果已設定HARDWARE_REDUCED_ACPI旗標,作業系統會忽略與 ACPI 硬體規格相關的所有欄位。

所有其他 FADT 設定都會保留舊版 ACPI 4.0 的意義。 For more information, see section 5.2.9, "Fixed ACPI Description Table (FADT)", of the ACPI 5.0 specification.

多個 APIC 描述資料表 (MADT)

在 ACPI 的電腦實作中,多重 APIC 描述表 (MADT) 和電腦特定的中斷控制器描述元可用來描述系統中斷模型。 針對 Arm 型 SoC 平臺,ACPI 5.0 會為 Arm Holdings 的一般中斷控制器新增描述項, (GIC) 和 GIC 散發者。 Windows 包含 GIC 和 GIC 散發者的收件匣支援。 如需這些描述項的詳細資訊,請參閱 ACPI 5.0 規格的 5.2.12.14、「GIC 結構」和 5.2.12.15、「GIC 散發者結構」一節。

中斷控制器描述元結構會緊接在 MADT 中的 [旗標] 欄位之後列出。 針對 Arm 平臺,每個 GIC 都會列出一個描述元,後面接著每個 GIC 散發者的描述元。 對應至開機處理器的 GIC 必須是中斷控制器描述元清單中的第一個專案。

一般計時器描述資料表 (GTDT)

如同中斷控制器,ACPI 中有標準計時器描述資料表。 對於利用 GIT 計時器的 Arm 系統,ACPI 的 GTDT 可用來利用 Windows 中 GIT 的內建支援。

核心系統資源資料表 (CSRT)

核心系統資源 (CSR) 是共用的硬體功能,例如中斷控制器、計時器和作業系統必須序列化存取權的 DMA 控制器。 在 x86 和 Arm 架構上 (計時器和中斷控制器等功能的產業標準) 時,Windows 會根據 ACPI (中所述的標準資料表來建置這些功能,例如 MADT 和 GTDT) 。 不過,在產業交集于 DMA 控制器介面標準之前,必須支援作業系統中的某些非標準裝置。

Windows 支援 HAL 延伸模組的概念,以解決此問題。 HAL 延伸模組是實作為 DLL 的 SoC 特定模組,可讓 Windows HAL 適應 Windows 所需的特定 CSR 類別的特定硬體介面。 為了識別並載入這些非標準 CSR 模組,Microsoft 已定義新的 ACPI 資料表。 如果平臺上使用非標準 CSR,此資料表具有 ACPI 規格中 「CSRT」 的保留簽章,則必須包含在 RSDT 中。

CSRT 描述 CSR 的資源群組,其中每個資源群組都會識別特定類型的硬體。 Windows 會使用為資源群組提供的識別碼來尋找並載入此群組所需的 HAL 擴充功能。 CSRT 內的資源群組也可能包含個別的資源描述元,視 CSR 類型和 HAL 延伸模組的需求而定。 這些資源描述元的格式和使用是由 HAL 延伸模組寫入器所定義,可讓延伸模組更容易移植,因此只要變更 CSRT 中包含的資源描述元,即可支援各種不同的 SoC 平臺。

為了支援維護 HAL 延伸模組,以及管理這些延伸模組所使用的系統資源,CSRT 中所述的每個資源群組也必須以平臺 ACPI 命名空間內的裝置來表示。 For more information, see the following "Differentiated System Description Table (DSDT)" section. 資源群組標頭中使用的裝置識別碼必須符合裝置命名空間節點中使用的識別碼。 如需詳細資訊,請參閱裝置管理命名空間物件一文中的 ACPI 中的裝置識別一節。 這些資源群組命名空間裝置的存在可讓Windows Update服務服務 HAL 擴充功能。

如需詳細資訊,請參閱 核心系統資源資料表 (CSRT) 規格

偵錯埠資料表 2 (DBG2)

Microsoft 在所有系統上都需要偵錯埠。 為了描述平臺內建的偵錯埠 () ,Microsoft 會定義 ACPI 的偵錯埠資料表 2 (DBG2) 。 下表指定一或多個獨立埠 () 以供偵錯之用。 DBG2 資料表的存在表示平臺至少包含一個偵錯埠。 下表包含偵錯埠 () 身分識別和組態的相關資訊。 資料表位於系統記憶體和其他 ACPI 資料表中,而且必須在 ACPI RSDT 資料表中參考。

Windows 會使用 DBG2 資料表中的埠類型值來識別和載入核心偵錯工具 (KD) 傳輸 (,例如,系統所需的 USB 或序列) 。 然後,KD 傳輸會使用 DBG2 資料表中的埠子類型值來識別埠所使用的硬體介面。 DBG2 資料表中的其他資訊會指定埠暫存器的系統位址,此位址由硬體介面模組用於指定的子類型。 最後,DBG2 資料表必須包含 ACPI 命名空間中對應至偵錯埠之裝置節點的參考。 此參考可讓 Windows 管理偵錯使用與裝置正常使用之間的衝突,如果有的話,也可以整合偵錯工具與電源轉換。

如需詳細資訊,請參閱 Microsoft 偵錯埠表 2 (DBG2) 規格

差異系統描述資料表 (DSDT)

在 ACPI 中,平臺上的周邊裝置和系統硬體功能會說明在開機時載入的區別系統描述資料表 (DSDT) ,或在次要系統描述資料表中, (SSDT) ,在執行時間以動態方式載入。 對於 SoC 而言,平臺組態通常是靜態的,因此 DSDT 可能已足夠,雖然 SSDT 也可以用來改善平臺描述的模組化。

ACPI 會定義解譯的語言 (ACPI 來來源語言,或 ASL) 和執行環境 (ACPI 虛擬機器) ,以描述系統裝置和功能,以及其平臺特定控制項,以 OS 無關的方式。 ASL 可用來定義 ACPI 命名空間中的具名物件,而 Microsoft ASL 編譯 程式可用來產生 ACPI 電腦語言 (AML) 位元組程式碼,以便傳輸至 DSDT 中的作業系統。 收件匣 Windows ACPI 驅動程式Acpi.sys 會實作 ACPI 虛擬機器,並解譯 AML 位元組程式碼。 AML 物件可能只會傳回描述資訊。 或者,AML 物件可能是執行計算或執行 I/O 作業的方法。 控制方法是可執行檔 AML 物件,其使用作業系統的設備磁碟機在平臺硬體上執行 I/O 作業。 ASL 會使用 OpRegions 來抽象化作業系統中可存取的各種位址空間。 控制方法會執行 I/O 作業,作為 OpRegions 中宣告之具名欄位的一系列傳輸。

如需 OpRegions 的詳細資訊,請參閱 ACPI 5.0 規格中的一節 5.5.2.4。 如需 ASL 和控制方法的詳細資訊,請參閱 ACPI 5.0 規格中的 5.5 節「ACPI Namespace」。

Windows 支援開發和偵錯 ASL 程式碼。 ASL 編譯器包含反組譯程式,可讓實作者從偵錯目標載入命名空間。 然後,ASL 編譯器可用來將命名空間重新套用至目標,以進行快速原型設計和測試,而不需要刷新系統韌體。 此外,Windows 核心偵錯工具與已檢查的 (CHK) 版本 Acpi.sys 驅動程式一起使用,可支援追蹤和分析 AML 執行。 如需詳細資訊,請參閱 AMLI 偵錯工具

Windows SMM 安全性防護功能資料表 (WSMT)

Windows SMM 安全防護功能表格 (WSMT) 規格包含進階組態與電源介面 (ACPI) 表格的詳細資料,此表格是建立來與支援 Windows 虛擬化安全性 (VBS) 功能的 Windows 作業系統搭配使用。

此資訊適用于下列作業系統:

Windows Server 2016

Windows 10 (版本 1607)

如需詳細資訊,請參閱 WSMT (WSMT) 規格的 Windows SMM 安全性風險降低資料表, (DOCX 下載)

iSCSI 開機韌體表格 (iBFT)

iSCSI 開機韌體 (iBF) 資料表 (iBFT) 是一組資訊區塊,其中包含 iSCSI 開機程式有用的各種參數。 iBFT 是 iBF 參數值傳遞給作業系統的機制。 iBF 會建置並填入 iBFT。 iBFT 可供 Windows 作業系統使用,以啟用開機程式的一致流程。

如需詳細資訊,請參閱 iSCSI 開機韌體資料表 (iBFT) 規格, (DOCX 下載)