1 / 61

第二章 数据编码与运算

第二章 数据编码与运算. 第一节 数据编码 第二节 定点数加减法运算 第三节 定点数乘除法运算 第四节 浮点数运算和运算器. 一、定点数的编码. 定点整数 数值表示: x = x 0 x 1 x 2 … x n x i ={0,1}, 0≤ i ≤ n x 0 2 n + x 1 2 n -1 + … + x n -1 2 1 + x n 数值范围 0≤ x ≤2 n +1 -1 定点小数 数值表示 x = x 0 . x 1 x 2 … x n x i ={0,1}, 0≤ i ≤ n

Download Presentation

第二章 数据编码与运算

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第二章 数据编码与运算 • 第一节 数据编码 • 第二节 定点数加减法运算 • 第三节 定点数乘除法运算 • 第四节 浮点数运算和运算器

  2. 一、定点数的编码 • 定点整数 • 数值表示: x = x0x1x2…xn xi={0,1}, 0≤i≤n x02n + x12n-1 + … + xn-121 + xn • 数值范围 • 0≤x≤2n+1-1 • 定点小数 • 数值表示 • x = x0 .x1x2…xn xi={0,1}, 0≤i≤n • x12-1 + … + xn-12-n+1 + xn2-n • 数值范围 • 0≤x≤1-2-n

  3. 1. 原码表示法 简便编码方法:加符号位

  4. 带符号数的原码表示

  5. 原码在数轴上的表示

  6. 2. 补码表示法

  7. 补码编码的简便方法 • 方法1:正值直接取其原来的二进制码,对于负数是在对其按位取反之后再在最低位加1。 • 例:[10101010]补= 01010101+1 = 01010110 • 方法2:从最低位开始,对遇到的0和第一个1取其原码,从第一个1以后开始直到最高位均取其按位反码。

  8. 带符号数的原码和补码表示

  9. 补码在数轴上的表示

  10. 模4补码 例: 00.1010110 11.0101001

  11. 3. 反码表示法

  12. 带符号数的原码、补码和反码表示

  13. 反码在数轴上的表示

  14. 4. 移码表示法 特点:保持了数据原有的大小顺序,便于进行比较操作。

  15. 带符号数的四种编码表示

  16. 移码在数轴上的表示 注意:定点小数没有移码定义 移码与补码的关系 编码与数值混淆 习题:2

  17. 二、浮点数的编码 • E的编码:移码或补码 • S与M的编码:原码或补码 • R进制的含义:多个二进制位构成一组,代表一个R进制位

  18. 浮点数的编码 • 规格化: • 为了在尾数中表示最多的有效数据位 • 为了数据表示的唯一性。 • 机器零: • 全部为0,特殊的数据编码 • 浮点数的表示范围

  19. 浮点数的表示范围

  20. 浮点数标准(IEEE754) • 三种格式:短实数、长实数、临时实数 • 无定义数据(NaN): • 发信号的NaN,不发信号的NaN • 无穷大:+INF, -INF • 规格化数: (-1)s×1.f×2e-127 • 非规格化数: (-1)s×0.f×2e-126

  21. 浮点数标准(IEEE754)

  22. IEEE754浮点数的范围

  23. 三、检错码 • 数据校验码:分组码、卷积码 • 奇偶校验码 • 码距:两个合法代码对应位上编码不同的位数 • 例:偶校验 0000  00000 0001  00011 0010  00101

  24. 奇偶校验码的原理 • 在编码中引入一定的冗余,增加代码的最小码距,使得编码中出现一个错误时就成为非法代码。

  25. 四、纠错码 • 线性码:任意两个合法码字求和可得到另一个合法码字。 • 海明码:(n,k) • 码长n=2m - 1 • 信息位数k=2m - m - 1 • 校验位数m= n - k • 最小码距d = 3

  26. (7,4)海明码的例子 c1 = x1 + x2 + x3 c2 = x2 + x3 + x4 c3 = x1 + x2 + x4 将这些信息位和校验位构成码字w,即 w = {x1,x2,x3,x4,c1,c2,c3}={w1,w2,w3,w4,w5,w6,w7}。 校验方程: w1 + w2 + w3 + w5 = 0 w2 + w3 + w4 +w6 = 0 w1 + w2 + w4 + w7 = 0

  27. (7,4)海明码的例子(续)

  28. 四、纠错码(续) • 循环码 • 线性码中若一个n位编码V = {v0,v1,v2,…,vn-1}是码C的一个码字,那么V向右循环移动一位后的n位编码V1 = {vn-1,v0,v1,…,vn-2}也是码C的一个码字。 • 码字多项式表示: V(x) = vn-1xn-1 + … + v1x + v0 • 循环码的特性:生成多项式可整除循环码多项式。

  29. 编码方法一——求余法

  30. 编码方法二——生成多项式法 例 对四位信息码1010进行CRC编码,生成多项式是G(x) = x3 + x + 1。 解:(1) 将4位信息码表示为多项式B(x): B(x) = x3 + x (2) 将信息码多项式与生成多项式相乘,得码字多项式: V(x) = B(x)G(x) = (x3+x)(x3+x+1) = x6 + x3+x2+x (3) 将码字多项式转换成代码表示,得CRC编码结果: 1001110

  31. 编码方法三——生成矩阵法

  32. 第二节 定点数加减法运算 • 一、补码加法 • 根据补码加法公式,补码可以直接相加。 • 二、补码减法 • 根据补码减法公式,补码可以直接相减。

  33. 三、溢出及其检测方法一——符号位判断

  34. 方法二——双符号位判断

  35. 方法三——判断符号位与最高数值位

  36. 四、基本算逻部件

  37. 四、基本算逻部件(续)

  38. 四、基本算逻部件(续)

  39. 第三节 定点数乘除法运算一、原码一位乘法 二进制乘法过程: 0 0 1 0 × 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0

  40. 一、原码一位乘法(续) 实现方法:阵列乘法器,循环乘法器 0 0 0 0 0 0 0 0 + 0 0 1 0 0 0 0 0 0 0 1 0 + 0 0 1 0 0 0 0 0 0 1 1 0 + 0 0 0 0 0 0 0 0 0 1 1 0 +0 0 0 0 0 0 0 0 0 1 1 0

  41. 乘法器电路之一

  42. 乘法器电路之二

  43. 乘法器电路之三

  44. 乘法流程

  45. 乘法计算过程

  46. 二、补码一位乘法

  47. Booth乘法流程

  48. 表2-11 用Booth补码一位乘法计算 2(-3)的过程

  49. 三、定点数除法运算

More Related