《计算机体系结构_存储器的组成、Cache的映试题分析报告》由会员分享,可在线阅读,更多相关《计算机体系结构_存储器的组成、Cache的映试题分析报告(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。根据题目条件可知,Q
2、=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-4K
3、B=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下列有关RAM和
5、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。例题11答案
8、(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 1011 11
9、00从表2-11中可以看出,不是合法8421码的是1101 0110。例题12答案(12)B例题13用32位字长(其中1位符号位)表示定点小数时,所能表示的数值围是(13)。例题13分析定点小数即纯小数,小数点的位置固定在最高有效数位之前,符号位之后,如图2-3所示。定点小数的小数点位置是隐含约定的,小数点并不需要真正地占据一个二进制位。当表示X为负数,此时情况要稍微复杂一些,这是因为在计算机中带符号数可用补码表示,也可用原码表示,原码和补码的表示围有一些差别。若机器数为原码,当均等于1时,X为绝对值最大的负数,也称为最负的数或最小负数,其真值等于:综上所述,设机器字长有n+1位,原码定点小数
10、的表示围为补码定点小数的表示围为在本题中,要求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 B01001001 C101
12、10011 D01011001例题15分析在计算机系统部,对于二进制数而言,存在三种不同的表示方法:原码、反码和补码。它们各有优缺点,可以适用于不同的方面。如表2-12所示总结了这三种码字的表示法(其中假设字长为8位)。根据表2-13所示的规则,用原码来表示-73,最高位的符号位应该是1,73的二进制表示是1001001,因此X原11001001。而对于负数而言,补码是该数的反码加1。而X反应为10110110,而补码就应该是10110111。表2-12 原/反/补码表示法类 型正数(以94为例)负数(以-94为例)原码说明高位为符号位,0表示正数,1表示负数实例010111101101111
13、0反码说明正数与原码相同符号位为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表示负数。与原码不同的是,反码数值部分的形成和它的符号位有关。正数反码的数值和原码的数值相同,而负数反码的数值是原码的数值按位求反。补码的符号表示和原码相同,0表示正数,1表示负数。正数的补码和原码、反码相同,就是二进制数值本身。负数的补码是这样得到的:将数值部分按位取反,再在最低位加1。补码的补码就是原码。移码又称为增码,它的符号表示和补码相反,1表示正数,0表示负数。移码为该数的补码,但符号位相反,常用来表示浮点数的阶码。例题16答案(18)A (19)C例题17IEEE754标准规定:单精度浮点数的最高位为符号位,后面跟8位经偏移的阶码移码,偏移量为+127。尾数用原码表示,且把尾数规格