计算机组成原理---运算器(一)

运算器

数据的表示与运算

  • 进制之间的转换
  • 定点数据的表示码:原码、反码、补码以及之间的关联与区别,运算,溢出监测
  • 位移预算,原码定点数加减运算、补码定点数的加减运算、定点数乘除运算、溢出概念和判别方法
  • 浮点数的表示(浮点数的表示范围和IEEE754标准)和浮点数的加减运算
  • 串行加法器和并行加法器、算术逻辑单元ALU的功能和结构

计算内部信息(程序和数据,二进制表示)

  • 控制信息:指令和控制字
  • 数据信息:数值型数据(定点数,浮点数),非数值型数据(字符串,数字串,汉字,图像,音频)
unsigned u = 21736;
int m,n;
float x;
double y;
  • 计算机中常用的数据表示格式:定点格式和浮点格式
  • 定点格式容许的数值范围小,要求硬件简单
  • 浮点格式容许的数值范围大,要求硬件复杂
  • 数值范围是指一种类型的数据能表示的最大最小值
  • 数据精度通常是指实数所能表示的有效数字的位数

定点格式

  • 无符号整数(表示地址的时候用,没有符号位)
  • n指的是数值位的位数(例8位是2的八次方减1,2的n次方)
  • 有符号数的表示(n+1,n表数值位,1是符号位,0正1负)
  • 纯小数(默认在符号位与最大数值之间)
  • 存整数的表示(默认小数点在最后,数值各位均为0时绝对值最小,数值位各位均为1时绝对值最大)

BCD码

  • 十进制加法器可由bcd码(二一十进制编码)来设计,他可以在二进制加法器的上加上适当的“校正”逻辑来实现,该校正逻辑可将二进制的‘和’改变所要求的十进制格式
  • 机器码表示
    • 原码表示法,就是数值的真值(绝对值)前面加一个符号位
      • 正数与负数质之间的转换,数值位不变数值位取反
      • 原码中的0表示不是唯一的,有正0和负0之分
      • 原码字长为n,总共有编码2的n次方,但对应的真值只有2n-1个(原因0占了两个位)
      • 负数原码形式上大于正数的原码(符号位):
      • 原码的移位规则:
      • 符号位不变,数值部分左移或右移,移出的空位填‘0’。(左移相当乘以 2,右移相当除以2)
      • 整数前面补0,小数后面补0
      • 优点,原码简单易懂,与真值转换容易,实现乘除法方便(乘除法数值位由于两数的绝对值相乘/除得到,符号位由两数的符号位异或即可)
      • 不足,1、原码中的0的表示有两种,给使用带来了不便/原码表示的加减法运算复杂,这是因为当两数相加时,如果是同号则数值相加;2、如果是异号,则要进行减法/3、而进行减法时还要比较绝对值的大小,然后大数减去小数,最后还要给结果选择符号
    • 补码
    • 钟表周期性的回归位置(加代替减) 本身。
    • 补码的定义:
    • [X]补 = M + X (Mod M)
    • 正数的补码等于其本身
    • 负数补码是Mod减去其绝对值
    • 补码的性质:特殊值的表示:0的补码表示
    • -1和-2的n次方补码小数
      • [-1]补 = 2 +(-1)=[-0]原
      • [ -2n]补 =2n+1 + (-2n) = [-0]原
    • 补码的表示范围
      • 一个n+1位定点的整数补码的表示范围是
        • -2n <=x<=2n-1
      • 一个n+1位定点的小数补码的表示范围是
        • -1 <=x<= 1- 2-n
    • 原码的范围
      + 一个n+1位定点的整数原码的表示范围是
      + -(2n-1) <=x<=2n-1
      + 一个n+1位定点的小数原码的表示范围是
      + -(1-2-n)1 <=x<= 1- 2-n
    • 补码和原码的关系
      • 若 x >= 0 ,[x]原 = [x]补码
      • 若x < 0,对于按位取反(符号位不变)后再在最低位加1得到补码;反之补码除符号以外各位取反,再在最低位加1,即可得到原码
      • 注意:补码中特殊的数-1(纯小数)和-2n(纯整数)的表示,在原码中没有相对应的表示
    • [x]补 和 [-x]补的关系
      • 已知[X]补,将[x]补的各位(含符号位)取反,然后在最低位上加1,即得到[-x]补。反之亦然
    • 补码的算术移位规则:
      • 补位的左移(乘2):符号位不变,数值部分左移,最低位移除的空位填0
      • 补位右移(除2):符号位不变,疏于职部分右移,最高位移除的空位填符号位
    • 负数补码形式上大于正数的补码
    • 补码的位扩展
      • 定点小数:在最低位用0扩展
      • 定点正数:在最高位用符号位扩展
    • 常用求补码的方法(与定义求补码比较)
      • 若x >= 0 则[x]补=x,符号位为0
      • 若x <0,则将绝对值的各位取反,然后在最低为上加1,符号位为1,即得到[x]补
    • 反码表示法
      • 二进制的各位数码0变为1,1变为0.
      • 反码主要作用就是求补码
      • 对于0,有+0和-0之分
      • 反码的表示范围等于原码
    • 移码表示法(把补码的模减去1)
      • 补码表示很难直接判断其值大小
      • 正数是1表示,负数是用0表示
      • 移码表示的实质是把真值映射到一个正数域,因此移码的大小可直观的反应真值的大小
      • 不管正数还是负数,用移码表示时,可以按无符号数比较大小
      • 移码的范围与补码的一致
    • 校验码
      • 元件故障\噪声干扰等各种因素常常导致计算机在处理信息过程中出现错误,为了防止错误,可将信号采用专门的逻辑线路进行编码以检测错误,甚至校正错误,通常的方法是,在每个字上添加一些校验位,用来确定字中出现错误的位置
      • A 奇偶校验码
        • 组成奇偶检验码的基本方法:在n位有效信息位上增加一个二进制校验位,构成一个n+1奇偶校验码
        • 奇校验:使用n+1位的奇偶校验中的个数位奇数
        • 偶校验:使用n+1位的奇偶校验中的个数位偶数

你可能感兴趣的:(计算机组成原理)