低功耗 电源管理 ACPI协议

架构:

ARM 低功耗详细架构在上一篇
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


ACPI定义的计算机电源的几种管理状态

• G状态(Global System State)
• S状态(Sleep state)
• C状态(CPU power state)
• P状态(CPU Performance state)
• D状态(Device state)
• T状态(CPU Throttling state)

状态跳转

在这里插入图片描述

在这里插入图片描述

G 状态(Global System State)

G0~G3表示4个全局电源状态。其中,G0是运行状态,对应系统S0状态,CPU 可以处于 C0~C3等状态;G1是睡眠状态,CPU、设备等都停止工作;G2是软关机状态,通过OS关机命令进入;G3是机械关机 (硬关机),断开所有电源。

  • G0:工作状态(working)
    相当于计算机处于正常开机的状态,该状态下系统实时响应外部事件,用于程序可以正常执行,设备也可以动态分配自己的状态;
  • G1:休眠状态(sleeping)
    该状态类似于电脑待机或者休眠,处于低功耗状态,计算机此时不会去执行用户的程序,看起来就像关机,此时显示屏是关闭的,但是只要有唤醒操作还是可以很快的恢复到工作状态;
  • G2:(soft off)
    除了用户程序不再执行,操作系统的程序也不再执行,如果要唤醒的话需要较长时间恢复到工作状态,类似于电脑关机;
  • G3:(mechanical off)
    简单的讲就是拔电源线,如果是PC的话可能感觉和G2状态差不多,但是如果是服务器,G3唤醒时间比G2长很多。

S状态(Sleep state)

系统的休眠状态

S0~S4表示5个系统功耗状态。其中,S0是工作状态;S1也叫Standby状态,这时 CPU 停止运行,设备处于挂起状态;S2是比 S1更深的休眠状态,在通常的计算机系统一般没有实现;S3是内存休眠状态,这时CPU和设备都断电,内存保持供电,处于自刷新模式,只需消耗极少的能量 (由于计算机系统的状态都保存在内存中,可以很快地让用户回到睡眠之前的状态,在笔记本便携式电脑、智能手机、平板电脑中S3是用的非常多的一种省电模式);S4是硬盘休眠状态 (Hibernate),这时系统的全部状态保存到永久性存储介质(比如硬盘)中,CPU、内存以及各种外设均可以断电

在这里插入图片描述

  • S0:正常工作状态
    系统所有设备都处于开启状态;
  • S1:休眠模式(Power on Suspend)
    POS(Power on Suspend),在这个状态下CPU通过CPU的时钟控制器关闭(但是CPU的寄存器和cache好像还是维持的),其他设备也是正常处于开启状态,这个状态相当于降低CPU的功耗;
  • S2:休眠模式
    也是一种休眠模式,类似于S1,不过这个状态下CPU完全关闭(包括寄存器和cache),总线时钟也被down掉,其余设备还是照常保持;
  • S3:STR(Suspend to RAM)
    挂起到内存。这个状态除了内存其他设备都断电,内存会低速刷新;
  • S4:STD(Suspend to Disk)
    挂起到硬盘。系统主电源关闭,S4之前的内存信息写入硬盘,所有部件停止工作,系统主电源关闭,只有硬盘还带电并且可以被唤醒;
  • S5:完全下电
    电源都关闭了,即关机(shut down)。

从上面看的话S的级数越高(代表睡眠程度越深),越往后的状态消耗的电量越少,也就是越省电。S0~S4状态其实就是G1状态的细分。S5状态其实和G2状态一样。

S和G状态都属于ACPI系统电源管理

在这里插入图片描述

C状态(CPU power state 处理器电源管理)

OS在空闲状态时,OSPM通过ACPI使CPU进入不同的电源状态(C-state)
表示CPU的供电状态,用于降低CPU功耗的,其实就是G0下的状态:

  • C0:此时CPU还是正常执行各种指令,相当于满状态运行,唤醒时间为0;
  • C1:这个状态已经需要唤醒时间了,不过很小(idle),一般软件在执行过程中对该影响基本可以忽略不计,这个状态CPU的功耗已经大大降低了;
  • C2:唤醒时间比C1更长,功耗比C1更低;
  • C3:唤醒时间比C2更长,功耗比C2更低,这个状态下CPU依旧会保持缓存信息,但是不会对信息进行监听,需要软件自身负责保证缓存内容的一致性。
    (后面好像还定义了更多的C(C4、C5、C6)状态,总体就是CPU功耗更低,响应更慢,工作方式更简单)

