T-DVS:基于温度的动态电压调节

T‐DVS:基于温度反转现象的温度感知动态电压调节(T‐DVS)

1. 引言

近期移动设备 employ 高性能多核应用处理器(AP)。性能的提升伴随着额外的功耗,这在能耗方面限制了移动设备。因此,功耗优化是一个关键问题,已开发出多种方法来降低功耗。动态电压频率调节(DVFS)是一种广泛使用的方法,通过在应用处理器中采用特定的调频策略控制器来实现频率调节。该方案将预设工作电压与选定频率配对。工作电压包含一个保护带,以确保在各种操作条件下(如温度、电压波动和电路老化)的稳定运行。该保护带被保守地设置以支持最坏情况下的操作条件。

电压降低也是提高能效的有效手段。先前研究尝试通过多种技术来降低工作电压,例如使用错误校正进行动态电压降低 [1],[2],以及根据程序行为对电压噪声的预测来减小保护带 [9]。

在移动设备中,温度是影响设备运行的关键参数之一。大多数移动设备采用动态热管理(DTM)来防止各种与温度相关的问题。智能手机中的应用处理器在设备运行期间会因设备内部和外部条件而经历各种温度变化。保证温度通常在‐25至 125°C范围内[12]。在DVFS中,该温度范围内的每个频率都采用经过充分测试的唯一电压。这一唯一电压可确保即使在最坏情况温度下系统的安全运行。然而,在移动设备的一般使用场景中,应用处理器大部分时间都处于正常温度,而用于保证安全电压的保护带所消耗的功耗可能存在浪费。

在本文中,我们尝试通过考虑基于温度反转现象[8]的电压与温度之间的关系,来最小化这种不必要的电压保护带。根据温度反转现象,工作电压会随着芯片温度的变化而变化,这为降低功耗提供了机会。为了实现这一目标,我们寻求解决两个具有挑战性的问题。首先,在不影响系统稳定性的前提下,获得不同温度条件下的最小工作电压。其次,为了确保方案的鲁棒性,我们开发了补偿各种芯片特性的方法。我们提出了一种温度感知动态电压调节(T‐DVS)作为上述问题的解决方案。在给定频率和温度的情况下,T‐DVS 能够在存在芯片变异的情况下准确估计最佳工作电压。我们展示了 T‐DVS 可在商用应用处理器上有效运行,并证明重新调整的电压确实能够降低功耗。

2. 温度倒置

所有时钟驱动的半导体器件都是被设计的以目标频率运行时所需的驱动电压称为标称电压。移动应用处理器通常在包含目标频率的宽频率范围内工作。可用频率范围是在芯片制造完成后通过表征测试确定的。过驱是指使用高于设计目标的频率和电压的情况,欠驱则是相反的情况。根据温度反转现象,驱动硅电路所需的最小电压水平会随着电路温度的变化而变化。

为了在真实设备中复现温度倒置现象,我们使用商用AP进行了实验。实验包括在不同的芯片内温度下测量中央处理器的最小工作电压 $ V_{min} $,并观察 $ V_{min} $ 的变化情况。我们使用了三种移动应用处理器:三星Exynos 4412、Exynos 5433和 Exynos 7420。它们分别采用28纳米、20纳米和14纳米工艺制造,标称电压分别为1.0伏特、0.95伏特和0.8伏特。实验中使用了AP测试设备和AP评估板(详见第4.1节)。AP测试仪通过AP评估板控制测试流程,并实现环境温度调节。图1显示了特定频率下 $ V_{min} $ 随芯片内温度变化的情况。图中确实出现了温度倒置现象:在高频率(过驱)时, $ V_{min} $ 随温度升高而增加;在低频率(欠驱)时, $ V_{min} $ 随温度降低而增加。该现象在上述三种采用不同工艺制造的应用处理器中均被观察到。

示意图0

实验表明,无论芯片工艺差异如何,温度倒置现象都会发生。

就应用处理器工作条件而言,过驱时最高温度是最差条件,而欠驱时最低温度是最差条件。在传统DVFS中,于最差温度下确定的 $ V_{min} $ 被用作电压表中该频率对应的唯一电压。该固定电压足以保证系统运行最坏的情况,但在正常温度下则过高。根据实验,平均工作温度约为40摄氏度,在高频率下的预期电压增益为 12.5‐37.5毫伏,在低频率下为25‐50毫伏。

3. T‐DVS系统

