fbpx
维基百科

高级配置与电源接口

高级配置与电源接口(英語:Advanced Configuration and Power Interface縮寫ACPI),是1997年由英特尔微软东芝共同提出、制定的操作系统電源管理、硬體組態介面,是一种開放标准,取代了進階電源管理多處理器規範舊式隨插即用英语Legacy Plug and Play規範。2000年8月康柏和凤凰科技加入,推出 ACPI 2.0规格。2004年9月惠普取代康柏,推出 ACPI 3.0规格。2009年6月16日則推出 ACPI 4.0规格。2011年11月23日推出ACPI 5.0规格。由于ACPI技术正被多个操作系统和处理器架构采用,该规格的管理模式需要与时俱进。2013年10月,ACPI的推广者们一致同意将ACPI的属有归到UEFI论坛。今后新的ACPI规格将由UEFI论坛制定。ACPI定義了系統韌體(BIOSUEFI)和作業系統之間的硬體抽象介面[1][2]

概要 编辑

作为标准中最广为认可的部分,电源管理经历了较多的改进。

首先,進階電源管理(APM, Advanced Power Management)将电源管理几乎完全分配给BIOS控制,这大大的限制了操作系统在控制电能消耗方面的功能。

ACPI可以实现的功能包括:

  • 系统电源管理(System power management)
  • 设备电源管理(Device power management)
  • 处理器电源管理(Processor power management)
  • 设备和处理器性能管理(Device and processor performance management)
  • 配置/即插即用(Configuration/Plug and Play)
  • 系统事件(System Event)
  • 电池管理(Battery management)
  • 温度管理(Thermal management)
  • 嵌入式控制器(Embedded Controller)
  • SMBus控制器(SMBus Controller)

Windows 98是微软第一个支持ACPI的操作系统FreeBSD v5.0是支持ACPI的第一个UNIX操作系统 [來源請求]LinuxNetBSDOpenBSD都支持ACPI。Windows Vista及以後的Windows要求電腦必須支援ACPI。

ACPI术语(部分) 编辑

  • 高级配置电源管理接口(Advanced Configuration and Power Interface (ACPI))
按照在本文中的定义, ACPI是一种描述硬件接口的方法,要足够抽象以允许灵活创新的硬件实现,并且足够具体以允许shrink-wrap OS code使用这个硬件接口
  • ACPI硬件(ACPI Hardware)
它是一种电脑硬件,具有支持OSPM所必备的特性,而且还具有特定的接口,这些接口的特性是由ACPI规范所指定的描述表(Description Tables)所描述的。
  • ACPI命名空间(ACPI Namespace)
一个树状层次机构,在受操作系统控制的内存里面,这段内存里面包含命名对象(named objects)等。这些对象(objects)可以是数据对象,控制方法对象,总线/设备包对象等。操作系统通过从驻留在 ACPI BIOS 中的 ACPI Tables 载入载出(loading and/or unloading)定义块(definition blocks),来动态改变命名空间(namespace)的内容。在ACPI Namespace 中的所有信息都来自 Differentiated System Description Table (DSDT),DSDT 里面包含了 Differentiated Definition Block 还有一个或者多个其他的定义块(definition blocks)。
  • ACPI机器语言(ACPI Machine Language (AML))
是一种由ACPI兼容的OS支持的虚拟机的伪代码(Pseudo-code),里面写有ACPI控制方法和控制对象。
  • 高级可编程中断控制器(Advanced Programmable Interrupt Controller (APIC))
一个中断控制器架构,通常多见于Intel32位架构(Intel Architecture-based 32-bit)的PC系统。APIC架构支持多处理器中断管理(中断均匀的分布在所有处理器),多I/O子系统支持,与8259A兼容,并且支持处理器内部中断(Inter-Processor Interrupt, IPI)。这个架构由直属于处理器的本地APICs(Local APICs)和在(南桥)芯片中的I/O APIC组成。
  • ACPI源语言(ACPI Source Language (ASL))
一种和AML等同的编程语言。ASL编译以后就是AML镜像(AML images)。
  • 控制方法(Control Method)
控制方法定义OS如何执行一个简单的硬件任务。例如,OS调用控制方法(Control Method)去读取一个高温区的温度。控制方法是用一种叫做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能够同时支持芯片组的不同修订版。
  • 中央处理器或者处理器(Central Processing Unit (CPU) or Processor)
  • 定义区块(Definition Block)
Definition Blockl以数据和控制方法(编码成AML)的形式包含关于硬件实现和配置详细信息。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的引用。
  • 装置(Device)
  • 熱溫區(Thermal Zone)
  • ACPI 風扇(Fan)
  • 装置上下文(Device Context)
装置中包含的变化的数据;通常是易失性(volatile)数据。当进入或者离开特定的状态(states)的时候,设备应该忘记这些信息,在这种情况下OS软件负责保存并恢复这些信息。设备上下文(Device Context)指的是包含在设备周边的小数量的信息。同样可以看看系统上下文。
  • 区分系统描述表(Differentiated System Description Table (DSDT))
