文章目录
定点补码加减法运算
补码加减法运算方法
溢出及检测
溢出检测
操作数与运算结果的符号位是否一致
最高位的进位和符号位的进位是否一致
变形补码
补码加减法的逻辑实现
移码加减运算及实现逻辑
移码的加法运算
移码加减法的溢出判断
直接采用移码运算的溢出判断方法
采用双符号判断
定点乘法运算
机器数的移位操作
原码一位乘法
原码一位乘法
符号位的确定
乘积的数值
补码一位乘法
运算规则(booth算法)
阵列乘法器
定点除法运算
原码一位除法
原码恢复余数法
原码不恢复余数法
不恢复余数的补码一位除法
浮点运算
浮点数加减运算
阶码和尾数采用补码表示的浮点数加减运算
IEEE 754浮点数的加减运算
浮点数乘法运算
浮点数除法运算
逻辑运算
运算器
定点运算器
运算前的基本组成单元
算术逻辑运算单元
通用寄存器组
输入输出数据选择控制
内部总线
运算器的基本结构
单总线
双总线
三总线
浮点运算器
基本算术逻辑单元的设计
基本算术、逻辑部件
基本算术逻辑运算单元设计
串行进位加法器
并行加法器
定点补码加减法运算
补码加减法运算方法
补码加法:[x]补 + [y]补 = [x + y]补 mod M
补码减法:[x]补 - [y]补 = [x - y]补 mod M
溢出及检测
运算结果超出数据类型所能表示数据范围的现象称为溢出
溢出检测
操作数与运算结果的符号位是否一致
只有符号相同的数相加,才有可能产生溢出,因此检测运算结果的符号位,是否与操作数一致
设操作数为S1XXXX和S2XXXX,其中S1和S2为他们的符号位,结果为SXXXX,S是结果的标志位,V是溢出标志位,那么
V = S1 && S2 && !S + !S1 && !S2 && S
如果符号位不同,则S1和S2必定是0和1的组合,其结果V一定为0
如果符号位相同,则可能同时为0或者同时为1,这时就要看结果的符号位S了
最高位的进位和符号位的进位是否一致
最高位C和符号位S的进位,如果不同步,则发生了溢出
V = C ^ S
变形补码
变形补码就是用两个位来表示符号位,正数符号位00,负数符号位11
如果运算后的结果为01,则上溢,10则下溢
补码加减法的逻辑实现
利用一位全加器(FA)作为基本的加法单元,低位FA的进位,直接送到相邻高位FA的进位输入,构成一个串行进位链
进行加法运算