简介

  ALU(Arithmetic Logic Unit)是计算机CPU中的算术逻辑单元,它负责处理计算机中的数学运算和逻辑运算。它可以执行基本的算术运算(加减乘除)和逻辑运算(与或非),并且根据运算结果产生相应的输出。ALU是CPU中最重要的部分之一,负责实现计算机的基本运算功能,

半加器

  半加器,只能完成一半功能的加法器,这里说的一半功能就是他不能接收到进位,思考一下两个1位的二进制相加:

  • 0 + 0 = 0 进位是0
  • 1 + 0 = 1 进位是0
  • 0 + 1 = 1 进位是0
  • 1 + 1 = 0 进位是1

  通过分析得知我们的和相当于异或门(相同为0,不同为1);进位相当于与门(同1为1)

真值表
A(输入) B(输入) SUM(输出) Carry(进位)
0 0 0 0
1 0 1 0
0 1 1 0
1 1 0 1

Digital仿真电路

全加器

  如果一个加法器能接收进位,还能完成加法,那他就是一个全加器,一个全加器由两个半加器组合而成。

真值表
A(输入) B(输入) C(输入) SUM(输出) Carry(进位)
0 0 0 0 0
1 0 0 1 0
0 1 0 1 0
1 1 0 0 1
0 0 1 0 1
1 0 1 0 1
0 1 1 0 1
1 1 1 1 1

Digital仿真电路

8位加法器

  上述元件中输入用到了分裂器,输出用到了合并器,这是Digital帮我们简化输入和输出的。

分裂器
合并器

  并且输入和输出的数据位数都改为了8位,且为了方便查看同时将数据格式改为十进制(Decimal)

  使用我们之前搭建的基础电路来完成此加法器时,会出现Bug,由于我们之前很多电路在未导通输出时都是浮空的高阻态,当电路中磁场干扰信号很多时容易产生干扰,因此需要将我们之前的基础电路在输出端接上“下拉电阻”,如下所示: