




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、3.9 本章真题解析在本章的内容中,需要考生重点掌握的有存储器的组成、Cache的映像等。本节按照研究生入学考试的试题样式,参考历年的真题和全国40所高校的研究生入学试题,组织了相关的真题及解析,供读者参考。3.9.1 单项选择题例题1某计算机的Cache共有16块,采用2路组相联映射方式(即每组2块)。每个主存块大小为32字节,按字节编址。主存129号单元所在主存块应装入到的Cache组号是(1)。2009年试题14(1)A0 B2 C4 D6例题1分析组相联映射方式是将某一主存块j按模Q(Q是Cache的组数)映射到Cache的第i组中的任一块,即i = j mod Q。根据题目条件可知,
2、Q=16/2=8组。因为每个主存块大小为32字节,按字节编址,所以主存129号单元所在的主存块号为4(注意:从0开始计数),所以i=4 mod 8=4。例题1答案(1)C例题2某计算机主存容量为64KB,其中ROM区为4KB,其余为RAM区,按字节编址。现要用2K8位的ROM芯片和4K4位的RAM芯片来设计该存储器,则需要上述规格的ROM芯片数和RAM芯片数分别是(2)。2009年试题15(2)A1、15 B2、l5 C1、30 D2、30例题2分析因为1B=8位,ROM区的总大小为4KB,即为4K8位,那么需要的ROM芯片数为:(4K8位)/(2K8位)=2片。RAM区的总大小为64KB-4
3、KB=60KB,即60K8位,那么需要的RAM芯片数为:(60K8位)/(4K4位)=30片。例题2答案(2)D例题3假设某计算机的存储系统由Cache和主存组成。某程序执行过程中访存1000次,其中访问Cache缺失(未命中)50次,则Cache的命中率是(3)。2009年试题21(3)A5% B9.5% C50% D95%例题3分析程序执行过程中访存1000次,其中访问Cache缺失(未命中)50次,也就是说Cache完成存取的总次数为1000-50=950。那么Cache的命中率=(1000-50)/1000=95%。例题3答案(3)D例题4假定用若干个2K4位芯片组成一个8K8位存储器
4、,则地址0B1FH所在芯片的最小地址是(4)。2010年试题15(4)A0000HB0600HC0700HD0800H例题4分析芯片的大小为2K4位,而存储器的大小为8K8位,不难得出要获得这样一个大小的存储器,需要8片2K4位的芯片。如果按字节编址,对应一个大小为8K8位的存储器,需要13位地址,其中高3位为片选地址,低10位为片内地址,而题目给出的地址0B1FH转换为二进制为0 1011 0001 1111,其高3位为010,即片选地址为2。因此,地址0B1FH对应第2片芯片,该芯片的起始地址(最小地址)为0 1000 0000 0000,即0800H。例题4答案(4)D例题5下列有关RA
5、M和ROM的叙述中,正确的是(5)。2010年试题16I RAM是易失性存储器,ROM是非易失性存储器II RAM和ROM都采用随机存取方式进行信息访问III RAM和ROM都可用做CacheIV RAM和ROM都需要进行刷新(5)A仅I和II B仅II和III C仅I,II,III D仅II,III,IV例题5分析对于计算机系统中的存储器,常用的数据存取方式有顺序存取、直接存取、随机存取和相联存取四种。其中RAM和ROM都是采用随机存取方式。RAM具有读/写方便,使用灵活等优点,但断电后无法保存信息,因此只能用于暂存数据,可用于主存和高速缓冲存储器。ROM的信息是固化在存储器中,断电后仍然能
6、保存信息,信息不容易丢失。但ROM中的信息只可读出,无法改写,当然不需要刷新。一般用于存放系统程序BIOS和用于微程序控制,不适合用于读写频繁的Cache。例题5答案(5)A例题6下列命令组合情况中,一次访存过程中,不可能发生的是(6)。2010年试题17(6)ATLB未命中,Cache未命中,Page未命中 BTLB未命中,Cache命中,Page命中 CTLB命中,Cache未命中,Page命中 DTLB命中,Cache命中,Page未命中例题6分析TLB是缓存曾经访问过的虚拟地址所指向的物理地址,以使将来快速得到相同物理地址的高速存储器,可以与Cache的作用相类比。在一次访问存储器的过
7、程中,如果能够Cache命中,很显然,说明就访问到了需要的页(Page),即Page命中。同样的道理,如果能够TLB命中,也说明访问到了需要的页,如果这两者都命中,那么页肯定命中。因此本题中选项D的情况是不可能发生的。例题6答案(6)D例题114位机器内的数值代码,它所表示的十进制真值为(11)。(11)A9 B-10C-7 D16例题11分析在计算机内部,符号和数字都用二进制码表示,两者合在一起构成数的机内表示形式,称为机器数,而它真正表示的带有符号的数称为这个机器数的真值。4位机器内的代码值除去最高位符号位外,它所能表示的数值范围为07,因此表示的十进制真值可以为-7,而不能表示9或-10
8、。例题11答案(11)C例题12下列BCD码中,不是合法8421码的是(12)。(12)A0111 1001 B1101 0110C0000 0100 D1000 0101例题12分析如表2-11所示列出了几种常见的BCD码。表2-11 常见的BCD码十进制数8421码2421码余3码0 1 2 3 4 5 6 7 8 90000 0001 0010 0011 0100 0101 0110 0111 1000 10010000 0001 0010 0011 0100 1011 1100 1101 1110 11110011 0100 0101 0110 0111 1000 1001 1010
9、1011 1100从表2-11中可以看出,不是合法8421码的是1101 0110。例题12答案(12)B例题13用32位字长(其中1位符号位)表示定点小数时,所能表示的数值范围是(13)。例题13分析定点小数即纯小数,小数点的位置固定在最高有效数位之前,符号位之后,如图2-3所示。定点小数的小数点位置是隐含约定的,小数点并不需要真正地占据一个二进制位。当表示X为负数,此时情况要稍微复杂一些,这是因为在计算机中带符号数可用补码表示,也可用原码表示,原码和补码的表示范围有一些差别。若机器数为原码,当均等于1时,X为绝对值最大的负数,也称为最负的数或最小负数,其真值等于:综上所述,设机器字长有n+
10、1位,原码定点小数的表示范围为补码定点小数的表示范围为在本题中,要求32位字长所表示定点小数的数值范围,它只要我们给出其数值的表示范围,并不是整个表示范围,从上面的分析中可以看出,32位字长的数值表示范围是。例题13答案(13)B例题14设机器码的长度为8,X为带符号纯小数,Y为带符号纯整数,则X的十进制真值为(14),Y的十进制真值为(15)。(14)A1/128 B-1/128 C-127/128 D127/128(15)A-1 B127 C-127 D1例题14分析对于带符号数,机器数的最高位是表示正、负的符号位,其余位则表示数值。若约定小数点的位置在机器数的最低数值位之后,则是纯整数;
11、若约定小数点的位置在机器数的最高数值位之前(符号位之后),则是纯小数。数值X的原码记为如果机器字长为n(即采用n个二进制位表示数据),则最高位是符号位,0表示正数,1表示负数,其余的n-1位表示数值的绝对值。因此,当即X=-127/128。数值Y的补码记为如果机器字长为n,则最高位为符号位,0表示正数,1表示负数,正数的补码与其原码和反码相同,负数的补码等于其反码的末尾加1。因此,当例题14答案(14)C (15)A例题15已知x=-73,若采用8位机器码表示,则(16),(17)。(16)A11001001 B01001001 C11011001 D01011001(17)A10110111
12、 B01001001 C10110011 D01011001例题15分析在计算机系统内部,对于二进制数而言,存在三种不同的表示方法:原码、反码和补码。它们各有优缺点,可以适用于不同的方面。如表2-12所示总结了这三种码字的表示法(其中假设字长为8位)。根据表2-13所示的规则,用原码来表示-73,最高位的符号位应该是1,73的二进制表示是1001001,因此X原11001001。而对于负数而言,补码是该数的反码加1。而X反应为10110110,而补码就应该是10110111。表2-12 原/反/补码表示法类 型正数(以94为例)负数(以-94为例)原码说明高位为符号位,0表示正数,1表示负数实
13、例0101111011011110反码说明正数与原码相同符号位为1,其他按位取反实例0101111010100001补码说明正数与原码相同是该数反码加1(即补)实例0101111010100010例题15答案(16)A (17)A例题16某数值编码为FFH,若它所表示的真值为127,则它是用(18)表示的;若它所表示的真值为1,则它是用(19)表示的。(18)A原码 B反码 C补码 D移码(19)A原码 B反码 C补码 D移码例题16分析原码表示又称符号数值表示法。正数的符号位用0表示,负数的符号位用1表示,数值部分保持不变。反码的符号位表示法与原码相同,即符号0表示正数,符号1表示负数。与原
14、码不同的是,反码数值部分的形成和它的符号位有关。正数反码的数值和原码的数值相同,而负数反码的数值是原码的数值按位求反。补码的符号表示和原码相同,0表示正数,1表示负数。正数的补码和原码、反码相同,就是二进制数值本身。负数的补码是这样得到的:将数值部分按位取反,再在最低位加1。补码的补码就是原码。移码又称为增码,它的符号表示和补码相反,1表示正数,0表示负数。移码为该数的补码,但符号位相反,常用来表示浮点数的阶码。例题16答案(18)A (19)C例题17IEEE754标准规定:单精度浮点数的最高位为符号位,后面跟8位经偏移的阶码移码,偏移量为+127。尾数用原码表示,且把尾数规格化为1.xxx
15、x(x为0或1),并将1去掉,尾数用23位表示。根据该标准,十进制数+178.125的规格化表示形式为(20)。(20)ABCD例题17分析本题中,要表示的数是+178.125,转化为二进制数就是10110010.001。由于要求把尾数规格化为1.xxxx(x为0或1),并将1去掉,尾数用23位表示,因此就需要将小数点移到第1个1的后面,即得到1.0110010001的形式,共向左移动了7位。移动完成后,去掉1,再表示成23位,显然尾数部分就是。接下来,再构造阶码部分,由于左移了7位,因此阶码应为+7,表示成为移码则是127+7,得到10000110。+178.125是正数,因此符号位为0。这
16、样,最终的结果是。例题17答案(20)A例题18设机器码的长度为8位,已知x,z为带符号纯整数,y为带符号纯小数,X原= Y补= Z移=11111111,求出x、y、z的十进制真值:X=(21),Y=(22),Z=(23)。(21)A-1 B127 C-127 D1(22)A1/128 B-1/128 C-127/128 D127/128(23)A-1 B127 C-127 D1例题18分析移码是在真值X的基础上,加上一个常数(也称为偏置值),这也是移码一词的由来。如果没有特殊说明,其加的偏置值是其中n为机器码的长度。例如,对于字长8位的定点整数,如果偏置值为那么:通过比较可以发现,在移码中,
17、最高位0表示负数,1表示正数,而且它和补码之间的区别,正好是符号位相反,其他位相同。另外,移码全为0时,值最小;全为1时,值最大。而且在移码中,0的表示方法也只有一种,即100000000。因此,如果纯整数的原码是11111111,其符号位为1,说明是负数;其绝对值是1111111,即127,所以它表示的数就是-127。如果纯小数的补码是11111111,其符号位为1,说明是负数;其对应的原码就应该是10000001,它表示的数是-2-7,即-1/128。如果纯整数的移码是11111111,其对应的补码就是01111111,因此表示的数应为127。例题18答案(21)C (22)B (23)B
18、例题19计算机中十六位浮点数的表示格式为:某机器码为。若阶码为移码且尾数为反码,则其十进制真值为(24);若阶码为移码且尾数为原码,则其十进制真值为(25);若阶码为补码且尾数为反码,则其十进制真值为(26);若阶码为补码且尾数为原码,则其十进制真值为(27),将其规格化后的机器码为(28)。(24)A0.078125 B20 C1.25 D20.969375(25)A0.078125 B20 C1.25 D20.969375(26)A0.078125 B20 C1.25 D20.969375(27)A0.078125 B20 C1.25 D20.969375(28)AC例题19分析根据题目中
19、所示的格式可以得知:阶码为1110,尾数为001010000000。另外,对于4位的二进制码,移码所加的偏移位应该是有了这些基础知识,就可以逐一来地解答本题。 若阶码为移码且尾数为反码。阶码为1110,其对应的补码就是0110,因此真值为+6;而尾数为反码,由于其为正数,因此尾数不变,即为001010000000。由于阶码为+6,因此小数点将向右移动6位,得到10100(注意,最高位为尾符),因此值为20。 若阶码为移码且尾数为原码。这种情况下,由于尾数的值为正数,原码和反码相同,所以它表示的数也相同,因此其值也是20。 若阶码为补码且尾数为反码。若阶码为补码,由于最高位为1,即表示其为负数,
20、而它对应的原码就是1010,表示的数就是-2。因此,要将尾数再向右移动两个小数点,得到0.000101,转换为十进制数就是 若阶码为补码且尾数为原码。同样的道理,其值也应该与前者相同,即为0.078 125。而需要对其进行规格化,首先应将小数点右移3位,得到(其中最高位是符号位,表示正数),而其阶码应该是-3,用补码表示为1101,从而得到。例题19答案(24)B (25)B (26)A (27)A (28)C例题20假设某机器中浮点数的格式为:令某浮点数为(指数和尾数部分均是按十进制表示的)。若把该浮点数以规格化形式放于机器中,则阶码和尾数都用原码表示时为(29),都用反码表示时为(30),
21、都用补码表示时为(31),而阶码用移码、尾数用补码表示时为(32)。在最后一种情况下,该机器所能够表示的绝对值最大的浮点数是(33)。(29)AC(30)AC(31)AC(32)AC例题20分析根据题目中给出的格式,在该浮点数中阶码部分是7位,尾码是11位,其中最高位是尾符。要将浮点数表示出来,首先将尾数转化为二进制表示:0.0101101,由于其最高位不是1,因此要再左移一位得到0.101101,所以阶码要再加1,即为-62。若阶码和尾数都用原码表示时,则阶码为-62,其二进制表示为1111110,而尾数显然是1 101101 0000,组合起来就是。由于阶码和尾数都是负数,因此反码与原码不
22、同,需按位取反(负号位保持不变),因此阶码就是1000001,尾数则是1 010010 1111,组合起来就是。补码是在反码的基础上加1,因此阶码就得到1000010,尾数则是1 010011 0000,组合起来就是。移码和补码的区别只在于符号位,如果阶码用移码表示,则应该是0000010,尾码不变,组成起来就是。如果用k、n分别表示阶码和尾数的数值位位数,尾数用补码,阶码用移码表示,则浮点数的表示范围如表2-13所示。表2-13 浮点数的取值范围条 件结 果值es=0,ms=0,阶码和尾数的数值位均为1最大正数es=1,ms=0,尾数数值位的最低位为1,其他位均为0最小正数es=0,ms=1
23、,阶码的数值位全为1,尾数数值位全为0绝对值最大负数例题20答案(29)C (30)A (31)D (32)C (33)C例题21A=A1A16和B=B1B16是两个16位二进制补码表示的整数,其中A1和B1是符号位;A与B的加法和记为S=S1S16,那么表示和溢出的布尔表达式是(34)。若A采用以下浮点记数法:阶码用移码,基数为2,尾数用补码。该数不等于0时,表示其为规格化数的布尔表达式为(35)。它所能表示的最大规格化浮点数是(36),最小规格化浮点数是(37)。若,则其十进制真值为(38)。例题21分析在补码加减法运算中,有时会出现一些异常:两个正数相加,结果的符号位为1(结果为负);两
24、个负数相加,结果的符号位为0(结果为正),这就是溢出,这是由于两数相加的和超过了机器允许的表示范围。检查是否溢出有三种方法,如表2-14所示。表2-14 补码加减法运算的溢出判断方 法判断方法说明符号位判断被操作数和操作数的符号相同,却与结果的符号位不同进位判断两正数相加,最高有效位产生进位,符号位却无进位,说明正溢出 两负数相加,最高有效位无进位,符号位却产生进位,说明负溢出双符号位判断前两种方法只能够检测是否溢出,而双符号位可以判断结果符号 00:正数、无溢出;01:正溢出;10:负溢出;11:负数、无溢出在本题中,显然应该采用符号位判断。不同的符号位组合如表2-15所示。表2-15 符号
25、位情况分析操作数A操作数B和S是否溢出+否+-是+-+否+-否-+否-+-否-+是-否因此,可以得到溢出的表达式就应该是:用文字说明就是,和的符号位为0并且加数与被加数的符号位都是1,或者和的符号位为1并且加数与被加数的符号位都是0。例如,16位整数补码所能够表示的真值范围是,即-32768, 32767。若,则A与B的真值分别为16385及16386,其和为32771,已溢出。如图2-19(a)中的例子所示,此时,A1=B1=0,而S1=1。如果,则A与B的真值分别为-32767和-32766,其和等于-65533,也已溢出。此时如图2-19(b)中的例子所示,此时,A1=B1=1,而S1=
26、0。根据题中的浮点记数法,阶码是采用4位移码表示,取值范围是-8, +7;尾数采用12位补码,其真值范围是-1, 1-2-11。根据表2-13,所能表示的最大浮点数是:其机器码为。按照浮点数规格化的定义,其尾数的绝对值应大于等于1/2。对于补码来说必然是尾符位和尾数的数值部分最高位正好相反(一个是0,另一个是1),即其布尔表达式为。上述最大的浮点数而最小的浮点数都符合此条件,故都是规格化的数。所以,它们分别表示最大规格化浮点数和最小规格化浮点数。若,其阶码为移码1101,表示的真值是+5。尾数为补码,表示的真值是二进制数,故浮点数的真值为:将其转换成等值的十进制数是-18.875。例题21答案
27、(34)A (35)C (36)D (37)C (38)D例题22设01011010和01001011两个数为余3码,如采用这种代码进行十进制运算,其和的余3码应为(39)。其所代表的十进制值为(40),其BCD码(8421码)为(41)。余3码十进制加法运算原则是:当和无进位时(和的十进制值9),(42);当和有进位时(和的十进制值9),(43)。(39)A01111000 B10000111 C10100101 D01111001(40)A78 B87 C45 D72(41)A01111000 B01000101C10000111 D01110010(42)A不需修正 B需减0011修正C
28、需减0110修正 D修正方法不确定(43)A不需修正 B需减0011修正C需加0011修正 D需加0110修正例题22分析二进制是计算机中最适合的表示方法。而要表示十进制数,最直接的方法是将十进制数的各位数字变成一组对应的二进制代码,用4位二进制数来表示一位十进制数。由于4位二进制数可以组合出16种代码,所以只需任取10种代码即可产生多种BCD编码。如表2-16所示是几种常见的BCD码的特点比较。表2-16 常见BCD编码的特点比较编码类型主要特点8421码(1)有权码,从高到低各位的权分别是8、4、2、1; (2)简单直观,不允许出现101011112421码(1)有权码,从高到低各位的权分
29、别是2、4、2、1; (2)它是对9的自补码,即某数的2421码,只要自身按位取反,就能够得到该数对9补数的2421码; (3)不允许出现01011010余3码(1)无权码,是在8421码的基础上加0011形成的; (2)它也是一种对9的自补码; (3)不允许出现00000010、11011111; (4)当和无进位时(和的十进制值9),需减0011修正; (5)当和有进位时(和的十进制值9),需加0011修正设A=01011010,B=01001011,则其求和的过程如图2-20所示,也就是说,A+B的和为01111000。由于余3码是在8421码的基础上加0011得到的,所以和对应的842
30、1码高位为0111-0011=0100,低位为1000-0011=0101,合起来就是01000101。根据BCD求得其所表示的十进制数就比较容易了,0100表示十进制的4,0101表示十进制的5,所以该数表示的是十进制数45。例题22答案(39)A (40)C (41)B (42)B (43)C例题23执行算术右移指令的操作过程是(44)。(44)A操作数的符号位填0,各位顺次右移1位,最低位移至进位标志位中B操作数的符号位填1,各位顺次右移1位,最低位移至进位标志位中C操作数的符号位不变,各位顺次右移1位,最低位移至进位标志位中D进位标志移至符号位,各位顺次右移1位,最低位移至进位标志位中
31、例题23分析在计算机中,实现乘除运算的方案有三种:软件实现、通过逻辑线路来将乘除运算变换为移位操作;设置专有的乘法、除法器。其中大部分采用移位操作来实现。而移位操作主要包括算术移位、逻辑移位和循环移位三种,如表2-17所示。表2-17 移位操作的类型类 型说 明算术移位对象是有符号数,在移位过程中保持操作数的符号不变逻辑移位对象是无符号数,移位时无须考虑符号位循环移位左移移出的数放到最右,右移移出的数放在最左显然,关于算术右移指令操作过程描述正确的是,操作数的符号位不变,各位顺次右移1位,最低位移至进位标志位中。例题23答案(44)C例题24原码除法是指(45)。(45)A尾数用绝对值表示,加
32、上符号位后相除B操作数用补码表示,以利加减,但商用原码表示C取绝对值相除,符号位单独处理D操作数用原码表示,然后相除例题24分析原码除法是指取两个操作数的绝对值相除,符号位单独处理的除法。例题24答案(45)C例题25例题25分析对于带符号数,在移位时遵循如表2-18所示的规则。表2-18 移位规则码 类移位规则原码符号位不变,空出位一律以“0”补入补码正数符号位不变,空出位一律以“0”补入负数符号位不变,左移后的空出位补“0”,右移后的空出位补“1”转换成二进制数为10100101,右移两位后,则符号位不变,右移的空位被“1”补齐,得到11101001,转换成十六进制数就是。例题25答案(4
33、6)C例题26某数据的7位编码为0110101,若在其最高位之前增加一位偶校检位,则编码为(47)。(47)A10110101 B00110101 C01101011 D01101010例题26分析奇偶校验码可以分为奇校验和偶校验两种,都是添加1位校验位,根据信息码中1的个数来决定校验位的取值,填入校验位后,使得1的个数为奇数(奇校验)或偶数(偶校验)。例如:对于7位编码0110101而言,若在最高位加上奇偶校验位,那么: 奇校验:0110101共有4个1,要使1的个数为奇数,就需要补1,因此加上校验位后就得到10110101。 偶校验:0110101共有4个1,要使1的个数为偶数,无须补1,
34、因此加上校验位后就得到00110101。例题26答案(47)B例题27对于16位的数据,需要(48)个校验位才能构成海明码。在某个海明码的排列方式其中表示校验位,数据位由(49)进行校验。(48)A3 B4 C5 D6(49)AP4P2P1 BP4P3P2 CP4P3P1 DP3P2P1例题27分析要计算海明校验码,首先要知道海明校验码是放置在2的幂次位上的,即1,2,4,8,16,32,而对于信息位为m的原始数据,需加入k位的校验码,它满足计算时很烦琐。而有一种简单的方法,则是从第1位开始写,遇到校验位留下空格。例如,对于16位的数据,需要第1、2、4、8、16位作为校验位(共5个校验位),
35、加上校验位后,共有21位。在海明码的排列方式D9D8D7D6D5D4P4D3D2D1P3D0P2P1中,加上P1到P4四个校验位之后,D8就是第13位,其相应的二进制表示是1101,因此参加校验的位就是P4P3P1。例题27答案(48)C (49)C例题28在浮点加减运算中,(50)。(50)A阶码部分与尾数部分分别进行加减运算B阶码与尾数作为一个整体相加减C阶码对齐后,尾数相加减D尾数单独加减,取两数中最大阶码作为结果的阶码值例题28分析浮点数的加减法须执行以下五步完成运算: 第1步:对阶,对阶的目的就是使参与运算的两个数的阶码相等,以提供尾数相加减的可能性; 第2步:实现尾数的加、减运算;
36、 第3步:尾数规格化; 第4步:尾数的舍入处理; 第5步:检查阶码是否溢出。综上所述,可以知道在浮点加减运算中,是阶码对齐后,尾数相加减。例题28答案(50)C例题29下列关于串行加法器与并行加法器的描述中,不正确的是(51)。(51)A相对并行进位,串行进行的处理速度较慢B串行加法器只有一个全加器,并行加法器有多个全加器C若采用并行加法器的分组并行进位方式,那么在组间可采用串行进位方式D并行加法器的并行进位方式容易实现例题29分析加法器主要有串行加法器和并行加法器两种。在串行加法器中,只有一个全加器,数据逐位串行送入加法器进行运算。并行加法器可有多个全加器,可同时对数据的多位相加,它克服了串
37、行加法器只能逐位进行相加的缺点,很显然,它的处理速度要比串行加法器快。并行加法器中的每个全加器都有一个从低位送来的进位输入和一个传送给高位的进位输出。在使用并行加法器的时候,虽然操作数的各位是同时提供的,但低位运算所产生的进位会影响高位的运算结果。并行进位又叫先行进位、同时进位,其特点是各级进位信号同时形成。C1=G1+PC0C2=G2+P2C1=G2+P2G1+P2P1C0C3=G3+P3C2=G3+P3G2+P3P2G1+P3P2P1C0C4=G4+P4C3=G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C0上述各式中所有的进位输出仅由及最低进位输入决定,而不依赖于其低位
38、的进位输入,因此各级进位输出可以同时产生。这种进位方式是快速的,若不考虑的形成时间,从的最长延迟时间仅为2ty,而与字长无关。但是随着加法器位数的增加,的逻辑表达式会变得越来越长,输入变量会越来越多,这会使电路结构变得很复杂,所以完全采用并行进位是不现实的。分组并行进位方式把n位字长分为若干小组,在组内各位之间实行并行快速进位,在组间既可以采用串行进位方式,也可以采用并行快速进位方式,因此有两种情况。第一种情况是单级先行进位方式,它又称为组内并行、组间串行进位方式。以16位加法器为例,可分为4组,每组4位。第一小组组内的进位逻辑函数C1C4信号是同时产生的。在这种情况下,若不考虑Gi、Pi的形
39、成时间,从C1C16的最长延迟时间为42ty=8ty,其进位的时间图如图2-21所示。第二种情况是多级先行进位方式,又称为组内并行、组间并行进位方式。在这种方式下,若不考虑的形成时间,它的进位时间图如图2-22所示,此时加法器的最长进位延迟时间是6ty。用同样的方法可以扩展到多于两级的先行进位加法器,如用三级先行进位结构设计64位加法器。这种加法器的字长对加法时间影响甚小,但造价较高。例题29答案(51)D例题30两个同符号的数相加或异符号的数相减,所得结果的符号位SF和进位标志CF进行(52)运算为l时,表示运算的结果产生溢出。(52)A与 B或 C与非 D异或例题30分析解答这道题,我们首
40、先需要清楚一个概念,即什么是溢出。溢出,是指运算结果超出机器数的表示范围。从这个概念我们可以了解到,两个异号数相加不会产生溢出,仅两个同号数相加时才有可能产生溢出。两个正数相加而绝对值超出允许的表示范围时称为正溢,两个负数相加而绝对值超出允许的表示范围时则称为负溢。一旦溢出,溢出的部分将丢失,留下来的结果将不正确。如果只有一个符号位,溢出将使结果的符号位产生错乱。因此,一般计算机中都设置了溢出判断逻辑,如果产生溢出,将停机并显示“溢出”标志。现在我们来看几个典型的例子,从中我们可以总结出判断溢出的方法。其实在平时的学习当中,大家也应该尽可能多地自己总结规律,而不要光看书上的判断方法。在下面的4
41、个例题中,二进制数首位为符号位,后面4位为数据位,采用补码运算。例1: 3+6=9 0 0011+0 0110 0 1001例2: 8+9=17 0 1000+0 1001 1 0001(正溢)例3: 8+(-5)=3 0 1000+1 1011 0 0011例4: (-9)+(-8)=-17 1 0111+1 1000 0 1111(负溢)看完上面的4个运算式,我们可以开始总结规律了。由于上面的计算,是对两个4位的带符号二进制数进行运算,运算结果仍是一个4位带符号二进制数。所以其运算结果的范围应是:-16 +15,非常明显,上面的例2和例4的结果溢出了。接下来,我们对这几个例题进行详细分析。
42、为了便于分析,令两个操作数的符号位分别为Sa和Sb。结果的符号位为Sf。符号位直接参与运算,所产生的符号位进位为Cf。将符号位之后的A1和B1称为最高有效位,它产生的进位为C。在例3中,C=1,但并未溢出,所以进位不等于溢出,不能简单地根据单个进位信号去判断有无溢出,而应当从几个相关信号之间的关联去进行溢出判断。在双符号位中,高位就是符号位的进位Cf;而低位就是结果的符号位Sf。当Cf与Sf不同时,表示溢出;而相同时,表示操作正常。能达到此效果的运算为异或运算。例题30答案(52)D例题31已知X/2补=C6H,计算机的机器字长为8位二进制编码,则X补=(53)。(53)A8CH B18H C
43、E3H DF1H例题31分析已知X/2补=C6H,C6H化为二进制数得到11000110,求其真值,得到-0111010。再乘以2(即左移一位)得-1110100,求此数的补码可得10001100,即8CH。例题31答案(53)A例题32131-45=53在(54)进制下成立。(54)A六 B七 C八 D九例题32分析在六进制中,131-45=42;在七进制中,131-45=53;在八进制中,131-45=66;在九进制中,131-45=15。例题32答案(54)B例题33利用海明码(Hamming Code)纠正单位错,如果有 6 位信息位,则需要加入(55)位冗余位。(55)A2 B3 C
44、4 D.5例题33分析按照海明的理论,纠错码的编码就是把所有合法的码字尽量安排在n维超立方体的顶点上,使得任一对码字之间的距离尽可能大。如果任意两个码字之间的海明距离是d,则所有少于等于d-1位的错误都可以检查出来,所有少于d/2位的错误都可以纠正。一个自然的推论是,对某种长度的错误串,要纠正错误就要用比仅仅检测它多一倍的冗余位。对于给定的数据位m=6,根据节的公式,即要纠正单个错误,k必须取最小值,即可取k=4,得到例题33答案(55)C2.5.2 综合应用题例题34设有两个十进制数:(1)将x,y的尾数转换为二进制补码形式。(2)设阶码2位,阶符1位,数符1位,尾数3位。通过补码运算规则求
45、出z=x-y的二进制浮点规格化结果。例题34解答(1)设S1为x的尾数,S2为y的尾数,则S1 = (-0.875)10 =(-0.111)2,S1补=1.001S2 = (0.625)10 = (0.101)2,S2补=0.101(2)首先对阶,x的阶码为(+01)2,y的阶码为(+10)2,(01)2-(10)2=(-01)2,小阶的尾数S1右移一位得到(-0.0111)2,阶码加1,S1经舍入后得到(-0.100)2,对阶完毕。得到x的补码浮点格式为010 1100,y的补码浮点格式为010 0101。其次,进行尾数相减,采用双符号位。S1补=11.100,S2补=11.011。尾数右移
46、一位,最低有效位舍掉,阶码加1(右规),则S1S2补=11.011,即规格化结果为0111011。例题35设有两个浮点数若尾数4位,阶码2位,阶符1位,求x+y的值,写出运算步骤及结果。例题35解答首先对阶,= Ex-Ey=(-10) -(+10) = -100,所以Sx右移4位,得到0.00001001,经过舍入处理后,Sx=+0.0001。其次,尾数求和:结果为规格化数,不需要再处理。例题36求有效信息1011的CRC校验码。例题36解答求CRC循环冗余校验码的基本思路是先确定校验位的位数,然后选定一个生成多项式,最后用有效数值后面添加校验位的位数个0并与生成多项式相除,CRC校验码为有效
47、数值后加余数。求有效信息1011的CRC校验码,计算过程如下:首先,确定校验位的位数。设r为校验位的位数,则整个码字的位数应满足不等式:设r=3,则不等式满足。故r最小取3。其次,选定一个r+1位的生成多项式G(x),如G(x)=1011。在有效信息后面添加r个0,然后用它和G(x)进行模2除法运算,所得的余数即为所求的校验位。显然,在G(x)=1011的情况下,余数为000,故所求的CRC校验码为1011000。例题37已知x=0.10011101,y=0.1110,用不恢复余数阵列除法器求xy。例题37解答这是一道计算题,主要考查不恢复余数阵列除法器的运算方法,关键是掌握其运算规则。先求出
48、:-y补=1.0010例题38将下列数进行相关的转换。(1)将(100.25)10转换成短浮点数格式。(2)把短浮点数C1C90000H转换成为十进制数。例题38解答(1)把十进制数转换成为二进制数,得到:以短浮点数格式存储该数,因为符号位为0,阶码为10000101,尾数为,所以,短浮点数代码为,表示为十六进制的代码为42C88000H。(2)将十六进制代码写成二进制形式,并分离出符号位、阶码和尾数。因为,所以符号位为1,阶码为10000011,尾数为。计算出阶码真值(移码减去偏置值),如下:100000111111111 = 100以规格化二进制数的形式写出此数,得到写成非规格化二进制数的
49、形式,为11001.001。转换成十进制数,并加上符号位(11001.001)2=(25.125)10,所以,该浮点数为-25.125。例题39设浮点数的阶码和尾数均采用补码表示,且位数分别为5位和7位(均含2位符号位)。若有两个数求浮点加法Z=X+Y的最终结果。例题39解答首先对阶,小阶向大阶看齐。Y的尾数右移两位,Y的阶码加2,则Y的浮点数格式为00111 0000101。其次,尾数相加。结果的浮点数格式为00111 0100010。接着,对结果进行规格化。因为尾数的符号位不同(为01),说明它不是规格化的数,需要进行一次右规,才能变成规格化的数,右移一位,阶码加1,则结果的浮点数格式为0
50、1000 0010001。最后,进行溢出判断。因为结果阶码的两个符号位不同(为01),所以发生溢出。例题40设有一个8位信息为10101100,试求海明码的生成和校验过程。例题40解答因为信息位为8位,根据海明码的规则2k-1=m+k+1,其校验位长度为5位,按偶校验有:P1=00100=1P2=01110=1P3=0111=1P4=0101=0P5=001011=1将5位检验位插入到有效信息位中,可得到用二进制表示的海明码为:1 1 0 1 0 0 1 1 0 1 0 1 1其中,下画线表示校验位在海明码中的位置。上述海明码传送到接收方后,若H11(D7)位发生了错误,原码字就变为:1 1 1 1 0 0 1 1 0 1 0 1 1出错检错的过程很简单,只要将接收到的码字重新进行偶校验:S1=100101=1S2=101111=1S3=10111=0S4=00111=1S5=1001011=0故指误字为01011,其中低4位有效,相应的十进制数是11,指出H11出错。现在H11错成了1,纠错就是将H11位取反让它恢复
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年江苏省南京江北新区产业投资集团有限公司招聘笔试参考题库含答案解析
- 法学研究与实践探索
- 2025年中国超薄型小键盘盘芯市场调查研究报告
- 2025年中国角形金葱布项目投资可行性研究报告
- 2025年中国蜂房式缠绕芯市场现状分析及前景预测报告
- 2025年中国苎麻染色布市场现状分析及前景预测报告
- 2025年中国自动生化分析仪市场调查研究报告
- 2025年中国聚酯手套项目投资可行性研究报告
- 2025年中国罗茨大气喷射水环泵真空机组市场现状分析及前景预测报告
- 2025年中国组装手机项目投资可行性研究报告
- 《传染病学:新冠病毒》课件
- 秸秆买卖协议书模板
- 焊接工程师考核指南试题及答案
- 人教版小学二年级下册数学 第6单元 第6课时 解决问题(2) 课件
- 2024年延安通和电业有限责任公司招聘考试真题
- 2025年中国矿山支护设备行业市场规模及投资前景预测分析报告
- 新形势下如何抓好“两个经常性”工作
- 监控立杆采购合同协议
- 贴改色膜合同协议
- 清理罐车合同协议
- 新团员培训第一课:青年你为什么要入团
评论
0/150
提交评论