辉煌科技公司半导体研究中心。
无数工作人员正在加紧研究CPU需要的各种模块,比如乘法器、除法器、加法器、译码器、编码器、数据选择器、触发器、锁存器、计数器、移位寄存器、储存器、放大器、模拟数字转换器、数字模拟转换器等等。
所有运算都是加法器实现的,加法器是计算机真正的基石,计算机一切的计算能力,都是由加法器实现的。
设计CPU首先就要设计ALU,也就是设计加法器,计算机内部的加法器有全加器、纹波进位加法器、超前进位加法器。
一个全加器只能进行一位二进制的加法,有了全加器以后,就能做多位二进制数的加法了,只要把多个全加器的输入和输出连起来,就像可以实现多位的加法。
纹波进位加法器就是一个把许多个全加器串联起来的加法器,它能进行多位数的加法运算。
但这种加法器有种缺陷,就是bit位运算太慢,每个bit位的计算都要等到上个bit的运算结束后才能进行运算,导致如果运算位数非常之多的话,整个加法器运算会非常缓慢,所以纹波进位加法器只能做bit位较少的加法计算。
如果要进行bit位较多的加法计算,就要设计超前进位加法器,这种加法器不需要等上一位的运算结束,而是直接就可以通过布尔运算得出当前位的值,而计算的方式是利用硬件计算。
所以超前进位加法器也有缺陷,因为要利用硬件进行布尔运算,位数越多电路就越复杂,这样不仅运算会变慢,成本也会变高。
而用硬件进行布尔运算也需要用到加法器,所以超前进位加法器也是由全加法器实现的,只不过拥有更多的全加器,构成了超前进位全加器。
这样布尔运算模块和超前进位加法器互相包含,构成了极为复杂的结构。
但是不管怎么复杂,只要设计成功,以后就可以直接拿来用,不用再次分析和设计。
除了加法器之外还有减法,乘法,除法,等等,这是CPU必须的。