计算机组成原理课程研讨2_第1页
计算机组成原理课程研讨2_第2页
计算机组成原理课程研讨2_第3页
计算机组成原理课程研讨2_第4页
计算机组成原理课程研讨2_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、 计算机组成原理计算机组成原理 课程研讨课程研讨q1.理解单处理器计算机系统中各部件的内部工作原理、组成结构以及相互连接方式,具有完整的计算机系统的整机概念。 q2.理解计算机系统层次化结构概念,熟悉硬件与软件之间的界面,掌握指令集体系结构的基本知识和基本实现方法 。q3.能够运用计算机组成的基本原理和基本方法,对有关计算机硬件系统中的理论和实际问题进行计算、分析,并能对一些基本部件进行简单设计。数制与编码定点数的表示和运算浮点数的表示和运算算术逻辑单元ALU 定点数的表示定点数的表示定点数:固定小数点的位置表达数值的机器数定点数:固定小数点的位置表达数值的机器数定点整数:将小数点固定在机器数

2、的最右侧表达的整数定点整数:将小数点固定在机器数的最右侧表达的整数定点小数:将小数点固定在机器数的最左侧表达的小数定点小数:将小数点固定在机器数的最左侧表达的小数无符号数:只表达无符号数:只表达0和正整数的定点整数和正整数的定点整数有符号数:表达负整数、有符号数:表达负整数、0和正整数的定点整数和正整数的定点整数符号位需要占用一个位,常用机器数的最高位符号位需要占用一个位,常用机器数的最高位0表示正数、表示正数、1表示负数表示负数具有原码、反码、补码、移码具有原码、反码、补码、移码1、无符号数的表示没有符号位,使用全部字长来表示数值大小字长N8时,编码:0000000011111111取值范围

3、:0255(28-1)字长N16时,编码:0000FFFFH取值范围:065535(216-1)字长N32时,编码:00000000FFFFFFFFH取值范围:0232-12、有符号数的表示定点表示:约定机器中所有数据的小数点位置是固定不变的。通常将数据表示成纯小数或纯整数定点数xx0 x1x2xn 在定点机中表示如下(x0表示符号位,0代表正号,1代表负号)定点整数的小数点位置定点小数的小数点位置例例: X= .纯整数:纯整数:X = 01010110.正数,符号位取正数,符号位取0 Y= - 1101001.纯整数:纯整数:Y = 11101001. (原码)(原码)负数,符号位取负数,符

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

5、8,最大值编码:0.11111111q表示: 0.11111111 1.00.00000001q1-2-8定点数的运算定点数的运算定点运算包括移位、加、减、乘、除等几种。定点运算包括移位、加、减、乘、除等几种。1、定点数的位移运算、定点数的位移运算移位运算的意义:计算机中小数点的位置是事先约定的,因此,移位运算的意义:计算机中小数点的位置是事先约定的,因此,二进制表示的机器数在相对于小数点作二进制表示的机器数在相对于小数点作n位左移或右移时,其位左移或右移时,其实质上就是该数乘以或除以实质上就是该数乘以或除以 (n=1,2,n)。)。算术移位规则:对于正数,由于算术移位规则:对于正数,由于x原

6、原=x补补=x反反=真值,故移真值,故移位后出现的空位均以位后出现的空位均以0添之。对于负数,由于原码、补码和反添之。对于负数,由于原码、补码和反码的表示形式不同,故机器数移位时,对空位的添补规则也不码的表示形式不同,故机器数移位时,对空位的添补规则也不同。同。n2q不同码制机器数算术移位后的空位添补规则真值码制添补规则正数原码、补码、反码0负数原码0补码左移添0右移添1反码1q由上表可以得出一下结论:由上表可以得出一下结论:q(1)机器数为正时,不论左移还是右移,添补代码均为)机器数为正时,不论左移还是右移,添补代码均为0。q(2)由于负数的原码数值部分与真值相同,故在移位时只要)由于负数的

