计算机组成原理第二章(第一讲)_第1页
计算机组成原理第二章(第一讲)_第2页
计算机组成原理第二章(第一讲)_第3页
计算机组成原理第二章(第一讲)_第4页
计算机组成原理第二章(第一讲)_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机组成原理第一章第一章 计算机系统概论计算机系统概论第二章第二章 运算方法和运算器运算方法和运算器第三章第三章 存储系统存储系统第四章第四章 指令系统指令系统 第五章第五章 中央处理器中央处理器 第六章第六章 总线系统总线系统 第七章第七章 外围设备外围设备 第八章第八章 输入输出系统输入输出系统第九章第九章 并行组织并行组织目录第二章第二章 运算方法和运算器运算方法和运算器n重点:重点:数据表示数据表示n难点:难点:运算方法和运算器运算方法和运算器2.1 数据与文字的表示方法n2.1.1 2.1.1 数据格式数据格式n2.1.2 2.1.2 数的机器码表示数的机器码表示n2.1.3 2.

2、1.3 字符与字符串的表示方法字符与字符串的表示方法n2.1.4 2.1.4 汉字的表示方法汉字的表示方法n2.1.5 2.1.5 校验码校验码n计算机中常用的数据表示格式有两种,一计算机中常用的数据表示格式有两种,一是是定点格式定点格式,二是,二是浮点格式。浮点格式。n定点格式定点格式容许的数值范围有限,但对硬件要求容许的数值范围有限,但对硬件要求较低。较低。n浮点格式浮点格式容许的数值范围很大,但对硬件要求容许的数值范围很大,但对硬件要求较高。较高。2.1.1 数据格式1.定点数的表示方法n定点表示定点表示:约定机器中所有数据的小数点位置是固约定机器中所有数据的小数点位置是固定不变的。通常

3、将数据表示成定不变的。通常将数据表示成纯小数纯小数或或纯整数纯整数n定点数定点数xx0 x1x2xn 在定点机中表示如下在定点机中表示如下(x0表示表示符号位,符号位,0代表正号,代表正号,1代表负号代表负号)定点整数的小数点位置定点小数的小数点位置定点数例定点数例例:例:X=+1010110.纯整数:纯整数:X = 01010110.正数,符号位取正数,符号位取0Y= - 1101001.纯整数:纯整数:Y = 11101001. (原码)(原码)负数,符号位取负数,符号位取1X=+0.11011Y=-0.10101符号位取符号位取0纯小数:纯小数:X = 0.11011符号位取符号位取1纯

4、小数:纯小数:X = 1.10101 (原码)(原码)定点整数的表示范围n纯整数纯整数的表示范围为的表示范围为(x1x2xn各位均为各位均为0时时最小;各位均为最小;各位均为1时最大,时最大,x0为符号位为符号位) 0| 2n 1n例如:例如:n8,最大值编码:,最大值编码:11111111表示:表示: 111111111000000001281n目前计算机中多采用定点纯整数表示,因此目前计算机中多采用定点纯整数表示,因此将定点数表示的运算简称为将定点数表示的运算简称为整数运算整数运算定点小数的表示范围n纯小数纯小数的表示范围为的表示范围为(x1x2xn各位均为各位均为0时时最小;各位均为最小

5、;各位均为1时最大,时最大,x0为符号位为符号位) 0|12-nn例如,例如,n8,最大值编码:最大值编码:0.11111111表示:表示: 0.11111111 1.00.000000011-2-8如何用定点数来表示非常大如何用定点数来表示非常大(e.g. 200010+30 )的数和非常小的数和非常小(e.g. 910-28 )的数?的数?200010+30 = 0.2 1034 910-28 = 0.9 10-27引入比例因子引入比例因子1034和和10-27 非常大和非常小的数非常大和非常小的数2.浮点数的表示方法n把一个数的有效数字和数的范围在计算机的把一个数的有效数字和数的范围在计

6、算机的一个存储单元中分别予以表示一个存储单元中分别予以表示n数的小数点位置随比例因子的不同而在一定数的小数点位置随比例因子的不同而在一定范围内自由浮动范围内自由浮动 n一个一个十十进制数进制数可以写成可以写成 10en一个一个进制数进制数可以写成可以写成 eM尾数尾数 e指数指数R基数基数数的科学表达法数的科学表达法阶码和尾数n用定点小数表示,用定点小数表示,给出有效数字的位给出有效数字的位数,决定浮点数的数,决定浮点数的表示精度表示精度n表达指数部分表达指数部分n用整数形式表示,指明小用整数形式表示,指明小数点在数据中的位置,决数点在数据中的位置,决定浮点数的表示范围定浮点数的表示范围早期计

7、算机表达法早期计算机表达法32位浮点数:含阶符的阶码,:含阶符的阶码,8 位位阶码采用阶码采用移码方式移码方式来表示来表示正负指数正负指数:1位符号位符号位位0表示正数表示正数1表示负数表示负数 :尾数,:尾数,23位小位小数表示,小数点放数表示,小数点放在尾数域最前面在尾数域最前面IEEE 754标准标准64位浮点数:含阶符的阶码,:含阶符的阶码,11位位:1位符号位符号位位:尾数,:尾数,52位小位小数数IEEE 754标准标准浮点数的规格化浮点数的规格化例:例:156.78 =15.678101= 1.5678102= 0.15678103=REM对于二进制数对于二进制数1011.110

