操作系统中的电源管理单元

2025年1月7日 | 阅读13分钟

引言

电源管理单元 (PMU) 是计算机设备中的一个重要单元,它负责监督能源效率,以微调性能并延长电池寿命。其主要功能是响应系统中各组件的电源电压和频率分配。如果需要,根据工作负载和系统调整电压和频率。

PMU 作为软件和硬件之间的中介,实现了操作系统与硬件组件之间的通信,包括处理单元、图形处理单元、内存模块和外部设备。通过正确的电源管理,PMU 有助于实现能源效率和系统性能,在不同的工作负载或天气条件下都能高效运行系统。

PMU 的组件和架构

总的来说,电源管理单元的架构由几个主要模块构成,这些模块旨在尽可能精确地监视、调节和分配整个系统的电源。这些组件可能因具体设计和实现而异,但通常包括:

  • 电源管理控制器: 这是 PMU 依赖的核心处理器,用于执行各种电源管理算法和协调点。
  • 传感器和监控电路: 这些硬件负责物联网设备群,需要实时了解系统参数,如温度、电流、电压和功耗。因此,PMU 会关注这些值并采用高效或合适的电源管理策略。
  • 稳压器: 稳压器对系统的稳定性非常重要,它们有助于确保系统中各个组件之间的电压水平稳定。它们会根据动态工作负载限制调整注入组件的电压,从而倾向于出色的性能,而不是牺牲稳定性。
  • 频率伸缩模块: 这些模块便于根据应用程序输出动态切换 CPU 和 GPU,以优化处理过程。根据工作负载的变化向上或向下调整 PMU 频率,可以以最小的电力需求微调性能水平。
  • 电源开关电路: 该组件的运行模式用于选择性地启动或禁用硬件部件,以便 PMU 可以选择将这些设备置于低功耗模式或完全关闭它们,尤其是在给定设备不使用时。
  • 通信接口: 通过这些专用接口,PMU 与操作系统和其他系统组件进行通信,例如 PC 平台使用 ACPI,或手机上的移动 OS PMU。因此,这些接口允许控制和电源通信无缝地从软件传递到硬件。

电源管理单元的演变

过去十年,由于硬件的进步、计算范式的转变以及对能源效率需求的增加,操作系统的电源管理经历了巨大的变革。电源控制在 OS 中的诞生与通过应用各种高级机制和算法克服的挑战紧密相连。

早期系统

  • 在早期 PC 问世的阶段,电源管理并不重要,因为计算机的能耗较低,而且随着便携式设备的稀缺,只有少数人使用计算机。操作系统或多或少被设计为内存管理器和任务调度器,对省电方面贡献不大或没有贡献。

便携式设备的兴起

  • 20 世纪 90 年代出现的笔记本电脑、PDA(个人数字助理)和其他便携式设备为电源管理奠定了基础。这些设备由电池供电,因此目标是尽可能明智地使用它们,以避免过度消耗能源并避免电池过早耗尽。早期的操作系统具有一些省电功能。例如,您可能注意到在一段时间未使用 PC 后显示屏会变暗,或者将其置于待机模式。

ACPI 和高级电源管理 (APM)

  • 电源管理效果的一个关键时刻发生在20 世纪 90 年代,当时为台式机和便携式计算机开发了ACPI(高级配置和电源接口)和 APM(高级电源管理)标准。ACPI 引入了一种技术,使所有硬件组件都能与操作系统通信,并运行更高级的电源管理,例如CPU 时钟、设备状态和整个系统的电源策略

动态电压和频率缩放 (DVFS)

  • 随着对更高应用性能的需求日益增长以及多核处理器的普及,电源管理被整合到动态电压和频率缩放 (DVFS) 中。操作系统可以以动态方式控制 CPU 电压和频率,这取决于工作负载的需求。这种控制最大程度地减少了功耗,同时仍然提供了执行各种任务的工具。

与硬件功能的集成

  • 除了生产节能组件和传感器的硬件制造商之外,操作系统也在不断地被设计成更精确地控制并更好地利用硬件部件,特别是用于电源管理。将这些功能整合到一个平台中,实现了以下功能:亮度控制、基于环境的热量管理、根据操作条件调整的用户行为以及上下文分配的电源策略等详细信息。

