第68章 计算机架构攻关(1 / 2)
辉煌科技公司半导体研究中心。
无数工作人员正在加紧研究cpu需要的各种模块,比如乘法器、除法器、加法器、译码器、编码器、数据选择器、触发器、锁存器、计数器、移位寄存器、储存器、放大器、模拟数字转换器、数字模拟转换器等等。
所有运算都是加法器实现的,加法器是计算机真正的基石,计算机一切的计算能力,都是由加法器实现的。
设计cpu首先就要设计alu,也就是设计加法器,计算机内部的加法器有全加器、纹波进位加法器、超前进位加法器。
一个加法器只能进行一位二进制的加法,有了全加器以后,就能做多位二进制数的加法了,只要把多个全加器的输入和输出连起来,就像可以实现多位的加法。
纹波进位加法器就是一个把许多个全加器串联起来的加法器,它能进行多位数的加法运算。
但这种加法器有种缺陷,就是bit位运算太慢,每个bit位的计算都要等到上个bit的运算结束后才能进行运算,导致如果运算位数非常之多的话,整个加法器运算会非常缓慢,所以纹波进位加法器只能做bit位较少的加法计算。
如果要进行bit位较多的加法计算,就要设计超前进位加法器,这种加法器不需要等上一位的运算结束,而是直接就可以通过布尔运算得出当前位的值,而计算的方式是利用硬件计算。
所以超前进位加法器也有缺陷,因为要利用硬件进行布尔运算,位数越多电路就越复杂,这样不仅运算会变慢,成本也会变高。
而用硬件进行布尔运算也需要用到加法器,所以超前进位加法器也是由全加法器实现的,只不过拥有更多的全加器,构成了超前进位全加器。
这样布尔运算模块和超前进位加法器互相包含,构成了极为复杂的结构。
但是不管怎么复杂,只要设计成功,以后就可以直接拿来用,不用再次分析和设计。
除了加法器之外还有减法,乘法,除法,等等,这是cpu必须的。
cpu要进行复杂的运算,需要利用数值计算方法的原理,或是将各种数学函数变换变为只有加减乘除的多项式,或是使用迭代的方式计算,或是近似计算等等,这又是一个新的数学领域。
从数学角度来说,减法是可以转换成加法运算的,乘法同样可以转换成加法运算,除法可以转换成乘法运算,所以一切的运算都可以以加法运算为基础,所以计算机只会做加法也没有问题。
但是如果计算机只会做加法,对于有些计算来说速度就会慢下来,所以要想计算机速度更快,一定要给计算机设计加减乘除积分微分的运算电路。
还需要设计更加复杂的数学电路,来辅助硬件电路来完成更多的功能,这些辅助硬件的电路会通过一定的规则来控制,这个规则就是软件。
也就是说cpu里面还有一部分是把软件翻译成硬件电路,然后将这部分硬件电路烧进cpu模块里面,这样cpu就可以高速调用里面的软件进行运行了,极大地加快了速度。
上面的仅仅是cpu的电路原理,除了电路以外还有电路的密度。
cpu设计都是先使用软件进行电路模块的设计并模拟,然后根据模拟的成功的电路进行分立元件的搭建,然后单独测试这些模块的性能,最后把这些模块集合在一起,构成一个由分立元件构成的巨大cpu。
这就是cpu原型了。