T‐DVS 执行激进的在温度范围内进行电压控制以实现节能。在之前的实验中,我们观察到 $ V_{min} $ 会因芯片差异而变化,因此,应考虑各个芯片组的特性来估算电压增益。T‐DVS 旨在根据芯片组特性自适应地控制电压。

T‐DVS由三个功能模块组成:电压增益学习器、运行时温度检测器和DVS控制器。图2展示了该方案的概览。电压增益学习器获取代表芯片组各种特性的系数。运行时温度检测器通过应用处理器中的温度传感器在运行时测量中央处理器温度。DVS控制器参考频率、温度和芯片特性系数等给定参数,做出调整电压的决策。

示意图1

3.1 电压增益学习器

电压增益学习被进行在芯片制造阶段,通过考虑半导体工艺变化来获取电压增益。半导体生产线为电压增益学习提供了适宜的环境,因为在制造阶段的测试设备允许进行温度控制。图3展示了电压增益学习的概览。首先,四个 $ V_{min} $ VH1、VH2、VL1和VL2在四个不同温度 t1、t2、t3 和 t4 下进行测量;最低频率 $ F_{min} $ 对应低温 t1,最高频率 $ F_{max} $ 对应低温 t2, $ F_{min} $ 对应高温 t3,以及 $ F_{max} $ 对应高温 t4。然后,系数 $ Coef_H $ 和 $ Coef_L $ 被计算并存储在应用处理器的非易失性存储器中。

$$
Coef_H = \frac{VH1 - VH2}{t4 - t2} \quad \text{for high frequency}
$$

$$
Coef_L = \frac{VL1 - VL2}{t3 - t1} \quad \text{for low frequency}
$$

$ Coef_H $ 和 $ Coef_L $ 是计算任意频率下公共系数 $ Coef_X $ 的关键参数。

3.2 温度检测器

运行时温度检测器 mon 实时监控芯片温度的变化,并通知DVS控制器以避免因快速温度变化导致的不稳定情况。在高性能应用处理器中,芯片温度的急剧变化频繁发生,且这些变化所需的时间短于正常Android系统中的默认DVFS间隔。因此,独立温度检测比与DVFS间隔同步更为安全和可取。图4显示了导致最大负载的压缩‐解压缩操作下的CPU温度变化。温度在100毫秒内几乎上升了20摄氏度。根据测试结果,我们确定10毫秒间隔的温度检测足以覆盖最快的温度变化。在10毫秒内的最大温度变化为3摄氏度,此时电压变化可以忽略不计。运行时温度检测器在当前温度与先前温度不同时调用DVS控制器。

示意图2

3.3 DVS控制器

DVS控制器是分开的由传统DVFS的频率调节器进行评级。当频率调节器配置了新的频率或温度检测器观测到温度变化时,将调用DVS控制器。DVS控制器利用给定温度、频率和计算出的系数来估算适当的工作电压。电压估算流程如图5所示。 $ Coef_H $ 为正值,而 $ Coef_L $ 为负值。对于频率 $ F_X $ 的 $ Coef_X $ 介于 $ Coef_H $ 和 $ Coef_L $ 之间,并通过线性插值按如下方式计算。

$$
Coef_X = \frac{Coef_L \times F_{max} - Coef_H \times F_{min} - F_x \times (Coef_H - Coef_L)}{F_{max} - F_{min}}
$$

随着温度变化,对应于频率 $ F_X $ 的电压根据 $ Coef_X $ 发生改变。电压偏移量ΔV定义如下。

$$
Coef_X = \frac{\Delta V}{\Delta t} \Rightarrow \Delta V = Coef_X \cdot \Delta t
$$

示意图3

4. 评估

我们验证了其有效性 T‐DVS的商业使用过程 al APs.

4.1 实验设置

评估的实验设置测试方式与温度反转测试类似。我们使用了图6所示的 AP测试设备和AP评估板。AP评估板用于评估应用处理器的功能,并提供多个功率测量点。通过板上的测量点,可以方便地获取电压变化和功耗数据。芯片温度则通过读取 Android sysfs获得,其提供了来自应用处理器内部嵌入式温度传感器的测量温度。AP测试仪支持多芯片测试,通过可编程测试脚本控制芯片处理、电源供应和环境温度。T‐DVS需要具备细粒度温度控制能力。

示意图4 )

