计算机组成原理整理_第1页
计算机组成原理整理_第2页
计算机组成原理整理_第3页
计算机组成原理整理_第4页
计算机组成原理整理_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、1.2.4 计算机的性能指标 吞吐量表征一台计算机在某一时间间隔内能够处理的信息量,单位是字节/秒(B/S)。 响应时间表征从输入有效到系统产生响应之间的时间度量,用时间单位来度量,例 如微秒(10-6S)、纳秒(10-9S)。利用率表示在给定的时间间隔内,系统被实际使用的时间所占的比率,一般用百分比表示。处理机字长指处理机运算器中一次能够完成二进制数运算的位数。当前处理机的字长有8位、16位、32位、64位。字长越长,表示计算的精度越高。 总线宽度一般指CPU中运算器与存储器之间进行互连的内部总线二进制位数。存储器容量存储器中所有存储单元的总数目,通常用KB、MB、GB、TB来表示。其中K=

2、210,M=220,G=230,T=240,B=8位(1个字节)。存储器容量越大,记忆的二进制数越多。存储器带宽存储器的速度指标,单位时间内从存储器读出的二进制数信息量,一般用字节数/秒表示。主频/时钟周期CPU的工作节拍受主时钟控制,主时钟不断产生固定频率的时钟,主时钟的频率(f)叫CPU的主频。度量单位是MHz(兆赫兹)、GHz(吉赫兹)。例如Pentium系列机为60MHz66MHz,而Pentium 4升至3.6GHz。 主频的倒数称为CPU时钟周期(T),即T=1/f,度量单位是微秒、纳秒。 CPU执行时间表示CPU执行一段程序所占用的CPU时间,可用下式计算: CPU执行时间 CP

3、U时钟周期数 × CPU时钟周期长 CPI表示每条指令周期数,即执行一条指令所需的平均时钟周期数。用下式计算: CPI   MIPS表示每秒百万条指令数,用下式计算: MIPS   程序执行时间Te为: Te MFLOPS表示每秒百万次浮点操作次数,用下式计算: MFLOPS   计算机硬件:控制器,运算器,存储器,输入设备,输出设备 运算器算术运算和逻辑运算在计算机中参与运算的数是二进制的运算器的长度一般是8、16、32或64位存储器存储数据和程序(指令)容量(存储单元、存储单元地址、容量单位)分类内存(ROM、RAM)、外存存储器单位:1KB 210

4、B 1MB 220B1GB 230B 1TB 240B第二章定点表示范围:纯小数:纯整数的范围:-(2n-1)<<X<<+(2n-1)1.IEE754标准:尾数用原码,指数用移码(便于对阶和比较)32位浮点数 31 30 23 22 0SEM64位 63 62 52 51 0阶符1阶码8数符 尾数232.规格化: 若不对浮点数的表示作出明确规定,同一个浮点数的表示就不是惟一的。尾数域最左位(最高有效位)总是1, 故这一位经常不予存储,而认为隐藏在小数点的左边。采用这种方式时,将浮点数的指数真值e变成阶码E时,应将指数e加上一个固定的偏移值127(01111111),即E

5、=e+127。3.64位的浮点数中符号位1位,阶码域11位,尾数域52位,指数偏移值是1023。因此规格化的64位浮点数x的真值为: x=(-1)S×(1.M)×2E-1023 e=E-1023一个规格化的32位浮点数x的真值表示为 x=(-1)S×(1.M)×2E-127 e=E-1274.真值x为零表示:当阶码E为全0且尾数M也为全0时的值,结合符号位S为0或1,有正零和负零之分。真值x为无穷大表示:当阶码E为全1且尾数M为全0时,结合符号位S为0或1,也有+和-之分。这样在32位浮点数表示中,要除去E用全0和全1(25510)表示零和无穷大的特殊情

6、况,指数的偏移值不选128(10000000),而选127(01111111)。对于规格化浮点数,E的范围变为1到254,真正的指数值e则为-126到+127。因此32位浮点数表示的绝对值的范围是10-381038(以10的幂表示)。浮点数所表示的范围远比定点数大例1若浮点数x的754标准存储格式为(41360000)16,求其浮点数的十进制数值。解:将16进制数展开后,可得二制数格式为 0 100 00010 011 0110 0000 0000 0000 0000 符号S 阶码E(8位) 尾数M(23位)指数e=E-127=10000010-01111111=00000011=(3)10包

