现在计算机采用了什么工作原理?哪些物理因素会扼住计算机技术发展的咽喉
现在计算机采用了什么工作原理?哪些物理因素会扼住计算机技术发展的咽喉其实在遇到光速这样的基本限制之前,电子元件的速度早就因为更实际的物理原理而难以继续提高。电子在导线中的运动速度比光速慢约一两个数量级。导体电位的改变,实质上靠电子的流入流出,其变化速度受电子运动限制。高频率的交变信号不靠电子直接传送,而由电场传递,其速度约为с/ε,ε是媒质的介电常数。ε大于1(硅和砷化镓均为ε≈12),因此电信号的传播速度也必然低于光速。为了进一步提高信号传播速度,应当把电子换成光子,研制光计算机。决定计算速度的主要因素有两个:元器件的开关时间和信号在元器部件之间传播所消耗的时间。早期计算机的速度受到电子元件开关速度的限制,电信号在元件之间的传播时间可以忽略不计。光速是每秒30万公里,每微秒300米,每纳秒30厘米。这个距离可以认为是电信号在导线中传播速度的上限。因此,当开关消耗的时间为1微秒时,元件之间、插件板之间和机柜之间的距离可以相当的大,而不导致影响总体的运算速度
一台计算机的本质是一个物理系统,它的计算过程只是这个物理系统的时间演化而已。既然它是一个物理系统,那么构成计算机的元器件就一定要按照物理规律运行,并且时刻受到基本物理规律的制约。
制约计算机的基本物理规律有很多,不可能制造第一类和第二类永动机,不可能区分引力质量和惯性质量,物体的运动速度不可能超过光速,物体的温度不可能降到绝对零度,不可能同时精确测定微观粒子的坐标和动量等等。
人们设计的永动机模型
只有认识了这些基本的物理限制,才能更有目的的改进计算技术。在实际设计和制造计算机时,还会遇到许多不那么“基本”的技术和工艺限制。正是这些限制使我们今天还不能充分利用基本物理规律所允许的广泛可能性。粗略地说,除了基本物理限制外,还有材料、器件、电路和系统层次的限制。我们把这些不同层次上的限制统称为物理限制。接下来我们从几个方面来了解下这些限制。
速度的极限决定计算速度的主要因素有两个:元器件的开关时间和信号在元器部件之间传播所消耗的时间。
早期计算机的速度受到电子元件开关速度的限制,电信号在元件之间的传播时间可以忽略不计。光速是每秒30万公里,每微秒300米,每纳秒30厘米。这个距离可以认为是电信号在导线中传播速度的上限。
因此,当开关消耗的时间为1微秒时,元件之间、插件板之间和机柜之间的距离可以相当的大,而不导致影响总体的运算速度。但是中央时钟每拍只有1纳秒的计算机,计算机的体积就不能超过30厘米了,才能保证不会因信号传输而显著降低处理速度。当信号传输的时间占比高到一定比例时,单纯提高开关速度也于事无补了。
电子在导线中的运动速度比光速慢约一两个数量级。导体电位的改变,实质上靠电子的流入流出,其变化速度受电子运动限制。高频率的交变信号不靠电子直接传送,而由电场传递,其速度约为с/ε,ε是媒质的介电常数。ε大于1(硅和砷化镓均为ε≈12),因此电信号的传播速度也必然低于光速。为了进一步提高信号传播速度,应当把电子换成光子,研制光计算机。
其实在遇到光速这样的基本限制之前,电子元件的速度早就因为更实际的物理原理而难以继续提高。
首先,逻辑元件根据多个输入信号的状态决定输出信号。如果各条线上的输入信号到达实际参差不齐,就可能造成错误的输出。
其次,目前的元件不是在脉冲制下工作,而是要等输入信号都达到稳定状态,才触发输出。信号传出需要时间,信号电平上升到稳定值也需要时间。这实际上是电极的充电时间,由相应导体的RC常数,即电阻R和电容C的乘积决定。
随着大规模集成电路工艺改进,导体的几何尺寸不断缩小,三极管开关时间缩短,但RC常数却基本上不再下降。设导体的各个线度都缩小k倍,即变成原来的1/k。于是:
电阻∝长度/截面=(原长度/k)/(原截面/k^2)~k*原电阻
电容∝长度=原长度/k~原电容/k
结果两者的乘积保持不变。目前,集成电路的RC常数已经超过三极管的开关时间,再提高开关时间速度也没有多大作用了。有人估计,大规模集成电路中电信号的传播速度受RC常数限制,最多只能达到光速的1/20。
现代集成电路
我们看到,提高速度首先要缩小元件和部件的尺寸与信号传播的距离。那么对尺寸缩小有哪些物理限制呢?
我们能达到的最小电子元件小型化有没有限度?显然,用单个原子来保存一位二进制,是目前能设想的一个极限。我们先来看一下在到达原子尺度之前,人类还有多大的努力余地。
20世纪50年代使用内外径分别为1.3毫米和2.0毫米的磁环保存信息时,每一位二进制数大致保存在10^20个原子的宏观磁化状态中。到了80年代中期,大规模集成电路工艺中的典型加工尺寸,已经降到了1~2微米。假定每边2微米的立方米中可以保存一位信息,则一位二进制数大约保存在10^9个原子中。
值得注意的是,大自然并没有用单个原子来保存信息。核酸大分子中的遗传基因的每个编码,大约存储在上百个原子组成的集团中。
核算大分子的电脑绘图
从工艺水平看,目前已经可以制造极为精细的人工结构。使用紫外光源的光刻技术,工艺可达到0.5微米,用深度紫外光达到0.18微米和0.13微米。用真空紫外、X光刻和电子束加工可以达到10纳米级别。现在很多手机的CPU已经可以达到7nm,5nm也即将问世。
应用离子束外延技术,可以按单原子层来控制层状结构的厚度。在各种超微细结构中,有一批新的物理效应要先研究清楚,然后才能谈到它们的应用和极限。
光刻机
首先是非线性效应。1伏电位降落在0.1微米的结构上,电场强度高达10^5伏/厘米,电导机制已不能用普通的线性理论描述。其次,电子的自由程可能大为超过样品尺寸,把关联效应传到整个样品。结构和结构,元件和元件之间的距离大为缩短,一部分电子的波函数可能与另一部分的重叠,使人们很难用单个分立元件的观点来分析整块电路,而必须考虑元件之间的相干,讨论它们的合作效应。这一切虽然目前还都未进入生产领域,但都已是实验室中的基础研究课题。
不消耗能量可行吗计算是靠物理元件中的实际过程进行的,自然有能量消耗。这一问题至少应当在两个不同水平上研究。第一,是否存在与具体的材料或器件无关的来自物理学基本原理的限制;第二,哪些现实的物理条件决定了当前电子元件的耗能水平。
基本的逻辑操作改变一位二进制的状态,最小的信息存储是一位二进制数,它们都要靠某种物理自由度实现。在绝对温度为T,达到热平衡的环境中,每个自由度分到的热运动能量约为kT。这里的k是玻尔兹曼常数,为了使逻辑元件或存储元件不至于在热涨落影响下发生误动作,“开关”或“读写”所需的最低能量应当至少比kT大好几倍。在室温下,1kT相当于4*10^-21焦。这是对元件计算过程能量消耗的最基本的限制。
从信息论的角度看,从0和1两种可能状态中选出一个,信息改变量是log2.这对应熵klog2,它给出的能量变化也是kTlog2。有人分析过一些理想的模型器件,基本动作能量确是kTlog2的能量级。由信息通道容量的基本定理也可以得到类似的估计。当频带宽度为B,信号和噪声功率分别为S和N时,通道每秒钟可以传送的二进制数是:
K = Blog(1 S / N)
这是香农在1948年发表的信息论文章中的著名公式,最低的热噪声功率是NkT 因此把对数展开后得到每位信息的功率是S/K = kT的量级。
虽然目前离每二进制几个kT的耗能水平还很远,但也有人提出了能否不受kT限制,不消耗能量进行计算的问题。它们的主要论点是,物理上的不可逆性与逻辑上的不可逆性密切相关。现代计算机在运算过程中必须擦去或重写中间结果,这才是造成不可逆的原因。
克劳德·艾尔伍德·香农
他们提出了一些可逆计算机的概念,认为可以不消耗能量进行计算。人们提出了一些可逆计算机的理想模型,从完全确定论的利用刚球碰撞的“弹道计算机”,到完全随机的“布朗运动计算机”。然而,为了实现运算的可逆性,每一步操作都必须在热平衡条件下以无限慢的速度进行。这是可逆计算机的基本弱点,看来,可逆计算机就像在没有摩擦的条件下实现牛顿的惯性运动一样,只能存在与理论设想之中。
发热和冷却由于集成电路芯片上元件密度不断提高,而整个主机装在越来越小的空间内,各个层次上的发热和冷却都成为了严重问题。一块5平方毫米的芯片发热功率为10瓦时,其功率密度已经达到太阳表面热流的百分之一。
太阳辐射到达地球表面的功率密度大约只有每平方厘米0.1瓦,这足以使地球表面的物体变热。就这发热功率密度而言,硅芯片已经接近火箭喷口和原子核反应堆的水平,只是运行温度要低的多。
风冷降温
集成电路一般安装在底板上,上面往往套有扩大传热面积用的散热片。热量最终从计算机中由某种流体带走,通常是空气和液体。由固体直接传热给气体的效率不高,靠空气自由对流散热的速率约为1/1000瓦/(平方厘米*摄氏度),加上强制吹冷风,这个数值可以提高10~30倍。
一台装了水冷的主机
从固体向液体的传热效率要高的多,但是冷却系统的设计技术也要复杂的多。当固体表面和液体的温差较小时,仍是以对流传热为主。温度再升高时,液体开始在固体表面沸腾,大量小气泡把汽化热带走。如果气泡生成太快,反而会使液体和固体表面隔离开,降低传热效果。因此,固体表面温度和所用液体的沸点,以及固液温差都必须恰当选择,以达到良好的传热效果。
联线的问题电子计算机里有不同层次的联线:集成电路内部的联线、印制电路板上各块集成电路之间的联线、机柜上印制电路板插座之间的联线、机柜和机柜之间的联线、主机与外部设备乃至其他计算机之间的联线等等。
除了传输线中信号延迟和热噪声干扰这些比较基本的考虑外,其实人们首先遇到的是更为简单的实际限制,那就是没有足够的空间来容纳这些联线。早期的计算机走线十分复杂,集成电路的发展,把很多联线移植到了芯片中。
早期的计算机外部联线很多
考察集成电路芯片之间的联线,首先是每块集成电路的引线数目。一般说来,一块电路能完成的逻辑功能越多,越需要更多的引线才能充分发挥它的处理能力。早年间的奔腾4系列微处理器芯片,每片有320或478只脚。很多人都研究集成电路“门路”和“脚数”的关系,表达过一些定量法则。
无论如何,给不到1平方厘米的器件接上几百只脚总还是一件难事。发展非冯诺依曼的并行计算机时,也必须考虑这种限制。串行的冯诺依曼计算机的基本结构是把少数中央处理、存储器等单元挂到总线上。总线由几十条数据线和控制信号组成,一切信息交换都要经过它,因而成为提高整机处理能力的障碍,俗称“冯诺依曼瓶颈”。
CPU的针脚
设想另一极端情况。取N个中央处理器和M个存储器芯片。取消单一的总线,令每个处理器都联到其他每一个存储器和处理器上,组成互相连接的网状计算机。即使每组联线只有一根导线,从每个处理器就要伸出M*(N-1)条线。当M和N较大时,就不可能找到容纳这些线路的空间。因此人们只能在简单串接和完全相互连接之间寻求妥协。
比较长的联线不能简单接到器件之间就工作,它们必须由芯片上的一部分电路来“驱动”。联线越长,驱动电路的工作电压必须增大,功率消耗因之上升。总之,简单的联线问题也会给计算机的发展带来限制。
量子会限制我们吗微观粒子的量子性质会不会给计算技术带来基本性的限制。或许担心这种限制还为时过早。当前基本逻辑操作和信息存储所涉及的电子或原子数目仍在10^3~10^11量级,人们还远未用到单个粒子的性质。
然而,半个世纪以来,不少人提到量子力学中能量测不准关系:
ΔE*Δt≥ћ
的后果。其实,这个关系只是表明在Δt时间间隔之内完成的物理测量,能量值之准确到ΔE。由此完全不能得出结论说,开关时间为Δt的逻辑元件,必须消耗ћ/Δt能量。
对于逻辑操作、测量和不可逆的热耗之间的关系,还缺少令人信服的量子模型的研究。有一种看法是:开关时间Δt必然与某种能量ΔE≥ћ/Δt相联,既然我们不知道靠什么机制使ΔE成为有用功,因此就有理由认为它给出逻辑器件功率消耗的量子下限
P=ћ/(Δt)2
好在这个下限远远低于室温下热涨落所给出的限制。用前面引入的时间与功率乘积表示,300K下热涨落限约为PΔt=4*10^-21焦,而测不准关系在开关时间为1纳秒是给出pΔt=1*10^-25焦。因此,至少在目前的工艺水平上,还遇不到量子限制问题。