()
模拟计算系统被用于求解数学方程式已经超过半个世纪。二十世纪五六十年代,电子模拟计算机被用来设计桥梁、涡轮叶片等机械系统,并为飞机机翼和河流的行为建立模型。这种模拟计算机是一个冰箱大小的柜子,其中装有数百个被称为运算放大器的电子电路。盒子的前部是一个插板,类似于老式的电话总机,用于配置模拟计算机以解决不同的问题。模拟计算机不像数字计算机那样可以用代码编程序,每次解决新问题时都要重新布线。
因为模拟计算机精度有限且难以重新配置,到了20世纪70年代初,它被数字计算机所取代。数字计算机使用1和0表示周围的世界。即使处理很简单的数据(如计算机屏幕上的颜色),数字计算机也必须使用很多位的1和0。数字计算机使用程序来处理这些数据,如果对图像进行动画处理,可能需要数字计算机每秒执行数百万个步骤。而当今AI系统的主要应用之一就是图像识别和分类。现在几乎所有的深度学习AI算法都是基于数字计算的,由于数字电路本身的特点,这类算法的可扩展性也存在问题。
数字电路需要一个时钟来控制,时钟频率是每秒可以执行的步骤数。数字计算机受到时钟频率的限制,而时钟频率无法任意提高。从物理学的角度来看,想要任意提高时钟频率,最终1和0将必须比光速更快地在计算机中运行。电子产品的性质也限制了数字计算机。由于数字芯片是由数以千万计的晶体管构成的,随着性能的提升,它们消耗的功率越来越大,芯片损坏的概率也增加了。
采用数字计算的机器通过算法进行编程。基本上,这是一系列指令,每个处理器通过从内存子系统读取指令、解码指令、获取操作数、执行所请求的操作、存储结果等来执行这些指令。所有这些存储请求都需要大量能量,并且会大大降低速度。成千上万个单独的内核还需要复杂的互连结构,以根据需要在内核之间交换数据,这也增加了执行计算所需的时间和功能。
从组成芯片的基本器件——晶体管来看,数字计算只用到了晶体管的两个状态:导通和截止,即二进制的1和0。但是从模拟的角度来看,晶体管具有无限量的状态,原则上可以表示无限范围的数值。数字计算使晶体管大部分的信息表达能力无法发挥作用。
另一方面,生物大脑则以完全不同的方式工作。它的工作没有任何程序参与,只是通过其活动元件(通常是所谓的神经元)之间的互连进行「编程」。生物大脑不需要从任何存储器中获取指令或数据,也无须对指令进行解码等操作。神经元从其他神经元获取输入数据,对这些数据进行操作并生成输出数据,以馈送到接收神经元。
模拟计算机的运行方式与生物大脑类似。模拟计算机建立特定问题的模型,然后通过模拟来解决该问题。在模拟计算机中,没有算法,没有循环,没有中央或分布式存储器可以访问和等待。数字计算机里很多的概念和组件,模拟计算机中都没有。取而代之的是,模拟计算机在问题和计算之间进行映射,建立一些数学可描述问题的电子模拟,巧妙地互连几个基本但功能强大的计算元件,如运算放大器、积分器、比较器之类的模拟电子电路。所有计算元件都完全并行运行。
所有模拟计算机都使用直接类比来执行数学功能。最简单的是实现加法运算:把多根电流线连到一个求和线上,所得到的总电流就是多根线上电流的总和;或是使用电压,例如要计算5加2,模拟计算机会把与这些数字相对应的电压相加,立即得出7,即实现了加法。
模拟计算机没有存储程序来控制这种计算机的操作,相反,可以通过更改其计算元件之间的互连来进行编程,这种控制方式也类似大脑。但是,计算元件的互连要靠人工来进行编程,这就很不方便,规模很难扩大,因此很难达到商业应用的目的。值得庆幸的是,利用当今的芯片技术,可以构建不仅包含基本计算元件,而且包含可以通过所连接电路进行编程的交叉开关集成电路,从而解决了规模难以扩大的问题。
美国哥伦比亚大学的研究人员在2006年发布了基于模拟计算的芯片?[106]?。它包含80个积分器、336个其他线性和非线性模拟功能块,用于互连的开关,以及用于实现系统编程和控制的电路。该芯片由计算机通过数据采集卡控制、编程和测量,被用来模拟普通微分方程、偏微分方程和随机微分方程,其精度为中等,比当时的工作站快10倍以上。该芯片面积为1cm?2?,功耗为300mW。分析表明,当求解相同的微分方程时,模拟计算芯片的耗能为通用数字微处理器的0.02%~1%。对于某些类别的微分方程,该芯片的输出功率高达21GFLOPSW,这已经是非常好的结果了。2016年,该大学又开发了第二代单芯片模拟计算机。与早期的模拟计算机一样,该芯片中的所有模块都同时运行,处理信号的方式与数字领域高度并行的架构类似。这款芯片是针对科学计算的应用?[107]?的数模混合式加速器芯片。
在数字电路中,只需增加位宽就可以提高数值精度。但是,要提高模拟计算机的精度,就必须占用更大的芯片面积。因此,对于模拟计算来说,甚至可以考虑晶圆级规模的集成,即将整个硅晶圆作为一块巨大的芯片。对于面积为300mm?2?的晶圆,这意味着能在芯片上放置超过100,000个积分器,从而使它可以模拟100,000个耦合的一阶非线性方程或50,000个二阶非线性方程的系统,解决时间仍为毫秒级,功耗为数十瓦。它如果能奏效,将远远超出当今数字计算机的能力范围。
由于这类计算机的核心是基于模拟电路的,因此如果需要,它可以直接与传感器和执行器连接。另外,它也可以与数字计算机连接组成数模混合的计算机。表6.1为数字计算与模拟计算在应用、架构和设置这3个层面上的对比。
表6.1数字计算与模拟计算的对比
模拟计算的主要优点有:
(1)成本和功耗很低,只需很少元器件,不需要数字电路、ADC、DAC等;
(2)可靠性高,没有时钟、RAM、ROM、代码等;
(3)速度快,计算可达到实时,可连续、高度并行处理;
(4)受干扰、老化等影响不大。
模拟计算的主要缺点有:
(1)信号改变时容易引入噪声;
(2)电路耦合、连接等造成损耗,从而容易引起数据出错。
这类用模拟MOS电路组成的模拟计算芯片主要用于解方程式、模拟大型科学问题,但是有人正在打算将其用于神经网络的计算、语音识别等AI应用,在一块芯片上实现模拟计算。这位研究人员是德国法兰克福一所大学计算机系的贝恩德·乌尔曼(BerndUlmann)博士,他痴迷模拟计算,已经有了很多发明。2019年11月,他的模拟计算项目已经得到德国一家「跃迁式创新」投资机构的青睐。这家机构专门投资「改变世界的发明」(指青霉素、汽车或智能手机等这类对人类社会有巨大影响的发明),其任务是帮助此类创新将来在经济上取得成功。
2020年,美国加利福尼亚大学洛杉矶分校的博士生万哲提出了把一种传统的CMOS晶体管——电荷陷阱晶体管(Charge-TrapTransistor,CTT)作为神经网络的模拟存内计算单元?[108]?。为了适应模拟器件和电路的噪声、漂移等变化,他开发了新颖的方法来表征和提高部署在模拟计算系统上的神经网络的错误恢复弹性,而且把这种模拟计算硬件做成了一种可扩展的非冯·诺依曼架构。
模拟计算有其局限性,在
()
很多方面比不过数字计算。例如,数字计算芯片的通用性比模拟计算芯片要强得多,而在技术领域不断迅速更新的今天,具有高度通用性十分重要。另外,对于数模混合电路来说,仍需要用到ADC和DAC,这些ADC、DAC不但成本很高(需要较高的精度),而且消耗了能量、增加了时延。因此,模拟计算往往适用于非常专门的应用,或为专门的神经网络所设计。而一些新型器件(如忆阻器)的出现,为模拟计算带来了新的生命力。?备案号:YXX1PBnZ3Pi3zd31vHrE9B
请勿开启浏览器阅读模式,否则将导致章节内容缺失及无法阅读下一章。
相邻推荐:忘记我姓名 大话西方艺术史:艺术原来这么有趣 二级建造师考试全攻略:从行业政策、备考规划到注册执业 霍总,夫人的十个哥哥又来催离婚了 白色球鞋:他爱你的一百件小事 古风甜饼,一生一世的赏味期限 怪谈文学奖:现代都市恐怖病系列 2021 平板电脑推荐与选购:高效选品方法论 论文查重降重攻略:学术论文重复问题剖析 有仙气:听说有神动凡心 2021 智能手机选购指南:看懂市场,做聪明的购机人 邂逅「诗和远方」:打开浪漫诗人的诗词世界 全世界都在砸钱养我 仙君他貌美如花 未来旅行家:跨越时空的科幻故事集 就怕小偷有文化:金融诈骗、空中抢劫与艺术品犯罪 杀死女神 九秘神针:君临天下 繁华之间:名利场上的一夜沉浮 我家院子可以去大明