8、1=0.10111101 2+4= 10.111101 2+2 = 1.0111101 2+3 (IEEE754规格化表示法规格化表示法)= 1.0111101 2+11 (IEEE754规格化表示法规格化表示法)=REM那么,计算机中究竟采用哪种数据形式?那么,计算机中究竟采用哪种数据形式?多种数据形式多种数据形式二进制数二进制数n尾数最高有效位为尾数最高有效位为1,隐藏,并且隐藏在小数,隐藏,并且隐藏在小数点的左边(即:点的左边(即:1M2)n32位单精度浮点数规格化表示位单精度浮点数规格化表示 (-1)s(1.) 2E-127e127(e127)n64位双精度浮点数规格化表示位双精度浮点

9、数规格化表示 (-1)s (1.) 2E-1023e1023(e1023)指数真值指数真值e 用偏移码形式表示为阶码用偏移码形式表示为阶码规格化表示原则规格化表示原则IEEE 754标准标准 X(-1)s1.M2e (1.011011)231011.011(11.375)10 指数指数e阶码阶码127 1000 00100111111100000011=(3)10 包括隐藏位包括隐藏位1的尾数的尾数1.M 1.011011例1:浮点机器数 (41360000)16,求真值 十六进制数展开成二进制数十六进制数展开成二进制数0 100 0001 0011 0110 0000 0000 0000 0

10、000S阶码阶码E(8位位)尾数尾数M(23位位)例例2:真值:真值20.59375,求,求32位单精度浮点数位单精度浮点数 分别将整数和分数部分转换成二进制数分别将整数和分数部分转换成二进制数 20.5937510100.10011 移动小数点,使其在第移动小数点,使其在第1、2位之间位之间10100.100111.01001001124e4S0E4+12713110000011M010010011 得到得到32位浮点数的二进制存储格式为:位浮点数的二进制存储格式为:0 100 0001 1010 0100 1100 0000 0000 0000(41A4C000)16nE1(0000 00

11、01)254(1111 1110)ne-126+127n表达的数据范围(绝对值):表达的数据范围(绝对值): 最小值最小值(1)E=0,e-127,M0(1.M1) (2) 或整个尾数部分全为或整个尾数部分全为0时时 十进制表达:十进制表达:0最小非零值最小非零值: e-126,M0(1.M1)十进制表达:十进制表达:2-1261.1810-38最大值最大值: e127,M111(23个1)1.M1.111 (23个1) 22-23十进制表达:十进制表达:(22-23)2127221273.40103832位规格化浮点数位规格化浮点数IEEE 754标准标准nE12046ne-1022+102

12、3n表达的数据范围(绝对值)表达的数据范围(绝对值) : 最小非零值最小非零值: e-1022,M0(1.M1) 十进制表达:十进制表达:2-10222.2310-308 最大值最大值: e1023,M111(52个1)1.M1.111 (52个1) 22-52 十进制表达:十进制表达:(22-52)21023 221023 1.791030864位规格化浮点数位规格化浮点数IEEE 754标准标准n真值真值0的机器数(机器零)的机器数(机器零)n阶码阶码E0,尾数,尾数M0n正正0:S0,负,负0:S1n非规格化浮点数:非规格化浮点数:阶码阶码E0,尾数,尾数M0n规格化浮点数:规格化浮点数

13、:阶码阶码E1254(11111110)n无穷大的无穷大的机器数机器数n阶码阶码E全全1(11111111) ,尾数,尾数M0n:S0,:S1nNaN(not a number,不是一个数),不是一个数)n阶码阶码E全全1(11111111) ,尾数,尾数M0n用来通知异常情况用来通知异常情况IEEE 754标准标准32位浮点数位浮点数3.十进制数串的表示方法1.1.字符串形式字符串形式每个十进制的数位或符号位都用一个字节存放每个十进制的数位或符号位都用一个字节存放+12-38-382.2.压缩的十进制数串形式压缩的十进制数串形式一个字节存放两个十进制的数位,符号位占半个字节一个字节存放两个十

14、进制的数位,符号位占半个字节(例如用(例如用C表示正,表示正,D表示负)表示负)+1212 3C012D123-12 每个数位可用每个数位可用BCD码或码或ASCII码码计算机组成原理计算机组成原理23BCD码(Binary Coded Decimal)l二进制编码的十进制数二进制编码的十进制数一个十进制数位用一个十进制数位用4 4位二进制编码来表示位二进制编码来表示常用常用8421 BCD8421 BCD码:低码:低1010个个4 4位二进制编码表示位二进制编码表示0 09 9压缩压缩BCDBCD码:一个字节表达两位码:一个字节表达两位BCDBCD码码非压缩非压缩BCDBCD码:一个字节表达

