计算机组成原理puterorganizationprinciple学习资料_第1页
计算机组成原理puterorganizationprinciple学习资料_第2页
计算机组成原理puterorganizationprinciple学习资料_第3页
计算机组成原理puterorganizationprinciple学习资料_第4页
计算机组成原理puterorganizationprinciple学习资料_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

计算机组成原理

computerorganizationprinciple顾浩赵宝华3.原码表示法原码表示法是一种最简单的机器数表示法,其最高位为符号位,符号位为0时表示该数为正,符号位为1时表示该数为负,数值部分与真值相同。若真值为纯小数,其原码形式为XS.X1X2…Xn,其中XS表示符号位。原码的定义为:[X]原=例3.11:X=0.0110[X]原=X=0.0110X=-0.0110,[X]原=1-X=1-(-0.0110)=1+0.0110=1.0110

X0≤X<11-X=1+∣X∣-1<X≤03.原码表示法若真值为纯整数,其原码形式为XSX1X2…Xn,其中XS表示符号位。原码的定义为:[X]原=例3.12:X=1101[X]原=X=01101X=-1101,[X]原=2n-X=24-(-1101)=10000+1101=11101原码表示中,真值0有两种不同的表示形式:[+0]原=00000,[-0]原=10000原码的优点是直观易懂,机器数和真值间的转换很容易,用原码实现乘、除运算的规则简单。缺点是加、减运算规则较复杂。

X,0≤X<2n2n-X=2n+∣X∣,-2n<X≤05.补码(1)模和同余模(Module)是指一个计量器的容量,可用M表示。如,一个4位的二进制计数器,当计数器从0计到15之后,再加1,计数值又变0。这个计数器的容量M=24=16,即模为16。可见,纯小数的模为2,一个字长为n+1位的纯整数的模为2n+1。同余概念是指两整数A和B除以同一正整数M,所得余数相同,则称A和B对M同余,即A和B在以M为模时是相等的,可写成:A=B(modM)对钟表来说,其模M=12,故4点和16点、5点和17点…均是同余的,可写作4=16(mod12),5=17(mod12)补码表示法利用模和同余的概念,可使减法运算转化成加法,从而简化计算机的运算器电路。

(2)补码表示补码的符号位表示方法与原码相同(即正0,负1),其数值部分的表示与数的正负有关:正数:数值部分与真值形式相同;负数:将真值的数值部分按位取反,且在最低位加1。若真值为纯小数,其原码形式为XS.X1X2…Xn,其中XS表示符号位。补码的定义为:[X]补=例3.16:X=0.0110[X]补=X=0.0110X=-0.0110[X]补=2+X=2+(-0.0110)=10-0.0110=1.1010

X,0≤X<12+X=2-∣X∣,-1<X≤0(2)补码表示若真值为纯整数,其原码形式为XS.X1X2…Xn,其中XS表示符号位。补码的定义为:[X]补=例3.17:X=1101[X]补=X=01101X=-1101[X]补=2n+1+X=25+(-1101)=100000-1101=10011在补码表示中,真值0的表示形式是唯一的:[+0]补=[-0]补=00000——很有用处X,0≤X<2n2n+1+X=2n+1-∣X∣,-2n<X≤0(3)补码运算采用补码运算要注意以下三个问题:●符号位要与数值位部分一样参加运算。●符号运算后如有进位产生,则把这个进位舍去不要。●补码运算具有性质:[X]补+[Y]补=[X+Y]补例3.18:已知X=0.1101,Y=-0.0001,求[X+Y]补解:[X]补=0.1101

+[Y]补=1.1111[X+Y]补=10.1100↓舍去不要7.移码移码也叫增码或偏码,常用于表示浮点数中的阶码。移码就是在真值X基础上加一常数,此常数被称为偏置值,相当于X在数轴上向正向偏移了若干单位,这就是“移码”一词的由来。即:对字长为n的计算机,若最高位为符号位,数值为n-1位,当偏移量取2n-1时,其真值X对应的移码的表示公式为:[X]移=2n-1+X(-2n-1≤X<2n-1)02n2n+1-1[X]移X-2n02n-1[X]移=偏置值+X图3-2移码和真值的映射图移码与整数补码的定义比较

移码定义:[X]移=2n-1+X(-2n-1≤X<2n-1)整数补码的定义:[X]补=比较后得出两者关系:当0≤X<2n-1时,[X]移=2n-1+X=2n-1+[X]补当-2n-1≤X<0时,[X]移=2n-1+X=(2n+X)-2n-1=[X]补-2n-1

