研究生统考试题(3)

时间:2021-08-31

  篇三:2010年研究生入学考试全国统考试题

  一、单项选择题:每小题2分,共22分。

  1. 下列选项中,能缩短程序执行时间的措施是

  Ⅰ.提高CPU的时钟频率 Ⅱ.优化数据通路结构

  Ⅲ.对程序进行编译优化

  A.仅Ⅰ和Ⅱ B.仅Ⅰ和Ⅲ C.仅Ⅱ和Ⅲ D.Ⅰ、Ⅱ和Ⅲ

  2. 假定有4个整数用8位补码分别表示为r1=FEH,r2=F2H,r3=90H,r4=F8H,若将运算结果存放在一个8位寄存器中,则下列运算会发生溢出的是

  A.r1×r2 B.r2×r3 C.r1×r4 D.r2×r4

  3. 假定变量i、f和d的数据类型分别为int、float和double(int用补码表示,float和double分别用IEEE754单精度和双精度浮点数格式表示),已知i=785,f=1.5678e3,d=1.5e100,若在32位机器中执行下列关系表达式,则结果为“真”的是

  Ⅰ.i=(int)(float)i Ⅱ.f=(float)(int)f

  Ⅲ.f=(float)(double)f Ⅳ.(d+f)-d=f

  A.仅Ⅰ和Ⅱ B.仅Ⅰ和Ⅲ C.仅Ⅱ和Ⅲ D. Ⅲ和Ⅳ

  4. 假定用若干个2K×4位的芯片组成一个8K×8位的存储器,则地址0B1FH所在芯片的最小地址是

  A.0000H B.0600H C.0700H D.0800H

  5. 下列有关RAM和ROM的叙述中,正确的是

  Ⅰ.RAM是易失性存储器,ROM是非易失性存储器

  Ⅱ.RAM和ROM都采用随机存取方式进行信息访问

  Ⅲ.RAM和ROM都可用作Cache

  Ⅳ.RAM和ROM都需要进行刷新

  A.仅Ⅰ和Ⅱ B.仅Ⅱ和Ⅲ C.仅Ⅰ、Ⅱ和Ⅳ D.仅Ⅱ、Ⅲ和Ⅳ

  6. 下列命中情况组合中,一次访问过程中不可能发生的是

  A.TLB未命中,Cache未命中,Page未命中

  B.TLB未命中,Cache命中,Page命中

  C.TLB命中,Cache未命中,Page命中

  D.TLB命中,Cache命中,Page未命中

  7. 下列寄存器中,汇编语言程序员可见的是

  A.存储器地址寄存器(MAR) B.程序计数器(PC)

  C.存储器数据寄存器(MDR) D.指令寄存器(IR)

  8. 下列选项中,不会引起流水线阻塞的是

  A.数据旁路(转发) B.数据相关

  C.条件转移D.资源冲突

  9. 下列选项中的英文缩写均为总线标准的是

  A.PCI、CRT、USB、EISA B.ISA、CPI、VESA、EISA

  C.ISA、SCSI、RAM、MIPS D.ISA、EISA、PCI、PCI-Express

  10. 单级中断系统中,中断服务程序内的执行顺序是

  Ⅰ.保护现场 Ⅱ.开中断 Ⅲ.关中断 Ⅳ.保存断点

  Ⅴ.中断事件处理 Ⅵ.恢复现场 Ⅶ.中断返回

  A.Ⅰ→Ⅴ→Ⅵ→Ⅱ→Ⅶ B.Ⅲ→Ⅰ→Ⅴ→Ⅶ

  C.Ⅲ→Ⅳ→Ⅴ→Ⅵ→Ⅶ D.Ⅳ→Ⅰ→Ⅴ→Ⅵ→Ⅶ

  11. 假定一台计算机的显示存储器用DRAM芯片实现,若要求显示分辨率为1600×1200,颜色深度为24位,帧频为85Hz,显存总带宽的50%用来刷新屏幕,则需要的显存总带宽至少约为

  A.245Mbps B.979Mbps C.1958Mbps D.7834Mbps

  二、(11分)若计算机字长为16位,主存地址空间大小为128KB,按字编址,采用单字长指令格式,指令各字段定义如下:

  转移指令采用相对寻址方式,相对偏移量用补码表示。寻址方式定义如下:

  注:(x)表示存储器地址x或寄存器x的内容。

  请回答下列问题:

  (1)该指令系统最多可有多少条指令?该计算机最多有多少个通用寄存器?存储器地址寄存器(MAR)和存储器数据寄存器(MDR)至少各需要多少位?

  (2)转移指令的目标地址范围是多少?

  (3)若操作码0010B表示加法操作(助记符为add),寄存器R4和R5的编码分别为100B和101B,R4的内容为1234H,R5的内容为5678H,地址1234H中的内容为5678H,地址5678H中的内容为1234H,则汇编语句“add (R4),(R5)+”(逗号前为源操作数,逗号后为目的操作数)对应的机器码是什么(用十六进制表示)?该指令执行后,哪些寄存器和存储单元的内容会改变?改变后的内容是什么?

  三、(12分)某计算机的主存地址空间大小为256MB,按字节编址,指令Cache和数据Cache分离,均有8个Cache行,每个Cache行大小为64B。数据Cache采用直接映射方式,现有两个功能相同的程序A和B,其伪代码如下所示:

  假定int类型数据用32位补码表示,程序编译时i、j、sum均分配在寄存器中,数组a按行优先方式存放,其首地址为320(十进制数)。请回答下列问题,要求说明理由或给出计算过程。

  (1)若不考虑Cache一致性维护和替换算法的控制位,则数据Cache的总容量为多少?

  (2)数组元素a[0][31]和a[1][1]各自所在的主存块对应的Cache行号分别是多少(Cache行号从0开始)?

  (3)程序A和B的数据访问命中率各是多少?哪个程序的执行时间更短?

  参考答案 2010年研究生入学考试全国统考试题

  一、单项选择题

  1. D 2. B 3. B 4. D 5. A 6. D

  7. B 8. A 9. D 10.A 11.D

  二、(1)因为操作码占4位,因此该指令系统最多可有24,即16条指令。

  因为寄存器编码占3位,因此该计算机最多可有23,即8个通用寄存器。

  因为主存地址空间大小为128KB,按字(计算机字长为16位)编址,即主存空间共有64K个字,因此存储器地址寄存器(MAR)至少需要16位,存储器数据寄存器至少需要16位。

  (2)因为转移指令的转移目标地址=(PC)+(Rn),PC可访存到整个存储器地址空间,因此转移指令的目标地址范围是0000H~FFFFH。

  (3)汇编语句中“add”对应的编码为“0010”;汇编语句中“(R4)”表示源操作数采用寄存器间接寻址方式(即Ms为001)、源寄存器为R4(即Rs为100),因此“(R4)”对应的编码为“001100”;汇编语句中“(R5)+”表示目的操作数采用寄存器间接、自增寻址方式(即Md为010)、目的寄存器为R5(即Rd为101),因此“(R5)+”对应的编码为“010101”。整条汇编语句“add (R4),(R5)+”对应的机器码为“0010 001100 010101”,用十六进制表示为2315H。

  该指令执行后R5的内容、地址5678H的内容会发生改变。

  改变后的内容为:(R5)=5679H,(5678H)=68ACH。

  三、(1)主存地址格式为:

  Cache地址格式为:

  若不考虑用于Cache一致性维护和替换算法的控制位,则每个Cache行要占用1位的有效位、19位的行标记和64B(即512位)的数据位,因此数据Cache的总容量为: 8×(1+19+512)=4256位=532字节

  (2)数组元素a[0][31]所在的主存块对应的Cache行号为:

  ((320+(0×256+31)×4)div 26)mod 23=6

  数组元素a[1][1]所在的主存块对应的Cache行号为:

  ((320+(1×256+1)×4)div 26)mod 23=5

  (3)每个Cache行包含16个用32位补码表示的整数并且按行优先方式存放,对于程序A,每次Cache不命中时,将从主存中调入一个Cache行,由于数组元素按行的方式访问,则接下来对该Cache行中的其它15个元素的访问均会命中,所有Cache行均会被依次访问16个元素且不重复(一次不命中),则访问数据Cache的命中率为:15/16=93.75%。

  对于程序B,每次Cache不命中时,将从主存中调入一个Cache行,由于数组元素按列的方式访问,依次访问的元素均位于不同的Cache行中,由于Cache空间只能存放8个Cache行,每次访问Cache不命中时调入Cache的行还没等到第二次访问就被其它的Cache行所替换,则访问数据Cache的命中率为:0。

  由于执行程序A时Cache的命中率高,因此程序A的执行时间更短。