计算机体系结构- 存储器的组成、Cache的映 试题分析.doc

上传人:大张伟 文档编号:11033677 上传时间:2021-06-19 格式:DOC 页数:23 大小:538KB
返回 下载 相关 举报
计算机体系结构- 存储器的组成、Cache的映 试题分析.doc_第1页
第1页 / 共23页
计算机体系结构- 存储器的组成、Cache的映 试题分析.doc_第2页
第2页 / 共23页
计算机体系结构- 存储器的组成、Cache的映 试题分析.doc_第3页
第3页 / 共23页
计算机体系结构- 存储器的组成、Cache的映 试题分析.doc_第4页
第4页 / 共23页
计算机体系结构- 存储器的组成、Cache的映 试题分析.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《计算机体系结构- 存储器的组成、Cache的映 试题分析.doc》由会员分享,可在线阅读,更多相关《计算机体系结构- 存储器的组成、Cache的映 试题分析.doc(23页珍藏版)》请在三一文库上搜索。

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)A0 10000110 01100100010000000000000B0 10000111 01100100010000000000000C1 10000100 01100100010000000000000D0 10000110 11100100010000000000000例题17分析本题中,要表示的数是+178.125,转化为二进制数就是10110010.001。由于要求把尾数规格化为1.xxxx(x为0或1),并将1去掉,尾数用23位表示,因此就需要将小数点移到第1

16、个1的后面,即得到1.0110010001的形式,共向左移动了7位。移动完成后,去掉1,再表示成23位,显然尾数部分就是01100100010000000000000。接下来,再构造阶码部分,由于左移了7位,因此阶码应为+7,表示成为移码则是127+7,得到10000110。+178.125是正数,因此符号位为0。这样,最终的结果是0 10000110 01100100010000000000000。例题17答案(20)A例题18设机器码的长度为8位,已知x,z为带符号纯整数,y为带符号纯小数,X原= Y补= Z移=11111111,求出x、y、z的十进制真值:X=(21),Y=(22),Z=

17、(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位的定点整数,如果偏置值为那么:通过比较可以发现,在移码中,最高位0表示负数,1表示正数,而且它和补码之间的区别,正好是符号位相反,其他位相同。另外,移码全为0时,值最小;全为1时,值最大。而且在移码中,0的表示方法也只有一种,即100000000。因此,如果纯整数的原码是

18、11111111,其符号位为1,说明是负数;其绝对值是1111111,即127,所以它表示的数就是-127。如果纯小数的补码是11111111,其符号位为1,说明是负数;其对应的原码就应该是10000001,它表示的数是-2-7,即-1/128。如果纯整数的移码是11111111,其对应的补码就是01111111,因此表示的数应为127。例题18答案(21)C (22)B (23)B例题19计算机中十六位浮点数的表示格式为:某机器码为1110001010000000。若阶码为移码且尾数为反码,则其十进制真值为(24);若阶码为移码且尾数为原码,则其十进制真值为(25);若阶码为补码且尾数为反码

19、,则其十进制真值为(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)A1110001010000000 B11110101000000C1101010100000000 D11110001010000例题19分析根据题目中所示的格式可以得知:阶码为1110,尾数为001010

20、000000。另外,对于4位的二进制码,移码所加的偏移位应该是有了这些基础知识,就可以逐一来地解答本题。 若阶码为移码且尾数为反码。阶码为1110,其对应的补码就是0110,因此真值为+6;而尾数为反码,由于其为正数,因此尾数不变,即为001010000000。由于阶码为+6,因此小数点将向右移动6位,得到10100(注意,最高位为尾符),因此值为20。 若阶码为移码且尾数为原码。这种情况下,由于尾数的值为正数,原码和反码相同,所以它表示的数也相同,因此其值也是20。 若阶码为补码且尾数为反码。若阶码为补码,由于最高位为1,即表示其为负数,而它对应的原码就是1010,表示的数就是-2。因此,要

21、将尾数再向右移动两个小数点,得到0.000101,转换为十进制数就是 若阶码为补码且尾数为原码。同样的道理,其值也应该与前者相同,即为0.078 125。而需要对其进行规格化,首先应将小数点右移3位,得到010100000000(其中最高位是符号位,表示正数),而其阶码应该是-3,用补码表示为1101,从而得到1101010100000000。例题19答案(24)B (25)B (26)A (27)A (28)C例题20假设某机器中浮点数的格式为:令某浮点数为(指数和尾数部分均是按十进制表示的)。若把该浮点数以规格化形式放于机器中,则阶码和尾数都用原码表示时为(29),都用反码表示时为(30)

22、,都用补码表示时为(31),而阶码用移码、尾数用补码表示时为(32)。在最后一种情况下,该机器所能够表示的绝对值最大的浮点数是(33)。(29)A111111010100110000 B011111011011010000C111111011011010000 D000011000110101111(30)A100000110100101111 B111111100100110000C100001010100110000 D011111100011100101(31)A000001010100110000 B000001010100101111C111111100100110000 D1000

23、01010100110000(32)A111111010100110000 B011111011011010000C000001010100110000 D000001010100101111例题20分析根据题目中给出的格式,在该浮点数中阶码部分是7位,尾码是11位,其中最高位是尾符。要将浮点数表示出来,首先将尾数转化为二进制表示:0.0101101,由于其最高位不是1,因此要再左移一位得到0.101101,所以阶码要再加1,即为-62。若阶码和尾数都用原码表示时,则阶码为-62,其二进制表示为1111110,而尾数显然是1 101101 0000,组合起来就是1111110110110100

24、00。由于阶码和尾数都是负数,因此反码与原码不同,需按位取反(负号位保持不变),因此阶码就是1000001,尾数则是1 010010 1111,组合起来就是100000110100101111。补码是在反码的基础上加1,因此阶码就得到1000010,尾数则是1 010011 0000,组合起来就是100001010100110000。移码和补码的区别只在于符号位,如果阶码用移码表示,则应该是0000010,尾码不变,组成起来就是000001010100110000。如果用k、n分别表示阶码和尾数的数值位位数,尾数用补码,阶码用移码表示,则浮点数的表示范围如表2-13所示。表2-13 浮点数的取

25、值范围条 件结 果值es=0,ms=0,阶码和尾数的数值位均为1最大正数es=1,ms=0,尾数数值位的最低位为1,其他位均为0最小正数es=0,ms=1,阶码的数值位全为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),最