可见,[X]移可由[X]补求得,方法是把[X]补的符号位求反,就得到[X]移例3.19:已知X=+1010,Y=-1010,求[X]移和[Y]移。解:[X]补=01010,所以[X]移=11010[Y]补=10110,所以[Y]移=00110移码的特点:(1)移码的最高位为0表示负数,最高位为1表示正数,这与原码、补码及反码的符号位取值正好相反。(2)移码为全0时,它对应的真值最小;为全1时,它对应的真值最大。(3)真值0的移码表示是唯一的,即[+0]移=[-0]移=10000(4)同一数值的移码和补码,除最高位相反外,其它各位相同。

X,0≤X<2n2n+1+X=2n+1-∣X∣,-2n<X≤03.2.2机器数的定点与浮点表示法

1.定点数表示法定点数表示法通常把小数点固定在数值部分的最高位之前,或把小数点固定在数值部分的最后。前者用来表示纯小数,后者用于表示整数。如图3-3所示。在计算机中,图示的小数点“.”实际上是不表示出来的,是事先约定好固定在那里的。对一台计算机来说,一旦确定了一种小数点的位置,整个系统就不再改变。只能处理定点数的计算机称为定点计算机。在这种计算机中机器指令访问的所有操作数都是定点数。

符号数值部分符号数值部分纯小数表示法小数点整数表示法小数点图3-3定点数表示法定点数要选择合适的比例因子,

确保初始数据、中间结果和最后结果都在定点数的表示范围之内,否则就会产生“溢出”。2.浮点数表示法小数点的位置可按需浮动,这就是浮点数。例如:N=rE·M式中,r为浮点数阶码的底,与尾数的基数相同,通常r=2。E和M都是带符号的定点数,E叫数N的阶码(Exponent),M为数N的有效数字,称为尾数(Mantissa)。在大多数计算机中,尾数为纯小数,常用原码或补码表示;阶码为纯整数,常用移码或补码表示。计算机中,通常用约定的4部分来表示一个浮点数:其中,Ef、S分别称为阶码E和尾数M的符号位。按照IEEE754标准,常用的浮点格式如图3-4所示。

EfESMmsEm尾符阶码部分用移码表示尾数数值位尾数部分,用原码表示图3-4IEEE754标准的浮点格式2.浮点数表示法IEEE754标准中有三种形式的浮点数,格式见表3-1。短浮点数即单精度浮点数,长浮点数即双精度浮点数,都采用隐含尾数最高数位的方法,故增加了一位尾数。临时浮点数又称扩展精度浮点数,无隐含位。短浮点数:最高位为数符位;其后是8位阶码,以2为底,用移码表示,阶码的偏移值为127(叫移127码);其余23位是尾数的数值位。对规格化的二进制浮点数,约定最高位总是“1”,为使尾数能多表示一位有效值,可将这个“1”隐含,故尾数数值实际上是24位,即1位隐含位加23位小数位。类型数符阶码尾数位总位数偏置值短浮点数1823327FH(127)长浮点数11152643FFH临时浮点数11564803FFFH短浮点数的移码的偏置值是127(3FH);长浮点数的偏置值是1023(3FFH)。根据移码的定义,存储浮点数阶码部分之前,偏置值要先加到阶码真值上。注意:隐含的“1”是一位整数(即位权为20),在浮点格式中表示出来的23位尾数是纯小数,用原码表示.如(12)10=(1100)2,将它规格化为1.1×23,其中整数部分的1将不存储在23位尾数内.表3-1IEEE754标准中的三种浮点数浮点数举例例3.20:将(100.25)10转换成短浮点数格式。解:(1)把十进制数转换成二进制数(100.25)10=(1100100.01)2(2)规格化二进制数1100100.01=1.10010001×26(3)计算出阶码的移码(偏置值+阶码真值)1111111(127H)+110=10000101注意:短浮点数的阶码偏置值是1111111(127H)。(4)以短浮点数格式存储该数该数的符号位=0,阶码=10000101尾数=1001000100000000000000023位所以(100.25)10的短浮点数代码为0;10000101;10010001000000000000000十六进制值是42C88000H。110浮点数举例例3.21:将短浮点数C1C90000H转换成十进制数。解:(1)把十六进制数转换成二进制形式,并分离出符号位、阶码和尾数因为,C1C90000H=11000001110010010000000000000000B所以,符号位=1阶码=10000011(用黑体字表示)8位尾数=1001001000000000000000023位(2)计算出阶码的真值(即移码-偏置值)10000011-1111111=100(3)以规格化二进制数形式写出此数1.1001001×24(4)写成非规格化二进制数形式11000.001(5)转换成十进制数,并加上符号位(11000.001)2=(25.125)10总结:IEEE754短浮点数规格化的数值v表示为v=(-1)S×(1.f)×2E-127,式中,S代表符号位,S=0表示正数,S=1表示负数;E是用移码表示的阶码;f是尾数的小数部分。浮点数举例例1:求十进制数-5的单精度浮点数IEEE754代码。11000000101000000000000000000000解:-5=-101B=-1.01×22,阶码E=127+2=129=10000001BIEEE754代码是11000000101000000000000000000000例1:求十进制数0.15625的单精度浮点数IEEE754代码。解:-0.15625=-1.01×2-3,阶码E=127-3=124=01111100BIEEE754代码是10111110001000000000000000000000

