




已阅读5页,还剩75页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2020 3 27 第3章运算方法与运算器 本章讨论数据在计算机中运算处理的方法 以及对数据进行运算处理的部件运算器 计算机中的主要运算有两类 一类是算术运算 一类是逻辑运算 P31 2020 3 27 p31 逻辑运算按位进行 算术运算包括加 减 乘 除等运算 运算较复杂 与数据采用的编码及数据格式 定点 浮点 密切相关 2020 3 27 3 1定点补码加 减法运算 两个数相加 减 情况如下 A B A B A B A B A B A B A B A B A B均为树的绝对值 括号中的数据都可以方便地用补码表示 减法运算可以方便地用补码表示 而且减法运算可以用等式右边的相加运算实现 P31 2020 3 27 3 1 1运算方法及实现 1 补码加 减法运算公式 1 补码加法补码加法的运算公式 补 补 补公式的含义是 两个数的补码之和等于两个数和的补码 2020 3 27 例3 1已知 计算 补 补 解 补 补 补 补 补 补 2020 3 27 例 已知 计算 补 补 解 补 补 补 补 此题若用真值运算需做减法 2020 3 27 例 已知 用补码计算 解 补 补 补 补 符号位的进位为模 丢掉即作零处理 2020 3 27 补码减法 补码减法的运算公式为 补 补 补证明 补 补 补 补 补 补 补 补 补 补 补 3 1 只要证明 补 补证明3 1成立 也就证明了利用补码可将加法运算化作加法运算 2020 3 27 X Y 补 X 补 Y 补 Y 补 X Y 补 X 补 X Y 补 X 补 Y 补 Y 补 X Y 补 X 补 式与 式相加得 Y 补 Y 补 X Y 补 X Y 补 X 补 X 补 X Y X Y 补 X 补 X 补 0 Y 补 Y 补成立 2020 3 27 例3 4已知X 0 1100 Y0 0110 计算 X 补 Y 补 解 和 的补码表示为 X 补 0 1100 Y 补 0 0110由 Y 补 0 0110 求得 Y 补 1 1010 X 补 Y 补 X 补 Y 补 X 补0 1100 Y 补1 101010 0110 X 补 Y 补 0 0110 2020 3 27 例3 5已知X 0 1100 Y 0 0110 计算 X 补 Y 补 解 X 补 1 0100 Y 补 1 1010 Y 补 0 0110 X 补1 0100 Y 补0 01101 1010 X 补 Y 补 1 1010 2020 3 27 2 补码加 减法运算的逻辑实现 设参加运算的两个操作数 X 补 X0X1X2 Xn Y 补 Y0Y1Y2 Yn 图3 1实现加 减法运算的逻辑电路 2020 3 27 溢出检测 采用定点小数时 数据的表示范围为 1运算结果超出了机器能表示的数据范围为溢出 溢出会丢失有效数字 使计算结果出错 必须对运算结果进行溢出与否的判断 2020 3 27 p31 例 已知 X 补 0 1011 Y 补 0 1110 计算 X 补 Y 补 解 X 补0 1011 Y 补0 11101 1001两个正数相加 结果符号为 具有负数特征 显然存在问题 2020 3 27 例 已知 X 补 1 0101 Y 补 1 0100 计算 X 补 Y 补 解 X 补1 0101 Y 补1 010010 1001两个负数相加 结果符号为0 具有正数的特征 同样是错误的 这两例的运算都产生了溢出 检测溢出的方法有如下几种 2020 3 27 方法1 对操作数和运算结果的符号进行检测只有两个操作数符号相同时才有可能溢出 样式为 V X Y S X Y S 表达式中V V 表示溢出 表达式说明 当两个操作数为负数 即X Y 而S 时 以及当两个操作数为正 即X Y 而产生的S 时均会产生溢出 2020 3 27 图3 2溢出检测方法1的逻辑电路 2020 3 27 方法 对进位信号进行检测设最高有效位的进位信号为 符号位的进位信号位 则溢出检测的逻辑表达式为V C0C1 C0C1 C0 C1 图3 3根据进位检测溢出的逻辑电路 2020 3 27 方法 采用双符号位进行检测 这种检测方式使操作数用两个符号参加运算 两个符号位的补码又称为变形补码 或称模 的补码 采用变形补码后 正数的符号以 表示 负数的符号用 表示 一般称左边的符号位为第一符号位 右边的符号位为第二符号位 若运算结果的符号位为 或 则表明产生溢出 2020 3 27 例 8已知 X 补 00 1011 Y 补 00 1010 计算 X 补 Y 补 解 X 补00 1011 Y 补00 101001 0101检查符号位就知运算结果溢出 溢出以运算结果的符号位 01 指示 第一符号位为0 则产生了正溢出 2020 3 27 p31 例 9已知 X 补 11 0111 Y 补 11 0011 计算 X 补 Y 补 解 X 补11 0111 Y 补11 001110 1010运算结果中符号位为 10 说明产生负溢出 由上可见 由于运算结果的两个符号位相同时 表示运算结果没有溢出 相异时则表示产生负溢出 因此 设结果的第一个符号位为S o 第二符号位为So 则双符号位的溢出检测表达式为V oSo S oSo S o So 2020 3 27 图3 4变形补码的溢出检测 2020 3 27 3 1 2快速加法器1 一位全加器 设X和Y两个操作数的补码形式为 X 补 X0 X1X2 Xi Xn Y 补 Y0 Y1Y2 Yi YnSi与Ci的逻辑表达式 Si XiYiCi 1 XiYiCi 1 XiYiCi 1 XiYiCi 1 XiYiCi 1Ci XiYiCi 1 XiYiCi 1 XiYiCi 1 XiYiCi 1 XiYi XiYi Ci 1根据这两个逻辑表达式设计的一位全加器如图3 6所示 P37 2020 3 27 图3 5一位全加器逻辑符号 图3 6一位全加器逻辑图 2020 3 27 p31 产生进位的条件的逻辑表达式Ci XiYi Xi Yi Ci 11 XiYi Xi Yi Ci 12 XiYi Xi Yi Ci 13一般 Ci Ci PiCi 1XiYi根据具体线路中形成的方便 可选用XiYi用卡诺图证明 Xi YiCi 11证明 1Ci XiYiCi 1 XiYiCi 1 XiYiCi XiYi0XiYiCi 100Ci XiYi YiCi 1 XiCi 101 XiYi Xi Yi Ci 11110 传递函数 进位产生函数 2020 3 27 p31 证明 2Ci XiYi XiYiCi 1 XiYiCi 1Ci 11 XiYi XiYi XiYi Ci 1XiYi0 XiYi XiYi Ci 100011110四个输入逻辑变量Ci 1 C i 1 S 13S 12 S 13S 11S 13S 11S11S120001111000011110 2020 3 27 2 快速加法器 快速加法器设计采用了并行进位 先进行位 方式 指导思想是 同时产生各位运算需要的进位信号 操作数的各位是同时给出的 能高速地获得运算结果 并行进位信号产生电路如图3 7所示 2020 3 27 图3 7并行进位结构图 2020 3 27 串行进位信号产生的一般逻辑表达式为Ci XiYi XiYi Ci 1 设Pi XiYi为进位传递函数 Gi XiYi为进位产生函数 表达式可以较简单地表示为Ci Gi PiCi 1串行进位各位的进位表达式可表示为Cn Gn PnCn 1Cn 1 Gn 1 Pn 1CnCi Gi P1Ci 1C0 G0 P0C1 2020 3 27 改写上面这表达式 将Cn代入Cn 1 Cn 1代入Cn 2 可得到如下形式 Cn Gn PnCn 1Cn 1 Gn 1 Pn 1 Cn Gn 1 Pn 1 Gn PnCn 1 Gn 1 Pn 1Gn Pn 1PnCn 1 Ci Gi PiGn 1 PiPi 1Gn 2 PiPi 1 PnCn 1 C1 G1 P1G2 1 P1P2G3 P1P2P3 PnCn 1C0 G0 P0G1 P0P1G2 P0P1P2 PnCn 1进位信号产生只与操作数及Cn 1有关 根据这组表达式可以设计图3 7所示的进位信号产生电路 2020 3 27 进位产生电路 C0 C1 C2 C3 G0 G3 P0 P3 C C C C 进位产生电路 C C C10 C11 进位产生电路 C0 C1 C2 C3 P15 进位产生电路 G G P P G8 G11 P8 P11 G12 G15 P12 C16 图3 816位加法器组内并行 组间串行进位结构 2020 3 27 一种更快的进位方式是 组间也采用并行进位 即进位系统同时给出C12 C8 C4 C12 G12 P12G13 P12P13G14 P12P13P14G15 P12P13P14P15G16则第四组的进位产生函数为G4 G12 P12G13 P12P13G14 P12P13P14G15第四组的进位传递函数为P4 P12P13P14P15根据G4 P4 C13 C14 C15这5个逻辑表达式第四组实现组内并行 支持组间并行的电路如图3 9所示 2020 3 27 2020 3 27 定义了各小组pi Gi 函数后 小组间的进位信号由下列表达式表示 C12 G4 P4 C16C8 G3 P3 C12C4 G2 P2 C8C0 G1 P1 C4写成并行进位表达式为 C12 G4 P4 C16C8 G3 P3 G4 P3 P4 C16C4 G2 P2 C3 P2 P3 P4 G4 P2 P3 P4 C16C0 G1 P1 G2 P1 P2 G3 P1 P2 P3 P4 P1 P2 P3 P4 C16 2020 3 27 进位产生电路 C1 C2 C3 G0 G3 P0 P3 C C C 进位产生电路 C C10 C11 进位产生电路 C13 C14 C15 P16 进位产生电路 G G P P G8 G11 P8 P11 G0 G16 P0 C16 组间进位信号产生电路 C G 2 P 2 G 3 P 3 G 4 P 4 C8 C12 G 1 P 1 G P 图3 10组内 组间并行进位结构图 先行进位演示 2020 3 27 3 2 1运算方法及实现1 原码一位乘法的运算与实现 1 乘积的符号确定设被乘法 X 原 X0X1X2 Xn乘数 Y 原 Y0Y1Y2 Yn 为被乘数的符号位 为乘数的符号位设乘积的符号为 则 当 与 相异时 1 即积为负 否则 0 即积为正 3 2定点乘法运算 P42 2020 3 27 图3 11原码一位乘法算法流程图 2 乘积的数值 2020 3 27 例3 10已知X 0 1101 Y 0 1011 计算 X 原 Y 原 解部分积乘积判断位说明 00 0000 00 1101 00 1101 00 0110 00 1101 01 0011 00 1001 00 0000 00 1001 00 0100 00 1101 01 0001 00 1000 Y0 1011 P0 0 Y4 1 X 1 Y0 101 右移一位得P1Y3 1 X 右移一位得P2Y2 0 0 Y0 10 11 右移一位得P3Y1 1 X Y0 1 111 右移一位得P4 X Y Y0 1111 2020 3 27 图3 12原码一位乘法逻辑结构 3 原码一位乘法的逻辑实现 2020 3 27 2 补码一位乘法运算方法与实现 1 补码一位乘法的运算规则1 被乘数 X 补 X0X1X2 Xn Y 补 Y0Y1Y2 Yn 根据补码定义 X 补 2 X 2n 1 X X 补 Y式中 X Y分别为 X 补和 Y 补的真值 X 补 Y 补 2n 1 X Y 2n 1 Y X Y 2 Y1Y2 Yn X Y 2 X Y X Y 补 X Y 补 X 补 Y 补 X Y 补 X 补 Y 补 X 补 Y1Y2 Yn 2020 3 27 2 被乘数 X 补符号任意 乘数 Y 补为负 X 补 X1X2X3 Xn Y 补 1 Y1Y2 YnY Y 补 2 0 Y1Y2 Yn 1X Y X 0 Y1Y2 Yn X X Y 补 X 0 Y1Y2 Yn X 补 X 0 Y1Y2 Yn 补 X 补 X 补 0 Y1Y2 Yn X 补 3 5 2020 3 27 将式 3 4 和 3 5 综合起来可得到 X Y 补 X 补 0 Y1Y2 Yn Y0 X 补 3 6 将 3 6 式展开可获得累加形式表示式 X Y 补 X 补 Y0 Y12 1 Y22 2 Yn2 n X 补 Y0 Y1 Y12 1 Y22 1 Y22 2 Yn2 n 1 Yn2 n X 补 Y1 Y0 Y2 Y1 2 1 Yn Yn 1 2 n 1 Yn2 n 表达式还可表示为 X Y 补 X 补 Y1 Y0 Y2 Y1 2 1 Yn Yn 1 2 n 1 0 Yn 2 n 2020 3 27 补码一位乘法的操作方法如表3 1所示 算法流程如图3 13所示 表3 1补码一位乘法算法的操作 2020 3 27 开始 i 0 0 Pi Pi 补 X 补 Pi 补 Pi 不变 结果 YnYn 1 i n 1 01 10 N Y Pi 补 Y 补右移一位 i 1 Pi 补 X 补 Pi 补 00或11 图3 13补码一位乘法算法流程图 例 11已知 X 补 1 0101 Y 补 1 0011 计算 X 补 Y 补 解因为 X 补 0 1011 部分积乘积判断位说明00 00001 00110 00 110100 110100 010111 0011右移一位得P1 00 000001 010100 0010111 001右移一位得P2 11 0101YnYn 1 01 加 X 补11 011111 10111111 00右移一位得P3 00 000011 101111 110111111 0右移一位得P4即Pn 00 101100 10001111最后一步不移位 YnYn 1 10 加 X YnYn 1 11 加0 YnYn 1 10 加 X 补 YnYn 1 00 加0 2020 3 27 图3 14补码一位乘法算法逻辑结构 2 补码一位乘法的逻辑实现 2020 3 27 3 2 2乘法器 1 相加数的产生 如下图所示 A 0 a4a3a2a1a0 B 0 b4b3b2b1b0 a4b4 a1b0 a0b0 图3 15相加数产生部件 P48 2020 3 27 2 乘法阵列图3 16中 为一位全加器 可见乘法阵列由一位全加器组成 FA的输入 输出端输入 输出信息如图3 17表示 图3 16中 虚线框用作处理遗留下的进位信号以便获得最终结果 进位输出 和 进位输入 aibj aibj 图3 17FA的输入 输出指示 2020 3 27 FA FA FA FA a4b1 a4b0 a3b1 a2b1 a1b1 a0b1 a0b0 P5 FA FA FA FA a4b2 a3b2 a2b2 a1b2 a0b2 P3 FA FA FA FA a4b3 a3b3 a2b3 a1b3 a0b3 P2 FA FA FA FA a4b4 a3b4 a2b4 a1b4 a0b4 P1 FA FA FA FA P4 a3b0 a2b0 a1b0 P6 P7 P8 P9 0 0 0 0 0 P0 图3 165x5位乘法阵列 2020 3 27 3 原码乘法器由于原码的数值部分与真值有相同的形式 所以求积部分仍以图3 16所示方式实现 相加数也可用图3 15所示的部件产生 只是符号位应作相应处理 图3 18示出了nxn位有效数字的原码乘法器的结构框图 相加数产生部件 A 补 af B 补 bf bn 1 an 1 b0 b1 a1 a0 an 2 bn 2 an 1 bn 1 a1 b0 a0 b0 nxn乘法阵列 P2n 1 P2n 2 P2n 3 Pf 1 P0 P1 图3 18nxn位原码乘法器框图 2020 3 27 4 补码乘法器 如图3 19所示 2n位求补器 n位求补器 n位求补器 相加数产生电路 同前 乘法阵列 同前nxn阵列 数值同原码 相加数 积绝对值 补码乘积 1 A 补 af B 补 bf bn 1 an 1 a0 a1 a1 a0 P2n 1 P1 P0 Pf 图3 19带求补码器的补码乘法器原理图 2020 3 27 3 3定点除法运算 3 3 1原码除法运算方法及实现设被除数 X 原 X0 X1X2 Xn 除数 Y 原 Y0 Y1Y2 Yn 则商的符号Q0 X0Y0商的数值 Q 1 原码恢复余数法 X Y P52 2020 3 27 2 原码不恢复余数法 不恢复余数法的运算法则是 当余数为正时 商上 余数左移一位 减 比较 当余数为负时商上 余数左移一位 加 比较 例3 13 见课本 54 支持实现原码不恢复余数除法的硬件逻辑结构如图3 20所示 2020 3 27 支持实现原码不恢复余数除法的硬件逻辑结构如图3 20所示 R2 控制逻辑 1 1 R0被乘数 余数 Qn R0 R 商 加法器 移位控制 计数 计数器 上商位 图3 20 2020 3 27 3 3 2补码除法运算方法与实现补码不恢复余数除法的算法规则 1 被除数与除数同号 被除数减去除数进行比较 被除数与除数异号 被除数加上除数进行比较 比较的结果产生余数 2 余数与除数同号商上1 余数左移一位减去除数 余数与除数异号商上0 余数左移一位加上除数 注意 余数左移加上或减去除数后就得到了新余数 3 重复 2 判余数与除数符号上商 包括符号位在内 应重复n 1次 P55 例3 14已知 x 补 0 1001 y 补 0 1011 求 x y 补 被除数 余数商上商位说明 00 1001 被除数与除数同号 减除数比较 y 补11 0101 11 1110 0 余数r0与除数异号 商上0 11 1100 0 左移一位 y 补00 1011 加除数比较 00 0111 0 1 r1与除数同号 商上1 左移一位 00 1110 0 1 减除数比较 y 补11 0101 00 0011 r2与除数同号 商上1 0 11 00 0110 左移一位 0 11 减除数比较 y 补11 0101 11 1011 r3与除数异号 商上0 0 110 2020 3 27 被除数 余数商上商位说明 0 1101 故 x y 补 0 1101 余数 r 补 0 00000001因未除尽 商又为正 因此不必修正 例3 15已知 x 补 1 1001 y 补 0 1101 求 x y 补解 y 补 1 0011计算过程如下 左移一位 11 0110 0 110 加除数比较 y 补00 1011 00 0001 r4与除数同号 商上1 2020 3 27 被除数 余数商上商位说明 11 10011 010r3与除数异号 商上011 00101 010左移一位 用 恒置1 法将末位置1 便可结束运算 即商为1 0101 y 补00 1101校正法则多做一步加除数比较00 00010 1101r4与除数同号 商上0 余数处理方法 1 若商为正 则在余数与被除数符号相同时 不需修正 当余数与被除数异号时 需将余数加上除数进行修正才能获得正确的余数 2 若商为负 则在余数与被除数同号时 不需要修正 当余数与除数异号时 需将余数减去除数进行修正 连接 2020 3 27 3 3 3除法器 1 除法器的基本电路 1 FAi CASi Ci YiXi Ci 1 P Ci p Si YiXi Si Ci 1 a 电路 b 符号表示 图3 21一位可控加 减法器电路 P58 2020 3 27 2 除法器 对编码表示的机器数作适当处理 并以正小数形式参加运算 设参加运算的数的形式为X 0 X1X2X3X4X5X6X7X8 被除数 Y 0 Y1Y2Y3Y4 除数 2020 3 27 图3 22不恢复余数法除法器 2020 3 27 3 4浮点运算 3 4 1浮点补码加 减运算 1 对阶设数的X的阶码用Ex表示 Y的阶码用Ey表示 若Ex Ey 则将操作数Y的尾数右移一位 Y的阶码Ey加1 直到Ex Ey 若Ex Ey 则将操作数X的尾数右一位 X的阶码Ex加1 直到Ex Ey P59 2020 3 27 2 尾数运算使两个操作数的阶码相等 3 结果规格化把结果的尾数部分不是补码形式11 0 xx x或00 1xxx x的进行规格化操作 当结果为01 xx x或10 xx x时需要右规 阶码相应进行加一操作 当结果为11 1或00 0时需要左规 左移一位阶码减1 4 舍入与溢出检测常用的舍入方法有末位恒显1法和0舍1入法 2020 3 27 例3 16已知x 2010 0 110100 y 2100 0 100010 求 x 补 y 补解阶码取3位 尾数为6位 都不包括符号位 x 补 0001000110100 y 补 0010011011110 1 对阶 x 补的阶码增大成0100 尾数右移两位 x 补 0010000001101 2 尾数相加00 001101 11 01111011 101011相加结果为0010011101011 2020 3 27 4 舍入和溢出检测 此题不涉及及舍入操作 由于阶码的符号位为00未产生溢出 如果此题要求计算 X 补 Y 补 则第二部需要进行尾数求差运算 Mx 补00 001101 My 补00 10001000 101111 3 规格化最高有效位与符号相同需要左规 结果应为 X 补 Y 补 0001111010110 2020 3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江苏省南京市六合区2024-2025学年八年级下学期期末练习英语试卷(含答案无听力原文及音频)
- 汉字形体的演变过程
- 2025年江苏省宿迁市中考数学试卷(无答案)
- 3D打印技术基础知到智慧树答案
- 新能源科技发展影响国际市场
- 金融金融银行保险证券市场前景展望预测
- Ubuntu Linux 22.04系统管理与服务器配置 课件 项目5-9 配置常规网络与使用远程服务-配置与管理Web服务器
- 2025年出版物发行零售项目立项申请报告
- 水闸安全知识培训内容课件
- 隐蔽工程检查与验收方案
- 2025-2030中国ARM核心板行业市场现状分析及竞争格局与投资发展研究报告
- 脐灸技术操作流程图及考核标准
- 给药错误PDCA课件
- 医美注射培训
- 白内障护理课件
- 香菇多糖生产工艺创新-洞察分析
- 箱泵一体化泵站设计图集
- 三上10《公共场所文明言行》道德法治教学设计
- 《电器火灾的防范》课件
- 路灯CJJ检验批范表
- 农村厕所改造合同书完整版
评论
0/150
提交评论