基于统计方法的CPU内电压传感器布局综述

2017-04-25 13:27刘晓晨
电子设计工程 2017年8期
关键词:布局芯片供电

刘晓晨

(1.中国科学院 上海微系统与信息技术研究所,上海200050;2.上海科技大学 上海200031;3.中国科学院大学 北京100049)

基于统计方法的CPU内电压传感器布局综述

刘晓晨1,2,3

(1.中国科学院 上海微系统与信息技术研究所,上海200050;2.上海科技大学 上海200031;3.中国科学院大学 北京100049)

针对如何使用电压传感器监测CPU芯片供电网络内电压紧急状态发生状况这一核心问题,介绍和对比了两种最新的研究成果:基于统计概率计算框架的传感器布局方案和基于统计学习Group Lasso算法的传感器布局方案。前者选择最容易发生电压紧急状态的节点用于放置传感器,后者则通过对供电网络内各节点电压的线性关系施以正则化的方法来选择线性预测模型中最重要的节点用于放置传感器。通过分析两种方法的异同和各自的适用场景,指出了布局问题未来与机器学习相结合的发展方向。

电压紧急状态;传感器布局;概率框架;机器学习

随着集成电路产业的快速发展和处理器芯片集成度的大幅提升,中央处理器芯片(CPU)供电网络内的电压噪声逐渐成为了影响其稳定工作的重要原因。当晶体管的供电电压下降到安全工作的阈值电压Vth以下时,晶体管处于不稳定的亚阈值状态,有可能导致功能模块电路(如ALU、Fetch Unit等)的计算错误。这种供电电压Vdd低于安全工作阈值电压Vth的现象又被称为电压紧急状态(Voltage Emergency)。集成电路新技术的发展使得电压紧急状态的出现概率大幅提升:一方面,出于功耗控制的考虑,芯片的Vdd被不断降低,同时晶体管特征尺寸的缩减也使得Vth不断降低,然而Vdd的下降速度远快于Vth的下降速度,以至于晶体管安全工作的电压余裕(Safe Margin)被大幅缩减;另一方面,时钟门控技术(Clock Gating)、电源门控技术(Power Gating)及动态电压频率调节技术(DVFS)等CPU低功耗技术的采用使得部分电路的Vdd在瞬时内产生大幅变化。由于供电网络是一个具有容性和抗性的RLC网络,因此某一区域Vdd的瞬时变化会使得供电网络内其他区域随之产生震荡,从而影响这些区域的供电稳定性,并有很大概率引发电压紧急状态。

在实际的工业设计和生产中,为了避免电压紧急状态带来的工作错误,电压传感器模块常被放置在芯片中,用于监测供电网络的Vdd变化情况,并在电压紧急状态发生前采取一定的措施。目前对于相关措施研究所取得的成果主要集中在两个方面:1)根据大量仿真及实验中取得的Vdd变化数据,学习电压紧急状态发生前Vdd的变化趋势,并在Vdd实际变化趋势与学习数据相符合时,提前做出预判,提升部分区域的Vdd,或重新分配任务使模块使用率下降[1-4]。2)允许电压紧急状态的发生,在Vdd降低到Vth前保存现有电路状态,待电压紧急状态结束后采取回滚机制(Rollback Mechanism),恢复到电压紧急状态发生前的电路状态,继续工作[5-8]。

综上,不管采用何种方法,芯片内必须采用电压传感器提供Vdd信息。传统的方法是在Vdd变化最剧烈的电路模块区域内直接放置传感器。然而在实际情况中,为了保持电路模块的完整性、避免过高的设计代价,电压传感器通常都会放置在电路模块外围具有足够空间的空白区域内。因此,传感器在空白区域内的布局优化问题便随之而生。简而言之,传感器的布局主要解决两个问题:1)在芯片空白区域内放置多少个传感器?位置在哪里?2)如何更好地利用传感器得到的电压信息?

针对以上问题,密苏里科学技术大学的Tao Wang等人于2013年提出了一个基于概率框架的解决方案—“Eagle-Eye”[9],该方法利用芯片SPICE仿真获得的各节点供电电压波形及概率计算,寻找最适合放置电压传感器的节点位置。另一种方法由中国科学院上海微系统与信息技术研究所的Xiaochen Liu等人于2015年提出[10],该方法利用统计学习方法中的Group Lasso算法,寻找芯片空白备选区域中对芯片全局电压预测最重要的若干位置,并基于仿真数据进一步建立了电路模块内部波动最恶劣节点(hotspot)实际电压的预测模型。本文综述了这两种解决方案的所采用的统计学习方法和实验结果,对两种方法在适用条件和场景两方面做出了比较。

1 CPU供电网络数学模型

