M0N0- N-Zero传感器的Arm Research平台

电池更换是儿童和成人都非常熟悉的日常例行任务。 如果每个月只需给家用设备更换一次电池,则几乎所有人都可以轻松管理。但是如果有成千上万的设备且都部署在遥远而无法访问的位置,那该怎么办呢? 突然感到电池寿命为一个月也并不理想了。如果想要将这个问题转化为研究机会,请进入DARPA的N-ZERO计划。

N-ZERO计划资助零功率或低功率传感设备的基础研究。传感设备使用来自感测信号的能量运转(例如红外辐射检测开关(图1))或低功耗唤醒设备(例如12nW的声学分类器),可以在定期触发更强大的处理器之前进行持续监听。

图片来自:Rinaldi, Sensing Infrared Without Power

海报展示在:DARPA ERI Summit 2018; 2018 Jul 23-25; San Francisco, CA.

 然而,用很低的功耗解决传感难题只是挑战的一部分。这样的传感器还需要一个功率配置与传感器匹配的处理器。

这就是Arm Research 的切入点。

20179M0N0项目诞生了,我们接受了设计一个可以与DARPA N-ZERO传感器相匹配的微控制器的挑战。

我们通过寻找商用现成品(COTS) MCU意识到需要同时大幅降低有功功率(active power)和睡眠功率(sleep power)这两种功率(图2)才能使项目成功。

图2:mW 有功/mW 睡眠 COTS MCU vs. N-ZERO传感器

 
我们自己先前的研究为降低有功功耗奠定了基础,甚至基于Arm的商用MCU都达到了很好的功率效率水平。

但是,要保持最新的有功电能效率的同时又要达到10nW睡眠功率的目标,这将是M0N0芯片的主要挑战。

这还不是全部。 部署在偏远位置的传感器可能正在监听偶发事件,因此不能接受由于处理器太慢而错过事件的情况。 它必须确保对事件实时响应。

正是这些特定的考虑因素推动了M0N0系统架构的创建(图3)。

 

图3:M0N0系统架构

 根据我们过去的研究,M0N0是一款接近/亚阈值的65nm Cortex-M MCU,有定制的单元库和数据RAM来支持低电压操作从而实现最佳的能效。 但是由于RAM泄漏和功率转换器的效率,系统将无法在保持Execution状态的同时接近10nW的睡眠功率(图4)。

图4:10nW的睡眠功率在睡眠期间无法被满足从而导致新的关机睡眠模式

我们的解决方案是分离代码存储器和保留存储器-代码存储器由subthreshold mask ROM组成, 

而保留存储器则由定制的低泄漏SRAM宏组成,借鉴了已发表的有关实现fA/bit泄漏的存储器的研究成果

 通过更复杂的计算能力将智能嵌入传感器节点可以减少对耗电的片外通信的需求,从而有助于总体的电池寿命。我们需要一个复杂的工作负载来展示M0N0芯片的能力,最后决定使用一个10字的关键字识别(KWS)应用程序每秒进行1次分类。尽管使用纤巧的Cortex-M0 +是设计M0N0的好的起点,但早期的试验表明,迁移到性能更高的CPU内核会有很多好处。

借助SIMD扩展以及单独的指令和数据总线来提供更好的内存带宽,Cortex-M33的性能在相同频率下得到了大幅提升。

除了硬件设计之外,在之前进行了低功耗音频识别研究之后,还给KWS任务应用了几种软件和算法的优化方法(图5)。

这是为了将它降低至低功耗MCU的计算和内存占用的范围内。 ROMRAM的使用被最小化且特征提取被移植成定点计算。利用架构搜索算法优化数据采集,特征提取和NN流程从而减少计算延迟。这使工作负载仅以2.5MHz运行,从而使功耗降至50mW的同时每秒可以产生1个分类。

图5:KWS网络架构

事件的确定性响应效果如何呢?虽然使用固定的时钟频率很容易实现这一点,但我们先前的工作表明这对于亚阈值系统的效率并不高 。

为了解决这个问题,我们先前的工作将时钟频率调整为固定电压。 这可以使系统有效的运行,但是时钟频率(以及响应时间)可能会随温度变化100倍以上。因此我们将M0N0翻转,让它可以连续调整电压的同时保持固定的最小时钟频率,从而确保给用户提供符合要求的系统性能水平。 这种持续的电压变化能力还需要一种新型的Buck转换器设计来实现低泄漏功率级别,使其可以达到10nW睡眠功率的目标。

 以上只描述了一些设计的重点。 为了实现真正可用的SoC,M0N0还集成了:

· 定制的低泄漏ESD钳位电路

· 一个低功耗计时器,SPI和调试接口https://ieeexplore.ieee.org/document/8902906

· 一个256位的AES引擎

· 具有ms模式转换的多电源性能点

· 动态唤醒访问ROM硬件电源门控方案。

 
这个SoC由用于ROM,KWS开发板,软件库,文档和具有可交换应用程序“hats” 开发板的编程工具支持(图6)。这使其成为非常适合DARPA

操作者以及广泛的研究社区使用的超低功耗传感器和嵌入式机器学习应用程序的硬件平台。

图6:M0N0开发板

 
M0N0 SoC在旧金山IISSCC 2020的会议27.2(物联网和安全性)中进行了介绍,KWS的演示(图7)也在同一活动中随附。 

 

图7:M0N0在ISSCC上的演示环节

 
本文所表达的观点和发现仅为作者个人观点,不代表国防部或美国政府的正式观点或政策。

作者:Pranay Prabhat

翻译:Khorina

原文链接: https://community.arm.com/developer/research/b/articles/posts/m0n0-an-arm-research-platform-for-n-zero-sensors