加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

2014福州大学计算机考研,计算机组成原理真题

(2013-10-18 15:40:45)
标签:

2014考研

计算机考研

计算机组成原理真题

福州大学

教育

2014考研复习已经到了冲刺阶段了,对于很多同学专业课都还没能做好完全的复习,在简短的考研冲刺阶段,为了能够更有效的做好专业知识的复习,思远福大老师特别的分享一份2010年全国硕士研究生计算机学科入学统一考试计算机组成原理试题分析,希望能够帮助考生做好一些关键复习。

一、选择题(每个题2分)
12
.下列选项中,能缩短程序执行时间的措施是
I
.提高CPU时钟频率   II.优化数据通路结构
III
.对程序进行编译优化
A
.仅III B.仅IIII C.仅IIIII DIIIIII
[
答案] D
[
解析] 提高CPU时钟频率会使机器执行指令的运行速度更快,对程序进行编译优化可以有效地减少指令条数,优化数据通路结构可以改进某些指令的运行效率,3者都有利于缩短程序的执行时间。
13
.假定有4个整数用8位补码分别表示为r1=FEHr2=F2Hr3=90Hr4=F8H。若将运算结果存放在一个8位寄存器中,则下列运算会发生溢出的是
A
r1×r2 Br2×r3 Cr1×r4 Dr2×r4
[
答案] B
[
解析]8位寄存器能保存的补码整数的范围是-128~+127r1中的数值是-2r2中的数值是-14r3中的数值是-112r4中的数值是-8,则4个运算会发生溢出的是r2×r3
 14
.假定变量ifd的数据类型分别为intfloatdoubleint用补码表示,floatdouble分别用IEEE 754单精度和双精度浮点数格式表示),已知i=785f=1.5678e3d=1.5e100。若在32位机器中执行下列关系表达式,则结果为的是
I
i == (int) (float) i     IIf == (float) (int) f
III
f == (float) (double) f    IV(d+f) - d == f
A
.仅III B.仅IIII C.仅IIIII D.仅IIIIV
[
答案] B
[
解析] II)运算会丢掉浮点数的小数部分,(IV)运算过程中可能有误差使其不相等,(I)和(III)则不存在问题。
15
.假定用若干个2 K×4位的芯片组成一个8 K×8位的存储器,则地址0B1FH所在芯片的最小地址是
A
0000H B0600H C0700H D0800H
[
答案] D
[
解析] 一个8 k×8位的存储器可以由82k×4位的存储器芯片组成,则每2k存储空间的起始地址为0000H0800H1000H1800H,因此0B1FH所在芯片的最小地址是0800H
16
.下列有关RAMROM的叙述中,正确的是
I
RAM是易失性存储器,ROM是非易失性存储器
II
RAMROM都采用随机存取方式进行信息访问
III
RAMROM都可用作Cache
IV
RAMROM都需要进行刷新
A
.仅III B.仅IIIII C.仅IIIIV D.仅IIIIIIV
[
答案] A
[
解析]因为ROM不能用作cache,也不需要刷新操作,此2个选项是错的。

17.下列命中组合情况中,一次访存过程中不可能发生的是
A
TLB未命中、Cache未命中、Page未命中
B
TLB未命中、Cache命中、Page命中
C
TLB命中、Cache未命中、Page命中
D
TLB命中、Cache命中、Page未命中
[
答案] D
[
解析]TLB中保存的是当前用到的最活跃的Page项内容,若TLB命中,就不会出现Page不命中的情况。
18
.下列寄存器中,汇编语言程序员可见的是
A
.存储器地址寄存器(MAR B.程序计数器(PC
C
.存储器数据寄存器(MDR D.指令寄存器(IR
[
答案] B
[
解析] 其他3个寄存器程序员不能访问,但有的机器会选用一个通用寄存器作为PC,相对寻址是选用运算后PC中的内容作为指令转移的目标地址。
19
.下列选项中,不会引起指令流水线阻塞的是
A
.数据旁路(转发) B.数据相关
C
.条件转移  D.资源冲突
[
答案] A 
[
解析] 数据旁路技术就是用于解决指令流水中的数据相关,换句话说,在遇到数据相关时,在可能的情况下可以通过数据旁路技术加以克服,其他3个选项都是指令流水线阻塞的基本原因。
20
.下列选项中的英文缩写均为总线标准的是
A
PCICRTUSBEISA BISACPIVESAEISA
C
ISASCSIRAMMIPS DISAEISAPCIPCI-Express
[
答案] D 
[
解析] CRTCPIRAMMIPS都与总线标准无关。
21
.单级中断系统中,中断服务程序内的执行顺序是
I
.保护现场 II.开中断 III.关中断 IV.保存断点
V
.中断事件处理 VI.恢复现场 VII.中断返回
A
I→V→VI→II→VII BIII→I→V→VII
C
III→IV→V→VI→VII DIV→I→V→VI→VII
[
答案] A 
[
解析] 在单级中断系统中,一旦响应了一个中断,可以不必使用关中断的措施来防止再来一个新的中断干扰已经开始的中断保存现场和恢复现场的工作。响应与处理中断的几项操作是有严格顺序关系的,不能颠倒。
22
.假定一台计算机的显示存储器用DRAM芯片实现,若要求显示分辨率为1600×1200,颜色深度为24位,帧频为85 Hz,显存总带宽的50%用来刷新屏幕,则需要的显存总带宽至少约为
A
245 Mbps B979 Mbps C1 958 Mbps D7 834 Mbps
[
答案] D
[
解析] 显存每秒需要提供屏幕刷新的信息量:1.6×103×1.2×103×24×85=3916.8×106 ,用到的总线带宽为2×3916.8×106bps,可以取其整数值,选择7834Mbps
二、综合应用题
43
.(11分)某计算机字长为16位,主存地址空间大小为128 KB,按字编址。采用单字长指令格式,指令各字段定义如下:
15      12 11 0
OP Ms Rs Md Rd
 
源操作数 目的操作数
转移指令采用相对寻址方式,相对偏移量用补码表示。寻址方式定义如下:
Ms / Md 
寻址方式 助记符 含义
000B 
寄存器直接 Rn 操作数=(Rn)
001B 
寄存器间接 (Rn) 操作数=((Rn))
010B 
寄存器间接、自增 (Rn)+ 操作数=((Rn)), (Rn)+1→Rn
011B 
相对 D(Rn) 转移目标地址=(PC)+(Rn)
注:(x)表示存储器地址x或寄存器x的内容。
请回答下列问题:
1)该指令系统最多可有多少条指令?该计算机最多有多少个通用寄存器?存储器地址寄存器(MAR)和存储器数据寄存器(MDR)至少各需要多少位?
2)转移指令的目标地址范围是多少?
3)若操作码0010B表示加法操作(助记符为add),寄存器R4R5的编号分别为100B101BR4的内容为1234HR5的内容为5678H,地址1234H中的内容为5678H,地址5678H中的内容为1234H,则汇编语句“add (R4), (R5)+”(逗号前为源操作数,逗号后为目的操作数)对应的机器码是什么(用十六进制表示)?该指令执行后,哪些寄存器和存储单元的内容会改变?改变后的内容是什么?
 
[
答案
1)指令系统最多支持16条指令;支持8个通用寄存器;
MAR
至少为16位;MDR至少为16位。
2)转移指令的目标地址范围为0000HFFFFH
3)汇编语句“add (R4), (R5)+”,对应的机器码为:2315H
 
  “add (R4), (R5)+”指令执行后,R5和存储单元5678H的内容会改变。执行后,R5的内容为5679H。内存5678H单元的内容为68ACH