26、小规格化浮点数是(37)。若A=1101101101001000,则其十进制真值为(38)。例题21分析在补码加减法运算中,有时会出现一些异常:两个正数相加,结果的符号位为1(结果为负);两个负数相加,结果的符号位为0(结果为正),这就是溢出,这是由于两数相加的和超过了机器允许的表示范围。检查是否溢出有三种方法,如表2-14所示。表2-14 补码加减法运算的溢出判断方 法判断方法说明符号位判断被操作数和操作数的符号相同,却与结果的符号位不同进位判断两正数相加,最高有效位产生进位,符号位却无进位,说明正溢出 两负数相加,最高有效位无进位,符号位却产生进位,说明负溢出双符号位判断前两种方法只能够检

27、测是否溢出,而双符号位可以判断结果符号 00:正数、无溢出;01:正溢出;10:负溢出;11:负数、无溢出在本题中,显然应该采用符号位判断。不同的符号位组合如表2-15所示。表2-15 符号位情况分析操作数A操作数B和S是否溢出+否+-是+-+否+-否-+否-+-否-+是-否因此,可以得到溢出的表达式就应该是:用文字说明就是,和的符号位为0并且加数与被加数的符号位都是1,或者和的符号位为1并且加数与被加数的符号位都是0。例如,16位整数补码所能够表示的真值范围是,即-32768, 32767。若A=0100000000000001,B= 010000000000000010,则A与B的真值分别

28、为16385及16386,其和为32771,已溢出。如图2-19(a)中的例子所示,此时,A1=B1=0,而S1=1。如果A=1000000000000001,B=100000000000000010,则A与B的真值分别为-32767和-32766,其和等于-65533,也已溢出。此时如图2-19(b)中的例子所示,此时,A1=B1=1,而S1=0。根据题中的浮点记数法,阶码是采用4位移码表示,取值范围是-8, +7;尾数采用12位补码,其真值范围是-1, 1-2-11。根据表2-13,所能表示的最大浮点数是:其机器码为1111100000000000。按照浮点数规格化的定义,其尾数的绝对值应