7、原码数值部分与真值相同,故在移位时只要使符号位不变,其空位均添使符号位不变,其空位均添0即可。即可。q(3)由于负数的反码各位除符号位外与负数的原码正好相反)由于负数的反码各位除符号位外与负数的原码正好相反,故移位后所添的代码应与原码相反,即全部添,故移位后所添的代码应与原码相反,即全部添1。q(4)分析任意数的补码可发现,当对其由低位向高位找到第)分析任意数的补码可发现,当对其由低位向高位找到第一个一个“1”时,在此时,在此“1”左边的各位均与对应的反码相同,左边的各位均与对应的反码相同,而在此而在此“1”右边的各位(包括此右边的各位(包括此“1”在内)均与对应的原在内)均与对应的原码相同。

8、故负数的补码左移时,因空位出现在低位,则添补的码相同。故负数的补码左移时,因空位出现在低位,则添补的代码与原码相同,即添代码与原码相同,即添0;右移时因空位出现在高位,则添补;右移时因空位出现在高位,则添补的代码应与反码相同,即添的代码应与反码相同,即添1。q算术移位和逻辑移位:算术移位和逻辑移位:q有符号的移位为算术移位,无符号的移位为逻辑移位。有符号的移位为算术移位,无符号的移位为逻辑移位。q逻辑移位的规则是,逻辑左移时,高位移出,低位添逻辑移位的规则是,逻辑左移时,高位移出,低位添0;逻辑;逻辑右移时,低位移出,高位添右移时,低位移出,高位添0。q算术移位时,分为小循环左、右移位和大循环

9、左、右移位。(算术移位时,分为小循环左、右移位和大循环左、右移位。(小循环移位不经过进位位,大循环移位经过进位位)。小循环移位不经过进位位,大循环移位经过进位位)。2、原码定点数加减运算数的原码与真值之间的关系比较简单,其算术运算规则与十进制运算规则类似,当运算结果不超出机器能表示的范围,运算结果仍然以原码表示。它的最大缺点是在机器进行加减运算时比较复杂。当两数相加时,先要判别两数的符号,如果两数是同号,则相加;两数异号,则相减。进行减法运算又要先比较两数绝对值的大小,再用大绝对值减去小绝对值,最后还要确定运算结构的正负号。3、补码定点数加减运算二进制加法是实现算术运算的基础,采用补码方案时,

10、加减法可以用统一的方式处理。实际上乘除法也可以通过加运算和移位相结合的方案来实现。因此运算器的核心也就是加法器的设计。补码加减法运算法则1:X补+Y补X+Y补 两补码数相加,符号位与码值一起参加运算,符号位相加后如果有进位,则该位数字舍弃。 下面分四种情况来证明补码加法公式:q证明条件是:|X|1,|Y|1,|X+Y|0,Y0,则X+Y0;q 两正数相加,和一定是正数,与原码相同。q 根据补码的定义可得此结论。q X补 X 0=X1q 2+X -1=X0,Y0或X+Y0时,2+(X+Y)2,进位2必丢失,又因为(X+Y)0,q 所以X补+Y补=X+Y=X+Y补 (MOD 2)q 当X+Y0时,

11、2+(X+Y)2,又因为(X+Y)0,q 所以X补+Y补=2+(X+Y)=X+Y补 (MOD 2) q例,X=+0.1011,Y=-0.0101,X+Y=?q X补=0.1011,Y补=1.1011q X补 0.1011q + Y补 1.1011q (1) 0.0110q 所以,X+Y=0.0110q(3) X0,则X+Y0或X+Y0; q 同(2)情况一样。q(4) X0,Y0,则X+Y0;q 两相加得数都是负数,则其和也一定是负数。q 根据补码的定义可得:q X补+Y补=2+X+2+Y=2+(2+X+Y)q (X+Y)为负数,而其绝对值小于1,那么(2+X+Y)就一定是小于2大于1得数,进