OEM厂商必须为ACPI兼容的OS提供一个DSDT。这个DSDT包含区分定义块,它能提供关于基本系统的实现和配置信息。OS总是在ACPI Namespace中插入DSDT信息,当系统启动的时候,而且绝不会删除它。
它是一个在OS和固件平台之间的接口。
  • 嵌入式控制器(Embedded Controller)
  • 嵌入式控制器介面(Embedded Controller Interface)
  • 韌體ACPI控制结构(Firmware ACPI Control Structure (FACS))
在读写内存中的一种结构,BIOS用它来实现韌體和OS之间的信息交换(handshaking )。通过FADT(Fixed ACPI Description Table)FACS被转到兼容ACPI的OS中。FACS包含上次启动时的系统硬件签名,firmware waking vector,和Global Lock。
  • 固定ACPI描述表(Fixed ACPI Description Table (FADT))
一个包含ACPI 硬件寄存器块(Hardware Register Block)的实现和配置详细信息的表,OS需要用这些配置信息来直接管理ACPI硬件寄存器块和DSDT的物理地址,DSDT则包含其他平台的实现和配置详细信息。 OEM厂商必须在RSDT/XSDT中提供FADT给兼容ACPI的OS。当系统启动的时候,OS则总是把已经定义好了的namespace信息(它存在于DSDT的Differentiated Definition Block中)插入到ACPI Namespace,并且OS绝不会删除它。
  • 固定特征(Fixed Features)
ACPI接口提供的一组特征。ACPI规范限制硬件编程模型(hardware programming model)在哪产生还有如何产生的。所有的Fixed Features,如果被使用了,会按照本片规范中的描述进行实现,以使OSPM能够直接访问Fixed Features寄存器(fixed feature registers)。
  • 固定特征事件(Fixed Feature Events)
一组事件,当Fixed Feature寄存器中的一对状态和事件位(event bits)被在同一时间设定时,这组事件会在ACPI接口处发生。当一个Fixed Feature时间发生时,系统控制中断(SCI,system control interrupt)is raised。对于ACPI Fixed Feature Events来说OSPM(or an ACPI-aware driver)扮演事件的处理者。
  • 固定特征寄存器(Fixed Feature Registers)
一组在fixed feature register space中的硬件寄存器,fixed feature register space在系统I/O地址空间的特殊的地址里。ACPI为fixed features定义了寄存器块(register blocks)(每个寄存器块从FADT那里得到一个单独的指针)
  • 一般目的事件寄存器(General-Purpose Event Registers)
The general-purpose event registers contain the event programming model for generic features. All general-purpose events generate SCIs.
  • 一般特征(Generic Feature)
  • 全局系统状态(Global System States)
Global System States适用于整个系统,而且对于用户是可见的。各种不同的Global System States在ACPI规范中是从G0标记到G3的。
  • 省略位(Ignored Bits)
在ACPI硬件寄存器中的一些没有被使用的位(bits),在ACPI规范中会指定这些位是“ignored”的。在读的时候,软件会忽略ACPI硬件寄存器中的Ignored Bits位(而不去读取它),写的时候,会保护Ignored Bits(不去写这写位)。
  • Intel个人电脑架构(Intel Architecture-Personal Computer (IA-PC))
一种对于计算机的一般描述术语,这种计算机的处理器架构符合Intel处理器家族基于Intel架构指令集(Intel Architecture instruction set)的定义,并且有工业标准(industry-standard)PC的结构。
  • I/O APIC(Input/Output Advanced Programmable Interrupt Controller)
一个输入输出高级可编程中断控制器,用来从设备传递中断给处理器里面的本地APIC(local APIC)。
  • I/O SAPIC
An Input/Output Streamlined Advanced Programmable Interrupt Controller用来从设备传递中断给处理器里面的本地APIC(local APIC)。应用于安腾处理器(Itanium)。和APIC的不同可以看看Intel® Itanium® Processor Family Interrupt Architecture Guide ,PDF文档的最后一章会讲到不同点。
  • 老式的(Legacy)
这是一种电脑状态,在这个电脑状态下电源管理策略是由平台硬件/固件决定的。在如今的系统中,传统电源管理特性被用来支持安装有传统OS的电脑中的电源管理,这种传统OS并不支持OS直接管理电源架构(OS-directed power management architecture)。
  • 老式的硬件(Legacy Hardware)
没有ACPI或者OSPM电源管理支持的电脑系统。
  • 老式的操作系统(Legacy OS)
此類的作業系統無法得知或對系統的電源管理功能做管理,包含在此類型內的如一些支援APM 1.x的作業系統。
  • 本地APIC(Local APIC)
接收来自I/O APIC的中断。
  • 本地SAPIC(Local SAPIC)
接收来自I/O SAPIC的中断。关于SAPIC,请看“I/O SAPIC”。
  • 复合APIC描述表(Multiple APIC Description Table (MADT))
它被用在支持APIC和SAPIC的系统上,以描述APIC的实现。Following the MADT is a list of APIC/SAPIC structures that declare the APIC/SAPIC features of the machine.
  • 对象(Object)
ACPI Namespace的节点就是objects,这些objects被OS用system definition tables中的信息插入tree。这些objects可以是数据对象(data objects),包对象(package objects),控制方法对象(control method objects)等。包对象refer to其他对象(objects)。对象同样拥有类型(type),大小(size),和相对名称(relative name)。
  • 对象名(Object name)
ACPI Namespace的一部分。有一组规则for naming objects。
  • 操作系统直接电源管理(Operating System-directed Power Management (OSPM))
