现今,数字计算机和数字技术已经遍布我们生产生活的各个角落,可是你是不是想过模拟电路技术也能创造一台计算机呢?现在,麻省理工就有。
长期以来,随着采样频率和数模转换技术的不断革新,用数字电路来表达和处理真实世界已经是大势所趋,因为它远比模拟电路方便和快捷。现如今我们生活中的各种数字电视、数字信号和数字接口,都是例证。另一方面,现在各行各业也都逐渐形成了一套先进的数字仿真技术,可以在很大程度上模拟现实世界,似乎不需要模拟信号系统的存在。
可是这里有一个问题,即我们人体能感知的却只有模拟世界。虽然可以借助数字电路进行快速运算和处理,但是输出的信号,最终呈现给人类的结果,却必须是模拟的。
就好像最简单不过的脉搏跳动,放在计算机里可能被表达成简单的1和0,可是这么简单的生物电位变化,传输到人类大脑里却远远不是1和0那么简单,它同时还包含着丰富的谐波震动。
正是出于以上原因,虽然在数字计算机发展日新月异的今天,依然少不了模拟电路的存在。
然而,现实是残酷的。不像数字电路的可编程,即设计者可以根据特定的与、或、非门电路搭配,固化输入和输出之间的逻辑关系,这一点完全由设计者把握。在模拟电路中,虽然输入和输出之间也存在一个特定的公式关系,但是设计者却不能根据电路的功能逻辑灵活调整该公式,这个公式是由基尔霍夫定律、戴维南定理等电路定律决定的。因此,这一点大大限制了模拟电路的灵活性,以及整个系统的逻辑表达。在从前,想要在模拟电路中实现可编程,即制造出一台模拟电路的计算机,这一功能几乎是不可能的。
现在,有一款来自麻省理工学院的全新编译器,使得针对模拟电路的编程和应用成为可能。
在生物信息学领域,利用数字电路系统来搭建细胞生物学模型一直是一件非常痛苦也并不精确的事。因为对于一个细胞生物模型来说,有各种各样相互依赖的系统参数,比如化学试剂的浓度、pH值(酸碱度)和温度等,在这种情况下,要利用原本只能表征1和0两种状态的数字系统,就意味着必须要引入多数位进制,也势必会丢失一定的精度,增加系统的复杂性。这是一个两难:二进制数位越多,则可以把模拟信号表达得越精细,可是系统的复杂度也越高。比较而言,模拟系统似乎更适合这一领域,因为模拟信号是连续线性变化的,它本来就具备无限多个状态值。
麻省理工人工智能实验室的毕业生Sara Achour,跟她的导师Martin Rinard教授,以及英国达特茅斯学院的好友Rahul Sarpeshkar一起,他们三人共同开发了一款名为Arco的编译器,或许能改变这一现状。他们称这款编译器能够将人类可读可写的数字代码,编译成模拟电路可识别可接受的电路配置。
Sarpeshkar在一篇麻省理工学院的新闻通稿中表示:“只需要很少数量的晶体管,就能搭建出一个能够解决复杂的微积分问题的细胞形态学模拟分析电路,并且还是在有电路干扰噪声的情况下。而要实现相同的功能,一个数字电路可能需要一片由成千上万个晶体管组成的集成芯片,以及若干个晶振。”
Arco编译器可以根据科学家们输入的微积分方程表达式,给出一个能输出正确结果的模拟信号电路图,这一过程大约需要14到40秒,显然要比人工计算的速度快多了。并且,这还不仅仅是速度方面的提升,随着微积分方程的越来越复杂,编译器也可以给出越来越复杂的模拟电路组成,随着复杂度的提升,最后已经超出了人工可以设计出的电路规模。
除非在一家生物信息学实验室工作,所以即使再过若干年,我们也没有机会亲眼看到一个传输模拟信号的计算机,但是由这种技术构建的细胞生物学模型以及它对未来医学的研究贡献,有一天可能会深刻地影响我们的日常生活。
来源:techcrunch