度,是一种傻瓜式计算,所有过程集成在硬件里面。
自然,加减乘除,开指数,指数,微分,积分等等运算也是由加法实现的,这里有很多的数学理论,计算机实际上就是数学思想的结晶。
ALU还有一个功能,那就是决定进行哪种运算,键盘上的数学运算符号用来决定ALU的选择,如果计算更复杂一点可以通过软件选择ALU进行那种运算。
设计计算机首先就要设计ALU,也就是设计加法器,计算机内部的加法器有全加器、纹波进位加法器、超前进位加法器。
一个全加器只能进行一位二进制的加法,有了全加器以后,就能做多位二进制数的加法了,只要把多个全加器的输入和输出连起来,就像可以实现多位的加法。
纹波进位加法器就是一个把许多个全加器串联起来的加法器,它能进行多位数的加法运算。
但这种加法器有种缺陷,就是bit位运算太慢,每个bit位的计算都要等到上个bit的运算结束后才能进行运算,导致如果运算位数非常之多的话,整个加法器运算会非常缓慢,所以纹波进位加法器只能做bit位较少的加法计算。
如果要进行bit位较多的加法计算,就要设计超前进位加法器,这种加法器不需要等上一位的运算结束,而是直接就可以通过布尔运算得出当前位的值,而计算的方式是利用硬件计算。
所以超前进位加法器也有缺陷,因为要利用硬件进行布尔运算,位数越多电路就越复杂,这样不仅运算会变慢,成本也会变高。
而用硬件进行布尔运算也需要用到加法器,所以超前进位加法器也是由全加法器实现的,只不过拥有更多的全加器,构成了超前进位全加器。
这样布尔运算模块和超前进位加法器互相包含,构成了极为复杂的结构。
但是不管怎么复杂,只要设计成功,以后就可以直接拿来用,不用再次分析和设计。
除了加法器之外还有减法,乘法,除法,等等,这是计算机必须的。
计算机要进行复杂的运算,需要利用数值计算方法的原理,或是将各种数学函数变换变为只有加减乘除的多项式,或是使用迭代的方式计算,或是近似计算等等。
这又是一个新的数学领域。