7、括隐藏位1的尾数1.M=1.011 0110 0000 0000 0000 0000=1.011011于是有x=(-1)S×1.M×2e=+(1.011011)×23=+1011.011=(11.375)106. 机器码:原码反码补码移码(移码和补码尾数相同,符号位相反,-2n2n-1)7. 范围例2:设机器字长16位,定点表示,尾数15位(1)定点原码整数表示时,最大正数是多少?最小负数是多少?0 111 111 111 111 111 最大正整数x(2151)10(32767)101 111 111 111 111 111 最小负整数x(1215)10(215

8、1)110(32767)10(2)定点原码小数表示 ,最大正数是多少?最小负数是多少?0 111 111 111 111 111 最大正小数x(1215)101 111 111 111 111 111 最小负小数x(1 215)10例3:假设由S,E,M三个域组成的一个32位二进制字所表示的非零规格化浮点数,真值表示为(注意此例非IEEE754标准):(1)s×(1.M)×2E128问:它所表示的规格化的最大正数、最小正数、最大负数、最小负数是多少?(1)最大正数0 11 111 111 111 111 111 111 111 111 111 111(12-23)×

9、;2127(2)最小正数 0 00 000 000 000 000 000 000 000 000 000 001.0×2128(3)最小负数1 11 111 111 111 111 111 111 111 111 111 111(1223)×2127(4)最大负数1 00 000 000 000 000 000 000 000 000 000 001.0×2128 N=RE.M校验码:位置在海明码下标为2i 的位置上,或者在海明码最高位 校验位的值: 求解校验关系:数据位在海明码的下标等于参与校验的校验位在海明码中的下标和 最高位校验位的值等于(所有数据位的异或

10、)异或(除他自身之外所有校验位的异或)海明校验码:校验位位数,D为数据,d为数据位位数,H为海明码,R为校验位,r为校 验位位数.求r=? 1.发现并改正一种错误2r>=d+r+1 2.不仅发现并改正一种错误,还可以发现第二种错误2r-1>=d+rCRC::1.收发双方共识,CRC生成多项式:一串二进制数据(假设其位数是r+1位)2.发送方:假设数据位D(位数为d位),发送方先将d的末尾补个零,形成一个d+r位的数据M,然后用M模2除G,得到一个r位余数发送方:将r为余数加上M,得到(d+r)位数据M,M为CRC,接收方:M,M模2除G,如果M=M,M=M+R(余数)M/G=(M+

11、R)/G=M/G+R/G=商+R/G+R/G+R/G=商+(R+R)/G=商奇校验:设(01n1)是一个n位字,则奇校验位定义为:C01n1,式中代表按位加,表明只有当中包含有奇数个1时,才使C1,即C 0。同理可以定义偶校验。 只能检查出奇数位错;不能纠正错误。例题:补码加法:补码加法公式:x+y补=x补+y补 (mod 2n+1)溢出 :正溢:两个正数相加,结果大于机器字长所能表示的最大正数 负溢:两个负数相加,结果小于机器所能表示的最小负数判断溢出的方法: 双符号位法(变形补码) Sf1 Sf2 00正确(正数) 01 正溢 10 负溢 11正确(负数) Sf1 表示正确的符号,逻辑表达

12、式为V=Sf1 Sf2,例题1: x=+01100 , y=+01000 , 求 x+y 。解: x补 = 001100 , y补 = 001000x补0 0 1 1 0 0y补0 0 1 0 0 0x+y补0 1 0 1 0 0(表示正溢)例题2:x=-1100 , y=-1000 , 求 x+y 。解: x补 = 110100 , y补 = 111000x补1 1 0 1 0 0y补1 1 1 0 0 0x+y补1 0 1 1 0 0(表示负溢)单符号位法 :当最有效位Cf C00   0正确(正数)0 1正溢1 0负溢1   1正确(负数) V=Cf C0 ,其中Cf

