您好,欢迎访问三七文档
1.2.4计算机的性能指标吞吐量表征一台计算机在某一时间间隔内能够处理的信息量,单位是字节/秒(B/S)。响应时间表征从输入有效到系统产生响应之间的时间度量,用时间单位来度量,例如微秒(10-6S)、纳秒(10-9S)。利用率表示在给定的时间间隔内,系统被实际使用的时间所占的比率,一般用百分比表示。处理机字长指处理机运算器中一次能够完成二进制数运算的位数。当前处理机的字长有8位、16位、32位、64位。字长越长,表示计算的精度越高。总线宽度一般指CPU中运算器与存储器之间进行互连的内部总线二进制位数。存储器容量存储器中所有存储单元的总数目,通常用KB、MB、GB、TB来表示。其中K=210,M=220,G=230,T=240,B=8位(1个字节)。存储器容量越大,记忆的二进制数越多。存储器带宽存储器的速度指标,单位时间内从存储器读出的二进制数信息量,一般用字节数/秒表示。主频/时钟周期CPU的工作节拍受主时钟控制,主时钟不断产生固定频率的时钟,主时钟的频率(f)叫CPU的主频。度量单位是MHz(兆赫兹)、GHz(吉赫兹)。例如Pentium系列机为60MHz~66MHz,而Pentium4升至3.6GHz。主频的倒数称为CPU时钟周期(T),即T=1/f,度量单位是微秒、纳秒。CPU执行时间表示CPU执行一段程序所占用的CPU时间,可用下式计算:CPU执行时间=CPU时钟周期数×CPU时钟周期长CPI表示每条指令周期数,即执行一条指令所需的平均时钟周期数。用下式计算:CPI=该程序包含的指令条数时钟周期数执行某段程序所需的CPUMIPS表示每秒百万条指令数,用下式计算:MIPS=10×6程序执行时间指令条数=610×CPI时钟频率程序执行时间Te为:Te=610×MIPS指令条数MFLOPS表示每秒百万次浮点操作次数,用下式计算:MFLOPS=610×程序中的浮点操作次数程序执行时间计算机硬件:控制器,运算器,存储器,输入设备,输出设备运算器算术运算和逻辑运算在计算机中参与运算的数是二进制的运算器的长度一般是8、16、32或64位存储器存储数据和程序(指令)容量(存储单元、存储单元地址、容量单位)分类内存(ROM、RAM)、外存存储器单位:1KB=210B1MB=220B1GB=230B1TB=240B第二章定点表示范围:纯小数:纯整数的范围:-(2n-1)X+(2n-1)1.IEE754标准:尾数用原码,指数用移码(便于对阶和比较)32位浮点数313023220SEM64位636252510阶符1阶码8数符尾数232.规格化:若不对浮点数的表示作出明确规定,同一个浮点数的表示就不是惟一的。尾数域最左位(最高有效位)总是1,故这一位经常不予存储,而认为隐藏在小数点的左边。采用这种方式时,将浮点数的指数真值e变成阶码E时,应将指数e加上一个固定的偏移值127(01111111),即E=e+127。3.64位的浮点数中符号位1位,阶码域11位,尾数域52位,指数偏移值是1023。因此规格化的64位浮点数x的真值为:x=(-1)S×(1.M)×2E-1023e=E-1023一个规格化的32位浮点数x的真值表示为x=(-1)S×(1.M)×2E-127e=E-1274.真值x为零表示:当阶码E为全0且尾数M也为全0时的值,结合符号位S为0或1,有正零和负零之分。真值x为无穷大表示:当阶码E为全1且尾数M为全0时,结合符号位S为0或1,也有+∞和-∞之分。这样在32位浮点数表示中,要除去E用全0和全1(25510)表示零和无穷大的特殊情况,指数的偏移值不选128(10000000),而选127(01111111)。对于规格化浮点数,E的范围变为1到254,真正的指数值e则为-126到+127。因此32位浮点数表示的绝对值的范围是10-38~1038(以10的幂表示)。浮点数所表示的范围远比定点数大例1若浮点数x的754标准存储格式为(41360000)16,求其浮点数的十进制数值。解:将16进制数展开后,可得二制数格式为01000001001101100000000000000000符号S阶码E(8位)尾数M(23位)指数e=E-127=10000010-01111111=00000011=(3)10包括隐藏位1的尾数1.M=1.01101100000000000000000=1.011011于是有x=(-1)S×1.M×2e=+(1.011011)×23=+1011.011=(11.375)106.机器码:原码反码补码移码(移码和补码尾数相同,符号位相反,-2n~2n-1)7.范围例2:设机器字长16位,定点表示,尾数15位(1)定点原码整数表示时,最大正数是多少?最小负数是多少?0111111111111111最大正整数x=(215-1)10=(+32767)101111111111111111最小负整数x=(1-215)10=-(215-1)110=(-32767)10(2)定点原码小数表示,最大正数是多少?最小负数是多少?0111111111111111最大正小数x=(1-215)101111111111111111最小负小数x=-(1-215)10例3:假设由S,E,M三个域组成的一个32位二进制字所表示的非零规格化浮点数x,真值表示为(注意此例非IEEE754标准):x=(-1)s×(1.M)×2E-128问:它所表示的规格化的最大正数、最小正数、最大负数、最小负数是多少?(1)最大正数01111111111111111111111111111111x=[1+(1-2-23)]×2127(2)最小正数00000000000000000000000000000000x=1.0×2-128(3)最小负数11111111111111111111111111111111x=-[1+(1-2-23)]×2127(4)最大负数10000000000000000000000000000000x=-1.0×2-128N=RE.M*校验码:位置在海明码下标为2i的位置上,或者在海明码最高位校验位的值:求解校验关系:数据位在海明码的下标等于参与校验的校验位在海明码中的下标和最高位校验位的值等于(所有数据位的异或)异或(除他自身之外所有校验位的异或)*海明校验码:校验位位数,D为数据,d为数据位位数,H为海明码,R为校验位,r为校验位位数.求r=?1.发现并改正一种错误2r=d+r+12.不仅发现并改正一种错误,还可以发现第二种错误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+R)/G=M/G+R/G=商+R/G+R/G+R/G=商+(R+R)/G=商*奇校验:设x=(x0x1…xn-1)是一个n位字,则奇校验位C定义为:C=x0⊕x1⊕…⊕xn-1,式中⊕代表按位加,表明只有当x中包含有奇数个1时,才使C=1,即C=0。同理可以定义偶校验。只能检查出奇数位错;不能纠正错误。例题:补码加法:补码加法公式:[x+y]补=[x]补+[y]补(mod2n+1)溢出:正溢:两个正数相加,结果大于机器字长所能表示的最大正数负溢:两个负数相加,结果小于机器所能表示的最小负数判断溢出的方法:双符号位法(变形补码)Sf1Sf200正确(正数)01正溢10负溢11正确(负数)Sf1表示正确的符号,逻辑表达式为V=Sf1⊕Sf2,例题1:x=+01100,y=+01000,求x+y。解:[x]补=001100,[y]补=001000[x]补001100+[y]补001000————————————————[x+y]补010100(表示正溢)例题2:x=-1100,y=-1000,求x+y。解:[x]补=110100,[y]补=111000[x]补110100+[y]补111000————————————————[x+y]补101100(表示负溢)单符号位法:当最有效位CfC000正确(正数)01正溢10负溢11正确(负数)V=Cf⊕C0,其中Cf为符号位产生的进位,C0为最高有效位产生定点乘法:例20]设x=+15,y=-13,用带求补器的原码阵列乘法器求出乘积x·y=?解:[x]原=01111,[y]原=11101,|x|=1111,|y|=1101符号位运算:0⊕1=11111×1101————————————111100001111+1111————————————11000011乘积符号为1,算后求补器输出11000011,[x×y]原=111000011换算成二进制数真值是x·y=(-11000011)2=(-195)10例21]设x=-15,y=-13,用带求补器的补码阵列乘法器求出乘积x·y=?并用十进制数乘法进行验证。解:[x]补=10001,[y]补=10011,乘积符号位运算:1⊕1=0尾数部分算前求补器输出|x|=1111,|y|=11011111×1101————————————111100001111+1111————————————11000011乘积符号为0,算后求补器输出11000011,[x×y]补=011000011补码二进制数真值x·y=0×28+1×27+1×26+1×21+1×20=(+195)10十进制数乘法验证x·y=(-15)×(-13)=+195逻辑移位:逻辑左移,移出舍弃为。逻辑右移,补位位补零。小循环移位:大循环移位;算数移位:原码:符号位不参与移位,数值位逻辑移位补码:左移逻辑左移,右移:移出位舍弃,补位位补符号位反码:移出位移走,补位位补符号位定点除法:0.1101商q0.10110.10010x(r0)被除数-0.010112-1y除数右移1位,减除数0.001110r1得余数r1-0.0010112-2y除数右移1位,减除数0.0000110r2得余数r2-0.00010112-3y除数右移1位,不减除数0.00001100r3得余数r3-0.000010112-4y除数右移1位,减除数-0.00000001r4得余数r4人工除法时,人可以比较被除数(余数)和除数的大小来确定商1(够减)或商0(不够减)机器除法时,余数为正表示够减,余数为负表示不够减。不够减时必须恢复原来余数,才能继续向下运算。这种方法叫恢复余数法,控制比较复杂。不恢复余数法(加减交替法)余数为正,商1,下次除数右移做减法;余数为负,商0,下次除数右移做加法。控制简单,有规律。例23]x=0.101001,y=0.111,求x÷y。[解:][x]补=0.101001,[y]补=0.111,[-y]补=1.0010.101001;被除数+[-y]补1.001;第一步减除数y————————————————————————1.1100010q4=0;余数为负,商0+[y]补→0.0111;除数右移1位加————————————————————————0.0011010q3=1;余数为正,商1+[-y]补→1.11001;除数右移2位减————————————————————————1.1111110q2=0;余数为负,商0+[y]补→0.000111;除数右移3位加————————————————————————0.0001100q1=1;余数为正,商1商q=q4.q3q2q1=0.101,余数r=(0.00r6r5r4r3)=0.000110浮点加法、减法运算:1、浮点加减运算设有两个浮点数x和y,它们分别为x=2Ex·Mxy=2Ey·My其中Ex和Ey分别为数x和y的阶码,Mx和My为数x和y的尾数。两浮点数进行加法和减法的运算规则是x±y=(Mx2Ex-Ey±My
本文标题:计算机组成原理整理
链接地址:https://www.777doc.com/doc-2044244 .html