高階配置與電源介面

高階配置與電源介面和作業系統之間的硬體抽象介面。概要.作為標準中最廣為認可的部分，電源管理經歷了較多的改進。首先，進階電源管理將電源管理幾乎完全分配給BIOS控制，這大大的限制了作業系統在控制電能消耗方面的功能。ACPI可以實現的功能包括：Windows 98是微軟第一個支援ACPI的作業系統。FreeBSD v5.0是支援ACPI的第一個UNIX作業系統 #重定向按照在本文中的定義， ACPI是一種描述硬體介面的方法，要足夠抽象以允許靈活創新的硬體實現，並且足夠具體以允許shrink-wrap OS code使用這個硬體介面它是一種電腦硬體，具有支援OSPM所必備的特性，而且還具有特定的介面，這些介面的特性是由ACPI規範所指定的描述表所描述的。一個樹狀層次機構，在受作業系統控制的記憶體裡面，這段記憶體裡面包含命名物件。是一種由ACPI相容的OS支援的虛擬機器的虛擬碼，裡面寫有ACPI控制方法和控制物件。一箇中斷控制器架構，通常多見於Intel32位架構晶片中的I/O APIC組成。一種和AML等同的程式語言。ASL編譯以後就是AML映象。控制方法定義OS如何執行一個簡單的硬體任務。例如，OS呼叫控制方法去讀取一個高溫區的溫度。控制方法是用一種叫做AML的編碼語言寫的，AML可以被相容ACPI的OS所解釋並執行。ACPI相容的系統必須在ACPI table中提供一組最小的控制方法。OS提供一組well-defined 的控制方法，以使ACPI table開發者能夠在他們的控制方法中引用。OEM廠商可以透過，要麼Including control methods in the BIOS that test configurations and respond as needed，要麼為晶片組的不同修訂版包含一組不同的控制方法，來使一個BIOS能夠同時支援晶片組的不同修訂版。Definition Blockl以資料和控制方法的形式包含關於硬體實現和配置詳細資訊。OEM廠商可以在ACPI Tables中提供一個或者多個Definition Blocks。有一個definition block是必須被提供：那就是Differentiated Definition Block，它描述了基本的系統。在裝載Differentiated Definition Block之後，緊接著OS會把Differentiated Definition Block的內容插入到ACPI Namespace。OS可以動態的從the active ACPI Namespace插入和刪除的其他definition blocks，可以包含指向Differentiated Definition Block的引用。裝置中包含的變化的資料；通常是易失性指的是包含在裝置周邊的小數量的資訊。同樣可以看看系統上下文。OEM廠商必須為ACPI相容的OS提供一個DSDT。這個DSDT包含區分定義塊，它能提供關於基本系統的實現和配置資訊。OS總是在ACPI Namespace中插入DSDT資訊，當系統啟動的時候，而且絕不會刪除它。它是一個在OS和韌體平臺之間的介面。在讀寫記憶體中的一種結構，BIOS用它來實現韌體和OS之間的資訊交換。透過FADT(Fixed ACPI Description Table)FACS被轉到相容ACPI的OS中。FACS包含上次啟動時的系統硬體簽名，firmware waking vector，和Global Lock。一個包含ACPI 硬體暫存器塊插入到ACPI Namespace，並且OS絕不會刪除它。ACPI介面提供的一組特徵。ACPI規範限制硬體程式設計模型。一組事件，當Fixed Feature暫存器中的一對狀態和事件位扮演事件的處理者。一組在fixed feature register space中的硬體暫存器，fixed feature register space在系統I/O地址空間的特殊的地址裡。ACPI為fixed features定義了暫存器塊The general-purpose event registers contain the event programming model for generic features. All general-purpose events generate SCIs.Global System States適用於整個系統，而且對於使用者是可見的。各種不同的Global System States在ACPI規範中是從G0標記到G3的。在ACPI硬體暫存器中的一些沒有被使用的位。一種對於計算機的一般描述術語，這種計算機的處理器架構符合Intel處理器家族基於Intel架構指令集PC的結構。一個輸入輸出高階可程式設計中斷控制器，用來從裝置傳遞中斷給處理器裡面的本地APIC。An Input/Output Streamlined Advanced Programmable Interrupt Controller用來從裝置傳遞中斷給處理器裡面的本地APIC。和APIC的不同可以看看Intel® Itanium® Processor Family Interrupt Architecture Guide ，PDF文件的最後一章會講到不同點。這是一種電腦狀態，在這個電腦狀態下電源管理策略是由平臺硬體/韌體決定的。在如今的系統中，傳統電源管理特性被用來支援安裝有傳統OS的電腦中的電源管理，這種傳統OS並不支援OS直接管理電源架構。沒有ACPI或者OSPM電源管理支援的電腦系統。此類的作業系統無法得知或對系統的電源管理功能做管理，包含在此型別內的如一些支援APM 1.x的作業系統。接收來自I/O APIC的中斷。接收來自I/O SAPIC的中斷。關於SAPIC，請看“I/O SAPIC”。它被用在支援APIC和SAPIC的系統上，以描述APIC的實現。Following the MADT is a list of APIC/SAPIC structures that declare the APIC/SAPIC features of the machine.ACPI Namespace的節點就是objects，這些objects被OS用system definition tables中的資訊插入tree。這些objects可以是資料物件。ACPI Namespace的一部分。有一組規則for naming objects。電源。一組objects。使用者按的按鈕或者其他有觸點的開關裝置，透過它可以把系統從睡眠或者soft off狀態切換到工作狀態，還可以給OS傳送訊號使OS從睡眠或者soft off狀態恢復到工作狀態。一種最小化系統電源消耗的軟硬體機制，管理系統熱量限制，延長系統電池使用時間。電源管理在系統速度，噪音，電池使用時間，處理器速度，還有電源消耗之間取得平衡。一些system functions，比如appliance (for example, answering machine, furnace control) operations，需要電源管理。裝置需要的資源，裝置需要在給定的電源狀態下對這些資源進行操作。由兩個暫存器塊組成之間拆分。在ACPI硬體暫存器中有一些沒有被使用的位，在ACPI規範中被稱為保留位。為了未來能夠擴充套件，硬體暫存器保留位總是被歸零，並且寫入的資料不會造成其他的影響。OSPM的實現必須往所有使能和狀態暫存器的保留位寫“0”，同樣還要往控制暫存器的preserve bits寫“0”相容ACPI的系統必須在系統低地址空間提供一個RSDP。這種結構的唯一目的就是提供RSDT和XSDT的物理地址。signature為RSDT的table，它跟隨在一組指向其他系統描述表的物理指標之後。OS透過跟隨RSDP結構中的指標來定位RSDT。狀態.全域性狀態.ACPI規範定義了一臺相容ACPI的計算機系統可以有以下七個狀態：此外，當作業系統在不支援ACPI的情況下執行，這種狀態被定義為"Legacy"。在這個狀態下，硬體和電源不是透過ACPI來管理的，而是由進階電源管理等管理。（ACPI規範3.0b版的連結在下面 External links, 檢視chapter 7.3.4)裝置電源狀態(Device Power State).當一個裝置已沒有電源供應的時候，可能整個電腦系統還在工作，光碟機是一個很好的例子。裝置狀態是與裝置相關的狀態，他們的定義和以下四個因素有關：電源消耗，裝置用電量的多少。裝置狀態/環境保留了多少原來的狀態/環境。作業系統負責儲存丟失的裝置狀態/環境。裝置驅動。裝置狀態有以下幾個：處理器電源狀態(Processor Power State).處理器電源狀態是指在G0狀態下的處理器電能消耗和溫度管理的狀態。只有C0狀態下CPU才會執行指令，C1到Cn狀態下CPU都處於各種不同程度的睡眠狀態，它是和CPU的電能消耗有關的，通常，用電能量越小意味著得花更長的時間恢復到C0狀態，也就是喚醒時間越長。當在C0狀態下時，ACPI可以透過效能狀態來改變處理器的效能。各個狀態的定義如下所示：裝置和處理器效能狀態.裝置和處理器效能狀態下定義的電源消耗和能力的狀態。效能狀態允許OSPM在效能和能源消耗之間取得平衡。P0是最高效能狀態，從P1到P"n"是連續的低效能狀態，最高限制"n"為16。這個狀態在Intel處理器中稱為SpeedStep，在AMD處理器中稱為PowerNow!、Cool'n'Quiet，在VIA處理器中稱為PowerSaver。