“这种方法的核心是个非常简洁的功耗模型。”谢知遥说,“和以前通过模拟计算的方式不同,我们这个模型并非进行准确的模拟,而是进行快速的估算。”
处理器工作时,芯片内部涉及数百万个关键信号,该模型通过人工智能技术,自动选取极少量(约100个)与功耗最相关的CPU信号输入,然后建立一个快速的线性模型,用于对每个周期的功耗进行预测或监测。
“这100个典型信号可以形成一个‘轻量级’、非常简洁的功耗模型。”谢知遥强调说,“而且,信号选取(不是随机抽取)由人工智能自动完成,它摆脱了对工程师的依赖,从而让模型的计算速度大大提升。”
CPU在运行的时候,人们会对功耗进行控制,如果功耗过高,就必须想办法将它降下来。事实上,工程师们也积累了不少办法,可以降低功耗,但所有这些需要一个前提,即人们能够快速且准确地掌握芯片功耗的即时变化。
遗憾的是,在计算功耗时,工程师们常面临一个无法跨越的时间“窗口”。比如,之前功耗模型的计算速度可能是每毫秒进行一次——人们只能估算1毫秒的功耗平均值。
除信号选取和模型训练是自动完成之外,阿波罗的训练数据也通过算法自动生成,这让其因“简”而快成为可能。
论文表明,阿波罗可以在几分钟内获得几千万时钟周期的功耗,而传统基于emulator的工业界方法需要长达两周时间。在准确率方面,阿波罗也可以达到90%~95%。另外,阿波罗的功耗分析可以精确到每个时钟周期,之前任何方法在这种速度下都无法获得如此高分辨率的功耗分析。
“每毫秒计算一次的时间分辨率远远不够,因为在1毫秒之内,有可能其功耗前半程很低,后半程很高,虽然我们计算出了功耗数值,但它并不能反映处理器的真实工作状态。”谢知遥补充说,“我们的模型可以控制在0.3纳秒(0.000001 毫秒),即每0.3纳秒就可计算一次实时功耗值。”
离应用已经很近
因为以前无法了解处理器的即时功耗,工程师们在进行芯片设计时,为避免应用中功耗波动带来的影响,往往会为功耗设计一定的余量。
现在,阿波罗可以在极短时间内,对芯片内部的即时功耗变化进行反馈。即使芯片内部由于复杂的交互出现了电压的快速波动,工程师们也能及时采取措施,对CPU功耗和温度进行管理,从而发挥CPU的最佳性能,并保障其运行稳定。
“因为阿波罗非常简洁,它的成本和面积都很小(约占用CPU芯片0.2%的面积),所以可以将它做成硬件,整合进芯片内部。”谢知遥说,“这样,在使用过程中,一旦监测到处理器功耗的异常变化,我们就可以让它采取一些自我调节措施,把功耗降下来。”
如果在设计芯片时,加入这样的功耗管理模块,不但性能可以得到提升,其运行的稳定性也能得到保证。
在该项研究中,ARM公司提供了很多帮助,目前这一模型已经在ARM的多款高性能商业处理器上进行过验证,显示出较领先的芯片性能。
“这不是一项纯理论研究,而是具备非常强的工程性研究特点,或者说是一项能应用在产品里的研究。”陈怡然说,“在商业化应用之前,该模型可能还需要在更多的平台上进行测试和综合评估。至于它能不能最终落地、什么时间能成为产品,会受到多种因素影响,还需要时间来证明。”

被折叠的 条评论
为什么被折叠?



