考研论坛

 找回密码
 立即注册
查看: 351|回复: 4

2010年考研计算机组成原理试题分析

[复制链接]

3万

主题

3万

帖子

9万

积分

论坛元老

Rank: 8Rank: 8

积分
93080
发表于 2016-7-23 11:13:24 | 显示全部楼层 |阅读模式
摘要:
2010年考研计算机组成原理试题分析,新东方在线编辑收集整理,为考研考生备考使用,预祝大家考研备考顺利,成功进入梦想的院校。
2010年全国硕士研究生计算机学科入学统一考试计算机组成原理试题分析
  一、选择题(每个题2分)
12.下列选项中,能缩短程序执行时间的措施是
I.提高CPU时钟频率   II.优化数据通路结构
III.对程序进行编译优化
A.仅I和II B.仅I和III C.仅II和III D.I、II和III
[答案] D
[解析] 提高CPU时钟频率会使机器执行指令的运行速度更快,对程序进行编译优化可以有效地减少指令条数,优化数据通路结构可以改进某些指令的运行效率,3者都有利于缩短程序的执行时间。
13.假定有4个整数用8位补码分别表示为r1=FEH,r2=F2H,r3=90H,r4=F8H。若将运算结果存放在一个8位寄存器中,则下列运算会发生溢出的是
A.r1×r2 B.r2×r3 C.r1×r4 D.r2×r4
[答案] B
[解析]8位寄存器能保存的补码整数的范围是-128~+127,r1中的数值是-2,r2中的数值是-14,r3中的数值是-112,r4中的数值是-8,则4个运算会发生溢出的是r2×r3。
14.假定变量i、f和d的数据类型分别为int、float和double(int用补码表示,float和double分别用IEEE 754单精度和双精度浮点数格式表示),已知i=785,f=1.5678e3,d=1.5e100。若在32位机器中执行下列关系表达式,则结果为“真”的是
I.i == (int) (float) i     II.f == (float) (int) f
III.f == (float) (double) f    IV.(d+f) - d == f
A.仅I和II B.仅I和III C.仅II和III D.仅III和IV
[答案] B
[解析] (II)运算会丢掉浮点数的小数部分,(IV)运算过程中可能有误差使其不相等,(I)和(III)则不存在问题。
15.假定用若干个2 K×4位的芯片组成一个8 K×8位的存储器,则地址0B1FH所在芯片的最小地址是
A.0000H B.0600H C.0700H D.0800H
[答案] D
[解析] 一个8 k×8位的存储器可以由8片2k×4位的存储器芯片组成,则每2k存储空间的起始地址为0000H、0800H、1000H、1800H,因此0B1FH所在芯片的最小地址是0800H。
16.下列有关RAM和ROM的叙述中,正确的是
I.RAM是易失性存储器,ROM是非易失性存储器
II.RAM和ROM都采用随机存取方式进行信息访问
III.RAM和ROM都可用作Cache
IV.RAM和ROM都需要进行刷新
A.仅I和II B.仅II和III C.仅I、II和IV D.仅II、III和IV
[答案] A
[解析]因为ROM不能用作cache,也不需要刷新操作,此2个选项是错的。
17.下列命中组合情况中,一次访存过程中不可能发生的是
回复

使用道具 举报

0

主题

7604

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
15982
发表于 2016-7-23 11:21:59 | 显示全部楼层
分页标题#e#
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.PCI、CRT、USB、EISA B.ISA、CPI、VESA、EISA
C.ISA、SCSI、RAM、MIPS D.ISA、EISA、PCI、PCI-Express
[答案] D
[解析] CRT、CPI、RAM、MIPS都与总线标准无关。
21.单级中断系统中,中断服务程序内的执行顺序是
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
[答案] A
[解析] 在单级中断系统中,一旦响应了一个中断,可以不必使用关中断的措施来防止再来一个新的中断干扰已经开始的中断保存现场和恢复现场的工作。响应与处理中断的几项操作是有严格顺序关系的,不能颠倒。
22.假定一台计算机的显示存储器用DRAM芯片实现,若要求显示分辨率为1600×1200,颜色深度为24位,帧频为85 Hz,显存总带宽的50%用来刷新屏幕,则需要的显存总带宽至少约为
A.245 Mbps B.979 Mbps C.1 958 Mbps D.7 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 6 5 0
OP Ms Rs Md Rd
源操作数 目的操作数
回复 支持 反对

使用道具 举报

0

主题

7708

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
16188
发表于 2016-7-23 12:59:38 | 显示全部楼层
分页标题#e#
转移指令采用相对寻址方式,相对偏移量用补码表示。寻址方式定义如下:
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),寄存器R4和R5的编号分别为100B和101B,R4的内容为1234H,R5的内容为5678H,地址1234H中的内容为5678H,地址5678H中的内容为1234H,则汇编语句“add (R4), (R5)+”(逗号前为源操作数,逗号后为目的操作数)对应的机器码是什么(用十六进制表示)?该指令执行后,哪些寄存器和存储单元的内容会改变?改变后的内容是什么?

[答案]
(1)指令系统最多支持16条指令;支持8个通用寄存器;
MAR至少为16位;MDR至少为16位。
(2)转移指令的目标地址范围为0000H~FFFFH。
(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)转移指令的目标地址范围为0000H~FFFFH。
(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分离,均有8个Cache行,每个Cache行大小为64 B,数据Cache采用直接映射方式。现有两个功能相同的程序A和B,其伪代码如下所示:  

7a2a2fcbcd644086a43e3d12b782a8f1.jpg

7a2a2fcbcd644086a43e3d12b782a8f1.jpg

回复 支持 反对

使用道具 举报

0

主题

7800

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
16366
发表于 2016-7-23 14:07:00 | 显示全部楼层
分页标题#e#
假定int类型数据用32位补码表示,程序编译时i, j, sum均分配在寄存器中,数组a按行优先方式存放,其首地址为320(十进制数)。请回答下列问题,要求说明理由或给出计算过程。
(1)若不考虑用于Cache一致性维护和替换算法的控制位,则数据Cache的总容量为多少?
(2)数组元素a[0][31]和a[1][1]各自所在的主存块对应的Cache行号分别是多少(Cache行号从0开始)?
(3)程序A和B的数据访问命中率各是多少?哪个程序的执行时间更短?
[答案]
(1)数据Cache的总容量为:4256位(532字节)。
(2)数组a在主存的存放位置及其与Cache之间的映射为:
a[0][31]所在主存块映射到Cache第6行,
a[1][1] 所在主存块映射到Cache第5行。
(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×4)div 64 = 6,
数组A[1][1]所在主存块对应的Cache行号:
((320+256×4+ 1×4) div 64) mod 8 = 5。
所以 a[0][31]所在主存块映射到Cache第6行,
a[1][1]所在主存块映射到Cache第5行。

139c64034a274dce996f85ec744ce082.jpg

139c64034a274dce996f85ec744ce082.jpg

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

使用道具 举报

0

主题

7800

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
16366
发表于 2016-7-23 15:37:53 | 显示全部楼层
分页标题#e#
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|新都网

GMT+8, 2024-9-21 09:07 , Processed in 0.094605 second(s), 9 queries , WinCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表