电源(和系统)管理的一个模型,在其中OS扮演重要的角色,使用全局信息为手边的任务优化系统行为(system behavior)。
  • 包(Package)
一组objects。
  • 电源按鈕(Power Button)
用户按的按钮或者其他有触点的开关(switch contact)设备,通过它可以把系统从睡眠或者soft off状态切换到工作状态,还可以给OS发送信号使OS从睡眠或者soft off状态恢复到工作状态。
  • 电源管理(Power Management)
一种最小化系统电源消耗的软硬件机制,管理系统热量限制,延长系统电池使用时间(battery life)。电源管理在系统速度,噪音,电池使用时间,处理器速度,还有电源消耗之间取得平衡。一些system functions,比如appliance (for example, answering machine, furnace control) operations,需要电源管理。
  • 电源资源(Power Resources)
设备需要的资源(比如power planes和clock sources),设备需要在给定的电源状态下对这些资源进行操作。
  • 电源来源(Power Sources)
  • 寄存器分组(Register Grouping)
由两个寄存器块组成(它有两个指向两个不同寄存器块的指针)。在寄存器分组(register grouping)内部的固定位可以被在两个寄存器块(register blocks)之间拆分。这就允许了在寄存器分组内部的位可以被在两个芯片(chips)之间拆分。
  • 保留位(Reserved Bits)
在ACPI硬件寄存器中有一些没有被使用的位,在ACPI规范中被称为保留位。为了未来能够扩展,硬件寄存器保留位总是被归零,并且写入的数据不会造成其他的影响。OSPM的实现必须往所有使能和状态寄存器的保留位写“0”,同样还要往控制寄存器(control registers)的preserve bits写“0”
  • 根系统描述指针(Root System Description Pointer (RSDP))
兼容ACPI的系统必须在系统低地址空间(system’s low address space)提供一个RSDP。这种结构的唯一目的就是提供RSDT和XSDT的物理地址。
  • 根系统描述表(Root System Description Table (RSDT))
signature为RSDT的table,它跟随在一组指向其他系统描述表(system description tables)的物理指针之后。OS通过跟随RSDP结构中的指针来定位RSDT。

状态 编辑

全局状态(Global System States,G-State) 编辑

ACPI规范定义了一台兼容ACPI的计算机系统可以有以下七个状态(所谓的全局状态):

  • G0(S0)正常工作状态:计算机的正常工作状态-操作系统和应用程序都在运行。CPU执行指令。 在这个状态下(即没有进入G1睡眠),CPU硬盘光碟機等设备可以进入節能狀態(如裝置和處理器效能狀態P-State、裝置電源狀態D-State、處理器電源狀態C-State)或從節能狀態恢復。
  • G1 睡眠 细分为从S0ix到S4等幾種状态。Linux內核的/sys/power/state檔案中對應的關鍵字與狀態: standby(S1), mem(S3), disk(S4)。在Windows中可用powercfg /a命令列出平台支援的ACPI G1狀態。
    • S0ix:Modern Standby。只有BIOS作業系統和所有的硬件都支援S0ix才能使用Modern Standby[3]。S0ix與S3不相容。
    • S1:最耗电的睡眠模式。CPU的所有寄存器被刷新,并且CPU停止执行指令。CPU内存的电源被維持。这种模式通常叫Power on Suspend或者叫做POS。老式的电脑对S1支持可能比S3好。
    • S2:一種比S1更深的睡眠状态,停止CPU的電源供應。然而,这种模式通常并不被采用。
    • S3 :又稱為Suspend to RAMSTR,在Windows XP以后的Windows版本和一些Linux发行版中叫做"待机(Standby)", 在Windows VistaMac OS X则叫做"睡眠(Sleep)"。在这个状态下,RAM是唯一的有电源供應的元件。S3的恢复的过程比S4快。如果S3睡眠過程中斷電,則所有儲存在RAM中的資料將遺失。S3是筆記型電腦最常用的睡眠模式。
    • S4: 在Windows中叫休眠 ,在Mac OS X中叫作安全睡眠,也稱為Suspend to Disk。在这个状态下,所有内存的内容被储存在硬盘,儲存操作系统当前的状态。S4和S3之间的差异是:S4消耗的時間較S3長;S3状态下的时候如果系統斷電,則所有RAM上的数据就会丢失,包括所有的没有保存的文档,而在S4状态下则没有影响。S4和"S1-S3"状态有很大不同,更类似G2Soft Off状态和G3 Mechanical Off状态。在S4状态下的系统同样可进入G3(Mechanical Off)状态,并且保留S4时候的状态信息。在Windows中可用powercfg命令的/h開關設定Windows的休眠功能。
  • G2S5Soft Off--G2S5,和Soft Off都是相同的叫法。G2和G3Mechanical Off几乎是相同的,但有些部件仍然带电,使计算机仍然可以被键盘、时钟(RTC)、數據機LANUSB等设备所唤醒。[4]在启动系统从G2恢复到G0正常工作模式的过程中,无论是G3 Mechanical Off还是G2都得运行启动程式来启动操作系统。

