《计算机统考试题答案_计算机组成原理归纳》由会员分享,可在线阅读,更多相关《计算机统考试题答案_计算机组成原理归纳(6页珍藏版)》请在金锄头文库上搜索。
1、2010年全国研究生入学统一考试计算机学科专业基础综合一、选择题12. 下列选项中,能缩短程序执行时间的措施是(D)I 提高 CPU 时钟频率, II 优化数据通过结构, III 对程序进行编译优化A:仅 I 和 II B:仅 I 和 III C:仅 II 和 III D:I,II,III 【解析】本题考查计算机性能指标。I.CPU 的时钟频率,也就是CPU 主频率,一般说来,一个时钟周期内完成的指令数是固定的,所以主频越高, CPU 的速度也就快,程序的执行时间就越短。II.数字系统中,各个子系统通过数据总线连接形成的数据传送路径称为数据通路。优化数据通路结构,可以有效提高计算机系统的吞吐量
2、,从而加快程序的执行。III. 计算机程序需要先转化成机器指令序列才能最终得到执行,编译优化得到更优的指令序列,从而使得程序的执行时间也越短。13. 假定有 4个整数用 8位补码分别表示 r1=FEH ,r2=F2H ,r3=90H,r4=F8H,若将运算结果存放在一个 8 位的寄存器中,则下列运算会发生溢出的是(B)A: r1*r2 B :r2*r3 C:r1*r4 D:r2*r4 【解析】本题考查定点数的运算。用补码表示时8 位寄存器所能表示的整数范围为-128+127。 r1 = -2,r2 = -7,r3 = -112, r4 = -8,r2r3 = 784,结果溢出。14. 假定变量
3、 I, f, d 数据类型分别为 int, float 和 double(int 用补码表示, float 和 double分别用 IEEE754 单精度和双精度浮点数据格式表示), 已知 i=785,f=1.5678,d=1.5若在 32位机器中执行下列关系表达式,则结果为真是(C)(I)f=(int)(float)I (II)f=(float)(int)f (III)f=(float)(double) (IV)=(d+f)-d=f A:仅 I 和 II B:仅 I 和 III C:仅 II 和 III D:仅 III 和 IV 【正确选项】B【解析】本题考查数据的表示与运算。15. 假定用
4、若干个 2k*4 位芯片组成一个 8*8 位存储器,则地址0B1FH 所在芯片的最小地址是( D)A:0000H B:0600H C: 0700H D:0800H 【解析】本题考查存储器的组成和设计。用 2K4 位的芯片组成一个8K8 位存储器,每行中所需芯片数为2,每列中所需芯片数为4,各行芯片的地址分配为:第一行( 2 个芯片并联)0000H07FFH第二行( 2 个芯片并联)0800H0FFFH第三行( 2 个芯片并联)1000H17FFH第四行( 2 个芯片并联)1800H1FFFH于是地址0B1FH 所在芯片的最小地址即为0800H,正确选项为D。16. 下列有关 RAM 和 ROM
5、 的叙述中,正确的是( A)I、 RAM 是易失性存储器, ROM 是非易失性存储器II、 RAM 和 ROM 都是采用随机存取的方式进行信息访问III 、RAM 和 ROM 都可用作 Cache IV 、RAM 和 ROM 都需要进行刷新A:仅 I 和 II B:仅 II 和 III C:仅 I,II ,III D:仅 II,III,IV 【解析】本题考查半导体随机存取存储器。17. 下列命令组合情况中,一次访存过程中,不可能发生的是(D)A:TLB 未命中, Cache未命中, Page未命中B:TLB 未命中, Cache命中, Page命中C:TLB 命中, Cache未命中, Pag
6、e命中D:TLB 命中, Cache命中, Page未命中【解析】本题考查Cache和 TLB (快表)。Cache中存放的是主存快的副本,Cache 命中,主存必然命中;TLB 中存放的是页表的副本,TLB命中,主存也必然命中。因此不可能发生的是D。18. 下列存储器中,汇编语言程序员可见的是(B)A:存储器地址寄存器( MAR )B:程序计数器( PC)C:存储器数据寄存器( MDR)D:指令寄存器( IR)【解析】本题考查CPU 的基本结构。汇编程序员可以通过指定待执行指令的地址来设置PC 的值,而IR, MAR ,MDR 是 CPU 的内部工作寄存器,对程序员不可见。19. 下列不会引
7、起指令流水阻塞的是(A)A:数据旁路B:数据相关C:条件转移D:资源冲突【解析】本题考查指令流水线的基本概念。有三种相关可能引起指令流水线阻塞:1. 结构相关,又称资源相关;2. 数据相关; 3. 控制相关,主要由转移指令引起。数据旁路技术,又称为定向技术或相关专用通路技术。其只要思想是不必待某条指令的执行结果送回到寄存器后,再从寄存器中取出该结果,作为下一条指令的源操作数,而是直接将执行结果送到其他指令所需要的地方,这样可以使流水线不发生停顿。20. 下列选项中的英文缩写均为总线标准的是(D)A:PCI、CRT、USB、EISA B:ISA、CPI、VESA、EISA C:ISA、SCSI、
8、RAM 、MIPS D:ISA、EISA、PCI、PCI-Express 【解析】本题考查总线标准。21. 单级中断系统中,中断服务程序执行顺序是(A)I、保护现场II、开中断III 、关中断IV、保存断点V、中断事件处理VI、恢复现场VII 、中断返回A:I、V、VI 、II、VII B:III 、I、V、VII C:III 、IV、V、VI、VII D:IV 、I、V、VI 、VII 【解析】本题考查中断处理过程。单级中断系统中,不允许中断嵌套。中断的处理过程为:1. 关中断; 2. 保存断点; 3. 识别中断源;4. 保存现场; 5. 中断事件处理;6. 恢复现场; 7. 开中断; 8.
9、 中断返回。其中,13 步由硬件完成,48 由中断服务程序完成,正确选项为A。22. 假定一台计算机的显示存储器用DRAM 芯片实现,若要求显示分辨率为1600*1200,颜色深度为 24 位,帧频为 85Hz,显示总带宽的50% 用来刷新屏幕,则需要的显存总带宽至少约为( D)A :245 Mbps B:979 Mbps C:1958 Mbps D:7834Mbps 【解析】本题考查显示器相关概念。刷新所需带宽= 分辨率色深帧频= 1600120024b85HZ = 3916.8Mbps ,显存总带宽的 50%用来刷屏,于是需要的显存总带宽为3916.8/0.5 = 7833.6Mbps 7
10、834Mbps。二、综合题43. (11分) 某计算机字节长为 16位,主存地址空间大小为 128KB,按字编址 .采用单字长指令格式 ,指令名字段定义如下:15 12 11 6 5 0 OP MSRSMdRd源操作数目的操作数转移指令采用相对寻址 ,相对偏移是用补码表示 ,寻址方式定义如下 :Ms/Md寻址方式助记符含义000B 寄存器直接Rn 操作数 =(Rn) 001B 寄存器间接(Rn) 操作数 =(Rn) 010B 寄存器间接、自增(Rn)+ 操作数 =(Rn),(Rn)+1-Rn 011B 相对D(Rn) 转移目标地址 =(PC)+(Rn) 注:(X)表示有存储地址 X 或寄存器
11、X 的内容 ,请回答下列问题 : (1)该指令系统最多可有多少指令?该计算机最多有多少个通用寄存器?存储地址寄存器(MAR) 和存储数据寄存器 (MDR) 至少各需多少位 ? (2)转移指令的目标地址范围是多少? (3) 若操作码 0010B 表示加法操作 (助记符为 add),寄存器 R4 和 R5 的编号分别为100B 和 101B,R4 的内容为1234H,R5 的内容为5678H,地址1234H 中的内容为5678H,5678H 中的内容为 1234H,则汇编语言为add(R4),(R5)+ (逗号前为源操作符 ,逗号后目的操作数 )对应的机器码是什么 (用十六进制 )?该指令执行后
12、,哪些寄存器和存储单元的内容会改变?改变后的内容是什么? 【解答】(1)指令操作码占 4 位,则该指令系统最多可以有24 =16条指令;指令操作数占 6 位,寻址方式占 3 位,于是寄存器编号占3 位,该计算机最多可以有 23=8 个通用寄存器;主存容量 128KB,按字编址,计算机字长为16 位,划分为 128KB/2B = 216个存储单元,故 MDR 和 MAR 至少各需 16 位;(2)PC 和 Rn 可表示的地址范围均为0 216 -1,而主存地址空间为216,故转移指令的目标地址范围是0 216 -1。寻址的目标地址范围是64K。(3)汇编语句 add(R4) , ( R5)+对应
13、的机器码为0010 0011 0001 0101B = 2315H ;该指令执行后,累加寄存器ACC、寄存器 R5、地址为 1234H 的存储单元的内容会改变,改变后的内容分别为:(ACC)= ( ( R4) ) +( ( R5) ) = 5678H+1234H = 68ACH;(R5)=(R5)+1 = 5678H+1H = 5679H;(5678H)=(ACC)= 68ACH。(3)该指令执行后R5 的内容变为 5679H,地址 5678H的内容变为 68AC。44. (12 分) 某计算机的主存地址空间大小为256MB,按字节编址。指令Cache 和数据Cache分离,均有 8 个 Ca
14、che行,每个 Cache行大小为 64B,数据 Cache采用直接映射方式 ,现有两个功能相同的程序A 和 B,其伪代码如下 : 程序 A: int a256256; . int sum_array1() int i, j, sum = 0; for (i = 0; i 256; i+) for (j= 0; j 256; j+) sum += aij; return sum; 程序 B: int a256256; . int sum_array2() int i, j, sum = 0; for (j = 0; j 256; j+) for (i= 0; i 64B,所以访问第 0 列每个元素时都不命中,由于数组有 256 列,数据 Cache仅有 8 行,故访问数组后续列元素时仍然不命中,于是程序 B 的数据访问命中率为0%。由于从 Cache 读数据比从内存读数据快很多,所以程序A 的执行过程更短。