15、一位码:一个字节表达一位BCDBCD码(低码(低4 4位表位表达数值,高达数值,高4 4位常设置为位常设置为0 0)lBCDBCD码很直观码很直观BCDBCD码:码:0100 1001 0111 1000.0001 0100 10010100 1001 0111 1000.0001 0100 1001十进制真值:十进制真值: 4978.1494978.149BCD码便于输入输出,表达数值准确码便于输入输出,表达数值准确计算机组成原理计算机组成原理24十进制数据表示&人们习惯于用十进制表示数据,而计算机则采用二进制表示人们习惯于用十进制表示数据,而计算机则采用二进制表示和处理数据。所以向计算机输

16、入数据时,需要进行十进制数和处理数据。所以向计算机输入数据时,需要进行十进制数到二进制数的转换;输出数据时,则要进行二进制数到十进到二进制数的转换;输出数据时,则要进行二进制数到十进制数的转换处理。在数据量较小的情况下,这样的转换对机制数的转换处理。在数据量较小的情况下,这样的转换对机器运行效率的影响不是很大。但是,在某些应用领域,运算器运行效率的影响不是很大。但是,在某些应用领域,运算简单而数据量很大,进行这些转换所占用的时间比例比较大。简单而数据量很大,进行这些转换所占用的时间比例比较大。所以为了提高机器的运行效率,计算机可以用十进制来表示所以为了提高机器的运行效率,计算机可以用十进制来表

17、示和处理数据。和处理数据。&一个十进制数位是用若干位二进制编码表示。用四位二进制一个十进制数位是用若干位二进制编码表示。用四位二进制代码的不同组合来表示一个十进制数码的编码方法,称为代码的不同组合来表示一个十进制数码的编码方法,称为二二十进制编码,也称十进制编码,也称BCDBCD码(码(Binary Coded DecimalBinary Coded Decimal)。)。 常用这种编码作为十进制数转换成二进制数的中间过渡。即常用这种编码作为十进制数转换成二进制数的中间过渡。即先将一个十进制数用先将一个十进制数用BCDBCD码来表示,再把它们送入机器,码来表示,再把它们送入机器, 计计算机通过

18、标准子程序使其转换成纯二进制数。算机通过标准子程序使其转换成纯二进制数。 (1)定点整数的原码表示n定点整数定点整数的原码形式为的原码形式为x0 x1x2 xn X 2n X 0 X原原 2nX2n|X|0X2nn使用使用8位二进制:位二进制:105 10=011010012X+105,则,则 X原原 01101001X-105, 则则 X原原 11101001n0使用原码有两种表达形式使用原码有两种表达形式 +0原原 =00000000 -0原原 =10000000符号位符号位2.1.2数的机器码表示1.原码(2)定点小数的原码表示n定点整数定点整数的原码形式为的原码形式为x0.x1x2 x

19、n X 1 X 0 X原原1X1 |X|0X1n使用使用8位二进制表示位二进制表示+0.1001,则,则 X原原 0.1001000-0.1001,则,则 X原原 1.1001000n0使用原码有两种表达形式使用原码有两种表达形式 +0原原 =0.0000000 -0原原 =1.0000000符号位符号位计算机组成原理计算机组成原理27(1)定点整数的补码l有符号整数在计算机中默认采用补码有符号整数在计算机中默认采用补码最高位表示符号:正数用最高位表示符号:正数用0 0,负数用,负数用1 1正数补码:直接表示数值大小(原码无符号正数补码:直接表示数值大小(原码无符号数)数)负数补码:将对应正数

20、补码取反加负数补码:将对应正数补码取反加1 1X 2n X 0 X补补2n+1 X2n+1 |X|0X 2n2.补码计算机组成原理计算机组成原理28定点整数的补码105105补码补码0110100101101001-105-105补码补码0110100101101001取反取反1 110010110100101101 11001011110010111 特例:特例:-128-128补补= 10000000= 10000000l8 8位二进制补码表示的数值范围:位二进制补码表示的数值范围:-128-128+127+127l1616位二进制补码表示的数值范围:位二进制补码表示的数值范围:-2-21

21、515+2+21515-1-1l3232位二进制补码表示的数值范围:位二进制补码表示的数值范围:-2-23131+2+23131-1-1lN N位二进制补码表示的数值范围:位二进制补码表示的数值范围:-2-2N N1 1+2+2N N1 1-1-1计算机组成原理计算机组成原理29负数求补l负数真值负数真值“取反加取反加1”1”得机器数补码得机器数补码l负数补码负数补码“取反加取反加1”1”得到负数真值得到负数真值补码:补码:1110000011100000真值:真值:-(11100000-(11100000求反求反1 1) )-(00011111+1)-(00011111+1) -00100000-00100000-2-25 5-32-32计算机组成原理计算机组成原理30(2)定点小数的补码x 1 x 0 X补补2 x2 |x| 0 x 1特例:特例:-1补补=1.0000000计算机组成原理计算机组成原理313.反码l l反码:二进制的各位数码反码:二进制的各位数码 0 0 变为变为1 1,1 1变为变为0 0l有符号整数采用反码有符号整数采用反码最高位表示符号:正数用最高位表示符号:正数用0 0,负数

温馨提示

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

评论

0/150

提交评论