高级配置与电源接口

您所在的位置:网站首页 pavement翻译成汉语 高级配置与电源接口

高级配置与电源接口

2023-02-22 09:32| 来源: 网络整理| 查看: 265

此條目需要編修,以確保文法、用詞、语气、格式、標點等使用恰当。 (2017年12月24日)請按照校對指引,幫助编辑這個條目。(幫助、討論) 此條目中有过多未翻译的专业术语,可能需要翻译或解释。 (2013年4月21日)请在讨论页中发表对于本议题的看法,并帮助翻译或解释本条目的术语。

高级配置与电源接口(英文: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 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 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的休眠功能。 G2S5)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)等管理。

G3S6)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>D1>D2>D3 >D2 D1>D2>D3 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。

參見[编辑] 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 (页面存档备份,存于互联网档案馆)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3