无时钟电脑_互动科普

使用社交账号登录

购买价格:
付款方式:

互动科普

主页 > 科普纵览 > 材料 • 化学

无时钟电脑

admin  发表于 2017年09月17日


你的个人电脑有多快?

(E5OA88)1QC4DT(N@(0S_E7.png

当人们问起这个问题的时候,主要指的是电脑里一个极小的时钟的频率,这个时钟是一种晶体振荡器,用于设置电脑整个系统工作的基本节奏。举例来说,工作频率为1千赫兹的电脑,其晶体振荡器每秒振荡10亿次。电脑每动作一次需要的时间为十亿分之一秒。一个简单的数据传输仅需要一步;复杂的运算可能需要很多步。然而,所有操作的起始都必须依照电脑的时钟信号。

大多数现代的电脑用的都是单一的节奏,我们称之为同步的电脑。在电脑的微处理器芯片内部,一个时钟分配系统把来自晶体振荡器的时钟信号传送给不同的电路,就像空气中的声音将鼓声传给士兵,以设定他们前进的步伐一样。因为芯片的所有部分拥有相同的节奏,因此,任何电路某个步骤的输出都可作为其他任何电路下一步的输入。这种由时钟提供的同步化节奏,帮助芯片设计者为电脑设计动作的顺序。

使用中央时钟也造成了一些问题。随着速度的提升,时钟信号的分配变得越来越困难。现今的晶体管处理数据很快,在信号通过线路从芯片的一端到另一端的时间里,晶体管早就可以完成好几步了。这样,如果在一个大的芯片里采用统一的节奏,就需要精心的设计而且消耗大量的电能。若能有替代方案不是更好吗?

我们在阳光微系统实验室(SUN Micro systems Laboratories)的研究小组就在探寻这种替代方案。与世界上另外几个研究小组一起,我们正在寻找一些方法设计一种计时系统,在该系统里,每一部分按自己的节奏而不是靠中央时钟提供的节奏运行,我们称之为异步系统。它的每一部分可以根据需要延长或缩短其步骤的时间,就像一名旅行者走凸凹不平的路面时,其步伐忽大忽小一样。一些电脑时代的先驱,如数学家Alan M.Turing,在20世纪50年代早期就曾尝试过用异步设计来构建计算机。但工程师很快就放弃了异步设计而采用了同步,因为统一的时钟可以使设计工作容易很多。

E5)]6}`7M)YTY@Q%$~%(5]O.png

如今异步计算方法将东山再起。在英国的曼彻斯特大学、东京大学和加州理工学院的研究者已经展示了异步微处理器。一些异步芯片已经在商业上大量生产。2世纪90年代后期,日本夏普公司采取异步设计方案,制造出一款数字媒体处理器芯片,用来编辑图形、影像和声音;飞利浦电子公司为其两款呼机设计了一种异步微控制器。另外,同步系统中也开始出现异步元器件;最近,SUN公司推出的UltraSPARC IIIi处理器中就采用了我们开发的一些异步电路。我们相信,当研究人员认识到如何利用异步系统的优点,并且找到简化其设计的方法时,异步系统将会更加普及。异步芯片的制造者虽然在技术上取得了进展,但是商业上的成功还没到来要实现完全的异步化设计还有很长的一段路要走。

异步系统的潜在好处是什么呢?首先,异步可以加快电脑的速度。在同步芯片里,时钟的节奏必须足够的慢以便照顾芯片电路中最慢的节奏。如果某个电路需要十亿分之一秒完成运算,那么这个芯片的速度就不会超过1GHZ。尽管这个芯片上其它电路可以在更短的时间里完成操作,它们仍须等到时钟再次到来时才能进行下一个逻辑操作。相对而言,异步系统中的每个部件可以根据需要决定完成每一步所需的时间。复杂的操作可以用比平均时间多一点的时间,而简单的操作则可用少一点的时间,先前一步的操作一完成,后续的动作就可以立即开始,不用等下一个时钟的到来。因此,系统的速度就依赖于操作的平均速度而不是操作的最慢速度。

K3LVC~_IQ054BPZIRW]H)WK.png

不过,协调异步系统的操作也是需要时间和晶片空间的。如果系统工作需要局部协调比较少,那么平均来说,异步系统要比同步系统快。异步系统对内部慢操作不会出现太多的非常规芯片的设计有很大帮助。

异步设计也可能降低芯片的耗电量。在目前这一代大型快速的同步芯片里,传输时间信号的电路占据了芯片大片的区域。另外,芯片里电能的30%必须用于计时和分配系统。而且,因为时钟一直在运转,因此无论芯片是否在做有用的事情都会产生热量。

在异步系统里,芯片内闲置的元器件消耗的电能几乎可以忽略。这一特点对于靠电池作为电源的设备具有显著的价值,除此以外,它还可以降低较大系统的成本,因为不必再为了防止系统过热而使用冷却扇和空调。可以节省的电能视机器的运行模式而定。某些内部元器件仅偶尔动作的系统,要比元器件动作频繁的系统受益更大。大多数电脑都有长时间闲置不运行的元器件,如浮点运算单元。

此外,异步系统比同步系统产生的射频辐射干扰要少。因为计时系统采用固定的节奏,所以会在运行频率及其谐波频率上,向外辐射很强的无线电信号。这些信号可能会干扰具有相同频率的手机、电视或飞机导航系统。异步系统没有固定的节奏,因此它们辐射的能量遍及无线电频谱的各个频段,而且每个频段的辐射量也比较低。

KILQJ2ZOXZFHZW0D`)RSG50.png

