运算方法和运算器3.ppt_第1页
运算方法和运算器3.ppt_第2页
运算方法和运算器3.ppt_第3页
运算方法和运算器3.ppt_第4页
运算方法和运算器3.ppt_第5页
已阅读5页,还剩86页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章 运算方法和运算器 n2.1 数据与文字的表示 n2.2 定点加法、减法运算 n2.3 定点乘法运算 n2.4 定点除法运算 n2.5 定点运算器的组成 n2.6 浮点运算与浮点运算器 n2.7 本章小结 2.1 数据与文字的表示方法 n计算机中的数据分两类 1.数值数据(有值) 例:18 -2 -0.1011 23/32 数轴 0 2.非数值数据(字母,符号,汉字) 例:A B C a b c ! # $ , . ” ; : 电脑,数据库 数据的表示方法 q定点数 q浮点数 真值与机器数 数的机器码表示方法 q原码表示法 q补码表示法 q反码表示法 q移码表示法 1)定点表示法 符号 数值 纯小数: a、定点小数表示: Ns. N1 N2 Nn(原码、反码、 补码) b、范围:0.0000 | X | 0.11111 即:0 | X |1-2-n n位1位 由于约定在固定的 位置,小数点就不 再使用记号“.”来表 示。 纯整数 a、定点整数表示:Ns N1 N2 Nn (原码、反码、 补码) b、范围:0 | X | 11111 即:0 | X | 2n-1 由于有些数据用定点数不易表示,所以采用了浮点表示 法。 2)浮点表示法 定义: 任意一个R进制都可以通过移动小数点的位置写成 X=RE M 式中: R是基数,可以取2,8,16,一旦定义则不能改变,是 隐含的。M是纯小数(含数的符号),称为尾数,表示数N的 全部有效数字。 E是阶码,纯整数,指出小数点在该数中的位置。 由于阶码可以取不同的数值,所以,小数点的位置是 不确定的,这种数被称为浮点数。 浮点数的表示格式: X=2E M 浮点数的表示方案: 阶符阶码数符数码 : : 数符阶符阶码数码 :IEEE754标准 32位浮点数则: 数符 阶码 尾数 S E M 1位23位8位 n n 浮点数所表示的范围远比定点数大。一台计算机中浮点数所表示的范围远比定点数大。一台计算机中 究竟采用定点表示还是浮点表示,要根据计算机的究竟采用定点表示还是浮点表示,要根据计算机的 使用条件来确定。一般在高档微机以上的计算机中使用条件来确定。一般在高档微机以上的计算机中 同时采用定点、浮点表示,由使用者进行选择。而同时采用定点、浮点表示,由使用者进行选择。而 单片机中多采用定点表示。单片机中多采用定点表示。 62位浮点数则: 数符 阶码 尾数 S E M 1位52位11 位 n n 一个规格化的一个规格化的3232位浮点数位浮点数x x的真值表示为的真值表示为 n n x=(-1)S(1.M)2Ex=(-1)S(1.M)2E-127 -127 n n e=E-127 e=E-127 n n 真值真值x x为零表示为零表示:当阶码:当阶码E E为全为全0 0且尾数且尾数MM也为全也为全0 0时的值,结合符时的值,结合符 号位号位S S为为0 0或或1 1,有正零和负零之分。,有正零和负零之分。 n n 真值真值x x为无穷大表示为无穷大表示:当阶码:当阶码E E为全为全1 1且尾数且尾数MM为全为全0 0时,结合符号时,结合符号 位位S S为为0 0或或1 1,也有,也有+和和-之分。之分。 n n 这样在这样在3232位浮点数表示中,要除去位浮点数表示中,要除去E E用全用全0 0和全和全1 1(255255)10 10表示零 表示零 和无穷大的特殊情况,指数的偏移值不选和无穷大的特殊情况,指数的偏移值不选128128(1000000010000000),而选),而选 127127(0111111101111111)。对于规格化浮点数,)。对于规格化浮点数,E E的范围变为的范围变为1 1到到254254,真,真 正的指数值正的指数值e e则为则为-126-126到到+127+127。 n n 因此因此3232位浮点数表示的绝对值的范围是位浮点数表示的绝对值的范围是1010-38 -38 101038 38(以 (以1010的幂表的幂表 示)。示)。 尾数规格化 尾数规格化的形式: 1.M 例:A=24 0.0000000010101=2-5 1.0101 阶码:用移码表示,对于两个指数大小的比较和对阶 操作都比较方便。 阶码与尾数的位数关系 精度: 范围: 尾数 指数 规格化:存储在计算机中的浮点数以及运算结果的浮点数都 应为规格化数,如果尾数不是规格化数,要用移位方法把 他变为规格化数,这种处理过程,称为规格化。 3)定点数表示法与浮点数表示法的比较 范围:浮点数 定点数 设备复杂度 : 浮点数 定点数 4)举例 8位二进制阶码3位,数符尾数5位 定点数 0.0000000-0.1111111 0-127/128 浮点数 2-11 0.0001- 211 0.1111 1/128-7.5 例1 若浮点数的二进制存储格式为(41360000)16,求其32位 浮点数的十进制值。 于是有 (1)s1.M2e 解: 将十六进制数展开后,可得二进制数格式为 指数e阶码127 100000100111111100000011=(3)10 包括隐藏位1的尾数1.M 1.011 0110 0000 0000 0000 0000 1.011011 (1.011011)231011.011 (11.375)10 例2 将十进制数数20.59375转换成位浮点数的二进制格式来存储。 解: 首先分别将整数和分数部分转换成二进制数: 20.5937510100.10011 然后移动小数点,使其在第1,2位之间 10100.10011 1.010010011 2 4 e4 S0 E 4 + 127 = 131M= 010010011 最后得到32位浮点数的二进制存储格式为: 0100 0001 1010 0100 1100 0000 0000 0000 (41A4C000)16 练习: 1、将20.1875转换成,32位浮点数存储? 2、若浮点数的二进制存储格式为(41A18000)16,求 其十进制值? 作业: 将十进制数数17.296875转换成位浮点数的二进 制格式来存储? 数值数据定点数的表示方法 q原码表示法 q补码表示法 q反码表示法 q移码表示法 数值数据定点数的表示法(原码) 定点小数表示: Ns. N1 N2 Nn 定义: X 原 = 定点整数表示:Ns N1 N2 Nn 定义: X 原 = X 1 - X 0 X 十转换的中间过渡,当 BCD码送入计算机中,在通过标准子程序将其 转换成纯二进制数。 n由于23=8,24=16,而十进制由10种状态,当 用二进制表示时,应该用4位。 n从每个二进制位是否有确定的位权区分,可 把二十进制编码分为有权码和无权码两种。 十进进制数8421码码余3码码 000000011 100010100 200100101 300110110 401000111 501011000 601101001 701111010 810001011 910011100 用二进制编码表示的十进制数 各位代码不存 在权,代码的 值是在8421的 基础上,每个 代码加3形成的 。这样做,两 个采用余3码的 十进制数相加 时,能正确产 生进位号。 例1:求(47)10+(32)10= 解: (47)BCD = 01000111 +(32)BCD = 00110010 1001011179 (79)10 例2:求(5)10+(8)10= 解: (5)BCD =0101 + =1000 1101 (13)10 (8)BCD 09 AF09 6+110 11001000 当和大于9时,需加6修正 字符与字符串的表示方法 q计算机中最重要的功能是处理信息,如:数值、文字 、符号、语言和图象等。计算机内部,各种信息都必须 采用数字化编码的形式被传送、存储、加工。因此掌握 信息编码的概念与处理技术是至关重要的。 q所谓编码,就是用少量简单的基本符号,选用一定的 组合规则,以表示出大量复杂多样的信息。 图 2.1 字符串在主存中的存放 n常用的信息分为: 定点数 数值信息 浮点数 字符 非数值信息 汉字 逻辑数据 字符编码 n用一定位数的二进制数“0”和“1”进行编码给出 。 n常用的字符编码ASCII码。 nASCII (American Standard Code for Information Interchange) 字符编码 ASCIIASCII码是美国信息交换标准代码。 (A American S Standard C Code for I Information I Interchange) 包括0-9十个数字,大小写英文字母 及专用符号等95种可打印字符。 ComputerComputer 0 01000011 0 01101111 0 01101101 0 01110000 0 01110101 0 01110100 0 01100101 0 01110010 7 6 5 4 3 2 1 中文编码 n汉字输入码:为进行汉字输入,将汉字 代码化。 n汉字机内码:在计算机内部进行汉字处理。 n汉字字型码:汉字输出时的编码。 显示输出打印输出 机内码向字形码转换 机内码 输入码向机内码转换 中文编码 字符代码化(输入 ) 数字码 拼音码 字形码 中文编码 精密型4848 288 提高型3232128 普及型2424 72 简易型161632 汉字点阵类型点阵占用字节数 逻辑数据 逻辑型数据只有两个值:真 和 假, 正好可以用二进制码的两个符号分别表示, 例如 1 表示 真 则 0 表示 假 不必使用另外的编码规则。 对逻辑型数据可以执行逻辑的 与 或 非等基本 逻辑运算。其规则如下 逻辑数据 X Y X与Y X或Y X异或Y 0 0 0 0 0 0 1 0 1 1 1 0 0 1 1 1 1 1 1 0 三、校验码 为了提高计算机的可靠性,除了采取选用更高 可靠性的器件,更好的生产工艺等措施之外,还可 以从数据编码上想一些办法,即采用一点冗余的线 路,在原有数据位之外再增加一到几位校验位,使 新得到的码字带上某种特性,之后则通过检查该码 字是否仍保持有这一特性,来发现是否出现了错误 ,甚至于定位错误后,自动改正这一错误,这就是 我们这里说的检错纠错编码技术。 校验码 三种常用的检错纠错码: 奇偶检错码 用于并行数据传送中 海明检错与纠错码 用于并行数据传送中 循环冗余码 用于串行数据传送中 编码过程译码过程 传送 原始数据码 字 结果数据 形成校验位的值 ,加进特征 检查接送的码字 ,发现 / 改正错 误 1、奇偶校验码 n奇偶校验码:用于并行码检错 原理:在 k 位数据码之外增加 1 位校验位 , 使 K+1 位码字中取值为 1 的位数总保持为 偶数(偶校验)或 奇数(奇校验)。 例如: 偶校验奇校验 校验位 0 0 0 10 0 0 1 0 1 0 10 1 0 10 1 0 1 0 0 0 110 01 原有数字位 两个新的码字 字校验位 校验码 例1: 数据 0010 0001 0111 0101 奇校验码 0010 0001 1 偶校验码 0010 0001 0 0111 0101 00111 0101 1 例2:数据 : 0111 0101 奇校验码 0111 0101 1 发送端 (门电路) 0110 0101 0 接收端 出错 例3:数据 : 0111 0101 奇校验码 0111 0101 0 发送端 (门电路 ) 0110 0111 0 接收端 正确 奇偶校验只能发现 奇数个错误,且不能 纠正错误! 2、海明校验码 n海明校验码:是由Richard Hamming于1950年提出的 。这种编码能纠正一位出错,并能自动恢复出错位的校 验码。 1)校验原理:以奇偶校验为基础,在数据中掺杂一组 校验位,并规定每个校验位的校验范围。 2)校验位的位数确定: 设校验位的位数k,数据位的位数n 应满足下述关系: 2kn+k+1 n个数据位 k个校验位 无错 例:数据位n与所需校验位数k的关系 : K=24 n+3n=1 K=38 n+4n:24 K=416 n+5n:511 3)校验位在海明码中的分布: 规则:把位号数是2的权值的那些位,分配做奇偶校验位。 例:位置号: 24 23 22 21 20 124816 海明码 : 4)海明码的各位与相关的校验位 被校验的每一位的位号=校验它的各校验位的位号之和 海明码位号数据位校验位参与校验的校验位位号被校验位的海明码位号=校 验位位号之和 H1 P1 1 1=1 H2 P2 2 2=2 H3 D1 1、2 3=1+2 H4 P3 4 4=4 H5 D2 1,4 5=1+4 H6 D3 2、4 6=2+4 H7 D4 1、2、4 7=1+2+4 H8 P4 8 8=8 H9 D5 1、8 9=1+8 H10 D6 2、8 10=2+8 H11 D7 1、2、8 11=1+2+8 H12 D8 4、8 12=4+8 H13 P5 1、4、8 13=1+4+8 例1:有7位信息代码:011 0001, 求它的海明码,用偶校验。 解 : 信息代码7位n=7k=4 海明码共 n+k=7+4=11位 11 10 9 8 7 6 5 4 3 2 1 P1P2 P3 P4 0110001 P1 : 3,5,7,9,111 0 0 1 0 0 P2 : 3,6,7,10,111 0 0 1 0 0 P3 : 5,6,70 0 0 0 P4 : 9,10,111 1 0 0 0 0 0 0 海明码 海明码: 0110 0000 100 实例: (发送端) 0110 0100 100 (接收端) P4P1 0110 第6位出 错,纠错 0010 0000 100 (接收端) P4P1 1010 第10位出 错,纠错 0110 0000 1010 0000 例1:有8位信息代码:1011 0011, 求它的海明码,用奇校验。 解 : 信息代码8位n=8k=4 海明码共 n+k=8+4=12位 12 11 10 9 8 7 6 5 4 3 2 1 P1P2 P3 P4 0110011 P1 : 3,5,7,9,111 1 0 1 0 0 P2 : 3,6,7,10,111 0 0 1 0 1 P3 : 5,6,7,121 0 0 1 P4 : 9,10,111 1 0 0 0 11 0 海明码 1 1 1 海明码: 1011 0001 1110 实例: (发送端) 1011 0001 1110 (接收端) 1111 0001 1110 (接收端) P4P1 0101 第5位出 错,纠 错 P4P1 1011 第11位 出错, 纠错 0011 0110 1101 0110 循环冗余码 用于多位串行数据传送中的检错纠错处理 ,在 k 位数据位串行移位输出的过程中,用带有 异或门控制的移位寄存器形成r 个校验位的值, 跟随在数据位之后传送走。在接收端再对 k+r 位的码字进行合法与出错检查,若可能则自动改 错。 循环冗余码模2四则运算 n模2四则运算是以2为模,按位相加的运算,在运算中不考虑借位和进位 。 加减法:00=0,01=1,10=1,11=0 乘法:按模2加求部分积之和 除法:按模2 减求部分余数 1 0 1 0 1 0 1 1 0 1 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 1 0 0 0 01 0 1 1 1 0 1 0 1 0 0 0 0 0 1 0 0 1 1 0 1 0 1 商 余数 循环冗余码循环码的编制原理 设待编码的有效信息以多项式M(x)表示,用约定的一个多项式 G(X)去除,一般情况下能得到一个商Q(X)和余数R(X) M(x)=Q(x)G(x)+R(x) M(x) -R(x)=Q(x)G(x) 显然,将M(x)减去余数R(x)就必定能为G(x) 所除尽,因而可以 设想让M(x)-R(x)作为编好的校验码送往目标部件,当从目标部件取 得校验码时,仍用约定的多项式G(x)去除,若余数为0,表明该校 验码正确;若余数不为0,表明出错,在进一步由余数确定出哪一位 出错,从而加以纠正。 n例:对四位有效信息(1100)做循环校验编码 ,选择的生成多项式G(x)=1011。 解:将待编码的N位有效信息码组表示为多项式M (x): M(x)=X3+X2=1100 将M(x)左移r位,得M(x)xr,其 目的是空出r位,以便拼装r位余数(校验位): M(x)x3=x6+x5=1100000 用r+1位的生成多项式G(x)对M(x )xr做模2除: G(x)=X3+X+1=1011 (r+1=4) M(x)X3 1100000 1110+ 010 G(x) 1011 1011 4. 将左移r位后的待编有效信息与余数R(x)做模2加, 即形成循环校验码。 M(x)X3+R(X)=1100000+010=1100010 此处编好的循环校验码称为(7,4)码,即k=7,n=4 ,可向目标部件发送。 5. 5. 循环码的译码和纠错 接受部件将收到的循环校验码用约定的生成多 项式G(x)去除,如果码字无误则余数为0,如 果某一位出错则余数不为0,不同位数出错余数 则不相同。 循环冗余码实现电路 串行 数据 D 上商 1 上商 0 n线性分组(7,3)码,即3位数据加4位校验 n查表得到生成多项式:G(X)=X4+X2+X+1 n T4 T3 T2 T1 T0 CP n + + + + + n 1 0 1 1 1 n 0 0 0 0 0 循环冗余码的实现电路 串行 数据 D 上商 1 上商 0 n线性分组(7,3)码,即3位数据加4位校验 n查表得到生成多项式:G(X)=X4+X2+X+1 n T4 T3 T2 T1 T0 n CP n n + + + + + n n 1 0 1 1 1 n 0 0 0 0 0 循环冗余码的实现电路 串行数据D 上商 1 上商 0 取决于触发器T4的输出 n线性分组(7,3)码,即3位数据加4位校验 n查表得到生成多项式:G(X)=X4+X2+X+1 n T4 T3 T2 T1 n CP n n + + + n n 1 0 1 1 1 循环冗余码的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论