计算机组成原理第六章课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《计算机组成原理第六章课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 第六 课件
- 资源描述:
-
1、第三篇 中央处理器(CPU)第第 6 6 章章 计算机的运算方法计算机的运算方法*一、数据的编码与表示一、数据的编码与表示*二、定点数的算术运算二、定点数的算术运算*三、浮点四则运算三、浮点四则运算*四、逻辑运算四、逻辑运算数据表示数据表示运算方法运算方法 一、数据的编码与表示一、数据的编码与表示数据数据逻辑数据逻辑数据检错纠错码检错纠错码字符字符字符串字符串汉字汉字数值数值文字、符号文字、符号语音语音图形图形图像图像各种进制各种进制BCD码码定点定点浮点浮点逻辑型数据逻辑型数据逻辑型数据只有两个值:逻辑型数据只有两个值:真和假真和假,正好可以用二进,正好可以用二进制码的两个符号分别表示,制码
2、的两个符号分别表示,例如例如 1 表示表示 真真 则则 0 表示表示 假假不必使用另外的编码规则。不必使用另外的编码规则。对逻辑型数据可以执行逻辑的对逻辑型数据可以执行逻辑的 与、或、非与、或、非等基本逻等基本逻辑运算。辑运算。字符型数据的表示字符型数据的表示 字符作为人字符作为人机联系的媒介,指字母、数字、机联系的媒介,指字母、数字、运算符等西文字信息。当前的西文字符集由运算符等西文字信息。当前的西文字符集由 128 个符号组成,通常用个符号组成,通常用 8 位二进制编码,即位二进制编码,即用一个用一个字节来表示每一个符号字节来表示每一个符号,当前较多通用的标准字,当前较多通用的标准字符集是
3、符集是ASCII 码码,ASCII码字符集具体编码如下表码字符集具体编码如下表所示:所示: ASCII字符编码集字符编码集 b6 b5 b4 000 001 010 011 100 101 110 111 b3 b2 b1 b0 0000 NUL DLE SP 0 P , p 0001 SOH DC1 ! 1 A Q a q 0010 STX DC2 “ 2 B R b r 0011 ETX DC3 # 3 C S c s 0100 EOT DC4 $ 4 D T d t 0101 ENQ NAK % 5 E U e u 0110 ACK SYN & 6 F V f v 0111 BEL ET
4、B 7 G W g w 1000 BS CAN ( 8 H X h x 1001 HT EM ) 9 I Y i y 1010 LF SUB * : J Z j z 1011 VT ESC + ; K k 1100 FF FS , N n 1111 SI US / ? O _ o DELASCII码码的机内表示的机内表示 采用一个字节表示采用一个字节表示ASCII码时,最高位的处码时,最高位的处理方法:理方法:(1 1)最高位)最高位不用不用,即恒为,即恒为“0”0”;(2 2)最高位用于)最高位用于奇偶校验位奇偶校验位;(3 3)若采用扩展)若采用扩展ASCIIASCII码方案时,最高位也用
5、来码方案时,最高位也用来表示表示字符编码字符编码,此时,可表示,此时,可表示256256种符号。种符号。字符串的存放:字符串的存放: 字符串是指字符串是指连续连续的一串字符,它们占据主存的一串字符,它们占据主存中中连续连续的多个字节,每个字节存放一个字符,对的多个字节,每个字节存放一个字符,对一个主存字的多个字节,有一个主存字的多个字节,有按从低位到高位按从低位到高位字节字节次序存放的,也有按次序存放的,也有按从高位到低位从高位到低位字节次序存放字节次序存放的。例如:的。例如:IF AB THEN READ(C)就可以有如就可以有如下不同的存放方式:下不同的存放方式:字符串的表示与存储字符串的
6、表示与存储 I F A A F I B T T B 假定每个字假定每个字 H E N N E H 由由 4 个字节个字节 R E A D D A E R 组成组成 ( C ) ) C (汉字的表示汉字的表示 在计算机中表示汉字通常涉及以下几种汉字编码:在计算机中表示汉字通常涉及以下几种汉字编码: (1)汉字输入码)汉字输入码 为直接使用西文标准键盘把汉字为直接使用西文标准键盘把汉字输入输入到计算到计算机而设计。机而设计。 (2)汉字机内码)汉字机内码 汉字信息在计算机内部存储、处理和传送所采汉字信息在计算机内部存储、处理和传送所采用的编码。通常采用国标码。用的编码。通常采用国标码。(3)汉字字
7、模码)汉字字模码 用于输出设备用于输出设备输出输出汉字而设计的字形编码汉字而设计的字形编码。 汉字的机内表示汉字的机内表示 通常用通常用两个字节两个字节表示一个汉字。表示一个汉字。汉字内码的识别方法:汉字内码的识别方法: (1 1)若将若将ASCIIASCII码字节的高位设为码字节的高位设为“0”0”,则汉字两,则汉字两 个字节的高位个字节的高位均为均为“1”1”; (2 2)若若ASCIIASCII码字节最高位用于奇偶校验码或扩充码,码字节最高位用于奇偶校验码或扩充码,则需要三个字节表示汉字,第一个字节作为汉字的则需要三个字节表示汉字,第一个字节作为汉字的标标识符识符。 几种常用的数制及其转
8、换几种常用的数制及其转换N进制数可用进制数可用表示;表示;温故而知新:二进制、十进制、八进制、十六进温故而知新:二进制、十进制、八进制、十六进制的表示方法及其相互转换。制的表示方法及其相互转换。 二二十进制编码(十进制编码(BCD编码)编码) BCD编码,编码,用用四位四位二进制表示一位十进制,有多二进制表示一位十进制,有多种方案,种方案,例如:例如: 84218421码,码,54215421码,码,24212421码,余码,余3 3码,格雷码。码,格雷码。又可区分为:又可区分为: 有权码:有权码:四个二进制位均有指定的位权。四个二进制位均有指定的位权。 无权码:无权码:二进制编码各位无指定的
9、位权。二进制编码各位无指定的位权。 有权码有权码 无权码无权码 0 0000 0000 0011 0000 1 0001 0001 0100 00012 0010 0010 0101 00113 0011 0011 0110 00104 0100 0100 0111 01105 0101 1011 1000 01116 0110 1100 1001 01017 0111 1101 1010 01008 1000 1110 1011 11009 1001 1111 1100 11018421余余3码码2421格雷码格雷码+ 0. 0 0 0 0 0 0 11 0 0 0 1 0 0. 11 0
10、0 0 1 0 0. 1 0 0 0 0 0 1+?思考:小数点位置不同,运算如何实现?思考:小数点位置不同,运算如何实现?手工运算:手工运算:.符号位符号位10.定点数运算中小数点的位置无关,小数点无需存放定点数运算中小数点的位置无关,小数点无需存放数值型数值型数据的机内表示形式数据的机内表示形式 隐藏隐藏定点小数定点小数: N = Nf . N1 N2 Nn定点整数定点整数: N = Nf N1 N2 Nn. 浮点数浮点数: N = jf j1 j2 . Jm ; Sf . S1 S2 . Sn 隐藏隐藏 隐藏隐藏定点小数定点小数表示表示: Xf X-1 X-2 X -n 特点:特点:原码
11、原码为符号位加数的为符号位加数的绝对值绝对值,0正正1负负 原码零原码零有两个编码,有两个编码,+0和和 -0编码不同编码不同 X 1 X=1+|X| -1 X 00 X 1定义: X原 =原码原码的定的定义义 实例:X1 = 0.10110 -0.10110 0.0000 X1原 = 0.10110 1.10110 0.0000 1.0000 n定义: X原 =定点整数定点整数表示表示: Xf Xn Xn-1 X 1 0,X 2n-X=2n+|X|0 X 2n-2n X 0 2n=1 0 0 0 实例:X1 = 10110 -10110 0 X1原 = 010110 110110 0,000
12、0 1,0000定点小数定点小数反码的定义特点:负数特点:负数反码反码为符号位跟数每位的反,为符号位跟数每位的反,0正正1负负 反码反码零有两个编码,零有两个编码,+0 和和 - -0 的编码不同的编码不同 X (2-2-n)+X -1 X 0 0 X 1定义:X反 = 实例:X1 = 0.10110 -0.10110 0.0000 X1反 = 0.10110 1.01001 0.0000 1.1111 n+1定义: X反 =定点整数的定点整数的反码反码表示表示 0,X 2n+1-1+X0 X 2n-2n X 0 2n+1=1 0 0 0定点小数表示定点小数表示: Xf X-1 X-2 X -
13、n特点:特点: 补码补码最高一位为符号位,最高一位为符号位,0正正1负负 补码表示补码表示为模加上负数本身为模加上负数本身 补码补码零有唯一编码,故补码还可以表示零有唯一编码,故补码还可以表示 -1 补码补码能很好用于加减(乘除)运算能很好用于加减(乘除)运算补码补码的引入;钟表;负数的正补数。的引入;钟表;负数的正补数。实例:X1 = 0.10110 -0.10110 0.0000 -0.0000 -1.0000 X1补 = 0.10110 1.01010 0.0000 0.0000 1.0000n+1定义: X补 =定点整数表示定点整数表示: Xf Xn Xn-1 X 1 0,X 2n+1
14、+X0 X 2n2n X 0 2n+1=1 0 0 0整数整数的原码、反码和补码表示的原码、反码和补码表示 与定点小数的三种表示基本相同,差别仅表现在与定点小数的三种表示基本相同,差别仅表现在小数点小数点的位置,整数的小数点在最低数值位的右侧。的位置,整数的小数点在最低数值位的右侧。 整数中用整数中用“,”隔开符号位与数值位。隔开符号位与数值位。 例如:五位整数的编码:例如:五位整数的编码: X1 = +01110 X1原原= 0,01110 X1反反= 0,01110 X1补补= 0,01110 X2 = - 01110 X2原原= 1,01110 X2反反= 1,10001 X2补补= 1
15、,10010原、反、补码表示小结原、反、补码表示小结正数的正数的 原码、反码、补码表示原码、反码、补码表示均相同均相同,符号位为,符号位为 0,数值位等,数值位等于数的于数的真值真值。零的原码和反码均有零的原码和反码均有2个个编码,补码只有编码,补码只有1个编码个编码负数的原码、反码、补码表示负数的原码、反码、补码表示均不同均不同, 符号位为符号位为 1,数值位:原码为数的绝对值;,数值位:原码为数的绝对值; 符号位为符号位为 1,数值位:反码为每一位均取反码;,数值位:反码为每一位均取反码; 符号位为符号位为 1,数值位:补码为反码再在最低位,数值位:补码为反码再在最低位+1; n+1n+1
16、位位移码移码:Xf XXf Xn n X Xn-1n-1 X X 1 1 1 无小数表示形式无小数表示形式2定义定义: X移移 = 2n+X -2n X = 1/r,称满足这种表示要求的浮点数为,称满足这种表示要求的浮点数为规格化表示规格化表示。 把不满足这一表示要求的尾数,变成满足这一要把不满足这一表示要求的尾数,变成满足这一要求的尾数的操作过程,叫作浮点数的求的尾数的操作过程,叫作浮点数的规格化处理规格化处理,通,通过过尾数移位和修改阶码尾数移位和修改阶码实现。实现。X = S rjX浮浮 = jf j1 j2 . Jm Sf S1 S2 . Sn规格化的浮点数尾数形式(以二进制数为例):
17、规格化的浮点数尾数形式(以二进制数为例):当尾数用原码表示时,当尾数用原码表示时, S原原 = 0.1xxx 或或1.1xxx当尾数用补码表示时,当尾数用补码表示时, S补补 = 0.1xxx 或或1.0 xxx例例1:判断下列数的尾数表示是否为规格化的表示形判断下列数的尾数表示是否为规格化的表示形式式-0.0111111 X原原=1.0111111-0.0111111 X补补=1.1000001 -0.1000000 X原原=1.1000000 -0.1000001 X补补=1.0111111 浮点数在计算机内的表示浮点数在计算机内的表示IEEE 标准:标准:阶码用移码,基数为阶码用移码,基
18、数为2;尾数用原;尾数用原码码X = S rj X 浮浮 = jf j1 j2 . Jm Sf S1 S2 . Sn定点数与浮点数的定点数与浮点数的比较比较:(1)数位相同时,浮点数比定点数表示范围大得多;数位相同时,浮点数比定点数表示范围大得多;(2)浮点数为规格化数时,精度远比定点数高;浮点数为规格化数时,精度远比定点数高;(3)浮点运算步骤比定点数多,速度比定点数低;浮点运算步骤比定点数多,速度比定点数低;(4)判断溢出的方法不同。判断溢出的方法不同。IEEE 754 IEEE 754 标准浮点数表示格式标准浮点数表示格式 X 浮浮 = Sf jf j1 j2 . Jm S1 S2 .
19、Sn符号位符号位Sf 阶码位阶码位 尾数数码位尾数数码位 总位数总位数 短浮点数短浮点数: 1 8 23 32长浮点数长浮点数: 1 11 52 64 临时浮点数临时浮点数: 1 15 64 80X = S rj 例例2:设浮点数字长设浮点数字长16位,其中阶码位,其中阶码5位(含位(含1位位阶符),尾数阶符),尾数11位(含位(含1位数符),将十进制数位数符),将十进制数+13/128写成二进制定点数和浮点数,并分别写写成二进制定点数和浮点数,并分别写出它在定点机和浮点机中的机器数形式。出它在定点机和浮点机中的机器数形式。例例3:将十进制数将十进制数-54表示成二进制定点数和浮点数,表示成二
20、进制定点数和浮点数,并写出它在定点机和浮点机中的机器数形式。并写出它在定点机和浮点机中的机器数形式。(其它要求同上例)(其它要求同上例)例例4:设浮点数字长设浮点数字长16位,其中阶码位,其中阶码5位(含位(含1位阶位阶符),尾数符),尾数11位(含位(含1位数符),写出位数符),写出-53/512对对应的浮点规格化数的原码、补码、反码和阶码用应的浮点规格化数的原码、补码、反码和阶码用移码,尾数用补码的形式。移码,尾数用补码的形式。 二、定点数的算术运算二、定点数的算术运算(1) 移位移位运算运算 (2) 补码补码 加减法运算加减法运算(3) 原码原码一位乘法运算一位乘法运算 原码原码一位除法
21、运算一位除法运算 补码补码一位乘法运算一位乘法运算 补码补码一位除法运算一位除法运算(4) 补码补码二位乘法运算二位乘法运算(5) 快速快速乘除法运算方法乘除法运算方法移位运算的实现移位运算的实现 移位运算移位运算,用于提高某些运算的速度或作为乘除法运算的,用于提高某些运算的速度或作为乘除法运算的子运算。分为算术移位和逻辑移位。子运算。分为算术移位和逻辑移位。 算术移位算术移位: : 对对有符号数有符号数进行的移位,进行的移位,小数点位置不变小数点位置不变。 规则规则: : (1) (1) 移位后移位后符号位符号位不变;不变; (2) (2) 不同码制机器数移位后空位填补规则,如不同码制机器数
22、移位后空位填补规则,如下表:下表:正数正数码码 制制原码、补码、反码原码、补码、反码原原 码码补补 码码反反 码码右移填补代码右移填补代码001 1负负数数左移填补代码左移填补代码0 0 0 1例例5 5:设机器数字长:设机器数字长8 8位(含一位符号位),位(含一位符号位),若若A=A=6262,写出三种机器数左右移一位和,写出三种机器数左右移一位和两位后的表示形式以及相应的真值,并分两位后的表示形式以及相应的真值,并分析结果的正确性。析结果的正确性。算术左右移规律总结: 对于正数,三种机器数移位后符号位均不变,左移时最高位丢1,结果出错;右移时,最低位丢1,影响精度。 对于负数,三种机器数
23、移位后符号位均不变, 负数原码,左移高位丢1,出错,右移低位丢1,影响精度。 负数补码,左移高位丢0,出错,右移低位丢1,影响精度。负数反码,左移高位丢0,出错,右移低位丢0,影响精度。逻辑移位(无符号数的移位)逻辑移位(无符号数的移位)左移左移1位位右移右移1位位左移左移2位位右移右移2位位无符号数无符号数规律:规律:无符号数的左右移位,空出来的位都补无符号数的左右移位,空出来的位都补0.补码加减法的实现(以定点小数为例)补码加减法的实现(以定点小数为例)基本公式:基本公式:X Y补补 = X补补 Y补补 (mod 2)小数)小数 X Y补补 = X补补 Y补补 (mod 2n+1)整数)整
24、数特点特点:(1)符号位)符号位参与参与运算,结果符号位通过运算自动运算,结果符号位通过运算自动产生;产生;(2)运算实际上为)运算实际上为“模运算模运算”,因此,运算过程,因此,运算过程中可能产生中可能产生模溢出模溢出,丢掉模后,不影响运算结果。,丢掉模后,不影响运算结果。例例6:已知:已知A=0.1011,B=-0.0101.求求A+B补。补。例例7:已知:已知A=-1001,B=-0101.求求A+B补。补。例例8:设机器数字长:设机器数字长8位,其中位,其中1位为符号位,位为符号位,若若A=+15,B=+24,求,求A-B补,并还原成补,并还原成真值。真值。补码加减法的溢出补码加减法的
25、溢出溢出:溢出:运算结果超出数据的表示范围。分为上溢和下运算结果超出数据的表示范围。分为上溢和下溢(或称溢(或称正溢出和负溢出正溢出和负溢出)。)。例如:例如:X = +0.1011 Y = +0.1101 X补补 = 0.1011, Y补补 = 0.1101 X+Y补补 = X补补 + Y补补 = 0.1011 + 0.1101 = 1.0100 正溢出正溢出 溢出的后果是结果的最高数值位溢出的后果是结果的最高数值位侵入侵入符号位,使符号符号位,使符号位遭到破坏。在计算机中,溢出是作为位遭到破坏。在计算机中,溢出是作为出错出错处理的。处理的。补码加减法的溢出判别补码加减法的溢出判别溢出判断:
展开阅读全文