异步设计还有一个好处,就是它可以充当以不同速度运行的计时电脑之间的桥梁。举例来说,很多运算丛集会将快速的PC机与慢速的PC机连接起来。它们将计算任务拆分后分配给不同的PC机,以便解决复杂的问题。这样的系统就是异步系统:不同的部分按不同的节拍运行。传输受不同时钟控制的数据需要异步系统作为桥梁,因为数据会因与接收时钟不同而乱了时序。

最后,尽管异步方案可能具有挑战性,但它也有很好的灵活性。因为异步系统的各个电路不需要以统一的节奏工作,所以设计者在系统各部分的选择和决定互动方式时,有很大的自由度。而且,用更快的元器件替换其它任何一部分都会提高整个系统的速度。相比之下,要想提高同步系统的速度通常需要对各个部分进行升级。

局部合作

为了描述异步系统是怎样工作的,我们经常以水桶传输队来做比喻。同步系统就像是这样一个水桶传输队,队里的每一个人必须按时钟敲出的节奏传送和接收水桶。时钟滴答一声,每个人将水桶传给队里的下一个人;当时钟又滴答一声,每个人都接住前面的人传过来的水桶。整个队的传递节奏,不会比速度最慢的人传递最重的水桶所用的时间少,即使大多数水桶都很轻,队里的每个人还是要等到下一个时钟的滴答声后才可以传递下一个水桶。

一个异步传送队的速度由局部的合作主导,而不是由共同的时钟来支配。队里的每个拿水桶的人,只要他身旁下一个人手里是空的,手中有水桶的人就可以立即将水桶传出去。在动作之前,每个人只须等待下一个人准备好。但是,当大多数水桶很轻时,他们可以将桶传得很快。而且,当没有水桶可传时,每个人都可以休息一下。一个动作慢的人可能会影响整个队的速度,但是只要将他换下来就可使系统提升到最大速度。

电脑里的“水桶”传输系统被称为输送线路。普通的线路负责传输电脑的指令。这样的线路大约有5—6个驿站,每个驿站就像是水桶传输队里的每个人那样运作。只是,每个驿站执行的是电脑指令里的某一步,而不是传输水桶。例如:处理器执行指令“ADDABC”之前必须将指令从存储器中取出来,进行解码,从存储器中得到A和B的数值,然后执行加法,再将总和存入存储器的地址C。同步电脑的线路以一定的节奏执行这些动作,与运算的执行和数值的大小没有关系。1加1所需的时间可能和两个30位数相加所用的时间是一样的。但在异步的线路里,每个动作所需的时间就与操作的执行、数值的大小和数据在寄存器中的地址有关(就像在水桶传输队里,桶里的水量就会决定传输所需的时间)。

在异步系统里,不用时钟来管理它的动作,而是要依靠局部协调电路。这些电路会交换彼此已处理的信号,来确保每个驿站里的动作仅在电路里有它们需要的数据时才启动。这两个重要的调节电路是:集合电路(Rendezvous circuit)和选优电路(Arbiter circuit)。