[
解析
1)该指令系统最多支持24=16条指令;支持23=8个通用寄存器;因为地址空间大小为128 KB,按字编址,故共有64 K个存储单元,地址位数为16位,所以MAR至少为16位;因为字长为16位,所以MDR至少为16位。
2)转移指令的目标地址范围为0000HFFFFH
3)对于汇编语句“add (R4), (R5)+”,对应的机器码为:0010 001 100 010 101B,用十六进制表示为2315H
该指令的功能是:把内存1234H单元中的数据与内存5678H单元中的数据进行相加,结果写回到5678H单元,而且R5的内容用作内存地址之后,还要执行R5的内容加1的操作,所以“add (R4), (R5)+”指令执行后,R5和存储单元5678H的内容会改变。执行后,R5的内容从5678H变为5679H。内存5678H单元的内容将变为该加法指令计算得到的和:5678H+1234H=68ACH
44.
12分)某计算机的主存地址空间大小为256 MB,按字节编址。指令Cache和数据Cache分离,均有8Cache行,每个Cache行大小为64 B,数据Cache采用直接映射方式。现有两个功能相同的程序AB,其伪代码如下所示:...

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

1)若不考虑用于Cache一致性维护和替换算法的控制位,则数据Cache的总容量为多少?
2)数组元素a[0][31]a[1][1]各自所在的主存块对应的Cache行号分别是多少(Cache行号从0开始)?
3)程序AB的数据访问命中率各是多少?哪个程序的执行时间更短?
[
答案
1)数据Cache的总容量为:4256位(532字节)。
2)数组a在主存的存放位置及其与Cache之间的映射为:
a[0][31]
所在主存块映射到Cache6行,
a[1][1]
所在主存块映射到Cache5行。
3)编译时i, j, sum均分配在寄存器中,故数据访问命中率仅考虑数组a的情况。
①程序A的数据访问命中率为93.75%
②程序B的数据访问命中率为0
程序A的执行比程序B快得多。
[
解析
1)主存容量256MB,按字节寻址的地址位数应为28位,数据Cache分为8行(用3位地址),每行64B(用6位地址),因此Cache中每个字块的Tag字段的位数应是28-9=19位,还要使用一个有效位,二者合计为20位;因此数据Cache的总容量应为:64B×8+(20/8×8)B = 532B
2)数组a在主存的存放位置及其与Cache之间的映射关系如下图所示。
数组A[0][31]所在的主存块对应的Cache行号是:
320+31×4div 64 = 6
数组A[1][1]所在主存块对应的Cache行号:
((320+256×4+ 1×4) div 64) mod 8 = 5

所以 a[0][31]所在主存块映射到Cache6行,
a[1][1]
所在主存块映射到Cache5行。

...

3)编译时i, j, sum均分配在寄存器中,故数据访问命中率仅考虑数组a的情况。
①这个程序的特点是数组中的每一个int 类型的数据只被使用一次。数组A按行优先存放,数据Cache正好放下数组半行中的全部数据,即数据的存储顺序与使用次序有更高的吻合度,每个字块存16int类型的数据,访问每个字块中头一个字不会命中,但接下来的15个字都会命中,访问全部字块都符合这一规律,命中率是15/16,即程序A的数据访问命中率为93.75%
②程而程序B是按照数组的列执行外层循环,在内层循环过程中,将连续访问不同行的同一列的数据,不同行的同一列数据使用的是同一个Cache单元,每次都不会命中,命中率是0,程序执行特别慢。
根据上述计算出的命中率,得出程序B每次取数都要访问主存,所以程序A的执
行比程序B快得多。资料参考:思远福大考研网
 

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有