↑一、判断题1.在数字计算机中所以采用二进制是因为二进制的运算最简单。2.在所有的进位计数制中,整数部分最低位的权都是1。3.某R进位计数制,其左边一位的权是其相邻的右边一位的权的R倍。4.计算机表示的数发生溢出的根本原因是计算机的字长有限。5.表示定点数时,若要求数值0在计算机中唯一地表示为全0,应采用补码。6.浮点数的取值范围由阶码的位数决定,而精度由尾数的位数决定。7.CRC校验码的生成和检验大多采用软件实现。8.若浮点数的尾数用补码表示,那么规格化的浮点数是指尾数数值位的最高位是0(正数)或是1(负数)。9.在实际应用中,奇偶校验多采用奇校验,这是因为奇校验中不存在全“0”代码,在某些场合下更便于判别。10.显示图形时要经过复杂的数学计算,因此占用的时间要比位图图像的时间长。二、选择题1.下列各种数制的数中最小的数是

。A.(101001)2B.(101001)BCDC.(52)8D.(233)H习题3习题32.下列各种数制的数中最大的数是

。A.(1001011)2B.75C.(112)8D.(4F)H3.1010AH是

。A.表示一个二进制数B.表示一个十六进制数C.表示一个十进制数D.表示一个错误的数4.二进制数215转换成二进制数是(1),转换成八进制数是(2),转换成十六进制数是(3)。将二进制数01100100转换成十进制数是(4),转换成八进制数是(5),转换成十六进制数是(6)。(1)A.11101011BB.11101010BC.10100001BD.11010111B(2)A.327B.268.75C.252D.326(3)A.137HB.C6HC.D7HD.EAH(4)A.101B.100C.110D.99(5)A.123B.144C.80D.800(6)A.64B.63C.100D.0AD习题35.ASCII码是对(1)进行编码的一种方案,它是(2)的缩写。(1)A.字符B.汉字C.图形符号D.声音(2)A.余3码B.十进制数的二进制编码C.格雷码D.美国标准信息交换代码6.在一个8位二进制数的机器中,补码表示数的范围从(1)(小)到(2)(大),这两个数在机器中的补码表示分别为(3)和(4),而数0的补码表示为(5)。(1)、(2):A.-256B.-255C.-128D.-127E.0F.+127G.+128H.+255I.+256(3)、(4)、(5):A.00000000B.10000000C.01111111D.11111111E.00000000或10000000F.01111111或11111111G.00000000或11111111H.10000000或011111117.将十进制数15/2表示成二进制浮点规格化数(阶符1位,阶码2位,数符1位,尾数4位)是

。A.01101111B.01101110C.01111111D.11111111习题38.十进制数5的单精度浮点数IEEE754代码为A。A.01000000101000000000000000000000B.11000000101000000000000000000000C.01100000101000000000000000000000D.110000001010000000000000000000009.能发现两位错误并能纠正一位错的编码是

。A.CRC码B.海明码C.偶校验码D.奇校验码10.在大量数据传送中常用的且有效的检验法是

。A.CRC码B.海明码C.偶校验码D.奇校验码三、填空题1.计数制中使用的数据个数被称为

。2.在用

表示的机器数中,零的编码是唯一的。3.信息的数字化编码是指

。4.一个定点数由