29、大于等于1/2。对于补码来说必然是尾符位和尾数的数值部分最高位正好相反(一个是0,另一个是1),即其布尔表达式为。上述最大的浮点数而最小的浮点数都符合此条件,故都是规格化的数。所以,它们分别表示最大规格化浮点数和最小规格化浮点数。若A=1101101101001000,其阶码为移码1101,表示的真值是+5。尾数为补码101101001000,表示的真值是二进制数-0.10010111000,故浮点数的真值为:将其转换成等值的十进制数是-18.875。例题21答案(34)A (35)C (36)D (37)C (38)D例题22设01011010和01001011两个数为余3码,如采用这种代码

30、进行十进制运算,其和的余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需减0110修正 D修正方法不确定(43)A不需修正 B需减0011修正C需加0011修正 D需加0110修正例题22分析二进制是计

31、算机中最适合的表示方法。而要表示十进制数,最直接的方法是将十进制数的各位数字变成一组对应的二进制代码,用4位二进制数来表示一位十进制数。由于4位二进制数可以组合出16种代码,所以只需任取10种代码即可产生多种BCD编码。如表2-16所示是几种常见的BCD码的特点比较。表2-16 常见BCD编码的特点比较编码类型主要特点8421码(1)有权码,从高到低各位的权分别是8、4、2、1; (2)简单直观,不允许出现101011112421码(1)有权码,从高到低各位的权分别是2、4、2、1; (2)它是对9的自补码,即某数的2421码,只要自身按位取反,就能够得到该数对9补数的2421码; (3)不允

32、许出现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得到的,所以和对应的8421码高位为0111-0011=0100,低位为1000-0011=0101,合起来就是01000101。根据BCD求得其所表示的十进

33、制数就比较容易了,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位,最低位移至进位标志位中例题23分析在计算机中,实现乘除运算的方案有三种:软件实现、通过逻辑线路来将乘除运算变换为移位操作;设置专有的乘法、除法器。其中大部

34、分采用移位操作来实现。而移位操作主要包括算术移位、逻辑移位和循环移位三种,如表2-17所示。表2-17 移位操作的类型类 型说 明算术移位对象是有符号数,在移位过程中保持操作数的符号不变逻辑移位对象是无符号数,移位时无须考虑符号位循环移位左移移出的数放到最右,右移移出的数放在最左显然,关于算术右移指令操作过程描述正确的是,操作数的符号位不变,各位顺次右移1位,最低位移至进位标志位中。例题23答案(44)C例题24原码除法是指(45)。(45)A尾数用绝对值表示,加上符号位后相除B操作数用补码表示,以利加减,但商用原码表示C取绝对值相除,符号位单独处理D操作数用原码表示,然后相除例题24分析原码

35、除法是指取两个操作数的绝对值相除,符号位单独处理的除法。例题24答案(45)C例题25例题25分析对于带符号数,在移位时遵循如表2-18所示的规则。表2-18 移位规则码 类移位规则原码符号位不变,空出位一律以“0”补入补码正数符号位不变,空出位一律以“0”补入负数符号位不变,左移后的空出位补“0”,右移后的空出位补“1”转换成二进制数为10100101,右移两位后,则符号位不变,右移的空位被“1”补齐,得到11101001,转换成十六进制数就是。例题25答案(46)C例题26某数据的7位编码为0110101,若在其最高位之前增加一位偶校检位,则编码为(47)。(47)A10110101 B0

36、0110101 C01101011 D01101010例题26分析奇偶校验码可以分为奇校验和偶校验两种,都是添加1位校验位,根据信息码中1的个数来决定校验位的取值,填入校验位后,使得1的个数为奇数(奇校验)或偶数(偶校验)。例如:对于7位编码0110101而言,若在最高位加上奇偶校验位,那么: 奇校验:0110101共有4个1,要使1的个数为奇数,就需要补1,因此加上校验位后就得到10110101。 偶校验:0110101共有4个1,要使1的个数为偶数,无须补1,因此加上校验位后就得到00110101。例题26答案(47)B例题27对于16位的数据,需要(48)个校验位才能构成海明码。在某个海

37、明码的排列方式其中表示校验位,数据位由(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个校验位),加上校验位后,共有21位。在海明码的排列方式D9D8D7D6D5D4P4D3D2D1P3D0P2P1中,加上P1到P4四个校验位之后