12、位“2”丢失。q 又因为(X+Y)0q 所以,X补+Y补=2+(X+Y)=X+Y补 (MOD 2)q产生产生“溢出溢出”的原因:的原因:q分析可知,当最高有效数值位的运算进位与符号位的运算进位分析可知,当最高有效数值位的运算进位与符号位的运算进位不一致时,将产生运算不一致时,将产生运算“溢出溢出”。q进一步结论:进一步结论:q 当最高有效位产生进位而符号位无进位时当最高有效位产生进位而符号位无进位时,产生上溢;产生上溢;q 当最高有效位无进位而符号位有进位时当最高有效位无进位而符号位有进位时,产生下溢。产生下溢。q“溢出溢出”检测方法:检测方法:q为了判断为了判断“溢出溢出”是否发生是否发生,

13、可采用两种检测的方法。可采用两种检测的方法。q第一种方法:采用双符号位法第一种方法:采用双符号位法, 称为称为“变形补码变形补码”或或“模模4补补码码”,可使模可使模2补码所能表示的数的范围扩大一倍。补码所能表示的数的范围扩大一倍。q第二种溢出检测方法:采用第二种溢出检测方法:采用“单符号位法单符号位法”。q当最高有效位产生进位而符号位无进位时当最高有效位产生进位而符号位无进位时,产生上溢;产生上溢;q当最高有效位无进位而符号位有进位时当最高有效位无进位而符号位有进位时,产生下溢。产生下溢。q故:溢出逻辑表达式为:故:溢出逻辑表达式为: VCf Coq其中其中: Cf为符号位产生的进位为符号位

14、产生的进位,Co为最高有效位产生的为最高有效位产生的q进位。(显然:此逻辑关系可用异或门方便地实现)进位。(显然:此逻辑关系可用异或门方便地实现)q 在定点机中,当运算结果发生溢出时在定点机中,当运算结果发生溢出时,机器通过逻机器通过逻q辑电路自动检查出溢出故障辑电路自动检查出溢出故障,并进行中断处理。并进行中断处理。浮点数的表示浮点数的表示把一个数的有效数字和数的范围在计算机的一个存储单元中分别把一个数的有效数字和数的范围在计算机的一个存储单元中分别予以表示予以表示数的小数点位置随比例因子的不同而在一定范围内自由浮动数的小数点位置随比例因子的不同而在一定范围内自由浮动 一个十进制数可以写成一

15、个十进制数可以写成 10e一个进制数可以写成一个进制数可以写成 eq阶码和尾数n用定点小数表示,给出有用定点小数表示,给出有效数字的位数决定了浮点效数字的位数决定了浮点数的表示精度数的表示精度n表达指数部分表达指数部分n用整数形式表示,指明小数点在数用整数形式表示,指明小数点在数据中的位置决定浮点数的表示范围据中的位置决定浮点数的表示范围早期计算机表达法早期计算机表达法q3232位单精度浮点数位单精度浮点数:含阶符的阶码,:含阶符的阶码,8 位位阶码采用移码方式来表示正负指阶码采用移码方式来表示正负指数数:1位符号位位符号位0表示正数表示正数1表示负数表示负数 :尾数,:尾数,23位小数表示,

16、位小数表示,小数点放在尾数域最前面小数点放在尾数域最前面IEEE 754标准标准q6464位双精度浮点数位双精度浮点数:含阶符的阶码,:含阶符的阶码,11位位:1位符号位符号位位:尾数,:尾数,52位小位小数数IEEE 754标准标准q浮点数的规格化q例:156.78=15.678101= 1.5678102q= 0.15678103=REMq那么,计算机中究竟采用哪种数据形式?对于二进制数1011.1101=0.10111101 2+4= 10.111101 2+2 = 1.0111101 2+3 (规格化表示法) = 1.0111101 2+11 (规格化表示法)=REM二进制数二进制数q