CPU供电网络是一个多层网格状网络,最上层电网与提供稳定Vdd和GND的球状触点相接触。下层电网与芯片内的各个晶体管直接相连。电压传感器可直接测量下层晶体管处得到的Vdd,这些允许被测量的位置被称为电压节点(Node)。由于供电电网采用的导线自身具有一定的阻抗和寄生电感,且晶体管也具有一定的电容特性,因此整个网络可被视为一个复杂的RLC网络。这使得最上层提供的稳定Vdd在向下层传输的过程中存在损耗,并具有伴随激励而产生一定震荡的特点。对供电网络的仿真实验可获得各个节点的Vdd电压波形,其中一部分节点处在芯片功能电路模块外,并具有一定空间用来放置电压传感器,而另一部分节点则处在电路模块内部,其Vdd只能通过仿真得到,并不具备通过传感器直接测量的条件。假设芯片上有K个功能电路模块,每个模块内存在一个电压波动情况最剧烈,最能反映模块电压状况的节点(hotspot),则在总计N个采样周期内的任意一个采样时刻n,每个hotspot的Vdd电压都可以用(k=1,2,…,K;n=1,2,…,N)表示。同样地,我们也可以用(m=1,2,…,M;n=1,2,…,N)表示在n时刻每个传感器候选节点 (可放置传感器的节点,共M个)的Vdd电压。总而言之,仿真中得到的所有hotspot和传感器候选节点的Vdd电压分别可用两个矩阵F和X表示,所有节点的电压可用矩阵Z表示[11]:

2 研究方法

基于上述CPU供电电网抽象数学模型,以下将详细介绍两种方案的模型构造数学实现。

2.1 基于概率框架的布局解决方案

密苏里科学技术大学的Tao Wang等人提出的“Eagle-Eye”是一个建立在概率框架上的解决方案。记随机变量,即Z矩阵的其中一行。则我们可以定义一个指标——遗漏率(miss rate),来衡量某一种布局下对电压紧急状态报告的遗漏情况:

在上式中,Zmin是所有R个节点中最小的Vdd电压值,t是晶体管安全工作的阈值电压Vth,在芯片上放置S个电压传感器,是用来放置传感器的这S个节点的Vdd电压值。此式的含义为:在芯片上总计R个电压节点中,选出S个用于放置电压传感器,并基于这些电压传感器读取到的Vdd电压值来判断芯片供电网络内是否有电压紧急状态(Vdd小于t)发生。当时,所有电压传感器读取的Vdd电压值均未小于t,系统认为此时芯片处于安全供电状态。然而在这种情况下,如果Zmin≤t,那么芯片上必然有一个电压节点的Vdd电压值低于安全阈值t,也就意味着此时芯片上发生了电压紧急状态,但没有被传感器报告。根据贝叶斯公式,上式可简化为:

由于P(Zmin≥t)只与电路自身的设计情况有关,与传感器的布局无关,可看作为常量。因此,传感器布局问题等价于一个最小化布局遗漏率 (miss rate)的优化问题,即选出哪S个电压节点放置传感器,使得电压紧急状态没有被报告的遗漏率最低:

输入:芯片上所有电压节点的集合R={1,…,R},传感器数量S和阈值电压t。

输出:用于放置传感器的电压节点集合S={r1,…,rs}⊆R。

1:集合S=Ø,SQM(S)=∞

2:循环i=1:S

3:选择k∈R,使SQM(S∪k)最小

4:R=R/k

5:S=S∪k

6:结束循环

该算法共有S次循环,每次循环中计算SQM的次数为R,因此该算法的复杂度为。

基于SPICE仿真得到的结果显示(见图1,Ⅰ,Ⅱ,Ⅲ三条数据线分别表示理想Vdd=1.8 V时分别为1.71 V、1.713 V和1.715 V时遗漏率随放置传感器数量的变化趋势):1)随着选择放置传感器节点数量的增加,电压紧急状态的遗漏率显著降低,并在数量大于5之后趋于稳定;2)随着增大,电压紧急状态的判断条件更为严格,在使用相同数量传感器 (小于5)时遗漏率也随之下降。

图1 传感器数量与遗漏率的关系

2.2 基于Group Lasso算法的布局解决方案

中国科学院上海微系统与信息技术研究所的Xiaochen Liu等人提出了基于统计学习和机器学习方法中Group Lasso算法的解决方案。该方案的基本假设是各模块hotspot节点Vdd电压与传感器候选节点电压之间的线性可预测关系,即:

