翻译自——embedded
克劳德·香农(Claude Shannon)被广泛认为是“信息论的鼻祖”,在麻省理工学院(MIT)学习期间,他使用了10年前开发的微分分析仪。微分分析仪本质上是第一台通用模拟计算机,而香农对这台机器的体验对如通信数学理论等后来的著作产生了深远的影响。
大约在同一时间,香农的同代人在数字计算系统上取得了长足的进步,在接下来的20年里,这些系统将被完全实现,并在20世纪70年代和80年代的数字信号处理革命中达到顶峰。
但现在,在香农引入微分分析仪大约80年后,模拟计算,甚至模拟信号处理,似乎又要卷土重来。
为什么?
Octavo系统工程副总裁Gene Frantz解释:这有两个重要的原因。
“首先,IC技术在过去50年里取得了进步,使得许多原本不可能或不切实际的事情现在变得非常可行,” “其次,我们发现了一些值得解决的新问题,这些问题的数字解决方案并不足以解决——具体来说,这就需要更高的性能,同时还要显著降低功耗。”
随着摩尔定律接近尾声,越来越多的应用领域将感受到对低功耗和高性能的需求。从神经网络工作负载的混合信号处理(MSSP)到使用微分方程的动态系统仿真,它已经引起了人们对模拟计算的新兴趣。
回到物理模拟的基础
为了说明模拟计算最基本的优点,考虑处理由一组微分方程描述的模拟信号。由于连续时间在数字计算范式中是不存在的,数字计算机必须对每个时钟周期的输入进行采样,以生成采样信号。这可能会导致大量的计算,这会带来更高的延迟、更大的功耗等连锁效应。
比较一下模拟计算机的大规模并行性。模拟计算电路可以配置为基本单元(加法器/减法器、乘法器、积分器、扇出器、非线性函数等)来求解所讨论的微分方程,然后连续采样整个输入信号(图1),而不是将输入分解成连续的任务。
模拟计算机包含积分器、乘法器、函数发生器和其他电路块。连续时间电路形成能够产生任意函数的块。
模拟计算芯片执行微分方程的速度比数字计算芯片快得多,功耗也低得多。虽然模拟计算机的缺点是必须根据你要解的方程的大小来线性地扩展系统,但是它们的并行性意味着它们的能力和性能也会得到扩展。
我们用有限的基准支持这些说法。图2比较了Sendyne的Apollo IC和25 MHz的Texas Instruments MSP430 MCU上求解Van der Pol方程的功耗和时间。
Apollo模拟计算IC与德州仪器MSP430单片机执行范德堡尔方程时的功耗与延时比较
Sendyne Apollo集成电路是一种基于CMOS技术制造的4x4mm2通用模拟计算机。该芯片最初由哥伦比亚大学的一组研究人员开发,包含16个模拟积分器,使用1v电路产生输出,仅消耗微焦耳的能量。此外,它还包含专门的ADC,以最小化转换成本。
Sendyne的首席执行官John Milios介绍:“如果你处理的是模拟信号,可以跳过从模拟到数字再回到模拟的步骤,这显然是优势所在。”有一些特殊的adc基本上不做任何转换或消耗任何能量,除非输入信号发生变化,所以你不会有任何重大的能量损失。”
他补充道:“如果你考虑那些需要大量的并行操作以及需要执行数百万次的复杂问题,你就会看到一个非常显著的好处。”
神经网络与模拟信号处理的融合
在微分方程领域之外,基于模拟的算术逻辑单元(ALU)在MSSP领域也越来越受欢迎。
Frantz解释:“每次我们把乘法器的大小减少一半,比如从32位乘法器减少到16位乘法器,性能大约提高了一个数量级,而每次乘法器相同的比例,功耗也降低了一个数量级。因此,从一个32位数字乘法器到一个1位模拟乘法器可以提高几个数量级的性能,同时减少几个数量级的功耗。”
“与此同时,做乘法所需的晶体管数量也从从成千上万的减少到十位数。”
神经网络是最初利用模拟信号处理的应用领域。如关键字识别和某些类型的图像处理,可以用较低的模拟精度换取它提供的电源和性能改进。
Syntiant的首席科学家Jeremy Holleman博士:“人们越来越认识到,机器学习的工作量与以前处理器设计的应用程序不同。它要求计算能力强,以内存为中心,主要是确定性的,并且可以容忍一定的精度。所有这些因素都发挥了模拟计算的优势。”
Syntiant是一家由Bosch支持的人工智能半导体初创企业,总部位于加州尔湾(Irvine),这家公司专注于可穿戴设备、耳机、遥控器和传感器等资源受限系统中处理深度学习算法。
博世Sensortec业务开发总监Marcellino Gemelli表示:“我们整个想法是从传感器前端一直到神经网络处理之后,都保持在模拟领域。你也可以这样理解,神经网络处理之前的信号调节发生在ADC上。”
Gemelli描述的架构目标很简单:尽力保持数字核心处于休眠状态。另一家位于宾夕法尼亚州匹兹堡的人工智能初创公司Aspinity开发了一种名为RAMP可重新配置的芯片,它可以在模拟环境中精确地复制数字信号处理任务(图3)。
Aspinity的可重构模拟模块处理器(RAMP)位于传感器和数字系统组件之间,以节省大量的能源。
Aspinity CEO Tom Doyle介绍:“所有的感知数据都是自然模拟的,但我们把所有的数据都自动数字化了,然后在一个数字核的下游进行处理。但如果你把它应用到模拟晶体管上,就可以高效、准确地做到这一点。”
“我们所能做的是在信号链的早期足够精确地监测非常具体的频率变化,” “所以在传感器之后,Aspinity’s RAMP核心可以查看所有原始模拟传感器数据。当我们检测到声音或玻璃碎片时,我们会唤醒ADC和DSP运行FFT,以获取所有需要的数据,以确定下一步要做什么。”
据Doyle介绍,玻璃破碎检测和语音激活等应用程序使用RAMP技术节省了10倍或更多的电力。
我们回到未来了吗?不完全是
虽然模拟技术作为一种替代或补充处理技术的潜力是显而易见的,但它在商业市场上依旧长期缺乏。首先,关于模拟电路如何应对温度和老化影响的信息有限。另一个需要考虑的问题是如今数字接口都已普遍存在。
Gemelli解释:“为了充分利用低功耗和小尺寸模具的优势,信号将需要在模拟级更上游,这反过来要求传感器供应商实现架构上的变化,“目前还很难进行推广,因为要进入模拟领域,就需要对传感器前端进行重大的重新设计。”
最终驱动这些重新设计的是更广泛地使用模拟计算技术。在这方面,提供从数字环境访问模拟电路的开发工具将会有所帮助,而且随着模拟硬件目标的实现,这方面正在取得进展。
当然,我用“变得可用”来表达最真实的意思。Sendyne的芯片是学术研究的产物,而Aspinity、Syntiant等公司的第一代产品刚刚进入市场。
不可否认的是,我们在数字领域提高速度和密度的能力正在迅速减弱。与此同时,我们对计算能力的需求在呈指数级增长。
用模拟计算回到未来需要什么?
Frantz表示,"需要有人投资于这个高风险的机会,并创造出第一个解决方案。我估计,一个新电脑架构的成本在1亿到10亿美元之间。
“确实,风险很大。能做这件事的人很少。但回报是巨大的。”
模拟计算系统在计算与动态系统相关的微分方程时非常有效。然而,将这些方程映射到模拟电路体现了其自身的复杂性。
其中最大的问题可能是缺乏可编程模拟目标,这阻碍了模拟计算工具的出现,这些工具可以自动或至少简化模拟集成电路的重新配置,以满足新的或不同的微分方程。
多亏了哥伦比亚大学(Columbia University)电子工程教授Edwin Howard Armstrong和麻省理工学院(MIT)计算机科学与人工智能实验室(CSAIL MIT)博士候选人Sara Achour领导的合作,这种情况正在开始改变。
在Tsividis的团队完成了通用模拟计算机后,Achour开发了Legno,一种通过芯片上的USB接口成功定位设备的编译器。事实上,人们相信这个研究生做出来的Legno工具是第一个成功地针对可编程模拟硬件的编译器。
Legno接受用Python编写的一阶微分方程,允许用户定义状态变量、表达式和希望观察的变量。编译器使用这些输入来为Sendyne Apollo之类的设备合成配置,并确保满足目标的所有物理限制。
Achour:“假设我从50m外扔一个球,如果我不能在一根电线上驱动50微安,我就无法进行模拟。”“[Legno]编译器会自动对系统进行重新排序。假设我们要把它缩小五倍,现在你已经把球的位置映射到0到2微安之间,这是设备可以表示出来的。
“也许我(在高级语言中)定义了一个速度和一个位置,我想要观察这个位置。在输出时,编译器将为模拟设备上的每个块生成一组配置,它还将确定启用哪些线路,此外, “它将确保设备上的所有工作范围都将得到重视,考虑到制造变化,它将遵守任何频率限制,并将尝试放大所有信号,以获得良好的信噪比(SNR)。
Legno编译器使用Python中表示的微分方程来适当地配置模拟电路。这里显示的是一个阻尼振荡器的动态系统规范(DSS)。
“所有这些可观察的变量都可以通过芯片上的引脚进行读取,因此[Legno] 将确保路由这些连接以外的设备,以便可以测量它们,“基本上,它解决了自动缩放的问题。你可以把微分方程和边界变量重新排列。
她比喻说到:“它基本上是在为高级电气工程师做着“富人”的活。”
当然,对于嵌入式工程师来说,Legno并不是唯一可用的输出微分方程的工具,对于未来的模拟计算开发人员来说是一件非常好的事情。因为有很多其他工具都可以输出微分方程,所以不难想象,通过像Legno这样的专门编译解决方案,将这些方程直接映射到模拟计算目标。
可快速转发的可编程模拟
Legno是开源的,它已经被工程社区的成员评估过,并复制了Achour的结果。显然,这些用户中的大多数都没有可编程模拟芯片,所以Archour提供了10g的示波器数据,可以用于模拟。
这是Legno编译器的第一次迭代,目前正在最后确定,麻省理工学院的学生想要继续改进这个工具。
Achour表示:“我非常感兴趣在不久的将来对它进行开发,因为我用这个编译器做的一件事就是分析芯片上所有的模拟块。所以,我有这些数学模型来描述每个乘数实例的行为。”
“有趣的是,我们可以创建随机模拟器,这样那些无法使用可编程模拟设备的人仍然可以在上面进行实验。”
上一篇:Arm的NPU究竟有何等高深之处
下一篇:中国服务器出货暂不受疫情影响
推荐阅读最新更新时间:2024-11-08 03:13
- VNQ5E160AK评估板
- 使用 Richtek Technology Corporation 的 RT9261 的参考设计
- 具有 6 个 LED 的 PWM 调光的 LV52204MT LED 升压驱动器的典型应用
- MC-306_CC430,CC430系列SOC应用处理器的振荡电路及晶振选型指南
- MC33163 外部 PNP 饱和升压开关稳压器的典型应用
- LT1767EMS8-1.8 12V 至 3.3V 降压转换器的典型应用电路
- 具有 400mA 突发钳位、fSW = 1MHz 同步降压型稳压器的 LTC3621EDCB-2 2.5V Vout 的典型应用
- ZXLD1362 60V、1A LED 驱动器与 AEC-Q100 的典型应用
- ADR5043A 3V 输出精密微功率分流模式电压基准的典型应用,用于 ±15V 输出和堆叠 ADR5045 器件
- LTC2938HDE 12V、5V、3.3V、2.5V、1.8V、1.2V 6电源监视器的典型应用电路