评估。在评估中,我们使用了配备四个Cortex‐A57大核和四个Cortex‐A53小核的Exynos 5433 AP。大核的最高和最低工作频率分别为2.0吉赫和800兆赫。我们测试了五块具有不同速度和漏电特性的AP芯片,以验证T‐DVS是否能在不同芯片上良好工作。图7显示,每块芯片根据其特性具有不同的工作电压。我们旨在检查在相同测试条件下,T‐DVS是否能为不同芯片获得适当的电压增益。

示意图5

我们在多种反映移动设备实际使用环境的环境温度下进行了测试。温度设置为低温(0°C)、室温(25°C)和高温(60°C)。我们禁用了DTM,以避免在高温下触发热节流。测试重复运行一个场景,该场景执行三个安卓应用程序:带滚动的网页浏览、菜单界面滚动和愤怒的小鸟游戏。收集了数据以实时分析T‐DVS的行为,包括芯片内CPU温度、CPU工作频率和功耗。测试还进行了无T‐DVS的情况,以便与所提出的方案进行结果比较。

4.2 估算电压的准确性

估算电压的准确性 $ Coef_X $ 对电压增益至关重要估算。一旦做出错误决策,系统会立即出现故障。我们进行了一项实验以验证 $ V_{min} $ 估算的准确性。图8(a)显示了在Exynos 5433评估板上使用 $ Coef_X $ 估算的 $ V_{min} $ 与实测的 $ V_{min} $ 之间的比较结果。图中的虚线表示针对特定频率和温度估算的 $ V_{min} $。实线表示考虑PMIC可控电压步长后的补偿电压。补偿电压被设置在PMIC中。图中的红点表示对同一样品重复测量得到的实际 $ V_{min} $。在所有温度和频率下,红点的最大值均未超过实线。这意味着 $ V_{min} $ 估算误差小于PMIC的控制步长,且经过向上取整补偿后,估算电压适用于实际应用。

示意图6

我们在搭载安卓系统的Exynos 5433评估板上进行了电压追踪。测试包括在安卓菜单中进行一分钟的触摸和滚动操作。追踪结果如图8(b)所示。我们假设测量的 $ V_{min} $ s的最大值即为图中虚线表示的理想电压。由于理想电压是安全操作的基准,因此不允许低于理想电压的电压。图中的红线表示默认电压表中定义的原始电压。我们发现所有估算电压均介于原始电压与理想电压之间,且没有估算电压低于理想电压。该实验结果表明了所提出的电压估算流程的有效性。

4.3 电压增益

图9显示了utiliza CPU频率和三种CPU密集型应用在重复执行周期中的平均电压。频率使用率如图9(a)所示。大核CPU的最低频率 800兆赫约占总时间的48%,而2.0吉赫到1.6吉赫之间的高频率约占总时间的46%。该使用率反映了采用按需调节器和触摸加速器时的典型运行情况,即大部分时间使用最低频率,并在特定事件(如触摸操作)时切换至高频率。正如温度倒置现象中所观察到的,低频率和高频率相比中等频率具有更高的电压增益。因此,图9(a)所示的频率使用比例可实现有效的节能效果。图9(b)、(c)和(d)显示了所有频率下的归一化电压。各芯片的电压为测试期间的平均值,包含了T‐DVS下调控制电压的影响。换句话说,这些电压反映了该场景下电压增益的有效性。

示意图7

我们发现了电压增益随环境温度变化的差异。在高温条件下,低频时的电压增益高于高频时;而在低温条件下,这一情况则相反。冷、室温和高温条件下的平均芯片温度分别为12、41和78°C。不同的芯片内温度导致了不同的电压增益。我们还注意到图表中的差异,这似乎是由于芯片变异所致。在高频时,芯片#1表现出比其他芯片更高的电压增益,而在低频时,芯片#5的电压增益高于其他芯片。这一现象可以通过芯片的漏电流特性来解释。按漏电流从大到小排序,芯片#5排第一,芯片#4排第二,依此类推。如果一个芯片的漏电流较大,则其对温度变化更为敏感。因此,芯片#5的温度上升速度比其他芯片更快,而芯片#1的情况则相反。各芯片的电压增益变化如图9所示。

4.4 功耗

