算术逻辑单元

ALU是计算机中的核心组件,负责执行算术和逻辑运算。它包含算术单元,由半加器和全加器构建,进行加法和其他运算。全加器处理多位加法,涉及进位。当超过存储空间的限制导致数据丢失时,会发生溢出。逻辑单元执行逻辑操作,如NOT、AND和OR。ALU的抽象简化了设计过程,包括输入、输出和各种标志来指示运算状态。

1、什么是算术逻辑单元

1命名:简称ALU,Arithmetic&Logic Unit

2组成:ALU有2个单元,1个算术单元和1个逻辑单元(Arithmetic Unit和Logic Unit)

3作用:计算机中负责运算的组件,处理数字/逻辑运算的最基本单元。

2、算术单元

1)基本组件:

  • 由半加器、全加器组成
  • 半加器、全加器由AND、OR、NOT、XOR门组成

2)加法运算

1组件:AND、OR、NOT、XOR门

2元素:输入A,输入B,输出(均为1个bit,即0或1)

3半加器:

  • 作用:用于计算个位的数字加减。
  • 输入:A,B
  • 输出:总和,进位

 

  • 抽象:

 

4全加器:

作用:用于计算超过1位的加法,由于涉及进位,因此有3个输入(C充当进位)。

 

原理图示:

 

3)如何用半加器与全加器做8位数的加法

1说明:以8位行波加法器为例

1.用半加器处理第1位数(个位)的加法,得到的和为结果的第1位。

2.将输出的进位,输入到第2位用的全加器的输入C中。

3.将第2位的2个数用全加器计算,得到的和为结果的第2位(sum)。

4.将第2位计算的进位连接到百位的全加器输入C中。

5.在第3-8位上,循环第3-4步的操作。

*现在电脑使用的加法器叫“超前进位加法器”

 

4)算术单元支持的其他运算

 

3、溢出的概念

内容:在有限的空间内,无法存储位数过大的数,则称为溢出。

说明:第8位的进位如果为1,则无法存储,此时容易引发错误,所以应该尽量避免溢出。

4、逻辑单元

作用:执行逻辑操作,如NOT、AND、OR等操作,以及做简单的数值测试。

5、ALU的抽象

1)作用:ALU的抽象让工程师不再考虑逻辑门层面的组成,简化工作。

2)图示:

像一个大“V”。

 

3)说明:

图示内容包括:

  • 输入A,B
  • 输出
  • 标志:溢出、零、负数

 

实验一 算术逻辑单元 1. 实验目的 (1) 掌握运算器的工作原理。 (2) 验证运算器的功能 2. 实验要求 (1)基本要求 设计一个4位的算术逻辑单元,满足以下要求。 ①4位算术逻辑单元能够进行下列运算:加法、减法、加1、减1、与、或、非和传递。用3位操作码进行运算,控制方式如下表所示。 运算操作码     运   算 对标识位Z和C的影响 000 result ←A+B 影响标志位Z和C 001 result ←A+1 影响标志位Z和C 010 result ←A-B 影响标志位Z和C 011 result ←A-1 影响标志位Z和C 100 result←A and B 影响标志位Z 101 result←A or B 影响标志位Z 110 result← not B 影响标志位Z 111 result←B 不影响标志位Z和C ②设立两个标志触发器Z和C。当复位信号reset为低电平时,将这两个标志触发器清零。当运算结束后,在时钟clk的上升沿改变标志触发器Z和C的值。运算结果改变标志触发器C、Z的情况如下:加法、减法、加1、减1运算改变Z、C;与、或、非运算改变Z,C保持不变;传送操作保持Z、C不变。因此在运算结束时Z、C需要两个D触发器保持。 ③为了保存操作数A和B,设计两个4位寄存器A和B。当寄存器选择信号sel=0时,如果允许写信号write=1,则在时钟clk的上升沿将数据输入dinput送入A寄存器;当sel=1时,如果允许写信号write=1,则在时钟clk的上升沿将数据输入dinput送入B。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值