二进制与加减乘除的物理层实现

一,二进制0,1的实现

https://www.zhihu.com/question/20112194

 

二、加减乘除的实现

从数学上将,CPU中的ALU在算术上只干了两件事,加法,移位,顶多加上取反,在逻辑上,只有与、或、非、异或。

加法->加法。

减法->取反,加法。

乘法->移位,逻辑判断,累加

除法->移位,逻辑判断,累减

至于乘法除法为什么这样,搜索二进制数如何进行乘法除法,说白了,和我们熟悉的十进制运算流程上一模一样。

所以只需要加法器,移位器和基本逻辑门电路就构成一个简单的ALU。

从硬件实现上讲,可以看出,实现这四种基本运算只需要上述硬件组件就行。早期的cpu里结构简单,只有这些组件,没有专门的乘法器、除法器。

但是可想而知效率也是低下的(其中除法效率最低,因为每次移位后比乘法还多出一次试错操作),后来的cpu会集成专门的并行处理电路在cpu内建的协处理器(比如浮点运算器,很早的cpu是没有专门计算浮点的电路的)中。

在硬件上实现,这样计算速度就快了,当然,计算的逻辑还是没变。

posted @ 2017-12-21 15:27  重头来过  阅读(566)  评论(0)    收藏  举报