此外,当操作系统在不支持ACPI的情况下运行,这种状态被定义为Legacy。在这个状态下,硬件和电源不是通过ACPI来管理的,而是由進階電源管理(APM)、舊式隨插即用(Legacy Plug and Play)等管理。

  • G3S6Mechanical Off--G3S6,和Mechanical Off都是相同的叫法。即全部件斷電,在這種情況下只能從開機鍵喚醒。

(参考资料:ACPI规范3.0b版的链接在下面 External links, 查看chapter 7.3.4)

设备电源状态(Device Power State) 编辑

当一个设备已没有电源供应的时候,可能整个電腦系统还在工作,光驱是一个很好的例子。 设备状态是与设备相关的状态,他们的定义和以下四个因素有关:

电源消耗(Power consumption),设备用电量的多少。

设备状态/环境(Device context),设备(从D0进入其他状态的时候)保留了多少原来的状态/环境。操作系统负责保存丢失的设备状态/环境。

设备驱动(Device driver),让设备恢复到D0,驱动程序应该做什么(或者做多少)。

设备状态有以下几个:

  • D0 Fully-On 是(正常)工作状态,电源消耗量最多,设备是完全被響應的,并且设备保留了全部的设备状态/环境。
  • D1 和 D2是中间电源状态,它的定义根据设备的不同而有所不同。
  • D3 Off是设备电源关闭所以对总线来说是没有相应的。设备状态/环境全部丢失,操作系统会重新初始化设备当重新给它加电的时候。这个状态下的设备恢复到D0相比之下需要最长的时间。


设备状态总结
设备状态 电源消耗 保留设备状态信息 驱动程序恢复
D1 D0>D1>D2>D3 >D2 <D2
D2 D0>D1>D2>D3 <D1 >D1
D3 - Off 0 没有保留 完全初始化并且装载

处理器电源状态(Processor Power State) 编辑

处理器电源状态(C0,C1,C2,C3……Cn状态)是指在G0状态下的处理器电能消耗和温度管理的状态。

只有C0状态下CPU才会执行指令,C1到Cn状态下CPU都处于各种不同程度的睡眠状态(Sleeping States),在这睡眠状态下,CPU都有一个恢复到C0的唤醒时间(latency),它是和CPU的电能消耗有关的,通常,用电能量越小意味着得花更长的时间恢复到C0状态,也就是唤醒时间越长。

当在C0状态下时,ACPI可以通过性能状态(P-states)来改变处理器的性能。

各个状态的定义如下所示:

  • C0是正常工作状态,当处理器处于这种状态下的时候,它能正常处理指令
  • C1(通常称为Halt),拥有最短的唤醒时间,这个延时必须短到操作系统软件使用CPU的时候不会考虑到唤醒时间方面的因素。一些处理器,比如Pentium 4酷睿,支持C1E(Enhanced C1 state)。
  • C2 (通常称为Stop-Clock),这个状态下处理器维持着所有的软件所见的状态信息,但是需要更长的时间来恢复到C0。这个状态下情况最坏的硬件唤醒时间是由ACPI固件提供,并且操作系统可以利用这些信息来决定是采用C1而不是C2状态,C2比C1更省电。
  • C3 (通常称为Sleep),相比C1和C2更省电了。这个状态下情况最坏的硬件唤醒时间是由ACPI固件提供,并且操作系统可以利用这些信息来决定是采用C2而不是C3状态,当处于C3状态时,处理器缓存保留了所有的状态信息,但是忽略所有的侦听。操作系统负责保证缓存数据的一致性。
  • 附加的C-State由處理器廠商來定義,如Intel Haswell處理器最多有C10。

设备和处理器性能状态(Device and Processor Performance States) 编辑

设备和处理器性能状态(Px状态)是在C0(对于处理器)和D0(对于设备)下定义的电源消耗和能力的状态。性能状态允许OSPM在性能和能源消耗之间取得平衡。P0是最高性能状态,从P1到Pn是连续的低性能状态,最高限制n为16。

  • P0状态,使用最大性能并且消耗的电能最多。
  • P1状态,性能比前者要小,但是消耗电能也相应少一些。
  • Pn状态,n是的大小是依赖于处理器和设备的,处理器和设备可以定一个任意的不超过16的数字。

这个状态在Intel处理器中称为SpeedStep,在AMD处理器中称为PowerNow!Cool'n'Quiet,在VIA处理器中称为PowerSaver

參見 编辑

参考文献 编辑

  1. ^ What is ACPI (Advanced Configuration and Power Interface)? - Definition from WhatIs.com. SearchWindowsServer. [2020-09-18]. (原始内容于2019-05-15) (英语). 
  2. ^ ACPI Device Tree - Representation of ACPI Namespace — The Linux Kernel documentation. www.kernel.org. [2020-09-18]. (原始内容于2020-08-05). 
  3. ^ 新式待命. docs.microsoft.com. [2020-03-20]. (原始内容于2022-04-23) (中文(繁體)). 
  4. ^ Aram Kananov » How To: ACPI Suspend to RAM on Dell Latitude D800 with Fedora Core 3 互联网档案馆的,存档日期2008-10-02.

外部連結 编辑

