:运算方法和运算器

Posted yuandongshisan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了:运算方法和运算器相关的知识,希望对你有一定的参考价值。

复习

20190630

一、 原码、补码、反码、移码

 技术图片

真值(十进制数) 转换为真值(二进制数)最好补全为八位,对应的原码就是将最高位写成符号位(还是八位)

具体思维导图如下:

技术图片

原码求补码的简便方法:除符号位之外,从最低位开始,遇第一个1之前的各位保持不变,其余各位按位取反

进制之间的转换,思维导图如下:

技术图片

二、补码加减法

  1. 补码加法公式:[X]补 + [Y]补 = [X+Y]补    (mod  2n+1)

定理:任意两数补码之和等于该两数之和的补码

2.  补码的乘法和除法就是将[X]的补码向左或者右移位一次,符号位移走之后照原来的补上,这就是算术移位。

算术移位:

由[X]补求[X/2]补

—  [X]补    =   10101000

—  [X/2]补 =    110101000

3. 补码的减法公式:[X — Y]补 = [X]补 — [Y]补 = [X]补 + [—Y]补

又知道,[—Y]补 等于[Y]补 取反,末位加1,所以可化为加法运算

4. 注意检测溢出,单双符号位

 

三、 定点运算器

1. 逻辑运算

(1). 逻辑非

  • 逻辑非又叫求反,按位取反

(2). 逻辑加

  • 逻辑加又叫逻辑或,常用+来表示

(3). 逻辑乘 

  • 逻辑乘又叫逻辑与,常用 。来表示 

(4). 逻辑异

  • 对两数进行逻辑异就是按位求他们的模2和,所以逻辑异又称为按位加,常用记号技术图片来表示

2. 多功能算术/逻辑运算单元ALU

(1). 串行加法器的不足:速度慢

(2). ALU的设计思想:

  • 增加函数发生器
  • 增加逻辑运算功能
  • 增加先行进位

(3). 多功能算术/逻辑运算单元ALU(四)——总体设计

  • 单级先行进位方式:片内先行进位,片间串行进位。
  • 两级先行进位方式:片内先行进位,片间先行进位。

3. 内部总线技术图片

4. 定点运算器的基本结构

(1). 单总线结构的运算器

技术图片

(2). 双总线结构的运算

技术图片

(3). 三总线结

 技术图片

六、 浮点运算器

(1). 浮点加减法运算  (重点)

运算步骤如下:

1. 0操作数的检查,看有无简化操作的可能

2. 比较阶码大小并完成对阶(小阶向大阶对齐);

3. 尾数进行加减运算

4. 结果规格化并进行舍入处理

       注:

    • 浮点数中  零操作数的含义:当一个浮点数的尾数为0,则不论其阶码为多少,该浮点数的值都为0.
    • 当阶码的值遇到比它所能表示的最小数还小的值时,不管尾数现在值是多少,计算机都把该浮点数看成0,通常叫做机器0,这时计算机一般将该浮点数的所有各位清0。

                 技术图片

浮点数规格化的定义是1/2≤|M|<1,显然,是真值的规格化。变成码制就不一定是规格化的数了。采用双符号位时,对正数有M=00.1øø…ø。对于负数,其补码形式为11.0øø…ø。可见,只要对运算结果的符号位和小数点后的第一位进行比较,如果他们不等,即为00.1øø…ø或11.0øø…ø,就是规格化数;如果他们相等,即00.0øø…ø或11.1øø…ø,就不是规格化数,这种情况下,尾数左移实现规格化,叫向左规格化,规则为:尾数左移1位,阶码减1。

当出现01. øø…ø或10.øø…ø时,在定点数中是溢出,但浮点数中则是非规格化数,表示结果绝对值大于1。此时需向右规格化,规则为:尾数右移一位,阶码加1

无论左移还是右移,符号位保持不变。

(2). 浮点乘除法运算

 

(3). 对阶小数点

(4). 尾数求和

(5). 防溢出

(6). 结果规划

 

以上是关于:运算方法和运算器的主要内容,如果未能解决你的问题,请参考以下文章

计算机组成原理——原码乘法运算(※)

计算机组成与功能

计算机组成原理

计算机的组成及初步了解Linux

计算机组成原理总结

计算机组成原理运算器组成实验