从 Windows 8 开始,Windows 支持内核模式设备驱动程序的热管理。 这种协调的方法有助于防止过热,并确保设备在跨平台上的可靠运行。
本文概述了设备级热管理概念。 有关实现信息,请参阅 热管理实现。
热管理目标
Windows 热管理具有以下主要目标:
- 防止硬件平台中的设备过热:使设备在安全的温度范围内运行,以确保设备正常运行且可靠。
- 用户安全:防止用户访问的表面变得太热,无法舒适地触摸或保持。
- 系统优化:平衡热要求与电源管理和用户响应需求。 Windows 智能地平衡平台中设备的热级别要求,以延长平台在电池供电下工作的时间,并维持计算机始终开启且始终连接的外观。
平台范围的协调
与电源管理类似,热管理在平台范围内实现时效果最佳,而不是隔离实施。 OS 协调全局热条件上下文中的设备本地热约束。 该方法:
- 跨多个设备分配冷却要求
- 最大程度地减少对用户正在执行的任务的干扰
- 平衡热需求与电源管理和系统响应能力
相比之下,与其他平台设备隔离管理热级别的设备驱动程序更有可能做出不理想的决策,从而导致低效的电源使用和无响应用户界面(UI)。
热区域和 ACPI
高级配置和电源接口(ACPI)使硬件平台供应商能够将其平台分区为称为 热区域的区域。
传感器设备跟踪每个热区域中的温度。 当热区域开始过热时,OS 可以采取协调措施来冷却该区域中的设备。 这些动作可以归类为被动冷却或主动冷却。
冷却模式
热管理有两种主要方法:
- 被动冷却
- 主动冷却
为了响应计算机使用情况或环境条件的变化,作系统(OS)使用其中一种(或可能两种方法)在硬件平台中动态管理热级别。
被动冷却
为了执行被动冷却,OS 会限制热区域中的一个或多个设备,以减少这些设备产生的热量。 限制可能涉及降低驱动设备的时钟频率、降低提供给设备的电压或关闭设备的一部分。 通常情况下,限流会限制设备性能。
被动冷却的示例包括:
- 以半速运行处理器
- 调暗显示背光
- 降低 GPU 性能
- 降低电池充电速率
主动冷却
若要执行主动冷却,OS 会打开冷却设备,例如风扇。 当被动冷却降低热区域中设备消耗的功率时,主动冷却会增加能耗。
活动冷却的示例包括:
- 打开和关闭风扇
- 调整风扇速度
- 激活液体冷却系统
选择冷却模式
在硬件平台的设计中,使用被动冷却或主动冷却的决定基于:
- 硬件平台的物理特征
- 平台的电源
- 如何使用平台
主动冷却可能更直接实现,但存在以下几个潜在缺点:
- 增加活动冷却设备(例如风扇)可能会增加硬件平台的成本和大小。
- 运行主动冷却设备所需的电源可能会减少电池供电平台可以在电池充电时运行的时间。
- 在某些应用中,风扇噪音可能不可取,风扇需要通风。
被动冷却是许多移动设备唯一可用的冷却模式。 特别是,手持计算平台可能具有封闭外壳,并依靠电池供电。 这些平台通常包含可限制性能以降低热量生成的设备。 这些设备包括处理器、图形处理单元(GPU)、电池充电器和显示反光灯。
手持计算平台通常在包含处理器和 GPU 的芯片(SoC)芯片上使用系统,SoC 硬件供应商为这些设备提供热管理软件。 但是,外围设备(如电池充电器和显示反光灯)位于 SoC 芯片外部。 这些设备的供应商必须提供设备驱动程序,这些驱动程序必须提供设备可能需要的任何热管理支持。 设备驱动程序支持热管理的相对简单方法是实现 GUID_THERMAL_COOLING_INTERFACE驱动程序接口。