现今,数字计算机和数字技术已经遍布我们生产生活的各个角落。数字电脑是以二进制为基础的。长期以来,随着采样频率和数模转换技术的不断革新,用数字电路来表达和处理真实世界已经是大势所趋,因为它远比模拟电路方便和快捷。现如今我们生活中的各 种数字电视、数字信号和数字接口,都是例证。另一方面,现在各行各业也都逐渐形成了一套先进的数字仿真技术,可以在很大程度上模拟现实世界,似乎不需要模拟信号系统的存在。
在数字电脑中,晶体管只有两种状态:打开和关闭,这两种状态分别代表二进制电脑中的1和0。但是在模拟计算中,晶体管理论上具有无线数量的状态。数字计算拥有很多的优势,但是也让大部分的晶体管的信息表达能力白白浪费掉了。
模拟计算在生物信息领域更有优势
近年来,模拟计算机已被证明在生物信息学领域比数字计算机更有效率。在生物信息学领域,利用数字电路系统来搭建细胞生物学模型一直是一件非常痛苦也并不精确的事。因为对于一个细胞生物模型来说,有各种各样相互依赖的系统参 数,比如化学试剂的浓度、pH值(酸碱度)和温度等,在这种情况下,要利用原本只能表征1和0两种状态的数字系统,就意味着必须要引入多数位进制,也势必 会丢失一定的精度,增加系统的复杂性。这是一个两难:二进制数位越多,则可以把模拟信号表达得越精细,可是系统的复杂度也越高。比较而言,模拟系统似乎更 适合这一领域,因为模拟信号是连续线性变化的,它本来就具备无限多个状态值。
然而,现实是残酷的。不像数字电路的可编程,即设计者可以根据特定的与、或、非门电路搭配,固化输入和输出之间的逻辑关系,这一点完全由设计者把握。在模拟电路中,虽然输入和输出之间也存在一个特定的公式关系,但是设计者却不能根据电路的功能逻辑灵活调整该公式,这个公式是由基尔霍夫定律、戴维南定理等电路定律决定的。因此,这一点大大限制了模拟电路的灵活性,以及整个系统的逻辑表达。在从前,想要在模拟电路中实现可编程,即制造出一台模拟电路的计算机,这一功能几乎是不可能的。
如今模拟电路的编程和应用成为可能
上周,在美国计算机协会的编程语言设计与实施会议上,麻省理工学院计算机科学和人工智能实验室和达特茅斯学院合作发表了他们的最新研究进展,提出了一个新的可用于模拟计算机的编译器。
该文章的第一作者是来自麻省理工人工智能实验室的研究生Sara Achour,跟她的导师Martin Rinard教授,以及英国达特茅斯学院的好友Rahul Sarpeshkar一起,他们三人共同开发了一款名为Arco的编译器,或许能改变这一现状。他们称这款编译器能够将人类可读可写的数字代码,编译成模拟电路可识别可接受的电路配置。这项工作被认为将为生物信息领域的高效率,高精度的模拟仿真铺平道路。
Sarpeshkar表示:“只需要很少数量的晶体管,就能搭建出一个能够解决复杂的微积分问题的细胞形态学模拟分析电路,并且还是在有电路干扰噪声的情况下。而要实现相同的功能,一个数字电路可能需要一片由成千上万个晶体管组成的集成芯片,以及若干个晶振。”
Arco
编译器可以根据科学家们输入的微积分方程表达式,给出一个能输出正确结果的模拟信号电路图,这一过程大约需要14到40秒,显然要比人工计算的速度快多 了。并且,这还不仅仅是速度方面的提升,随着微积分方程的越来越复杂,编译器也可以给出越来越复杂的模拟电路组成,随着复杂度的提升,最后已经超出了人工
可以设计出的电路规模。
如今,“'数字化'已经成为'计算机'的代名词,但实际上,如果我们能够高效地使用模拟电路,模拟计算也可以非常有效。
文章链接:
Sara Achour, et al, "Configuration Synthesis for ProgrammableAnalog Devices with Arco,"
新闻链接:
(本文部分内容参考:雷锋网;)
如若转载,请注明e科网。
如果你有好文章想发表or科研成果想展示推广,可以联系我们或免费注册拥有自己的主页
- 麻省理工
- 模拟计算