在这里插入图片描述

P状态(CPU Performance state 设备和处理器性能管理)

当系统处于活动状态时,OSPM通过ACPI可以将设备和CPU设置成不同的性能状态,以达到性能和功耗的平衡(P-sate)

该状态也称为EIST(Enhanced Intel Speed Step Technology),通过控制CPU的电压和频率来变更CPU的性能,进而改变功耗。为C0状态下降低CPU功耗的一种方式。

D状态(Device state 设备电源管理)

外围设备状态。定义主板设备的电源状态(D-state)

  • D0:设备正常工作;
  • D1:可以减小部分功耗,由设备本身决定,有些设备没有D1状态;
  • D2:设备关闭部分功能,节约更多的功耗,同样由设备本身决定,有些设备没有D2状态;
  • D3:设备电源被完全关闭,重新想让设备工作的话除了说要给设备供电,还要重新做初始化操作。

T状态(CPU Throttling state节流状态)

T状态则是通过调节CPU时钟的开启关闭来降低功耗。
一种节能状态,也是在C0状态下降低CPU功耗的一种方式,与P状态不同,T状态是通过调整单位时间内CPU Clock On的占空比(CPU Clock On /(Clock On + Clock Off))的方式 ,改变系统的功耗和温度。


Linux ACPI 接口

处理器控制接口 (CPUfreq)

内核中的cpufreq子系统通过sysfs文件系统向上层应用提供了用户接口,对于系统中的每一个CPU而言,其cpufreq的sysfs用户接口位于:/sys/devices/system/cpu/cpuX/cpufreq/目录下

休眠控制接口(S状态)

Linux内核下对 ACPI 各种睡眠状态也提供了相关的支持,并通过sysfs文件系统向上层应用提供了用户接口,这些用户接口位于/sys/power/目录下,用户可以在该目录下找到名为“state”的文件,该文件中记录着当前主机软硬件系统支持的睡眠状态,包括 standby、mem 和 disk 等,分别对应于 ACPI 标准中的 S1、S3 和 S4 状态。

散热控制接口(IPA)

ACPI允许操作系统电源管理(OSPM, Operating System directed [configuration and] Power Management)管理系统的冷却策略。基于 OSPM 对于运行时环境的控制,可以根据 CPU 和系统热量负载来制定冷却决策,同时提供系统过热时的保护性措施。ACPI定义了可供 OSPM 控制主板温度的热能对象,并且 ACPI 的热设计围绕着称为“热量区域”(thermal domain)的范围进行。大致上来说,整个主机是一个大的热量区域,但是设备生产商(OEM, Original Equipment Manufacturer)可以根据需要将系统划分为多个热量区域。

Linux对于散热的控制接口在/sys/class/thermal 目录下


The Advanced Configuration and Power Interface (ACPI) specification was developed to establish industry common interfaces enabling robust operating system (OS)-directed motherboard device configuration and power management of both devices and entire systems. ACPI is the key element in Operating System-directed configuration and Power Management (OSPM). ACPI evolved the existing pre-ACPI collection of power management BIOS code, Advanced Power Management (APM) application programming interfaces (APIs, PNPBIOS APIs, Multiprocessor Specification (MPS) tables and so on into a well-defined power management and configuration interface specification. ACPI provides the means for an orderly transition from existing (legacy) hardware to ACPI hardware, and it allows for both ACPI and legacy mechanisms to exist in a single machine and to be used as needed. Further, system architectures being built at the time of the original ACPI specification’s inception, stretched the limits of historical “Plug and Play” interfaces. ACPI evolved existing motherboard configuration interfaces to support advanced architectures in a more robust, and potentially more efficient manner. The interfaces and OSPM concepts defined within this specification are suitable to all classes of computers including (but not limited to) desktop, mobile, workstation, and server machines. From a power management perspective, OSPM/ACPI promotes the concept that systems should conserve energy by transitioning unused devices into lower power states including placing the entire system in a low-power state (sleeping state) when possible. This document describes ACPI hardware interfaces, ACPI software interfaces and ACPI data structures that, when implemented, enable support for robust OS-directed configuration and power management (OSPM)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值