如果到达某特定节点的信号有两个以上,当最后一个信号到达时,会合元件就会发出信号。利用这些信号,异步系统就能等到所有的同时动作都完成了,才开始下一个动作。举例来说:一个除法电路必须有被除数(假如说是16)和除数(假如说是2),之后才能两数相除(得到结果8)。

有一种集合电路称为Muller C单元电路,由David Muller命名,他是伊利诺斯大学的教授,现已退休。Muller C是一个逻辑电路,有两个输入和一个输出。当两个输入均为真时,输出为真;当两个输入均为假时,输出为假。除此之外,输出保持不变。当Muller C作为集合电路时,在输出响应之前输入必须不能再变。有了一连串的Muller C之后,就可以控制数据沿着电子传输线路向下传输。

我们研究小组最近提出了一种新的集合电路,称为GasP。GasP是根据Charles E.Molnar先前设计的一系列电路发展而来的,Charles E.Molnar是我们SUN微电子公司的已故同事。他把自己的这个发明称作asP*,asP*代表异步对称脉冲协议(*代表有两个“P”)。我们在其前面加了一个“G”,因为当你看到我们的新电路运行得有多快时,你应该会想到GasP。我们发现GasP模块和Muller C一样快速,一样具有节能效率,并且与一般的数据匹配得更好,而且在复杂系统的设计上能提供更多的变化。

布里丹的驴子

选优电路是另一种对异步电脑设计极具重要性的电路。它就像十字路口的一名交警,负责决定哪辆车接下下来可以通过。如果只有一个请求,选优电路会立即许可相应的动作,直到这个动作完成才去响应第二个请求。当优选电路同时得到两个请求时,就必须决定先允许哪一个请求。举例来说:当两个处理器几乎同时请求使用同一个存储器时,选优电路就将这两个请求排序,一次只能允许一个处理器使用存储器。选优器确保不会有两个动作同时进行,就像交警为了避免事故会确保不让两辆车生经过十字路口时相撞一样。

尽管选优电路不会在同一时间里允许一个以上的请求,电不可能保证永远在固定的有限时间内做出决定。现今的选优器件平均来说已经能很快地做出决定了,通常需要几百皮秒的时间(1皮秒就是百亿分之一秒)。然而,如果遇到紧急调用,选优电路偶尔会用两倍的时间;就像山上的冰雹,不是滚落到太平洋就是滚落到海湾里。然而,在这两个稳定状态之间,必有一条平衡线,就相当于分水岭。如果冰雹恰好落在分水岭上,可能会在高耸的山脊上保持短暂的平衡,之后才落到太平洋或墨西哥海湾。同样的,如果两个请求在相差几皮秒的时间里到达选优器件,电路就可能会在平衡状态稍微停留一会儿,然后,才会打破平衡,到达某个稳定状态。

一些选优器设计新手,通常会设计出复杂的电路来避免偶尔的长时间迟延。通常的错误为了让电路能识别出悬而未决的平衡状态,而促使选优器件做出特别的决定。这就像训练布里丹的驴,让它在难以抉择时向左走一样。

14世纪法国的哲学家布里丹提出的驴子寓言,可以描述作出决定的基本困难。优选器件能打破这种平衡。

即使是受过训练的驴子,当无法在后两个中做出选择时,还是会饿死。或者用地理做比喻,你可以用铁铲将分水岭移开,但却无法让它消失。尽管无法消除中间态,但设计良好的选优器电路还是可以确保实质的延迟非常短暂。一个典型的选优器件通常的延迟时间为100皮秒,而每运作10小时,会有不到一次的400皮秒的延迟。延迟发生的概率随延迟的长度成指数关系下降:在每10亿年的运作里,发生800皮秒的延迟不到1次。

对速度的需求

我们在SUN微电子公司的研究小组专门设计快速的异步系统,已经发现速度通常是依赖于系统的简化程度。我们最初的目的是想建造一个具有两个相对数据流的逆流线路,就像两条平行排列但方向相反的水桶传输队。我们希望两条数据流里的数据能在每个驿站里相互作用;其中的大挑战是要保证每个“北行的”数据码能与每个“南行的”的数据码相互作用。集合电路在此变得非常重要。在联结驿站的每个接点,集合电路一次只能允许一个数据码通过。我们学到了很多关于“协调”和“集合”的知识,而且研制了测试晶片,测试结果证实我们的电路是可靠的。