通过T实现的电压增益 ‐DVS 实现了直接的节能效果。图10 显示了在三种温度下测得的功耗。使用 T‐DVS 后,在低温、室温和高温条件下,功耗分别比无T‐DVS 时降低了 6.6%、10.9% 和 9.6%。我们发现,T‐DVS 的有效性在室温下,功耗降低优于其他温度下的表现。在低温条件下,由于低频率时的节能效果较低,导致总功耗降低低于其他温度。在高温条件下,由于高频时的小电压增益增加了功耗,因此总节能效果低于室温情况。该实验结果表明,当温度保持在特定范围内时,T‐DVS 效果达到最大化,并在中等温度下实现最佳输出。由于移动设备通常在中等温度下使用,我们预计采用 T‐DVS 可实现约 10% 的 CPU 功耗节省。

我们计算了使用T‐DVS的运行时开销。该运行时开销由每10 毫秒运行一次的温度检测器以及在检测到温度或频率变化时调用的DVS控制器引起。在最低CPU时钟下,温度检测器和 DVS控制器的总执行时间为45微秒。这仅占CPU运行时间的 0.45%,确实是非常小的开销。

示意图8

4.5 电池寿命提升

在现实世界中,电池寿命延长是一个持续的挑战节能机制有效性的指标。我们进行了额外的实验,以了解 T‐DVS在电池寿命方面实现了多大程度的提升。我们使用了基于 Exynos 5422应用处理器的Galaxy S5,并编写了一个Monkey脚本 [3],包含九个安卓应用程序:网页浏览器、相机、图库、Google Play 商店、设置、短信、YouTube、糖果粉碎和愤怒的小鸟。我们收集了实验中的电压增益和充电状态( SoC)信息。通过比较使用T‐DVS和无T‐DVS的情况,计算了电池寿命的提升。测试从电池完全充电开始,运行至完全电池放电结束。图11(a)显示,使用T‐DVS时智能手机运行了7 小时33分钟,而无T‐DVS时为7小时11分钟。总体而言,使用 T‐DVS实现了4.9%或22分钟的电池寿命提升。图11(b)显示,在整个使用寿命期间,T‐DVS获得了持续的电压增益。

此外,我们进行了一项老化测试,以观察T‐DVS在智能手机上长时间运行的稳定性。我们使用Galaxy S5并采用直流电源代替电池,运行了上述相同的Monkey脚本。测试持续了两周,未出现任何功能问题。

示意图9

5. 相关工作

DVFS is an effective scheme for 针对移动设备的电源管理 [10],[11],许多研究试图通过优化频率来降低功耗,同时保持性能。少数工作还研究了电压优化。Bacha等人 [1],[2] 利用芯片上的基于纠错码( ECC)的电压推测技术实现了动态电压降低。一项使用特定固件的基准测试表明,在英特尔Itanium处理器上进行激进的电压降低可实现约20%节能。Leng等人 [9] 试图减少传统 GPU操作中存在的电压保护带。该研究指出,电压噪声的保护带来自程序的各种行为,并利用台式机中使用的现成GPU对保护带进行了优化。然而,该研究低估了温度对保护带的影响,因为台式机具有强大的系统冷却能力。移动设备没有明确的冷却控制,温度通常显著影响设备的功耗。关于移动设备的热管理,Kim等人[6]和Lee等人[7]研究了温度感知 DVFS,旨在通过频率控制有效管理温度以增强动态热管理 (DTM)。通常,频率优化会伴随性能下降,这是一种不希望出现的结果。相反,电压优化本身不会影响系统性能。事实上,这是T‐DVS的一个主要优点。

同时,近阈值电压(NTV)技术强调了降低工作电压的重要性。Kaul等人[5]提出了NTV的概念,并证明使用NTV可实现最高的能效。事实上,英特尔展示了一款NTV Pentium处理器[4],其以极低的功耗运行。通过软件技术降低电压对 NTV方案有所帮助。我们期望T‐DVS将推动聚焦于更低工作电压的技术发展,并对NTV等技术产生协同效应。在 T‐DVS与其他方法结合使用的情况下,其优势将得以保留而不会有任何损失。

6. 结论

我们证明了T‐DVS 可以通过利用工作电压与温度之间的关系,采用激进电压控制来实现节能。我们相信,T‐DVS 将在移动设备电源管理的主动电压控制领域树立一个里程碑。T‐DVS 的有效性仅通过使用软件方法和现有硬件特性即得以实现。如果应用处理器制造商开发额外的硬件特性来辅助 T‐DVS,该 T‐DVS 方案将变得更加强大和便捷。在当前的工作中,我们验证了仅使用大核CPU核心的方案,但我们计划将该方案扩展到应用处理器的其他硬件组件。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值