




已阅读5页,还剩180页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第六章计算机的运算方法 6 1无符号数和有符号数 6 3定点运算 6 2数的定点表示和浮点表示 6 4浮点四则运算 6 5算术逻辑单元 6 6时序逻辑电路 6 6数据校验码 2 一 考试范围 一 数制和编码进位计数制及其转换 真值和机器数 BCD码 字符和字符串 校验码 二 定点数的表示和运算1 定点数的表示 有符号 无符号 2 定点数的运算移位运算 加减运算 原码 补码 乘 除运算 溢出概念和判别方法 3 一 考试范围 三 浮点数的表示和运算1 浮点数的表示范围 IEEE754标准2 浮点数的加 减运算 单选题 四 算术逻辑单元ALU1 串行加法器和并行加法器2 算术逻辑单元的功能和结构 4 二 复习要点 了解进位数制及其相互转换 字符 包括汉字 字符串和BCD数在计算机中的表示了解校验码引入的目的 原理及其应用理解本章的基本概念 如机器数 真值 最小码距 并行进位 理解定点数的表示原理 掌握定点数的运算 溢出的概念与判别方法 了解阵列乘法器 理解浮点数的表示 掌握浮点数的加减运算方法 理解算术逻辑单元相关术语的定义 ALU的基本功能 组成和结构 一 无符号数 8位0 255 16位0 65535 6 1无符号数和有符号数 带符号的数符号数字化的数 0 1011 1100 1100 0 1011 真值机器数 1 机器数与真值 二 有符号数 6 1无符号数和有符号数 2 原码表示法 带符号的绝对值表示 1 定义 整数 x为真值 n为整数的位数 如 x 1110 x 原 0 1110 x 原 24 1110 1 1110 用逗号将符号位和数值位隔开 6 1无符号数和有符号数 小数 x为真值 如 x 0 1101 x 原 0 1101 x 0 1000000 x 原 0 1000000 用小数点将符号位和数值位隔开 用小数点将符号位和数值位隔开 6 1无符号数和有符号数 2 举例 例6 1已知 x 原 1 0011求x 解 例6 2已知 x 原 1 1100求x 解 0 0011 1100 由定义得 由定义得 6 1无符号数和有符号数 例6 4求x 0的原码 解 设x 0 0000 例6 3已知 x 原 0 1101求x 解 x 0 1101 同理 对于整数 0 原 0 0000 0 0000 原 0 0000 根据定义 x 原 0 1101 6 1无符号数和有符号数 但是用原码做加法时 会出现如下问题 能否只做加法 加法正正 加 加法正负 加法负正 加法负负 减 减 加 正 可正可负 可正可负 负 6 1无符号数和有符号数 1 补的概念 时钟 逆时针 顺时针 3 补码表示法 时钟以12为模 称 9是 3以12为模的补数 6 1无符号数和有符号数 结论 一个负数加上 模 即得该负数的补数 两个互为补数的数它们绝对值之和即为模数 计数器 模16 1011 1011 0000 0101 1011 10000 6 1无符号数和有符号数 mod24 2 正数的补数即为其本身 两个互为补数的数 分别加上模 结果仍互为补数 0101 0101 0101 24 1 1011 1 0101 用逗号将符号位和数值位隔开 mod24 可见 0101 0101 0101 1011 0101 mod24 1 100000 6 1无符号数和有符号数 3 补码定义 整数 x为真值 n为整数的位数 如 x 1010 100000000 x 补 0 1010 1 0101000 用逗号将符号位和数值位隔开 6 1无符号数和有符号数 小数 x为真值 x 0 1110 如 x 补 0 1110 1 0100000 10 0000000 6 1无符号数和有符号数 4 求补码的快捷方式 100000 1 0110 10101 1 1 0110 又 x 原 1 1010 1 6 1无符号数和有符号数 5 举例 解 x 0 0001 解 由定义得 x x 补 2 1 0001 10 0000 x 原 1 1111 由定义得 6 1无符号数和有符号数 例6 7 解 x x 补 24 1 1 1110 100000 x 原 1 0010 由定义得 6 1无符号数和有符号数 真值 0 1000110 1 0111010 0 1110 1 0010 0 0000 0 0000 1 0000 0 1000110 1 1000110 0 1110 1 1110 0 0000 1 0000 不能表示 练习 求下列真值的补码 由小数补码定义 1000110 1000110 x 补 x 原 6 1无符号数和有符号数 4 反码表示法 1 定义 整数 如 x 1101 x 反 0 1101 1 0010 x为真值 n为整数的位数 6 1无符号数和有符号数 小数 x 0 1101 x 反 0 1101 1 0101 如 x为真值 6 1无符号数和有符号数 2 举例 例6 10求0的反码 设x 0 0000 x 0 0000 0 0000 反 0 0000 0 0000 反 1 1111 0 反 0 反 解 同理 对于整数 0 反 0 0000 0 反 1 1111 例6 9已知 x 反 1 1110求x 1 1110 11111 0001 例6 8已知 x 反 0 1110求x 解 由定义得x 1110 解 6 1无符号数和有符号数 三种机器数的小结 对于正数 原码 补码 反码 6 1无符号数和有符号数 例6 11 0 1 128 127 127 126 3 2 1 设机器数字长为8位 其中一位为符号位 对于整数 当其分别代表无符号数 原码 补码和反码时 对应的真值范围各为多少 6 1无符号数和有符号数 例6 12 解 6 1无符号数和有符号数 5 移码表示法 补码表示很难直接判断其真值大小 如 十进制 x 25 10101 100000 11111 100000 错 错 正确 正确 0 10101 1 01011 0 11111 1 00001 10101 10101 11111 11111 110101 001011 111111 000001 二进制 补码 6 1无符号数和有符号数 1 移码定义 x为真值 n为整数的位数 移码在数轴上的表示 如 x 10100 x 移 25 10100 用逗号将符号位和数值位隔开 x 10100 x 移 25 10100 1 10100 0 01100 6 1无符号数和有符号数 2 移码和补码的比较 设x 1100100 x 移 27 1100100 x 补 0 1100100 设x 1100100 x 移 27 1100100 x 补 1 0011100 补码与移码只差一个符号位 1 1100100 0 0011100 1 0 0 1 6 1无符号数和有符号数 3 真值 补码和移码的对照表 100000 00000 11111 000000 111111 000000 100000 6 1无符号数和有符号数 当x 0时 0 移 25 0 0 移 25 0 0 移 0 移 当n 5时 最小的真值为 25 100000 移 可见 最小真值的移码为全0 4 移码的特点 用移码表示浮点数的阶码 能方便地判断浮点数的阶码大小 1 00000 1 00000 100000 000000 25 100000 6 1无符号数和有符号数 小数点按约定方式标出 一 定点表示 定点机 小数定点机 整数定点机 原码 补码 反码 1 2 n 1 2 n 2n 1 2n 1 1 1 2 n 2n 2n 1 1 2 n 1 2 n 2n 1 2n 1 6 2数的定点表示和浮点表示 二 浮点表示 计算机中r取2 4 8 16等 当r 2 N 11 0101 0 110101 210 1 10101 21 1101 01 2 10 0 00110101 2100 计算机中S小数 可正可负 j整数 可正可负 规格化数 6 2数的定点表示和浮点表示 1 浮点数的表示形式 Sf代表浮点数的符号 n其位数反映浮点数的精度 m其位数反映浮点数的表示范围 jf和m共同表示小数点的实际位置 6 2数的定点表示和浮点表示 2 浮点数的表示范围 2 2m 1 1 2 n 2 2m 1 2 n 2 2m 1 1 2 n 2 2m 1 2 n 215 1 2 10 2 15 2 10 2 15 2 10 215 1 2 10 上溢阶码 最大阶玛下溢阶码 最小阶码按机器零处理 6 2数的定点表示和浮点表示 练习 设机器数字长为24位 欲表示 3万的十进制数 试问在保证数的最大精度的前提下 除阶符 数符各取1位外 阶码 尾数各取几位 满足最大精度可取m 4 n 18 解 6 2数的定点表示和浮点表示 3 浮点数的规格化形式 r 2 尾数最高位为1 r 4 尾数最高2位不全为0 r 8 尾数最高3位不全为0 4 浮点数的规格化 基数不同 浮点数的规格化形式不同 r 2 左规尾数左移1位 阶码减1 右规尾数右移1位 阶码加1 r 4 左规尾数左移2位 阶码减1 右规尾数右移2位 阶码加1 r 8 左规尾数左移3位 阶码减1 右规尾数右移3位 阶码加1 基数r越大 可表示的浮点数的范围越大 基数r越大 浮点数的精度降低 6 2数的定点表示和浮点表示 例如 最大正数 215 1 2 10 最小正数 最大负数 最小负数 2 15 2 1 215 1 2 10 2 16 2 15 2 1 2 16 设m 4 n 10 尾数规格化后的浮点数表示范围 6 2数的定点表示和浮点表示 解 二进制形式 定点表示 浮点规格化形式 x 原 1 0010 0 1001100000 x 补 1 1110 0 1001100000 x 反 1 1101 0 1001100000 定点机中 浮点机中 000 x 0 0010011 x 0 0010011 x 0 1001100000 2 10 x 原 x 补 x 反 0 0010011000 6 2数的定点表示和浮点表示 x 111010 0000 例6 14 将 58表示成二进制定点数和浮点数 并写出它在定点机和浮点机中的三种机器数及阶码为移码 尾数为补码的形式 其他要求同上例 解 设x 58 二进制形式 定点表示 浮点规格化形式 x 原 1 0000111010 x 补 1 1111000110 x 反 1 1111000101 x 原 0 0110 1 1110100000 x 补 0 0110 1 0001100000 x 反 0 0110 1 0001011111 定点机中 浮点机中 x 阶移 尾补 1 0110 1 0001100000 x 111010 x 0 1110100000 2110 6 2数的定点表示和浮点表示 例6 15 写出对应下图所示的浮点数的补码形式 设n 10 m 4 阶符 数符各取1位 解 真值 最大正数 最小正数 最大负数 最小负数 215 1 2 10 2 15 2 10 2 15 2 10 215 1 2 10 0 1111 0 1111111111 1 0001 0 0000000001 1 0001 1 1111111111 0 1111 1 0000000001 补码 6 2数的定点表示和浮点表示 当浮点数尾数为0时 不论其阶码为何值按机器零处理 机器零 当浮点数阶码等于或小于它所表示的最小数时 不论尾数为何值 按机器零处理 如m 4n 10 当阶码用移码 尾数用补码表示时 机器零为 有利于机器中 判0 电路的实现 当阶码和尾数都用补码表示时 机器零为 6 2数的定点表示和浮点表示 四 IEEE754标准 符号位S阶码尾数总位数 182332 1115264 1156480 尾数为规格化原码表示 阶码用移码表示 非 0 的有效位最高位为 1 隐含 6 2数的定点表示和浮点表示 6 2数的定点表示和浮点表示 浮点数尾数不为0时的最高位称隐藏位 在写入内存或磁盘时 此位不保存 可左移尾数隐藏掉 这种处理技术称隐藏位技术 目的多保存一个二进制位 隐藏位与隐藏技术 为了保持浮点数的值不变 还要把原来的阶码值减1 对临时浮点数不使用隐藏位技术 短浮点数规格化实际值 1 s 1 M 2e 127 E的取值为1 254 6 3定点运算 一 移位运算 1 移位的意义 15米 1500厘米 小数点右移2位 机器用语 左移绝对值扩大 右移绝对值缩小 在计算机中 移位与加减配合 能够实现乘除运算 2 算术移位规则 1 右移添1 左移添0 0 反码 补码 原码 负数 0 原码 补码 反码 正数 添补代码 码制 符号位不变 6 3定点运算 例6 16 设机器数字长为8位 含一位符号位 写出A 26时 三种机器数左 右移一位和两位后的表示形式及对应的真值 并分析结果的正确性 解 A 26 则 A 原 A 补 A 反 0 0011010 6 0 0000110 13 0 0001101 104 0 1101000 52 0 0110100 26 0 0011010 移位前 11010 6 3定点运算 例6 17 设机器数字长为8位 含一位符号位 写出A 26时 三种机器数左 右移一位和两位后的表示形式及对应的真值 并分析结果的正确性 解 A 26 6 1 0000110 13 1 0001101 104 1 1101000 52 1 0110100 26 1 0011010 移位前 原码 11010 6 3定点运算 6 1 1111001 13 1 1110010 104 1 0010111 52 1 1001011 26 1 1100101 移位前 7 1 1111001 13 1 1110011 104 1 0011000 52 1 1001100 26 1 1100110 移位前 补码 反码 6 3定点运算 3 算术移位的硬件实现 a 真值为正 b 负数的原码 c 负数的补码 d 负数的反码 出错 影响精度 出错 影响精度 正确 影响精度 正确 正确 6 3定点运算 4 算术移位和逻辑移位的区别 算术移位 有符号数的移位 逻辑左移 逻辑右移 低位添0 高位移丢 高位添0 低位移丢 例如01010011 逻辑左移 10100110 逻辑右移 01011001 算术左移 算术右移 00100110 11011001 补码 高位1移丢 10110010 逻辑移位 无符号数的移位 6 3定点运算 二 加减法运算 1 补码加减运算公式 1 加法 2 减法 整数 A 补 B 补 A B 补 mod2n 1 小数 A 补 B 补 A B 补 mod2 整数 A B 补 A B 补 A 补 B 补 mod2n 1 小数 A B 补 A B 补 mod2 连同符号位一起相加 符号位产生的进位自然丢掉 A 补 B 补 6 3定点运算 2 举例 解 A 补 B 补 A 补 B 补 0 1011 1 1011 10 0110 A B 补 验证 0 1011 0 0101 0 0110 A B 0 0110 A 补 B 补 A 补 B 补 1 0111 1 1011 11 0010 A B 补 验证 1001 1110 解 A B 1110 6 3定点运算 例6 20 设机器数字长为8位 含1位符号位 且A 15 B 24 用补码求A B 解 A 补 B 补 1 1110111 A B 补 B 补 0 0011000 A B 1001 9 错 6 3定点运算 3 溢出判断 1 对于无符号数 6 3定点运算 C 1 则必溢出 C 0 则不溢出 2 对于带符号数 1 双进位判断法 X7X6X5X4X3X2X1X0 Y7Y6Y5Y4Y3Y2Y1Y0 C7C6 2 双符号判断法 变型补码 双符号位的补码 6 3定点运算 变型补码求法 在补码的前边再添上一个相同的符号值 例如 x 补 11111111B 则 x 变补 11111111B 对八位机 f7f6 符号位 若运算后 f7f6 00或11 不溢出01 上溢10 下溢 例 已知x 63 y 2 x y 补 判断溢出 解 63 变补 11000001B 2 变补 11111110B 10111111B 下溢 4 补码加减法的硬件配置 6 3定点运算 三 乘法运算 1 分析笔算乘法 A 0 1101B 0 1011 A B 0 10001111 0 1101 0 1011 1101 1101 0000 1101 0 10001111 符号位单独处理 乘数的某一位决定是否加被乘数 4个位积一起相加 乘积的位数扩大一倍 乘积的符号心算求得 6 3定点运算 2 笔算乘法改进 A B A 0 1011 0 1A 0 00A 0 001A 0 0001A 0 1A 0 00A 0 001 A 0 1A 0 1A 0 01 0 A 0 1 A 0 1A 0 1 A 0 1 0 A 0 1 A 0 1A 2 1 A 2 1 0 A 2 1 A 2 1 A 0 第一步被乘数A 0 第三步部分积 被乘数 6 3定点运算 3 改进后的笔算乘法过程 竖式 0 0000 0 1101 0 1101 0 1101 0 0000 0 1101 初态 部分积 0 乘数为1 加被乘数 乘数为1 加被乘数 乘数为0 加0 乘数为1 加被乘数 6 3定点运算 小结 被乘数只与部分积的高位相加 硬件 3个寄存器 具有移位功能 一个全加器 6 3定点运算 4 原码乘法 1 原码一位乘运算规则 以小数为例 数值部分为绝对值相乘x y 6 3定点运算 2 原码一位乘递推公式 z0 6 3定点运算 例6 21 已知x 0 1110y 0 1101求 x y 原 解 0 0000 0 1110 0 0000 0 1110 0 1110 部分积初态z0 0 逻辑右移 逻辑右移 6 3定点运算 数值部分按绝对值相乘 x y 0 10110110 则 x y 原 1 10110110 特点 绝对值运算 逻辑移位 例6 21结果 用移位的次数判断乘法是否结束 6 3定点运算 3 原码一位乘的硬件配置 6 3定点运算 4 原码两位乘 原码乘 符号位和数值位部分分开运算 两位乘 每次用乘数的2位判断原部分积是否加和如何加被乘数 11 10 01 00 3 先减1倍的被乘数再加4倍的被乘数 6 3定点运算 5 原码两位乘运算规则 6 3定点运算 例6 22 已知x 0 111111y 0 111001求 x y 原 000 000000 000 111111 000 111111 00 111001 0 初态z0 0 x Cj 0 001 111110 2x Cj 0 111 000001 x Cj 1 000 111111 x Cj 0 0 0 1 补码右移 补码右移 解 6 3定点运算 数值部分的运算 x y 0 111000000111 则 x y 原 1 111000000111 例6 22结果 特点 绝对值的补码运算 算术移位 用移位的次数判断乘法是否结束 6 3定点运算 6 原码两位乘和原码一位乘比较 绝对值 绝对值的补码 逻辑右移 算术右移 n n 思考n为奇数时 原码两位乘移 次 最多加 次 6 3定点运算 5 补码乘法 设被乘数 乘数 被乘数任意 乘数为正 同原码乘 但加和移位按补码规则运算 乘积的符号自然形成 被乘数任意 乘数为负 乘数 y 补 去掉符号位 操作同 最后加 x 补 校正 1 补码一位乘运算规则 以小数为例 6 3定点运算 Booth算法 被乘数 乘数符号任意 x y 补 2 1 2 2 附加位yn 1 6 3定点运算 Booth算法递推公式 z0 补 0 z1 补 2 1 yn 1 yn x 补 z0 补 yn 1 0 zn 补 2 1 y2 y1 x 补 zn 1 补 x y 补 zn 补 y1 y0 x 补 最后一步不移位 如何实现yi 1 yi 00 01 10 11 0 1 1 0 6 3定点运算 例6 23 已知x 0 0011y 0 1011求 x y 补 解 00 0000 11 1101 11 1101 00 0011 11 1101 00 0011 11 1101 1 0101 0 x 补 0 0011 y 补 1 0101 x 补 1 1101 x 补 x 补 x 补 x 补 x 补 x y 补 1 11011111 最后一步不移位 6 3定点运算 2 Booth算法的硬件配置 6 3定点运算 乘法小结 原码乘符号位单独处理补码乘符号位自然形成 原码乘去掉符号位运算即为无符号数乘法 不同的乘法运算需有不同的硬件支持 整数乘法与小数乘法完全相同可用逗号代替小数点 6 3定点运算 四 除法运算 1 分析笔算除法 x 0 1011y 0 1101求x y 0 1011 0 1101 0 01101 0 01001 0 001101 0 000101 0 00001101 0 00000111 1 商符单独处理 心算上商 余数不动低位补 0 减右移一位的除数 上商位置不固定 商符心算求得 0 0 1 0 1 0 0 0 6 3定点运算 2 笔算除法和机器除法的比较 商符单独处理 心算上商 符号位异或形成 x y 0上商1 x y 0上商0 2倍字长加法器 上商位置不固定 1倍字长加法器 在寄存器最末位上商 6 3定点运算 3 原码除法 以小数为例 被除数不等于0 除数不能为0 小数定点除法x y 约定 6 3定点运算 1 恢复余数法 0 1011 1 0011 1 0011 1 0011 0 0000 y 补 0 0 1101 恢复余数 y 补 y 补 解 x 原 1 1011 y 原 1 1101 1 y 补 y 补 0 1101 y 补 1 0011 逻辑左移 逻辑左移 6 3定点运算 1 0011 0 1101 1 0011 y 补 恢复余数 y 补 上商5次 第一次上商判溢出 余数为正上商1 余数为负上商0 恢复余数 移4次 1 0 1 y 补 逻辑左移 6 3定点运算 2 不恢复余数法 余数Ri 0上商 1 2Ri y 余数Ri 0上商 0 Ri y 恢复余数 2 Ri y y 2Ri y 加减交替 恢复余数法运算规则 不恢复余数法运算规则 上商 1 2Ri y 上商 0 2Ri y 加减交替法 6 3定点运算 解 例6 25 0 1011 1 0011 0 1101 1 0011 1 0011 0 1101 0 0000 y 补 0 y 补 y 补 y 补 y 补 x 原 1 1011 y 补 0 1101 y 补 1 0011 y 原 1 1101 1 1 0 1 逻辑左移 6 3定点运算 上商n 1次 例6 25结果 特点 用移位的次数判断除法是否结束 第一次上商判溢出 移n次 加n 1次 6 3定点运算 3 原码加减交替除法硬件配置 A X Q均n 1位 用Qn控制加减交替 6 3定点运算 Ri 补 0 1000 4 补码除法 1 商值的确定 x 补 0 1011 y 补 1 1101 Ri 补 0 1000 x 补 1 1101 y 补 0 1011 x y Ri 补与 y 补同号 够减 x y Ri 补与 y 补异号 不够减 比较被除数和除数绝对值的大小 x与y同号 6 3定点运算 小结 x 补 0 1011 y 补 1 1101 Ri 补 0 1000 x 补 1 1101 y 补 0 1011 Ri 补 0 1000 x y Ri 补与 y 补异号 够减 x y Ri 补与 y 补同号 不够减 x与y异号 6 3定点运算 商值的确定 末位恒置 1 法 x 补与 y 补同号 正商 按原码上商 x 补与 y 补异号 负商 按反码上商 小结 简化为 同号 异号 异号 同号 6 3定点运算 2 商符的形成 除法过程中自然形成 x 补和 y 补同号 x 补 y 补 比较 Ri 补和 y 补 同号 够 1 异号 不够 0 原码上商 小数除法第一次 不够 上 0 正商 x 补和 y 补异号 x 补 y 补 比较 Ri 补和 y 补 异号 够 0 同号 不够 1 反码上商 小数除法第一次 不够 上 1 负商 6 3定点运算 3 新余数的形成 加减交替 6 3定点运算 例6 26 解 x 补 1 0101 y 补 0 1101 y 补 1 0011 1 0101 0 1101 1 0011 0 1101 0 1101 0 0000 异号做加法 1 0 0010 同号上 1 异号上 0 y 补 异号上 0 y 补 同号上 1 末位恒置 1 0 0 1 1 y 补 逻辑左移 6 3定点运算 4 小结 补码除法共上商n 1次 末位恒置1 第一次为商符 加n次移n次 第一次商可判溢出 精度误差最大为2 n 6 3定点运算 6 4浮点四则运算 一 浮点加减运算 x Sx 2jx y Sy 2jy 1 对阶 1 求阶差 2 对阶原则 j jx jy jx jy已对齐 jx jy jx jy x向y看齐 y向x看齐 x向y看齐 y向x看齐 小阶向大阶看齐 jx 1 jy 1 jx 1 jy 1 例如 解 x 补 00 01 00 1101 y 补 00 11 11 0110 1 对阶 j 补 jx 补 jy 补 00 01 11 01 11 10 阶差为负 2 11 1001 x y 补 00 11 11 1001 对阶 x 补 00 11 00 0011 对阶后的 Sx 补 求阶差 2 尾数求和 6 4浮点四则运算 3 规格化 1 规格化数的定义 2 规格化数的判断 S 0 真值 原码 补码 反码 规格化形式 S 0 规格化形式 真值 原码 补码 反码 原码不论正数 负数 第一数位为1 补码符号位和第1数位不同 6 4浮点四则运算 特例 S 1 1 补是规格化的数 6 4浮点四则运算 3 左规 4 右规 上例 x y 补 00 11 11 1001 左规后 x y 补 00 10 11 0010 x y 0 1110 210 当尾数溢出 1 时 需右规 6 4浮点四则运算 例6 27 解 x 补 00 010 00 110100 y 补 00 001 00 101100 对阶 尾数求和 j 补 jx 补 jy 补 00 010 11 111 100 001 阶差为 1 y 补 00 010 00 010110 Sx 补 00 110100 Sy 补 00 010110 对阶后的 Sy 补 01 001010 尾数溢出需右规 6 4浮点四则运算 右规 x y 补 00 010 01 001010 x y 补 00 011 00 100101 右规后 x y 0 100101 211 4 舍入 在对阶和右规过程中 可能出现尾数末位丢失引起误差 需考虑舍入 1 0舍1入法 2 恒置 1 法 6 4浮点四则运算 例6 28 解 x 补 11 011 11 011000 y 补 11 100 00 111000 对阶 j 补 jx 补 jy 补 11 011 00 100 11 111 阶差为 1 x 补 11 100 11 101100 x 0 101000 2 101 y 0 111000 2 100 6 4浮点四则运算 尾数求和 Sx 补 11 101100 Sy 补 11 001000 110 110100 右规 x y 补 11 100 10 110100 x y 补 11 101 11 011010 右规后 x y 0 100110 2 11 6 4浮点四则运算 5 溢出判断 设机器数为补码 尾数为规格化形式 并假设阶符取2位 阶码取7位 数符取2位 尾数取n位 则该补码在数轴上的表示为 2127 1 2 128 2 1 2 n 2 128 2 1 2127 1 2 n 阶码01 阶码01 阶码10 按机器零处理 6 4浮点四则运算 二 浮点乘除运算 x Sx 2jx y Sy 2jy 1 乘法 x y Sx Sy 2jx jy 2 除法 1 阶码采用补码定点加 乘法 减 除法 运算 2 尾数乘除同定点运算 4 浮点运算部件 阶码运算部件 尾数运算部件 3 步骤 3 规格化 6 4浮点四则运算 一 加法器1 半加器 不考虑进位 6 5算术逻辑单元 2 全加器 1 一位全加器 Xn Yn Cn 1Fn 和Cn 进位 6 5算术逻辑单元 特点 输入均取反 输出也均为反码 6 5算术逻辑单元 2 串行多位加法器 n个全加器相连可得n位加法器 但加法时间较长 因为位间进位是串行传送的 本位全加和Fi必须等低位进位Ci 1来到后才能进行 加法时间与位数有关 如何提高加法器工作速度呢 解决办法之一 只有改变进位逐位传送的路径 采用 超前进位产生电路 来同时产生各位进位 从而实现快速加法 这种加法器称为 超前进位加法器 6 5算术逻辑单元 3 超前进位加法器 超前进位的主要目标 使C1 C2 C3 C4同时产生而不是依次产生 如何使C1 C2 C3 C4同时产生 按照C1 C2表达式的含义 可以写出C3 C4表达式 进位传递函数Pi 进位产生函数Gi 6 5算术逻辑单元 如何将C1改写成 与或非 式 采用同样的方法可将C2 C3 C4改写成 与或非 式 6 5算术逻辑单元 由上式画出 超前进位产生电路 及 四位超前进位加法器 的逻辑图如下 只要X1 X4 Y1 Y4和C0同时到来 就可几乎同时形成C1 C4和F1 F4 6 5算术逻辑单元 超前进位加法器的进位产生和进位传递函数具有哪些特点 经证明有 6 5算术逻辑单元 二 ALU部件 Arithmeticandlogicalunit ALU算逻单元 是一种功能较强的组合电路 它能实现多种算术运算和逻辑运算 ALU的基本组合逻辑结构是超前进位加法器 通过改变加法器的Gi和Pi来获得多种运算能力 下面通过介绍国际流行的美国SN74181型四位ALU中规模集成电路来介绍ALU的原理 6 5算术逻辑单元 1 逻辑图 6 5算术逻辑单元 2 逻辑引脚图 6 5算术逻辑单元 引脚功能说明A0 A3 B0 B3 参加运算的两个数S0 S3 选择控制端 选择不同的算术和逻辑运算M 状态控制端 为高电平执行逻辑运算 为低电平执行算术运算Cn ALU的最低进位位F0 F3 ALU的运算结果Cn 4 ALU最高位产生的进位G P ALU的进位产生与传递 6 5算术逻辑单元 3 功能表 能执行16种算术 16种逻辑运算 6 5算术逻辑单元 加 算术加 逻辑加 或 4 用4片74181电路可组成16位ALU 片内进位快速 但片间进位是逐片传递的 由此形成F0 F15的时间还是比较长 若把16位ALU中的每四位作为一组 用位间快速进位的形成方法来实现16位ALU中 组间快速进位 那么就能得到16位快速ALU 6 5算术逻辑单元 C16C12C8C4 分析 组内并行 组间并行设16位加法器 4位一组 分为4组 4位 4位 4位 4位 第4组第3组第2组第1组 C16 C13C12 C9C8 C5C4 C1 C0 6 5算术逻辑单元 1 第1组进位逻辑式组内 C1 G1 P1C0C2 G2 P2G1 P2P1C0C3 G3 P3G2 P3P2G1 P3P2P1C0组间 C4 G4 P4G3 P4P3G2 P4P3P2G1 P4P3P2P1C0 GI PI 所以CI GI PIC0 组间进位传递函数 组间进位产生函数 6 5算术逻辑单元 2 第2组进位逻辑式组内 C5 G5 P5CIC6 G6 P6G5 P6P5CIC7 G7 P7G6 P7P6G5 P7P6P5CI组间 C8 G8 P8G7 P8P7G6 P8P7P6G5 P8P7P6P5CI G P 所以C G P CI 6 5算术逻辑单元 3 第3组进位逻辑式组内 C9 G9 P9C C10 G10 P10G9 P10P9C C11 G11 P11G10 P11P10G9 P11P10P9C 组间 C12 G12 P12G11 P12P11G10 P12P11P10G9 P12P11P10P9C G P 所以C G P C 6 5算术逻辑单元 4 第4组进位逻辑式组内 C13 G13 P13C C14 G14 P14G13 P14P13C C15 G15 P15G14 P15P14G13 P15P14P13C 组间 C16 G16 P16G15 P16P15G14 P16P15P14G13 P16P15P14P13C G P 所以C G P C 6 5算术逻辑单元 5 各组间进位逻辑 CI GI PIC0C G P CIC G P C C G P C G P GI P PIC0 G P G P P GI P P PIC0 G P G P P G P P P GI P P P PIC0 6 5算术逻辑单元 Co C Co C 7 进位传递过程 Ai Bi C0 G P GI PI C3 1 C C C CI C15 13 C11 9 C7 5 6 5算术逻辑单元 进位并行扩展芯片74182 1 逻辑引脚图 2 引脚功能 Cn 低位来的进位Cn 1 Cn 3 进位输出端G0 G3 来源于181P0 P3 进位传递函数 来源于181G 182输出进位产生函数P 182输出进位传递函数 6 5算术逻辑单元 74181 实现算术逻辑运算及组内并行 74182 接收了组间的辅助函数后 产生组间的并行进位信号CIII CII CI 分别将其送到各小组的加法器上 一个16位的ALU部件 要实现组内并行 组间并行运算 所需器件为 74181芯片四块 74182一块 6 5算术逻辑单元 三 译码器 输入 n个输出 2n 6 5算术逻辑单元 三 八译码器 74ls138 逻辑引脚图 6 5算术逻辑单元 四 数据选择器 M选一 n个地址控制端子 M 2n 一 电路 6 5算术逻辑单元 二 工作过程 E 工作控制 0时可工作 否则不工作 功能表 E 五 三态开关 Di DO E E 1 则Do Di 0 则DO为高阻态 6 5算术逻辑单元 时序逻辑电路不但与当前的输入状态有关 而且还与电路以前的输入状态有关 时序电路内必须有存储信息的记忆元件 触发器 一 触发方式 1 电位触发 由 0 或 1 电平直接触发 2 边沿触发 有正跳变 上升沿 触发或负跳变 下降沿 触发 3 主从触发 主从分级触发 主要用于组成计数器 一 触发器 二 常用触发器原理 6 6时序逻辑电路 1 R S触发器 1 电路 2 逻辑符号 3 工作过程 6 6时序逻辑电路 2 D触发器 1 逻辑图形符号 2 功能表 6 6时序逻辑电路 二 寄存器 寄存器是计算机的一个重要部件 用于暂存数据 指令等 它由触发器和一些控制门组成 在寄存器中 常用的是正边沿触发D触发器和锁存器 一 串行寄存器 要存入1101B 送入1 送第一个CLK 送入1 送第二个CLK 送入0 送第三个CLK 送入1 送第四个CLK 6 6时序逻辑电路 二 并行寄存器 三 移位寄存器 6 6时序逻辑电路 6 6时序逻辑电路 2 工作过程 1 存数例如存入1101B 1 送数1101B2 发MOV 1 R L 03 CLK发 2 左移 1 发L 1 MOV R 02 发CLK 3 右移 1 发R 1 MOV L 02 发CLK 6 6时序逻辑电路 三 计数器 加 1 计数器 一 电路 二位 二 工作过程 CLR发则Q2Q1输出00 6 6时序逻辑电路 三 应用 用以节拍发生器 分频器 把D触发器的反码输出端Q连在自身的数据输入端D 则成为加1计数器 6 6时序逻辑电路 计算机系统中的数据 在读写 存取和传送的过程中可能产生错误 为减少和避免这类错误 一方面是精心设计各种电路 提高计算机硬件的可靠性 另一方面是在数据编码上找出路 即采用某种编码法 通过少量的附加电路 使之能发现某些错误 甚至能确定出错位置 进而实现自动改错的能力 数据校验码 是一种常用的带有发现某些错误或自动改错能力的数据编码方法 实现原理 是加进一些冗余码 使合法数据编码出错变成非法数据来发现或改正数据 常用的数据校验码 奇偶校验码 海明校验码和循环冗余校验码 6 7数据校验码 最小码距 一种编码系统中 任意两组合法代码之间的最少二进制位数的差异 一 奇偶校验码 1 奇偶校验码是一种开销最小 能发现数据代码中一位出错情况的编码 2 常用于存储器读写检查 或ASCII字符传送过程中的检查 3 编码方法 加一位校验位 使奇校验为奇数个1 偶校验为偶数个1 下面给出对几个字节值的奇偶校验的编码结果 数据奇校验的编码偶校码的编码00000000l00000000000000000010l0l000010l0100l01010l0001ll1lll0011l111110l111l1l其中 最高一位为校验位 其余低八位为数据位 从中可以看到 校验位的值取O还是1 是由数据位中1的个数决定的 6 7数据校验码 缺点 这种方案只能发现一位错或奇数个位错 但不能确定是哪一位错 也不能发现偶数个位错 优点 该方案还是有很好的实用价值 偶校验位形成 6 7数据校验码 海明校验码是RichardHamming于1950年提出的 目前仍广泛使用的一种编码方法 1 原理 1 特点 能检测出两位同时出错 亦能检测出一位出错并能自动纠错 2 实现原理 在k个数据位之外加上r个校验位 从而形成一个k十r位的新码字 当某一位出错后 就会引起相关的几个校验位的值发生变化 从而达到检错 纠错的目的 二 海明校验码 6 7数据校验码 2r k r 1 一位出错并纠错 2r 1 k r 一位出错并纠错且发现两位错 数据位k与校验位r的对应关系 6 7数据校验码 2 编码规则若海明码的最高位号为m 最低位号为1 即 HmHm 1 H2H1 则此海明码的编码规律 1 校验位与数据位之和为m 每个校验位Pi在海明码中被分在位号2i 1的位置 其余各位为数据位 并按从低向高逐位依次排列的关系分配各数据位 2 海明码的每一位码Hi 包括数据位和校验位本身 由多个校验位校验 其关系是被校验的每一位位号要等于校验它的各校验位的位号之和 这样安排的目的 是希望校验的结果能正确反映出出错位的位号 6 7数据校验码 例 K 8 1 按式求出r 5故海明码的总位数为13 可表示 H13H12H11 H3H2H1P5只能放在H13一位上 它已经是海明码的最高位了 其他4位满足Pi的位号等于2i 1的关系 其余为数据位Di 则有如下排列关系 6 7数据校验码 2 如何计算各个校验位的 P1 D1 D2 D4 D5 D7P2 D1 D3 D4 D6 D7P3 D2 D3 D4 D8P4 D5 D6 D7 D8 P5 D1 D2 D3 D4 D5 D6 D7 D8 P4 P3 P2 P1 在这种安排中 每一位数据位 都至少地出现在3个Pi值的形成关系中 当任一位数据码发生变化时 必将引起3个或4个Pi值跟着变化 该海明码的码距为4 校验位的编码规则 发送端 6 7数据校验码 S1 P1 D1 D2 D4 D5 D7S2 P2 D1 D3 D4 D6 D7S3 P3 D2 D3 D4 D8S4 P4 D5 D6 D7 D8S5 P5 P4 P3 P2 P1 D1 D2 D3 D4 D5 D6 D7 D8 3 译码规则 接受端 偶校验 则校验得到的结果值S5 S1能反映13位海明码的出错情况 任何偶数个数出错 S5一定为0 因此可区分两位出错或一位出错 Si Pi 形成Pi的编码规则 6 7数据校验码 用海名位号改写S4 S1 S1 H1 H3 H5 H7 H9 H11S2 H2 H3 H6 H7 H10 H11S3 H4 H5 H6 H7 H12S4 H8 H9 H10 H11 H12 假设 H12 D8 出错 S4S3S2S1 H11 D7 出错 S4S3S2S1 H10 D6 出错 S4S3S2S1 H9 D5 出错 S4S3S2S1 H7 D4 出错 S4S3S2S1 H6 D3 出错 S4S3S2S1 H5 D2 出错 S4S3S2S1 H3 D1 出错 S4S3S2S1 结论 当某个数据位出错时 S4S3S2S1的值等于该出错位数据在海明码中的位号 问题 1 当某个校验位出错时 S4S3S2S1的值等于什么 2 S5S4S3S2S1的各种组合分别反映了海明码的什么状态 6 7数据校验码 例1 请计算8位二进制信息10011010的海明码字是多少 解 1 计算r 2 计算P1 P5 0 0 1 1 0 0 1 1 1 1 1 0 0 0 0 0 1 1 P1 1 P2 1 P3 1 P4 0 P5 1 1 1 1 0 1 6 7数据校验码 例2 请分析海明码字1100101111011是否正确 若有错 请纠错 解 计算S5S4S3S2S1 1 0 1 1 1 0 1 0 1 1 0 0 1 1 1 1 1 0 1 0 0 1 1 1 0 1 1 1 1 0 1 0 0 1 1 0 1 1 0 1 S5S4S3S2S1 10110 则H6有错 正确的海明码字为 1100101011011 例 请分析下列各海明码字是否正确 若有错 请纠错 1101001011011 S1 H1 H3 H5 H7 H9 H11S2 H2 H3 H6 H7 H10 H11S3 H4 H5 H6 H7 H12S4 H8 H9 H10 H11 H12 3 海明码校验逻辑电路 6 7数据校验码 Chengguihua seventh 6 7数据校验码 三 循环冗余校验 CRC 码 特点 CRC码可以发现并纠正信息串行读写 存储或传送过程中出现的一位 多位错误用途 在磁介质存储器读写和计算机之间通信方面得到广泛应用 编码组成 关键 1 编码 如何从k位信息位简便地得到r位校验位 2 译码与纠错 如何从k r位信息码判断是否出错并纠错 6 7数据校验码 1 CRC码的编码方法 先介绍CRC码编码用到的模2运算 模2运算是指以按位模2相加为基础的四则运算 运算时不考虑进位和借位 1 模2加减 即按位加 可用异或逻辑实现 模2加与模2减的结果相同 即 0土0 0 0土1 1 1土0 1 1土1 0 两个相同的数据的模2和为0 6 7数据校验码 2 模2乘 按模2加求部分积之和 6 7数据校验码 3 模2除 按模2减求部分余数 每求一位商应使部分余数减少一位 上商的原则是 当部分余数的首位为1时 商取1 当部分余数的首位为0时 商取0 当部分的余数的位数小于除数的位数时 该余数即为最后余数 6 7数据校验码 CRC码的编码方法 1 将待编码的k位有效信息位组表达为多项式M x M x Ck 1xk 1 Ck 2xk 2 Cixi C1x C0式中Ci为0或1 若将信息位组左移r位 则可表示为多项式M x xr 这样就可以空出r位 以便拼接r位校验位 即 6 7数据校验码 CRC码是用多项式M x xr除以称为生成多项式G x 产生校验码的多项式 所得余数作为校验位的 为了得到r位余数 校验位 G x 必须是r 1位 设所得余数表达为R x 商为Q x 将余数拼接在信息位组左移r位空出的r位上 就构成这个有效信息的CRC码 这个CRC码可用多项式表达为 因此所得CRC码可被G x 表示的数码除尽 6 7数据校验码 6 7
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 全国销量最好的数学试卷
- 桥面钢丝支撑施工方案(3篇)
- 钢架拱门施工方案(3篇)
- 航天考试题库及答案
- 村医考试题库及答案
- 安徽省宣城市宣州区2023-2024学年高三下学期高考第三次模拟考试语文题库及答案
- 产品质量问题追溯体系缺陷产品管理工具
- 热血战士出发1000字7篇
- 广告行业方案书及演示模板通版
- 狼王梦读后感900字(9篇)
- 临时用电全管理制度
- 2025年河北高考生物试卷真题答案详解及备考指导
- 设备开停机管理制度
- 2025年高校教师资格证考试《高等教育政策和法规》真题卷(附详细解析)
- 餐饮区域保护合同范本
- T/CGCC 35-2019单用途商业预付卡卡片规范
- DB32/T 4598-2023光伏农业园区规划编制要求
- DB31/T 552-2017大型商业建筑合理用能指南
- 医院药物使用流程及监控机制
- 科研助理合同协议书
- 绿化工程挂靠合同协议
评论
0/150
提交评论