计算机组成原理之算数逻辑单元
一、电路基本原理&加法器设计
1、算术逻辑单元(ALU)
- 算术运算:加、减、乘、除等
- 逻辑运算:与、或、非、异或等
- 辅助功能:移位、求补等
2、最基本的逻辑运算
-
优先级:与>或(类比乘法、加法)
Eg: AB+CD 先算与要算或 -
A(C+D) = AC+ AD ————分配律
-
ABC=A(BC)————结合律
-
A+B+C=A+(B+C)————结合律
Tips:本质上逻辑表达式是对电路的数学化描述,简化逻辑表达式就是在简化电路,就是在省钱。
3、复合逻辑
德摩根律
重点
4、并行进位加法器
==串行进位的并行加法器==:把n个全加器串接起来,就可进行两个n位数的相加。
串行进位又称为行波进位,每一级进位直接依赖于前一级的进位,即进位信号是逐级形成的。
5、补码加减运算器
1、加法器原理
Cin是在末尾进行相加(A和B两个数相加时,再加上Cin的值)Cout是进位所得的数(A和B两个数相加时,如果最高位进1则Cout的值为1,如果最高位没进位则Cout的值为0)
例题1:
例题2:
2、补码加/减法运算方法
- n bit补码X+Y,按位相加即可
- n bit补码X-Y:将补码Y全部按位取反,末位+1,得到[-Y]补,减法变加法
例题1:
例题2:
多路选择器MUX的0/1选择,如果sub的值是0那么多路选择器选择右边的路,Cin的值为0,如果sub的值是1那么多路选择器选择左边的路(非门的作用就是按位取反),Cin的值为1。
6、加减运算和溢出判断
1、原码的加减运算
原码的加法运算:
- 正+正→绝对值做加法,结果为正
- 负+负→绝对值做加法,结果为负
- 正+负→绝对值大的减绝对值小的,符号同绝对值大的数
- 负+正→绝对值大的减绝对值小的,符号同绝对值大的数
原码的减法运算,“减数”符号取反,转变为加法:
- 正-负→正+正
- 负-正→负+负
- 正-正→正+负
- 负+正→负-负
2、补码的加减运算
负数补→原:①数值位取反+1;②负数补码中,最右边的1及其右边同原码。最右边的1的左边同反码
对于补码来说,无论加法还是减法,最后都会转变成加法,由加法器实现运算,符号位也参与运算
例题
3、溢出判断
- 只有“正数+正数”才会上溢――正+正=负
- 只有“负数+负数”才会下溢――负+负=正
方法一:采用一位符号位
设A的符号为As(被加数的正负号),B的符号为Bs(加数的正负号),运算结果的符号为Ss(结果的正负号),则溢出逻辑表达式为
补充:逻辑表达式
- 与:如ABC,表示A与B与C
仅当A、B、C均为1时,ABC为1
A、B、C中有一个或多个为0,则ABC为0 - 或:如A+B+C,表示A或B或C
仅当A、B、C均为0时,A+B+C为0
A、B、C中有一个或多个为1,则A+B+C为1
方法二:采用一位符号位,根据数据位进位情况判断溢出
方法三:采用双符号位
正数符号为00,负数符号为11
- 双符号位补码又称:模4补码
- 单符号位补码又称:模2补码
4、符号扩展
重点
7、标志位的生成
- OF (Overflow Flag)溢出标志。溢出时为1,否则置0。
- SF (Sign Flag)符号标志。结果为负时置1,否则置0.
- ZF (Zero Flag)零标志,运算结果为0时ZF位置1,否则置0.
- CF (Carry Flag)进位/借位标志,进位/借位时置1,否则置0.
总结
以上就是计算机组成原理之算数逻辑单元的相关知识点,希望对你有所帮助。
积跬步以至千里,积怠惰以至深渊。时代在这跟着你一起努力哦!
- 点赞
- 收藏
- 关注作者
评论(0)