电源管理单元 (PMU) 的作用

  • 动态电压和频率缩放 (DVFS): PMU 的主要任务包括使用DVFS,它根据系统负载和需求改变计算机硬件的速度和功耗。因此,由于 PMU 源是实时选择的,这些设置将始终进行调整,从而 PMU 选择最有效的方式,避免了损失,并确保了性能的稳定性,因为功耗是最佳的。
  • 电源状态转换: PMU 确保 CPU、内存和硬件组件等组件的电源转换过程是状态化的。它允许根据活动警报在活动、空闲和睡眠状态之间切换,从而在不影响性能的情况下最小化功耗,尽管有时需要快速响应。
  • 热量管理: 此外,它还针对电源管理功能。它有助于创造适宜的环境,防止系统过热。它拥有集成传感器,并通过调整嵌入在每个硬件单元中的温度传感器的温度来自动计算电源传输方式。通过时序和反馈与校正因子进行的系统性附加操作,解决了系统耐用性的非线性问题。
  • 设备电源管理: 电源管理单元 (PMU) 的作用是管理连接设备的状态:容器、端口、存储介质屏幕。它优先考虑电能消耗。这可能是可能的;例如,电源仅在设备使用时才打开,或者如果机器正在使用,电源则受到系统限制。这可以节省能源,因为系统仍然可以充分运行。
  • 电池管理: 在电力方面,PMU (电源管理单元) 对于笔记本电脑、平板电脑和智能手机等电池供电设备起着重要作用。它通过评估电池健康状况、预测剩余运行时间以及采用节能方法来确保电池寿命,从而执行这些监控功能。此角色包括同步充电周期以最大化能源消耗,根据剩余电量使用电源(例如,电池充满时消耗的电量较少),并确保将电池状态信息提供给操作系统。
  • 用户界面和控件: 除了提供接口之外,这些功能还可以帮助用户根据不同的需求和情况安排电源管理。此类别可能包括快捷方式,例如根据不同用例(例如,“高性能”、“省电”)定义的适当设置的自定义电源配置文件。此外,用户还有机会配置其他参数,包括屏幕亮度、睡眠计时器,甚至外围模块的能源管理。
  • 与操作系统策略集成: PMU 监控计算能力利用率,并根据绝对目标调整操作系统的电源管理策略。它与内核交互,以执行节能策略,响应用户输入,并满足不断变化的环境条件或新负载。

各种操作系统中的 PMU

1. Windows 电源管理单元

Windows 操作系统,包括桌面版和服务器版,都具有电源管理单元 (PMU),用于减少和延长移动设备的电池寿命,并确保台式机和服务器不受省电模式的影响。

  • 电源选项界面: Windows 软件将引导用户通过控制面板设置进行操作,让用户选择自己的电源选项。此链接指导了在不同电源计划之间切换的重要性,例如 CPU 性能和亮度,并提供可编程的自动设置选项。因此,提供了选择电源模式的机会,例如“平衡”、“省电”、“高性能”以及“下载模式”,并根据特定使用场景进行自定义。
  • 高级电源管理功能: Windows 等操作系统包括适用于低功耗运行的内置功能。动态电压和频率缩放 (DVFS)、CPU 电源状态 (C-states) 和设备电源管理 (DPM) 都与此相关。这些功能会根据系统使用强度自动调整硬件设置,通过更改硬件设计来优化功耗,而不会影响性能。
  • 电池节电模式: Windows 推出了电池节电模式,该模式可让您在笔记本电脑、平板电脑和其他设备上使用更长时间而无需电源。智能活动电池节电模式通过减少后台活动、优化系统设置和限制不必要的运行来节省电力。用户可以配置电池节电设置,并定义基于电池电量的自动关机活动。
  • 现代待机: Windows 沿用了“现代待机”,这是一种省电功能,在 Windows 8 中首次亮相并随着时间的推移不断改进。现代待机允许设备保持低功耗睡眠状态,同时保持连接和响应能力,以支持电子邮件同步、应用程序更新和通知等任务。它为您提供了两全其美:传统的休眠功能运行良好,并集成了即时启动机会,提供了卓越的用户体验。

2. Linux 电源管理单元

Linux 发行版作为许多电源管理形式的容器,无论是内核还是用户空间层面。这些发行版的一些示例包括Ubuntu、Fedora 和 Debian。Linux 拥有多样化且可配置的电源管理环境;其架构实现了各种设备和不同的使用场景。

  • 内核电源管理框架: Linux 内核配备了节能框架,可为 CPU 提供伸缩控制、CPU 空闲状态、设备电源管理和热量管理。内核级别的设备驱动程序和硬件原生子系统协同工作,以指示需要节省电力的位置。
  • PowerTOP 和 TLP:PowerTOPTLP(以前称为 Laptop Mode Tools)等程序可以找到监视和节省负载功耗的方法。PowerTOP 发现消耗过多功耗的应用程序(进程)和硬件组件;它提出了可以减少能源使用的优化方案。
  • ACPI 和 APM 支持: Linux 发行版部署了行业标准的电源管理规范,例如ACPI(高级电源管理和配置接口)APM(高级电源管理)。这些标准定义了与硬件通信的接口,直接在操作系统级别执行电源管理功能。

3. MacOS 电源管理单元

