二进制与加减乘除的物理层实现
一,二进制0,1的实现
https://www.zhihu.com/question/20112194
二、加减乘除的实现
从数学上将,CPU中的ALU在算术上只干了两件事,加法,移位,顶多加上取反,在逻辑上,只有与、或、非、异或。
加法->加法。
减法->取反,加法。
乘法->移位,逻辑判断,累加
除法->移位,逻辑判断,累减
至于乘法除法为什么这样,搜索二进制数如何进行乘法除法,说白了,和我们熟悉的十进制运算流程上一模一样。
所以只需要加法器,移位器和基本逻辑门电路就构成一个简单的ALU。
从硬件实现上讲,可以看出,实现这四种基本运算只需要上述硬件组件就行。早期的cpu里结构简单,只有这些组件,没有专门的乘法器、除法器。
但是可想而知效率也是低下的(其中除法效率最低,因为每次移位后比乘法还多出一次试错操作),后来的cpu会集成专门的并行处理电路在cpu内建的协处理器(比如浮点运算器,很早的cpu是没有专门计算浮点的电路的)中。
在硬件上实现,这样计算速度就快了,当然,计算的逻辑还是没变。

浙公网安备 33010602011771号