每一个模块内的hotspot节点Vdd电压值可由所有传感器候选节点Vdd的电压值线性表示,系数矩阵α中每一个元素αk,m表示第m个候选节点用于线性预测第k个模块hotspot节点时的系数,矩阵C为线性预测的误差项。因此,基于普通最小二乘法可求得矩阵α及用所有M个候选节点电压预测某一模块hotspot节点电压的线性关系表达式。然而,传感器布局问题要求使用较少量而非全部的电压传感器,因此问题关键在于如何选出S个传感器用于布局。基于以上要求,该方法引入Group Lasso算法[14-15],对原最小二乘问题施以正则化方法。对矩阵F和X中每一列分别进行归一化后,生成矩阵F′和X′,则Group Lasso算法求解以下问题:

其中‖β2‖2表示系数矩阵β第m列向量的二范数,λ(λ>0)是一个用户自定义值的惩罚参数。由该式可知,矩阵β中的每一列βm都对应一个传感器候选节点,该列各元素的值代表用于预测各个模块hotspot节点电压时的系数。因此,二范数‖β2‖2可以表征第m个候选节点处电压值对于预测芯片上所有hotspot节点电压的作用程度,也即重要性大小。若‖β1‖2>‖β2‖2,则可认为在预测中第一个候选节点的重要性要强于第二个候选节点。更进一步,若人为设定一个参考值T,所有满足‖βm‖2>T的候选节点都可被选择为放置传感器的位置。此外,λ对于如何选择候选节点有着十分重要的作用。λ对各个候选节点的二范数‖βm‖2值直接做出限制:当λ较小时,大部分‖βm‖2接近于0;随λ着逐渐增大,越来越多的‖βm‖2值会超过T;当λ趋于无穷大时,该问题等价于普通最小二乘法问题。基于仿真得到的结果所示(见图2),当λ=10时,两百个传感器候选节点中绝大部分‖βm‖2处于10-5至10-10,而当λ增大至30时,对‖βm‖2的整体惩罚逐渐减轻,‖βm‖2的值变大,且有一些已跳出10-5至10-10的范围,接近于1。若我们假设T=10-3,则被选出放置传感器的节点数量由2增长至7。由此可见,λ是选择候选节点的主要工具,通过改变其值可观察各个候选节点‖βm‖2的变化,从而根据其大小决定哪些节点用于放置传感器。

图2 各候选节点二范数值与λ的关系

在选出S个候选节点后,我们需要解决布局的第二个问题:如何应用传感器读取的电压值?假设选出的S个候选节点集合S={r1,…,rs},则这些位置上传感器所读取到的电压值仍可以用矩阵Xs表示(Xs是矩阵X的行子矩阵)。因此我们可以重新求解以下最小二乘问题,建立各个模块hotspot节点电压与传感器读取电压之间的线性关系表达式:

设该问题的最优解为 αS*,则第 k个模块内hotspot节点电压与传感器电压读数之间的关系为:

因此,我们在以上线性模型的基础上,可以直接利用传感器读取的电压值,来预测每个模块内hotspot节点电压,从而精确判断该模块位置是否发生电压紧急状态。实验结果显示,通过调节λ值的大小,该方法能够有效选择不同数量的候选节点,当使用的传感器数量增多时,模块hotspot电压的预测值与真实值之间的相对误差逐渐减小。

图3 λ值、预测相对误差及传感器数量关系

3 结束语

文中详细介绍了两种用于监测电压紧急状态的传感器布局方案。第一种方案“Eagle-Eye”适用于使用只能报告电压是否低于一定值的简单二元输出电压传感器的情况。该方法通过仿真结果和概率计算框架选择放置传感器的位置,并基于传感器报告的电压状况简单判断芯片上是否有电压紧急状态发生。其优势在于反映速度快,使用的传感器结构简单。然而,这种方法并不能准确判断具体哪个模块或位置出现了电压紧急状态,无法有针对性地对局部供电网络采取适当措施避免或修正电压紧急状态所带来的负面影响。

第二种方案需使用能够测得连续电压值的传感器,利用统计学习方法中的Group Lasso算法选择放置传感器的位置,并基于传感器读取的电压值线性预测各个模块的电压状态。由于连续值电压传感器结构较复杂,第二种方案物理实现的成本也相对较高。但该方法能够获得未放置传感器节点的准确电压值,因此可与其他需要准确电压值来提供后续处理的供电网络调节策略相结合,以达到更精准的调节效果。综上所述,两种方案有各自不同的应用方向,CPU芯片设计者可根据自身需求灵活采用,对电压紧急状态做出判断。也由此可见,未来传感器布局问题的发展方向将由传统的直接测量向基于大量仿真数据的机器学习方向逐渐转变。

[1]Reddi V J,Gupta M S,Holloway G,et al.Voltage emergency prediction:Using signatures to reduce operating margins[C]//High Performance Computer Architecture,2009.HPCA 2009.IEEE 15th International Symposium on.IEEE,2009:18-29.