38、,D8就是第13位,其相应的二进制表示是1101,因此参加校验的位就是P4P3P1。例题27答案(48)C (49)C例题28在浮点加减运算中,(50)。(50)A阶码部分与尾数部分分别进行加减运算B阶码与尾数作为一个整体相加减C阶码对齐后,尾数相加减D尾数单独加减,取两数中最大阶码作为结果的阶码值例题28分析浮点数的加减法须执行以下五步完成运算: 第1步:对阶,对阶的目的就是使参与运算的两个数的阶码相等,以提供尾数相加减的可能性; 第2步:实现尾数的加、减运算; 第3步:尾数规格化; 第4步:尾数的舍入处理; 第5步:检查阶码是否溢出。综上所述,可以知道在浮点加减运算中,是阶码对齐后,尾数相

39、加减。例题28答案(50)C例题29下列关于串行加法器与并行加法器的描述中,不正确的是(51)。(51)A相对并行进位,串行进行的处理速度较慢B串行加法器只有一个全加器,并行加法器有多个全加器C若采用并行加法器的分组并行进位方式,那么在组间可采用串行进位方式D并行加法器的并行进位方式容易实现例题29分析加法器主要有串行加法器和并行加法器两种。在串行加法器中,只有一个全加器,数据逐位串行送入加法器进行运算。并行加法器可有多个全加器,可同时对数据的多位相加,它克服了串行加法器只能逐位进行相加的缺点,很显然,它的处理速度要比串行加法器快。并行加法器中的每个全加器都有一个从低位送来的进位输入和一个传送

40、给高位的进位输出。在使用并行加法器的时候,虽然操作数的各位是同时提供的,但低位运算所产生的进位会影响高位的运算结果。并行进位又叫先行进位、同时进位,其特点是各级进位信号同时形成。C1=G1+PC0C2=G2+P2C1=G2+P2G1+P2P1C0C3=G3+P3C2=G3+P3G2+P3P2G1+P3P2P1C0C4=G4+P4C3=G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C0上述各式中所有的进位输出仅由及最低进位输入决定,而不依赖于其低位的进位输入,因此各级进位输出可以同时产生。这种进位方式是快速的,若不考虑的形成时间,从的最长延迟时间仅为2ty,而与字长无关。但是随

41、着加法器位数的增加,的逻辑表达式会变得越来越长,输入变量会越来越多,这会使电路结构变得很复杂,所以完全采用并行进位是不现实的。分组并行进位方式把n位字长分为若干小组,在组内各位之间实行并行快速进位,在组间既可以采用串行进位方式,也可以采用并行快速进位方式,因此有两种情况。第一种情况是单级先行进位方式,它又称为组内并行、组间串行进位方式。以16位加法器为例,可分为4组,每组4位。第一小组组内的进位逻辑函数C1C4信号是同时产生的。在这种情况下,若不考虑Gi、Pi的形成时间,从C1C16的最长延迟时间为42ty=8ty,其进位的时间图如图2-21所示。第二种情况是多级先行进位方式,又称为组内并行、

42、组间并行进位方式。在这种方式下,若不考虑的形成时间,它的进位时间图如图2-22所示,此时加法器的最长进位延迟时间是6ty。用同样的方法可以扩展到多于两级的先行进位加法器,如用三级先行进位结构设计64位加法器。这种加法器的字长对加法时间影响甚小,但造价较高。例题29答案(51)D例题30两个同符号的数相加或异符号的数相减,所得结果的符号位SF和进位标志CF进行(52)运算为l时,表示运算的结果产生溢出。(52)A与 B或 C与非 D异或例题30分析解答这道题,我们首先需要清楚一个概念,即什么是溢出。溢出,是指运算结果超出机器数的表示范围。从这个概念我们可以了解到,两个异号数相加不会产生溢出,仅两个同号数相加时才有可能产生溢出。两个正数相加而绝对值超出允许的表示范围时称为正溢,两个负数相加而绝对值超出允许的表示范围时则称为负溢。一旦溢出,溢出的部分将丢失,留下来的结果将不正确。如果只有一个符号位,溢出将使结果的符号位产生错乱。因此,一般计算机中都设置了溢出判断逻辑,如果产生溢出,将停机并显示“溢出”标志。现在我们来看几个典型的例子,从中我们可以总结出判断溢出的方法。其实在平时的学习当中,大家也应该尽可能多地自己总结规律,而不要光看书上的判断方法。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1