计算机速成3

本文介绍了计算机算术逻辑单元(ALU)的工作原理,从半加器的实现到全加器,再到八位加法器的设计,展示了如何用晶体管进行二进制计算,以及逻辑单元在决定计算过程中的重要性。
摘要由CSDN通过智能技术生成

第三章 算术逻辑


前言

二进制在计算机中的表示部分已经完成,下一步该进入如何用这些二进制数字完成计算机中的计算。

一、ALU

1.ALU介绍

ALU(Arithmetic & Logic Unit)算术逻辑单元。计算机中完成数据加减的部分,也是计算机的核心,基本所有的部件都会用到它。
英特尔74181
如图是最早的ALU硬件展示,英特尔的74181.

2.ALU实现

ALU一般分为两部分,逻辑部分和算术部分,这两部分将分开讲解。

1.半加器实现

算数,简单理解,就是将数字相加,或者相减,我们之前已经通过晶体管完成了逻辑门,很容易想到用晶体管也可以实现数字的加减,如果这里使用晶体管来进行一步步运算,晶体管结构很快会变的相当复杂,所以我们将逻辑门向上抽象,来完成电路。

这里从最简单的开始构建思路,也就是加1.

0+0 =0 , 1+0=1,0+1=1

很显然可以发现,这一组算术得到的结果和异或门完全一样。
在这里插入图片描述

但是有一个问题,就是当1+1时,会完成进位

也就是1+1 = 0

那么这个进位,就再加一根线来计算,作为进位线。
在这里插入图片描述
这样一个半加器就完成了,它的作用主要是处理1或0的加减。

全加器实现

要实现更为复杂的计算,就要完成一个全加器。这里对半加器再做一次抽象。
在这里插入图片描述
S是余位,C是进位。
将余位作为下一次计算的其中一个输入,另外一个加数作为第二个输入,这样完成了一个全加器。这里可以想象一下列竖式,先两个相加,把得到的余数再和下一位相加。
在这里插入图片描述

八位加法器

在上边已经完成了全加器,接下来可以再进一步,将全加器进行抽象,把8个全加器连在一起,完成一个8位加法器。
在这里插入图片描述
这里可能有人会问,如果A7全加器仍有进位,怎么办,这个问题挺好,结果就是数据溢出,程序异常。

逻辑单元

对于一个计算单元来说,不仅要能进行计算,还要知道进行什么计算,这就是逻辑单元的作用。
在这里插入图片描述
8位的数据,以及8位的操作符。

总结

实在是太精妙了,看完这一部分感觉好像自己就在做一个计算机一样,把复杂的计算通过精妙的晶体管来完成,速度快到难以想象,在这里的时候已经有了计算机的初步模型,我也很期待下一步要做什么。

  • 14
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值