计组 运算方式以及部件

发布于 2020-01-17  72 次阅读


数据的表示方法和转换

  • 机器数:符号数值化的带符号二进制数,正0负1
  • 真值:符号位加绝对值
  • 余三码:在8421码的基础上加上0011
    • 8421转余三码:加上 1101(0011的补码)
    • 当两个余三码不进位相加,应从结果中减去0011
    • 进位相加,应将进位信号送入高位,本位减去 0011
  • 格雷码:任何两个相邻编码只有一个二进制为不同,其余二进制位相同

带符号的二进制数据

  • 原码
    • 定义:最高位为符号位 + 数值的绝对值形式
    • 特点
      • 正值的原码码值随真值增长而增长,负值则相反
      • 范围的确定,本质是模运算
    • 运算
      • 绝对值相加减,由数值大小决定运算结果的符号
  • 补码
    • 定义
      • X=2*符号位+X(MOD 2)
      • X为正数,则是符号0+x绝对值;
        X为负数,则是X的绝对值取反+1
    • 特点
      • 数值0的补码唯一
      • 正数以及负数补码码值都随着自身真值增大而增大
    • 运算(不超过机器所能表示的上限)
      • [X+Y]补=[X]补+[Y]补
        [X–Y]补=[X+(–Y)]补=[X]补+[–Y]补
    • 结论
      • 互为补数的绝对值相加=模
      • 减数即是加数
  • 反码
    • 定义
      • [X]反=(2-2-n)·符号位+X (MOD 2-2-n)
      • X是正数,[X]反=[X]原;X是负数,符号+数值取反。
    • 特点
      • 数值0的反码不唯一
      • 正数反码码值随着真值增大而增大,负数反码码值随着真值增大而增大
      • 反码运算在最高位有进位时,要在最低位+1,
        此时要多进行一次加法运算,增加了复杂性,又影响了速度,因此很少采用
  • 移码
    • [X]补的符号位取反,即得[X]移
    • 特点
      • 数据0有唯一的编码
      • 移码码值随着真值增大而增大
      • 计算机中,移码常用于表示阶码,故只执行加、减运算
      • 计算机中,移码运算公式需要对结果进行修正
    • 浮点数的阶码运算
      • 移码定义:[X]移=2的n次方+X
      • 补码定义:[X]补=2的n+1次方+Y
      • 阶码求和公式
        • [X]移+[Y]补=[X+Y]移 mod2的n+1次方
        • [X]移+[-Y]补=[X-Y]移
        • 判溢方法
          • 双符号位参加运算,最高符号位恒置0
          • 当结果最高符号位=1则溢出
            • 低位符号=0,则上溢;低位符号=1,则下溢;
          • 当结果最高符号位=0则未溢出
            • 低位符号=0,负数;低位符号=1,正数

相互转换

  • 反码->原码
    符号位不变,正数不变,负数数值部分取反
  • 补码->原码
    1. 正数不变,负数数值部分取反加一
    2. 串行转换:从最后开始数,遇到第一个1 除第一个1不变,前面数字取反
  • 移码->原码
    先转换为补码,再转换为原码

原码并行乘法

运算规则

  1. 两个数值部分直接相乘,即得到乘积的数值
  2. 乘积的符号位由两数的符号位异或得到

补码相乘可以把补码转化为原码再相乘,(间接相乘法)

对补码再次符号位不变,求反加一得到原码。


运算部件

  • ABC寄存器作业
  • 定点运算部件
  • 浮点运算部件
    • 由阶码运算部件和尾数运算部件组成

数据校验码

  • 码距
    • 任意两个合法码之间不相同的二进制位数的最小值
      • 要具有差错能力,则码距>1
      • 合理增大码距,就能提高发现错误的能力
  • 鉴定方法
    • 有无差错能力
    • 是否能合理增大码距
  • 奇偶校验码
    • 能发现数据代码中一位或奇数个位出错情况的编码
    • 实现原理是使码距由1增加到2
      • 步骤1:在字节高位补充一位,即校验位
      • 步骤2:依据图3.10电路形成原始数据D8…D1的校验位值
      • 步骤3:将9位数据写入主存
      • 步骤4:读出该数据时,读取数据D8…D1通过图3.10判定合法性
    • 电路图
    • 结论
      • (1)奇偶校验码只能发现一位或奇位错,且不能确定出错位置
      • (2)奇偶校验码的码距=2
  • 海明校验码
    • 海明码位号和校验位位号的关系
      • Pi的位置在2的i-1次方,但是除了最高位
    • 笔记
      • 3,5,7||3,6,7||5,6,7
    • 电路图
    • 海明码码距为4
    • 纠一位错,查一位错
      • 2∧r≥k+r+1
    • 纠一位错,查两位错
      • 2∧(r–1)≥k+r
  • 循环冗余校验码(CRC)
    • CRC码可以发现并纠正信息存储或传送过程中连续出现的多位错误
    • CRC码一般是指k位信息码之后拼接r位校验码
    • 模2运算
      • 模2加减
      • 模2乘除
      • 异或逻辑
    • CRC的译码与纠错
      • 更换不同的待测码字可以证明:余数与出错位的对应关系是不变,只与码制和生成多项式有关
喜欢这篇文章吗,不妨分享给朋友们吧!

科学是第一生产力