[2]Joseph R, Brooks D, Martonosi M.Control techniques to eliminate voltage emergencies in high performance processors[C]//High-Performance Computer Architecture,2003.HPCA-9 2003. Proceedings.The 9th International Symposium on. IEEE,2003:79-90.

[3]Lefurgy C R,Drake A J,Floyd M S,et al.Active guardband management in power7+to save energy and maintain reliability[J].Micro,IEEE,2013,33(4):35-45.

[4]Gupta M S,Reddi V J,Holloway G,et al.An event-guided approach to reducing voltage noise in processors[C]//Proceedings of the Conference on Design,Automation and Test in Europe.European Design and Automation Association,2009:160-165.

[5]Tschanz J,Bowman K,Lu S L,et al.A 45nm resilient and adaptive microprocessor core for dynamic variation tolerance[C]//2010 IEEE International Solid-State Circuits Conference-(ISSCC). 2010.

[6]Gupta M S,Rangan K K,Smith M D,et al. décor:A delayed commit and rollback mechanism for handling inductive noise in processor[C]//High Performance Computer Architecture,2008.HPCA 2008.IEEE 14th International Symposium on. IEEE,2008:381-392.

[7]Mack M,Sauer W M,Swaney S B,et al.IBM POWER6 reliability[J].IBM Journal of Research and Development,2007,51(6):763-774.

[8]Ernst D,Kim NS,Das S,et al.Razor:A lowpower pipeline based on circuit-level timing speculation[C]//Microarchitecture,2003.MICRO-36.Proceedings.36th Annual IEEE/ACM International Symposium on.IEEE,2003:7-18.

[9]Wang T,Zhang C,Xiong J,et al.Eagle-eye:a near-optimal statistical framework for noise sensor placement[C]//Computer-Aided Design(ICCAD),2013 IEEE/ACM International Conference on. IEEE,2013:437-443.

[10]Liu X,Sun S,Zhou P,et al.A statistical methodology for noise sensor placement and full-chip voltage map generation [C]//Proceedings of the 52nd Annual Design Automation Conference. ACM,2015:94.

[11]Enami T,Ninomiya S,Hashimoto M.Statistical timing analysis considering spatially and temporally correlated dynamic power supply noise [J].Computer-Aided Design of Integrated Circuit and Systems,IEEE Transaction on,2009,28(4): 541-553.

[12]Visweswariah C,Ravindran K,Kalafala K,et al. First-order incremental block-based statistical timing analysis [J].Computer-Aided Design of Integrated Circuit and Systems,IEEE Transaction on,2006,25(10):2170-2180.

[13]Cheng L,Xiong J,He L.Non-Gaussian statistical timing analysis using second-order polynomial fitting[J].Computer-Aided Design of Integrated Circuit and Systems,IEEE Transaction on,2009,28(1):130-140.

[14]Guyon I,Elisseeff A.An introduction to variable and feature selection[J].The Journal of Machine Learning Research,2003,3:1157-1182.

[15]Yuan M,Lin Y.Model selection and estimation in regression with grouped variables[J].Journal of the Royal Statistical Society:Series B (Statistical Methodology),2006,68(1):49-67.

Two statistical approaches for voltage sensor allocation in CPU

LIU Xiao-chen1,2,3
(1.Shanghai Institute of Microsystem and Information Technology,Chinese Academy of Sciences,Shanghai 200050,China;2.School of Information Science and Technology,ShanghaiTech University,Shanghai 200031,China;3.University of Chinese Academy of Sciences,Beijing 100049,China)

Based on the core problem of allocating voltage sensors to monitor voltage emergencies in power delivery network of CPU chips,this paper introduces and compares two novel and state-of-theart approaches.One sensor allocation approach employs a statistical probability framework to find nodes where voltage emergencies most likely to happen.The other approach applies Group Lasso algorithm on the linear system of voltages in power delivery network to select important predictors (sensor locations). By comparing these two approaches in methodology and application,this paper reveals the trend of introducing machine learning into allocation optimization problem.

voltage emergency;sensor allocation;probability framework;machine learning

TN0

:A

:1674-6236(2017)08-0092-05

2016-03-17稿件编号:201603224

刘晓晨(1990—),男,辽宁抚顺人,硕士研究生。研究方向:计算机辅助设计(CAD)。

猜你喜欢
布局芯片供电
芯片会议
超高层建筑供电分析
战洪魔保供电
红军与供电人的故事
BP的可再生能源布局
VR布局
多通道采样芯片ADS8556在光伏并网中的应用
2015 我们这样布局在探索中寻找突破
Face++:布局刷脸生态
供电恢复在提高供电可靠性及改善供电质量的作用