高级配置与电源接口, 本條目存在以下問題, 請協助改善本條目或在討論頁針對議題發表看法, 此條目中有过多未翻译的专业术语, 可能需要翻译或解释, 2013年4月21日, 请在讨论页中发表对于本议题的看法, 并帮助翻译或解释本条目的术语, 此條目不符合維基百科的质量标准, 需要完全重寫, 2023年3月22日, 請在討論頁中討論相關議題, 並參考更优秀条目写作指南, 此條目可参照英語維基百科相應條目来扩充, 2023年3月22日, 若您熟悉来源语言和主题, 请协助参考外语维基百科扩充条目, 请勿直接提交机械翻译, 也. 本條目存在以下問題 請協助改善本條目或在討論頁針對議題發表看法 此條目中有过多未翻译的专业术语 可能需要翻译或解释 2013年4月21日 请在讨论页中发表对于本议题的看法 并帮助翻译或解释本条目的术语 此條目不符合維基百科的质量标准 需要完全重寫 2023年3月22日 請在討論頁中討論相關議題 並參考更优秀条目写作指南 此條目可参照英語維基百科相應條目来扩充 2023年3月22日 若您熟悉来源语言和主题 请协助参考外语维基百科扩充条目 请勿直接提交机械翻译 也不要翻译不可靠 低品质内容 依版权协议 译文需在编辑摘要注明来源 或于讨论页顶部标记 a href Template Translated page html title Template Translated page Translated page a 标签 高级配置与电源接口 英語 Advanced Configuration and Power Interface 縮寫 ACPI 是1997年由英特尔 微软 东芝共同提出 制定的操作系统電源管理 硬體組態介面 是一种開放标准 取代了進階電源管理 多處理器規範 舊式隨插即用 英语 Legacy Plug and Play 規範 2000年8月康柏和凤凰科技加入 推出 ACPI 2 0规格 2004年9月惠普取代康柏 推出 ACPI 3 0规格 2009年6月16日則推出 ACPI 4 0规格 2011年11月23日推出ACPI 5 0规格 由于ACPI技术正被多个操作系统和处理器架构采用 该规格的管理模式需要与时俱进 2013年10月 ACPI的推广者们一致同意将ACPI的属有归到UEFI论坛 今后新的ACPI规格将由UEFI论坛制定 ACPI定義了系統韌體 BIOS或UEFI 和作業系統之間的硬體抽象介面 1 2 目录 1 概要 2 ACPI术语 部分 3 状态 3 1 全局状态 Global System States G State 3 2 设备电源状态 Device Power State 3 3 处理器电源状态 Processor Power State 3 4 设备和处理器性能状态 Device and Processor Performance States 4 參見 5 参考文献 6 外部連結概要 编辑作为标准中最广为认可的部分 电源管理经历了较多的改进 首先 進階電源管理 APM Advanced Power Management 将电源管理几乎完全分配给BIOS控制 这大大的限制了操作系统在控制电能消耗方面的功能 ACPI可以实现的功能包括 系统电源管理 System power management 设备电源管理 Device power management 处理器电源管理 Processor power management 设备和处理器性能管理 Device and processor performance management 配置 即插即用 Configuration Plug and Play 系统事件 System Event 电池管理 Battery management 温度管理 Thermal management 嵌入式控制器 Embedded Controller SMBus控制器 SMBus Controller Windows 98是微软第一个支持ACPI的操作系统 FreeBSD v5 0是支持ACPI的第一个UNIX操作系统 來源請求 Linux NetBSD和OpenBSD都支持ACPI Windows Vista及以後的Windows要求電腦必須支援ACPI ACPI术语 部分 编辑高级配置电源管理接口 Advanced Configuration and Power Interface ACPI 按照在本文中的定义 ACPI是一种描述硬件接口的方法 要足够抽象以允许灵活创新的硬件实现 并且足够具体以允许shrink wrap OS code使用这个硬件接口ACPI硬件 ACPI Hardware 它是一种电脑硬件 具有支持OSPM所必备的特性 而且还具有特定的接口 这些接口的特性是由ACPI规范所指定的描述表 Description Tables 所描述的 ACPI命名空间 ACPI Namespace 一个树状层次机构 在受操作系统控制的内存里面 这段内存里面包含命名对象 named objects 等 这些对象 objects 可以是数据对象 控制方法对象 总线 设备包对象等 操作系统通过从驻留在 ACPI BIOS 中的 ACPI Tables 载入载出 loading and or unloading 定义块 definition blocks 来动态改变命名空间 namespace 的内容 在ACPI Namespace 中的所有信息都来自 Differentiated System Description Table DSDT DSDT 里面包含了 Differentiated Definition Block 还有一个或者多个其他的定义块 definition blocks ACPI机器语言 ACPI Machine Language AML 是一种由ACPI兼容的OS支持的虚拟机的伪代码 Pseudo code 里面写有ACPI控制方法和控制对象 高级可编程中断控制器 Advanced Programmable Interrupt Controller APIC 一个中断控制器架构 通常多见于Intel32位架构 Intel Architecture based 32 bit 的PC系统 APIC架构支持多处理器中断管理 中断均匀的分布在所有处理器 多I O子系统支持 与8259A兼容 并且支持处理器内部中断 Inter Processor Interrupt IPI 这个架构由直属于处理器的本地APICs Local APICs 和在 南桥 芯片中的I O APIC组成 ACPI源语言 ACPI Source Language ASL 一种和AML等同的编程语言 ASL编译以后就是AML镜像 AML images 控制方法 Control Method 控制方法定义OS如何执行一个简单的硬件任务 例如 OS调用控制方法 Control Method 去读取一个高温区的温度 控制方法是用一种叫做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能够同时支持芯片组的不同修订版 中央处理器或者处理器 Central Processing Unit CPU or Processor 定义区块 Definition Block Definition Blockl以数据和控制方法 编码成AML 的形式包含关于硬件实现和配置详细信息 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的引用 装置 Device 熱溫區 Thermal Zone ACPI 風扇 Fan 装置上下文 Device Context 装置中包含的变化的数据 通常是易失性 volatile 数据 当进入或者离开特定的状态 states 的时候 设备应该忘记这些信息 在这种情况下OS软件负责保存并恢复这些信息 设备上下文 Device Context 指的是包含在设备周边的小数量的信息 同样可以看看系统上下文 区分系统描述表 Differentiated System Description Table DSDT OEM厂商必须为ACPI兼容的OS提供一个DSDT 这个DSDT包含区分定义块 它能提供关于基本系统的实现和配置信息 OS总是在ACPI Namespace中插入DSDT信息 当系统启动的时候 而且绝不会删除它 統一可扩展固件接口 Unified Extensible Firmware Interface UEFI 它是一个在OS和固件平台之间的接口 嵌入式控制器 Embedded Controller 嵌入式控制器介面 Embedded Controller Interface 韌體ACPI控制结构 Firmware ACPI Control Structure FACS 在读写内存中的一种结构 BIOS用它来实现韌體和OS之间的信息交换 handshaking 通过FADT Fixed ACPI Description Table FACS被转到兼容ACPI的OS中 FACS包含上次启动时的系统硬件签名 firmware waking vector 和Global Lock 固定ACPI描述表 Fixed ACPI Description Table FADT 一个包含ACPI 硬件寄存器块 Hardware Register Block 的实现和配置详细信息的表 OS需要用这些配置信息来直接管理ACPI硬件寄存器块和DSDT的物理地址 DSDT则包含其他平台的实现和配置详细信息 OEM厂商必须在RSDT XSDT中提供FADT给兼容ACPI的OS 当系统启动的时候 OS则总是把已经定义好了的namespace信息 它存在于DSDT的Differentiated Definition Block中 插入到ACPI Namespace 并且OS绝不会删除它 固定特征 Fixed Features ACPI接口提供的一组特征 ACPI规范限制硬件编程模型 hardware programming model 在哪产生还有如何产生的 所有的Fixed Features 如果被使用了 会按照本片规范中的描述进行实现 以使OSPM能够直接访问Fixed Features寄存器 fixed feature registers 固定特征事件 Fixed Feature Events 一组事件 当Fixed Feature寄存器中的一对状态和事件位 event bits 被在同一时间设定时 这组事件会在ACPI接口处发生 当一个Fixed Feature时间发生时 系统控制中断 SCI system control interrupt is raised 对于ACPI Fixed Feature Events来说OSPM or an ACPI aware driver 扮演事件的处理者 固定特征寄存器 Fixed Feature Registers 一组在fixed feature register space中的硬件寄存器 fixed feature register space在系统I O地址空间的特殊的地址里 ACPI为fixed features定义了寄存器块 register blocks 每个寄存器块从FADT那里得到一个单独的指针 一般目的事件寄存器 General Purpose Event Registers The general purpose event registers contain the event programming model for generic features All general purpose events generate SCIs 一般特征 Generic Feature 全局系统状态 Global System States Global System States适用于整个系统 而且对于用户是可见的 各种不同的Global System States在ACPI规范中是从G0标记到G3的 省略位 Ignored Bits 在ACPI硬件寄存器中的一些没有被使用的位 bits 在ACPI规范中会指定这些位是 ignored 的 在读的时候 软件会忽略ACPI硬件寄存器中的Ignored Bits位 而不去读取它 写的时候 会保护Ignored Bits 不去写这写位 Intel个人电脑架构 Intel Architecture Personal Computer IA PC 一种对于计算机的一般描述术语 这种计算机的处理器架构符合Intel处理器家族基于Intel架构指令集 Intel Architecture instruction set 的定义 并且有工业标准 industry standard PC的结构 I O APIC Input Output Advanced Programmable Interrupt Controller 一个输入输出高级可编程中断控制器 用来从设备传递中断给处理器里面的本地APIC local APIC I O SAPICAn Input Output Streamlined Advanced Programmable Interrupt Controller用来从设备传递中断给处理器里面的本地APIC local APIC 应用于安腾处理器 Itanium 和APIC的不同可以看看Intel Itanium Processor Family Interrupt Architecture Guide PDF文档的最后一章会讲到不同点 老式的 Legacy 这是一种电脑状态 在这个电脑状态下电源管理策略是由平台硬件 固件决定的 在如今的系统中 传统电源管理特性被用来支持安装有传统OS的电脑中的电源管理 这种传统OS并不支持OS直接管理电源架构 OS directed power management architecture 老式的硬件 Legacy Hardware 没有ACPI或者OSPM电源管理支持的电脑系统 老式的操作系统 Legacy OS 此類的作業系統無法得知或對系統的電源管理功能做管理 包含在此類型內的如一些支援APM 1 x的作業系統 本地APIC Local APIC 接收来自I O APIC的中断 本地SAPIC Local SAPIC 接收来自I O SAPIC的中断 关于SAPIC 请看 I O SAPIC 复合APIC描述表 Multiple APIC Description Table MADT 它被用在支持APIC和SAPIC的系统上 以描述APIC的实现 Following the MADT is a list of APIC SAPIC structures that declare the APIC SAPIC features of the machine 对象 Object ACPI Namespace的节点就是objects 这些objects被OS用system definition tables中的信息插入tree 这些objects可以是数据对象 data objects 包对象 package objects 控制方法对象 control method objects 等 包对象refer to其他对象 objects 对象同样拥有类型 type 大小 size 和相对名称 relative name 对象名 Object name ACPI Namespace的一部分 有一组规则for naming objects 操作系统直接电源管理 Operating System directed Power Management OSPM 电源 和系统 管理的一个模型 在其中OS扮演重要的角色 使用全局信息为手边的任务优化系统行为 system behavior 包 Package 一组objects 电源按鈕 Power Button 用户按的按钮或者其他有触点的开关 switch contact 设备 通过它可以把系统从睡眠或者soft off状态切换到工作状态 还可以给OS发送信号使OS从睡眠或者soft off状态恢复到工作状态 电源管理 Power Management 一种最小化系统电源消耗的软硬件机制 管理系统热量限制 延长系统电池使用时间 battery life 电源管理在系统速度 噪音 电池使用时间 处理器速度 还有电源消耗之间取得平衡 一些system functions 比如appliance for example answering machine furnace control operations 需要电源管理 电源资源 Power Resources 设备需要的资源 比如power planes和clock sources 设备需要在给定的电源状态下对这些资源进行操作 电源来源 Power Sources 寄存器分组 Register Grouping 由两个寄存器块组成 它有两个指向两个不同寄存器块的指针 在寄存器分组 register grouping 内部的固定位可以被在两个寄存器块 register blocks 之间拆分 这就允许了在寄存器分组内部的位可以被在两个芯片 chips 之间拆分 保留位 Reserved Bits 在ACPI硬件寄存器中有一些没有被使用的位 在ACPI规范中被称为保留位 为了未来能够扩展 硬件寄存器保留位总是被归零 并且写入的数据不会造成其他的影响 OSPM的实现必须往所有使能和状态寄存器的保留位写 0 同样还要往控制寄存器 control registers 的preserve bits写 0 根系统描述指针 Root System Description Pointer RSDP 兼容ACPI的系统必须在系统低地址空间 system s low address space 提供一个RSDP 这种结构的唯一目的就是提供RSDT和XSDT的物理地址 根系统描述表 Root System Description Table RSDT signature为RSDT的table 它跟随在一组指向其他系统描述表 system description tables 的物理指针之后 OS通过跟随RSDP结构中的指针来定位RSDT 状态 编辑全局状态 Global System States G State 编辑 ACPI规范定义了一台兼容ACPI的计算机系统可以有以下七个状态 所谓的全局状态 G0 S0 正常工作状态 计算机的正常工作状态 操作系统和应用程序都在运行 CPU执行指令 在这个状态下 即没有进入G1睡眠 CPU 硬盘 光碟機等设备可以进入節能狀態 如裝置和處理器效能狀態P State 裝置電源狀態D State 處理器電源狀態C State 或從節能狀態恢復 G1 睡眠 细分为从S0ix到S4等幾種状态 Linux內核的 sys power state檔案中對應的關鍵字與狀態 standby S1 mem S3 disk S4 在Windows中可用powercfg a命令列出平台支援的ACPI G1狀態 S0ix Modern Standby 只有BIOS 作業系統和所有的硬件都支援S0ix才能使用Modern Standby 3 S0ix與S3不相容 S1 最耗电的睡眠模式 CPU的所有寄存器被刷新 并且CPU停止执行指令 CPU和内存的电源被維持 这种模式通常叫Power on Suspend或者叫做POS 老式的电脑对S1支持可能比S3好 S2 一種比S1更深的睡眠状态 停止CPU的電源供應 然而 这种模式通常并不被采用 S3 又稱為Suspend to RAM或STR 在Windows XP以后的Windows版本和一些Linux发行版中叫做 待机 Standby 在Windows Vista和Mac OS X则叫做 睡眠 Sleep 在这个状态下 RAM是唯一的有电源供應的元件 S3的恢复的过程比S4快 如果S3睡眠過程中斷電 則所有儲存在RAM中的資料將遺失 S3是筆記型電腦最常用的睡眠模式 S4 在Windows中叫休眠 在Mac OS X中叫作安全睡眠 也稱為Suspend to Disk 在这个状态下 所有内存的内容被储存在硬盘 儲存操作系统当前的状态 S4和S3之间的差异是 S4消耗的時間較S3長 S3状态下的时候如果系統斷電 則所有RAM上的数据就会丢失 包括所有的没有保存的文档 而在S4状态下则没有影响 S4和 S1 S3 状态有很大不同 更类似G2Soft Off状态和G3 Mechanical Off状态 在S4状态下的系统同样可进入G3 Mechanical Off 状态 并且保留S4时候的状态信息 在Windows中可用powercfg命令的 h開關設定Windows的休眠功能 G2 S5 Soft Off G2 S5 和Soft Off都是相同的叫法 G2和G3Mechanical Off几乎是相同的 但有些部件仍然带电 使计算机仍然可以被键盘 时钟 RTC 數據機 LAN USB等设备所唤醒 4 在启动系统从G2恢复到G0正常工作模式的过程中 无论是G3 Mechanical Off还是G2都得运行启动程式来启动操作系统 此外 当操作系统在不支持ACPI的情况下运行 这种状态被定义为Legacy 在这个状态下 硬件和电源不是通过ACPI来管理的 而是由進階電源管理 APM 舊式隨插即用 Legacy Plug and Play 等管理 G3 S6 Mechanical Off G3 S6 和Mechanical Off都是相同的叫法 即全部件斷電 在這種情況下只能從開機鍵喚醒 参考资料 ACPI规范3 0b版的链接在下面 External links 查看chapter 7 3 4 设备电源状态 Device Power State 编辑 当一个设备已没有电源供应的时候 可能整个電腦系统还在工作 光驱是一个很好的例子 设备状态是与设备相关的状态 他们的定义和以下四个因素有关 电源消耗 Power consumption 设备用电量的多少 设备状态 环境 Device context 设备 从D0进入其他状态的时候 保留了多少原来的状态 环境 操作系统负责保存丢失的设备状态 环境 设备驱动 Device driver 让设备恢复到D0 驱动程序应该做什么 或者做多少 设备状态有以下几个 D0 Fully On 是 正常 工作状态 电源消耗量最多 设备是完全被響應的 并且设备保留了全部的设备状态 环境 D1 和 D2是中间电源状态 它的定义根据设备的不同而有所不同 D3 Off是设备电源关闭所以对总线来说是没有相应的 设备状态 环境全部丢失 操作系统会重新初始化设备当重新给它加电的时候 这个状态下的设备恢复到D0相比之下需要最长的时间 设备状态总结 设备状态 电源消耗 保留设备状态信息 驱动程序恢复D1 D0 gt D1 gt D2 gt D3 gt D2 lt D2D2 D0 gt D1 gt D2 gt D3 lt D1 gt D1D3 Off 0 没有保留 完全初始化并且装载处理器电源状态 Processor Power State 编辑 处理器电源状态 C0 C1 C2 C3 Cn状态 是指在G0状态下的处理器电能消耗和温度管理的状态 只有C0状态下CPU才会执行指令 C1到Cn状态下CPU都处于各种不同程度的睡眠状态 Sleeping States 在这睡眠状态下 CPU都有一个恢复到C0的唤醒时间 latency 它是和CPU的电能消耗有关的 通常 用电能量越小意味着得花更长的时间恢复到C0状态 也就是唤醒时间越长 当在C0状态下时 ACPI可以通过性能状态 P states 来改变处理器的性能 各个状态的定义如下所示 C0是正常工作状态 当处理器处于这种状态下的时候 它能正常处理指令 C1 通常称为Halt 拥有最短的唤醒时间 这个延时必须短到操作系统软件使用CPU的时候不会考虑到唤醒时间方面的因素 一些处理器 比如Pentium 4 酷睿 支持C1E Enhanced C1 state C2 通常称为Stop Clock 这个状态下处理器维持着所有的软件所见的状态信息 但是需要更长的时间来恢复到C0 这个状态下情况最坏的硬件唤醒时间是由ACPI固件提供 并且操作系统可以利用这些信息来决定是采用C1而不是C2状态 C2比C1更省电 C3 通常称为Sleep 相比C1和C2更省电了 这个状态下情况最坏的硬件唤醒时间是由ACPI固件提供 并且操作系统可以利用这些信息来决定是采用C2而不是C3状态 当处于C3状态时 处理器缓存保留了所有的状态信息 但是忽略所有的侦听 操作系统负责保证缓存数据的一致性 附加的C State由處理器廠商來定義 如Intel Haswell處理器最多有C10 设备和处理器性能状态 Device and Processor Performance States 编辑 设备和处理器性能状态 Px状态 是在C0 对于处理器 和D0 对于设备 下定义的电源消耗和能力的状态 性能状态允许OSPM在性能和能源消耗之间取得平衡 P0是最高性能状态 从P1到Pn是连续的低性能状态 最高限制n为16 P0状态 使用最大性能并且消耗的电能最多 P1状态 性能比前者要小 但是消耗电能也相应少一些 Pn状态 n是的大小是依赖于处理器和设备的 处理器和设备可以定一个任意的不超过16的数字 这个状态在Intel处理器中称为SpeedStep 在AMD处理器中称为PowerNow Cool n Quiet 在VIA处理器中称为PowerSaver 參見 编辑BIOS UEFI 韌體参考文献 编辑 What is ACPI Advanced Configuration and Power Interface Definition from WhatIs com SearchWindowsServer 2020 09 18 原始内容存档于2019 05 15 英语 ACPI Device Tree Representation of ACPI Namespace The Linux Kernel documentation www kernel org 2020 09 18 原始内容存档于2020 08 05 新式待命 docs microsoft com 2020 03 20 原始内容存档于2022 04 23 中文 繁體 Aram Kananov How To ACPI Suspend to RAM on Dell Latitude D800 with Fedora Core 3 互联网档案馆的存檔 存档日期2008 10 02 外部連結 编辑https acpica org 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title 高级配置与电源接口 amp oldid 78624216, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。