最近,我们已有了一个新的研究目标——一种名为FLEET的处理结构。该名字来源于速度和计算要素的集合,我们称每个计算要素为船。每艘船和其他船同时来完成任务;FLEET系统通过一个异步网管理传输数据来控制它们的动作。FLEET的研究得出很多发现。我们需要速度,因此创造出基本的GasP电路;我们希望控制数据从一个线路到另一个线路,就像车辆通过过道到另一条高速公路,因此设计出更多的GasP电路;这些电路的运作方式就像密集的公路系统,而它们传输数据的速度约是同步系统的两倍。为了测试网络的速度,我们通常会在测试芯片上建造环状电路,让数据码在这个环上像赛车一样奔驰。与测量数据通过一个驿站所用的过短时间相比,测量数据码经过一整圈电路所需的时间,要容易得多。

我们的设计已经开始进入SUN公司的电脑产品。UltraSPARC IIIi处理器芯片就包括异步数据阵列,能接收来自存储器芯片的信息。由于每个存储器芯片和处理器之间的相对距离都不同,所以来自存储器芯片的信号,会在不同的时间抵达处理器,而异步系统是补偿这个时间差的最简单、最快捷的方式。SUN公司产品的设计者有信心造出可以正常工作而且可测的异步器件,并且相信这些异步器件比同步器件更具有优势。随着他们信心的增强,会有越来越多的商业产品应用这些异步器件,以追求更快的速度、更高的灵活性、更好的能效和更少的射频干涉。

SUN决不是唯一的研究异步电路的公司。荷兰飞利浦研究院的一个研究小组已经为一个数字式的小型盒式播放器设计了一个异步纠错系统,并且为便携式设备设计了异步版本的极受欢迎的微控制器。这种异步微控制器已经集成到由飞利浦公司出售的呼机里了。飞利浦研究小组的成功有三个方面:第一,这个研究小组利用一种称为“七巧板”(Tangram)的程序语言来简化硬件设计,加快了产品的研发速度。第二,异步电路具有低功耗的优点,使呼机在同样充一次电的情况下,能运作的时间更长。第三,异步电路电磁干扰的降低,允许在一个小型设备里同时整合进电脑和敏感的电磁接收器。

此外,在曼彻斯特、加利福尼亚理工学院和飞利浦进行的实验也证明,异步微处理器可以和同步微处理器兼容,而且异步处理器无需专门的程序或者界面电路就能和外围设备联结。

一个具有挑战性的时刻

异步系统的灵活性是其一大优点,但这也造成了一个极大的挑战。因为每部分都有自己的步调,这个步调在一个系统或不同的系统里有时是不同的。如果几个动作同时发生,将产生许多可能的排序。要想在一个复杂的芯片里列举出所有动作的各种可能的排序,就好像想在一个满是儿童的校园里,预测出孩子的所有行动顺序一样困难。这种困境被称为“状态爆炸问题”,芯片设计者能否从这种潜在的混乱中创造出秩序呢?

幸运的是,研究人员正在发展解决这个问题的理论。如果设计者能够为每个电路之间的信息交换设置一些限制,那么他们就没必要操心所有可能的顺序组合。继续上面的校园比喻,老师只要教每个孩子怎样避免危险,就能让孩子安全地玩耍。

Q)SW%_O6ZI3YX(VS)1O_51C.png

另一个难题是我们缺乏成熟的设计工具、公认的测试方法和异步设计方面的普及教育。虽然逐渐壮大的研究团体已经取得了很大的进步,但是与同步系统方面的总投资相比,目前对异步电脑的投资额要逊色一些。然而,我们有信心,随着集成电路在速度和复杂性上的持续发展,将促使设计者去学习异步技术。我们还不知道异步系统会先在大的电脑和电子公司里兴起,还是会在急欲开发新产品的公司里兴起。无论如何,这项技术的趋势是必然的:在将来的几十年里,异步设计方案将广为普及。到时候,你的个人电脑有多快呢?这个问题就不那么容易回答了。



全部评论

你的评论