右边加法器的进位输出被连接到了左边加法器的进位输入上。左边加法器的输入包含了两个加数的高8位,而得到的结果也是最终加和的高8位。
你可能会问:“这真的就是计算机进行加法运算时所采用的方式么?”
基本上来说,是的。但也并不完全是。
首先,可以制作一个比这个算得更快的加法器。如果你看一下这个电路是如何工作的,最低有效位的一对数字相加所得出的一个进位输出,将要参与接下来的一对数字的加法运算,由此得到的一个进位输出又要参与再下一对数字的加法运算,依此类推。加法器的总体速度等于数字的位数乘以全加器器件的速度,这被称做行波进位(ripple carry,或脉冲进位)。更快的加法器运用了一个被称为“前置进位”的电路来提高运算的速度。
其次,也是最重要的,计算机已经不再使用继电器了!尽管它曾经被使用过。第一台数字计算机在20世纪30年代被建造完成,当时所使用的就是继电器,后来也使用过真空管。今天的计算机使用的是晶体管。在被用到计算机中时,晶体管的工作方式与继电器基本相同,但是正如我们即将了解到的,晶体管要比继电器计算速度更快、体积更小,而且噪声更弱、耗能也更低,而且更便宜。搭建一个8位加法器依然需要144个晶体管(如果你用前置进位法代替行波进位,将会用到更多的晶体管),但是电路却是极小的。
编码隐匿在计算机软硬件背后的语言
146