两部分组成。根据小数点位置不同,定点数据有

两种表示方法。习题35.BCD码中,每一位十进制数字由

位二进制数码组成,用ASCI码表示一个字符通常需要

位二进制数码。6.移码常用来表示浮点数的

部分,移码和补码比较,它们除

外,其他各位都

。7.码距的定义是

。8.8421码用二进制求和时,当和超过

时,需要做

修正。9.有二进制数D4D3D2D1,奇偶校验值用p表示,则奇校验为

,偶校验为

,奇偶校验只能检测

,无法检测

。10.在浮点加减法运算中,当运算结果的尾数的绝对值大于1时,需要对结果进行

,其操作是

。四、计算题1.用二进制数表示一个四位十进制的整数最少需要几位(不含符号位)。2.某机器字长32位,定点表示,其中31位表示尾数,1位是符号位,问:⑴定点原码整数表示时,最大正数是多少?最小负数是多少?⑵定点原码小数表示时,最大正数是多少?最小负数是多少?习题33.写出下列二进制数的原码、反码、补码和移码。(1)±1011(2)±0.1101(3)±04.某机器字长16位,浮点表示时,其中含1位阶符、5位阶码、1位尾符、9位尾数,请写出它能表示的最大浮点数和最小浮点数。5.字符“F”的ASCII码为46H,请写出它的奇校验码和偶校验码(假定校验位加在最高位)。6.已知被校验的数据为101101,求其海明校验码。提示:先决定校验位的位数r=4,然后根据编码规则决定海明校验位的位置和数据位的位置,最后用偶校验法求出校验位的值。答案应为1011100100。7.已知被检信息为1010,选择的生成多项式G(X)为X3+X+1,求CRC校验码,并求循环余数,说明其校验原理。8.将二进制数1011010转换成8421码。习题3五、简答题1.试比较定点带符号数在计算机内的四种表示方法。2.试述浮点数规格化的目的和方法。3.在检错码中,奇偶校验法能否定位发生错误的信息位?是否具有纠错功能?4.简述循环冗余码(CRC)的纠错原理。关于模1.计算机本身是一个模数系统因为机器字长有限,当计算结果的位数超过机器字长时,向更高位的进位就会丢失,这就是机器的模。2.对n+1位的定点小数,XS.X1X2…Xn,符号位XS的位权是20,符号位向更高位的进位要丢失,所以定点小数的模是20=13.对n+1位的定点整数,XSX1X2…Xn,符号位XS的位权是2n,符号位向更高位的进位要丢失,故定点整数的模是2n+1。4.原码与补码的区别对正数,两者完全相同;对负数,两者表示形式完全不同,且补码要比原码多表示一个最负的数。原因是对于真值0,原码有两种表示方式,补码只有一种。关于原码与补码举例:字长为8位的二进制代码10000000,若其为原码,表示-0,若其为补码,则不再表示-0,而表示绝对值最大的负数。此时,最高位的1有两个含义,既代表负数,又代表这一位的位权。若这是一个定点整数,其值为-27=-128;若这是一个定点小数,其值为-20=-1。结论:负数补码的表示范围比负数原码的表示范围略宽真值补码真值补码+000(+0)0000-001(-1)1111+001(+1)0001-010(-2)1110+010(+2)0010-011(-3)1101+011(+3)0011-100(-4)1100+000(+4)0100-101(-5)1011+101(+5)0101-110(-6)1010+110(+6)0110-111(-1)1001+111(+7)0111-1000(-8)1000n=3时整数的补码定点小数的表示范围011……11最大正数202-12-2……2-(n-1)2-n

00001202-12-2……2-(n-1)2-n

最小正数结论:1.最大正数的数值位部分全部为1,即最大正数=2-1+2-2…+2-n=1-

2-n100……0020=1最小正数的数值位最低位为1,即2-n-000……012-n011……111-2-n原码和补码表示的绝对值最大负数

(定点小数)11111……202-12-2……2-(n-1)2-n原码表示的绝对值最大的负数100……00202-12-2……2-(n-1)2-n补码表示的绝对值最大的负数结论:1.原码表示时,正数和负数的范围是对称的,故绝对值最大的负数等于正数值加上”-”号,其真值为-(1-2-n)。2.补码表示的绝对值最大的负数等于-1。

定点整数表示的最大正数

与最小正数01111……2n2n-12n-2

温馨提示

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

评论

0/150

提交评论