MacOS 具有精密的电源管理单元 (PMU),可处理能源效率信息,同时提供快速响应和良好的性能。macOS 是操作系统代表之一,从电源切换到电池以及集成的监控模块,实现了最无缝和用户友好的转换。

  • 节能偏好设置: 位于系统偏好设置中的“节能”偏好模式,与台式机和笔记本电脑 Mac 计算机一样,允许 macOS 用户设置其省电设置。用户可以调整显示器睡眠时间、系统睡眠时间和自动图形切换的级别,以进行调整,以方便用户和个人功耗需求来优化功耗。
  • App Nap 和 Power Nap: macOS 现在具有App NapPower Nap 功能,可在待机时减少功耗,同时仍保持软件运行。App Nap 降低了后台应用程序的 CPU 和 GPU 使用率。因此,它在不影响前台任务的情况下节省了能源。使用 Power Nap 选项,Mac 在睡眠时可以执行电子邮件获取、iCloud 同步和 Time Machine 备份等任务,同时保持唤醒状态。这是一个有用的机制,可确保信息是最新的,并且计算机操作可以正常进行。
  • 电池健康管理: macOS 实施了特定的电池寿命管理功能,以确保 MacBook 的电池寿命尽可能长。电池健康管理是一个智能系统,可根据您的使用模式和电池状况自适应地自动更改充电模式,通过最大限度地减少化学老化来随着时间的推移保持电池容量。可以从系统设置的“电池”菜单中查看电池信息,也可以调整充电习惯。
  • 自动图形切换: 具有独立和集成图形系统的 Apple 笔记本电脑利用自动图形切换设计,这是一种省电功能,可根据工作强度在集成独立图形处理器之间自动切换。在不损失性能的情况下,当执行常规任务时,共享 GPU 的一部分会扩展并优化电池寿命。其他负责图形处理的硬件会在设备执行图形任务时开启并使用。

PMU 相关的挑战和解决方案

1. 功耗与性能的权衡

挑战

在 PMU 控制中,平衡电能消耗与系统效率仍然是基本任务。诸如硬件设计选择、操作系统优化等省电措施可能会导致性能下降,但一些提高性能的极端决策可能需要额外的功耗。

解决方案

  • 动态电压和频率缩放 (DVFS): 这是一个根据硬件工作负载改变频率和电压的模块,由于其对工作负载的依赖性,将采用特定于应用程序的设计。因此,在调整其功耗需求时,它们不必损失质量和可靠性。
  • 电源调节器 (Power Governors): 可以通过使用由针对权衡而设计的算法引导的治理来迅速解决性能与功耗效率的问题。根据最终用户对所需内容以及系统效率的偏好,可以选择各种电源调节器。
  • 自适应电源管理: 实现此目的的方法是使用基于机器学习算法的电源管理自适应技术,其中会探索应用程序的所有工作负载特征,并搜索一组节能选项,这些选项可以在特定时刻动态调整以达到所需的性能水平并降低功耗。

2. 兼容性和驱动程序问题

挑战

由于机器配置的种类繁多,很难将电源模块解释为适用于所有机器。硬件架构、固件版本和设备驱动程序在重构中的多样性使用会因许多冲突而损害电源管理,因此,要实现可实现的功能需要付出很多努力。

解决方案

  • 标准化: 通过 (ACPI) 高级电源管理行业标准,为不同应用程序的引入提供了便利,为多种设备类型提供了平台。ACPI 标准的不变性扩展了其应用范围,因为它避免了因不同 ACPI 版本而导致的兼容性问题。因此,ACPI 规范为电源管理提供了最终标准。
  • 设备驱动程序更新: 将设备驱动程序、固件和 BIOS/UEFI 固件的旧版本替换为新版本,这样,硬件制造商和软件开发人员将能够解决各种设备的兼容性问题,并分别改进电源管理措施。
  • 兼容性测试: 在系统开发和部署期间进行的广泛手动测试也用于检查不同硬件型号上 PMU 的缺点。这确保了不同的配置在某些情况下能提供扩展的产品集和稳定的性能。

3. 与硬件功能的集成

挑战

由于能够区分硬件功能的能力及其接口,电源管理集成与各种硬件设计人员的集成带来了许多问题。这些构建元素与后者及其特定的软件和硬件组件之间的数据传输的交互,直接关系到构建的元素能否顺利运行的 PMU。

解决方案

  • 硬件抽象层 (HAL): 通过引入Hangyang API for Lines (HAL),简化了硬件细节的抽象,为电源管理服务提供了通用接口,这使得跨广泛平台的硬件集成更加容易。
  • 传感器集成: PMU 平台的传感传输被实现,以根据从温度传感器、功率传感器和其他测量设备获取的传感器数据来转移有源电源管理和其他措施。将传感器数据集成到电源管理单元中,增强了系统的弹性,并提高了系统使用级别的效率。

其他方面

  • 用户自定义和偏好: 用户可以应用涉及操作系统的电源管理设置,并根据自己的意愿进行调整。例如,可以牺牲性能来提高能源效率,或者反之亦然,并且可以创建针对特定(用户)模式量身定制的自定义电源配置文件。
  • 实时电源监控和报告: 复杂的 PMU 可能提供实时监控和报告服务。作为用户,您可以通过详细跟踪消耗的电量以及重要的性能指标来做到这一点。
  • 虚拟化和云计算的考虑: 在虚拟化环境、PMU 和云平台以及它们的云计算内置机制中,会面临一个特殊的挑战,这主要基于资源分配调度的动态性。为了在满足SLA(服务级别协议)要求的同时高效优化能源使用,需要量身定制的电源管理解决方案,以最大化跨虚拟实例(运行的虚拟机)和IT 基础设施的能源消耗。