13、为符号位产生的进位,C0为最高有效位产生定点乘法:例20 设x=+15,y=-13,用带求补器的原码阵列乘法器求出乘积x·y=?解:x原=01111 , y原=11101 , |x|=1111 , |y|=1101符号位运算:01=11 1 1 1×1 1 0 11 1 1 10 0 0 01 1 1 11 1 1 11 1 0 0 0 0 1 1乘积符号为1,算后求补器输出11000011,x×y原=111000011换算成二进制数真值是 x·y = (-11000011)2 = (-195)10例21 设x=-15,y=-13,用带求补器的补码阵列乘

14、法器求出乘积x·y=? 并用十进制数乘法进行验证。解:x补=10001 , y补=10011 , 乘积符号位运算:11=0尾数部分算前求补器输出 |x|=1111 , |y|=11011 1 1 1×1 1 0 11 1 1 10 0 0 01 1 1 11 1 1 11 1 0 0 0 0 1 1乘积符号为0,算后求补器输出11000011,x×y补=011000011补码二进制数真值 x·y=0×281×271×261×211×20 =(+195)10十进制数乘法验证 x·y = (-15)

15、×(-13) = +195逻辑移位:逻辑左移,移出舍弃为。逻辑右移,补位位补零。小循环移位:大循环移位;算数移位:原码:符号位不参与移位,数值位逻辑移位补码:左移逻辑左移,右移:移出位舍弃,补位位补符号位反码:移出位移走,补位位补符号位定点除法: 0.1 1 0 1商q0.1 0 1 1 0.1 0 0 1 0(r0)被除数 0.0 1 0 1 121除数右移1位,减除数 0.0 0 1 1 1 0r1得余数r1 0.0 0 1 0 1 122除数右移1位,减除数 0.0 0 0 0 1 1 0r2得余数r2 0.0 0 0 1 0 1 123除数右移1位,不减除数 0.0 0 0

16、0 1 1 0 0r3得余数r3 0.0 0 0 0 1 0 1 124除数右移1位,减除数 0.0 0 0 0 0 0 0 1r4得余数r4人工除法时,人可以比较被除数(余数)和除数的大小来确定商1(够减)或商0(不够减) 机器除法时,余数为正表示够减,余数为负表示不够减。不够减时必须恢复原来余数,才能继续向下运算。这种方法叫恢复余数法,控制比较复杂。 不恢复余数法(加减交替法)余数为正,商1,下次除数右移做减法;余数为负,商0,下次除数右移做加法。控制简单,有规律。例230.101001, 0.111, 求÷。解: x补=0.101001 , y补=0.111 , -y补=1.0

17、010.1 0 1 0 0 1;被除数-y补 1.0 0 1;第一步减除数y1.1 1 0 0 0 1<0 q4=0 ;余数为负,商0y补 0.0 1 1 1;除数右移1位加0.0 0 1 1 0 1>0 q3=1 ;余数为正,商1-y补 1.1 1 0 0 1;除数右移2位减1.1 1 1 1 1 1<0 q2=0 ;余数为负,商0y补 0.0 0 0 1 1 1;除数右移3位加0.0 0 0 1 1 0>0 q1=1 ;余数为正,商1商q=q4.q3q2q1=0.101 , 余数r=(0.00r6r5r4r3)=0.000110 浮点加法、减法运算:1、浮点加减运算

18、设有两个浮点数和,它们分别为2E·M2E·M其中E和E分别为数和的阶码,M和M为数和的尾数。两浮点数进行加法和减法的运算规则是±(M2EE±M)2E,设E<E2、浮点运算步骤如下:1. 0 操作数检查;2. 比较阶码并完成对阶(小阶向大阶对齐);3. 尾数求和运算;4. 结果规格化;5. 舍入处理。例28 设x2010×0.11011011,y=-2100×0.10101100, 求x+y 。1、0操作数检查(非0)2、对阶:阶码对齐后才能加减。规则是阶码小的向阶码大的数对齐;若E0,表示两数阶码相等,即EE;若E>0,表示E>E;若E<0,表示E>E。当EE 时,要通过尾数的移动以改变E或E,使之相等。x浮=00010, 0.11011011; y浮=00100, 1.01010100阶差=Ex补-Ey补=00010-00100=11110即阶差为-2,Mx右移两位,Ex加2。x浮=00100, 0.00110110(11)3、尾数相加0. 0 0 1 1 0 1 1 0 (11)1

温馨提示

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

评论

0/150

提交评论