目录
1 定点运算
1.1 算术移位规则
1.2 算术移位和逻辑移位的区别
1.3 加减法运算
1、补码加减运算公式
连同符号位一起相加,符号位产生的进位自然丢掉
2、溢出判断--- 要考虑机器数的长度、寄存器的长度
(1)一位符号位判溢出
参加操作的两个数(减法时即为被减数和“求补”以后的减数)符号相同,其结果的符号与原操作数的符号不同,即为溢出
硬件实现
最高有效位的进位(异或)符号位的进位=1---溢出
(2)两位符号位判溢出
结果的双符号位相同---未溢出;结果的双符号位不同---溢出;
最高符号位代表其真正的符号
3、补码加减法的硬件配置
1.4 乘法运算---逻辑右移,连同符号位一起右移
(1)乘法运算可用加和移位实现;
(2)由乘数的末位决定被乘数是否与原部分积相加,然后->1位形成新的部分积,同时乘数->1位(末位移丢),空出高位存放部分积的低位;
(3)被乘数只与部分积的高位相加;
1.5 原码的乘法运算
(1)原码乘法规则
逻辑移位说明,带符号位一起移动
(2)原码一位乘的硬件配置
计数器C为N,每移位一次就减一
S为符号位异或运算
Q为乘商寄存器,高位逐渐被累加和低位占据
1.6 除法运算
(1)笔算除法
(2)笔算除法和机器除法比较
(3)原码除法---机器除法---通过加减比大小
2 浮点四则运算
2.1 浮点加减运算
尾数只可以右移,右移可能会精度损失,左移会造成数据丢失
小阶向大阶看齐
2.2 规格化---提高存储效率,避免浪费
(1)对阶
(2)尾数求和
(3)规格化---左规、右规
(4)舍入 :在对阶和右规过程中,可能出现尾数末位溢出引起误差,考虑舍入
0舍1入法;恒置“1”法
2.3 溢出判断
3 算术逻辑单元
3.1 ALU电路
组合逻辑电路---不存储
Ki不同取值,Fi不同
3.2 快速进位链
(1)并行加法器
(2)串行进位链
(3)并行进位链
3.3 改进进位链
以上门电路的输入特别多结构复杂才可以实现并行进位,因此有一下改进这种方式
(1)单重分组跳跃进位链
n位全加器分若干小组,小组中的进位同时产生,小组与小组之间采用串行进位,以n=16为例
(2)双重分组跳跃进位链
n位全加器分若干大组,大组中又包含若干小组,每个大组中小组的最高位进位同时产生,大组与大组之间采用串行进位。