17、规格化表示原则q尾数最高有效位为尾数最高有效位为1,隐藏,并且隐藏在小数点的左边,隐藏,并且隐藏在小数点的左边q (即:(即:1M2)q32位单精度浮点数规格化表示位单精度浮点数规格化表示q (-1)s(1.) 2E-127q e127(e127)q64位双精度浮点数规格化表示位双精度浮点数规格化表示q (-1)s (1.) 2E-1023q e1023(e1023)指数真值指数真值e 用偏移码形式表示为阶码用偏移码形式表示为阶码IEEE 754标准标准 X X(-1)s(-1)s1.M1.M2e 2e (1.011011)(1.011011)23231011.0111011.011(11.3

18、75)10(11.375)10 指数指数e e阶码阶码127 127 1000 00101000 0010011111110111111100000011=(3)1000000011=(3)10 包括隐藏位包括隐藏位1 1的尾数的尾数1.M 1.M 1.0110111.011011例1:浮点机器数 (41360000)16,求真值 十六进制数展开成二进制数十六进制数展开成二进制数0 100 0001 0011 0110 0000 0000 0000 00000 100 0001 0011 0110 0000 0000 0000 0000S阶码阶码E(8位位)尾数尾数M(23位位)q例例2:真值

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

20、1)254(1111 1110)ne-126+127n表达的数据范围(绝对值):表达的数据范围(绝对值):n最小值:最小值: e-126,M0(1.M1)n十进制表达:十进制表达:2-1261.1810-38n最大值:最大值: e127,M111(23个个1)n1.M1.111 (23个个1) 22-23n十进制表达:(十进制表达:(22-23)2127n221273.401038IEEE 754标准标准q6464位双精度规格化浮点数位双精度规格化浮点数nE12046ne-1022 n表达的数据范围(绝对值)表达的数据范围(绝对值) :n 最小值:最小值: e-1022,M0(1.M1)n 十

21、进制表达:十进制表达:2-10222.2310-308n 最大值:最大值: e1023,M111(52个个1)n1.M1.111 (52个个1) 22-52n 十进制表达:(十进制表达:(22-52)21023n 221023 1.7910308IEEE 754标准标准q3232位单精度浮点数位单精度浮点数n真值真值0的机器数(机器零)的机器数(机器零)n阶码阶码E0,尾数,尾数M0n正正0:S0,负,负0:S1n非规格化浮点数:阶码非规格化浮点数:阶码E0,尾数,尾数M0n规格化浮点数:阶码规格化浮点数:阶码E1254(11111110)n无穷大的机器数无穷大的机器数n阶码阶码E全全1(11

22、111111) ,尾数,尾数M0n:S0,:S1nNaN(not a number,不是一个数),不是一个数)n阶码阶码E全全1(11111111) ,尾数,尾数M0n用来通知异常情况用来通知异常情况IEEE 754标准标准浮点数的运算浮点数的运算浮点数加法和减法运算浮点数加法和减法运算设有两个浮点数设有两个浮点数x和和y,它们分别为,它们分别为 x2mMx y2nMy 其中其中m和和n分别为数分别为数x和和y的阶码,的阶码,Mx和和My为数为数x和和y的尾数。的尾数。q(1)对阶q 对阶的原则:小阶向大阶看齐。q 若mn则将操作数y的尾数右移一位,y的阶码n加1,直到mn。q 若mn则将操作

23、数x的尾数右移一位,x的阶码m加1,直到mn。q(2)尾数相加q 尾数相加与定点数的加、减法相同 q(3)结果规格化q当运算结果的尾数部分不是11.0或00.1的形式时,则应进行规格化处理。q当尾数符号位01或10需要右规。q右规的方法是尾数连同符号位右移一位、和的阶码加1, 右规处理后就可得到11.0或00.1的形式,即成为规格化的数。q当运算结果的符号位和最高有效位为11.1或00.0时需要左规。q 左规的方法是尾数连同符号位一起左移一位、和的阶码减1, 直到尾数部分出现11.0或00.1的形式为止。q(4)溢出判断q 在阶码的符号位出现01或10时,表示溢出,而尾数的符号位为01或10时,给出的是运算结果需要右规的信号。q浮点乘法运算浮点乘法运算q设设 x2mMx , y2nMy q则则 xy2mn(MxMy) 其中,其中,Mx、My分别为分别为x和和y的尾的尾数。数。q 浮点乘法运算也可以分为浮点乘法运算也可以分为3个步骤:个步骤:q (1) 阶码相加阶码相加q (2

温馨提示

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

评论

0/150

提交评论