0911年组成原理考研真题及解析0929.docx
《0911年组成原理考研真题及解析0929.docx》由会员分享,可在线阅读,更多相关《0911年组成原理考研真题及解析0929.docx(17页珍藏版)》请在冰豆网上搜索。
0911年组成原理考研真题及解析0929
2009年全国硕士研究生入学考试计算机统考组成原理试题
一、选择题(每小题为2分)
11.冯.诺依曼计算机中指令和数据均以二进制形式存放在存储器中,CPU区分它们的依据是:
A.指令操作码的译码结果
B.指令和数据的寻址方式
C.指令周期的不同阶段
D.指令和数据所在的存储单元
答案:
C
12.一个C语言程序在一台32位机器上运行。
程序中定义了三个变量xyz,其中x和z是int型,y为short型。
当x=127,y=-9时,执行赋值语句z=x+y后,xyz的值分别是:
A.X=0000007FH,y=FFF9H,z=00000076H
B.X=0000007FH,y=FFF9H,z=FFFF0076H
C.X=0000007FH,y=FFF7H,z=FFFF0076H
D.X=0000007FH,y=FFF7H,z=00000076H
答案:
D
13.浮点数加减运算过程一般包括对阶、尾数运算、规格化、舍入和判溢出等步骤。
设浮点数的阶码和尾数均采用补码表示,且位数分别为5位和7位(均含2位符号位)。
若有两个数X=27×29/32,Y=25×5/8,则用浮点加法计算X+Y的最终结果是:
A.001111100010
B.001110100010
C.010000010001
D.发生溢出
答案:
D
14.某计算机的Cache共有16块,采用2路组相联映射方式(即每组2块)。
每个主存块大小为32字节,按字节编址。
主存129号单元所在主存块应装入到的Cache组号是:
A.0
B.2
C.4
D.6
答案:
C
15.某计算机主存容量为64KB,其中ROM区为4KB,其余为RAM区,按字节编址。
现要用2K×8位的ROM芯片和4K×4位的RAM芯片来设计该存储器,则需要上述规格的ROM芯片数和RAM芯片数分别是:
A.1、15
B.2、15
C.1、30
D.2、30
答案:
D
16.某机器字长16位,主存按字节编址,转移指令采用相对寻址,由两个字节组成,第一字节为操作码字段,第二字节为相对位移量字段。
假定取指令时,每取一个字节PC自动加1。
若某转移指令所在主存地址为2000H,相对位移量字段的内容为06H,则该转移指令成功转以后的目标地址是:
A.2006H
B.2007H
C.2008H
D.2009H
答案:
C
17.下列关于RISC的叙述中,错误的是:
A.RISC普遍采用微程序控制器
B.RISC大多数指令在一个时钟周期内完成
C.RISC的内部通用寄存器数量相对CISC多
D.RISC的指令数、寻址方式和指令格式种类相对CISC少
答案:
A
18.某计算机的指令流水线由四个功能段组成,指令流经各功能段的时间(忽略各功能段之间的缓存时间)分别是90ns、80ns、70ns和60ns,则该计算机的CPU时钟周期至少是:
A.90ns
B.80ns
C.70ns
D.60ns
答案:
A
19.相对于微程序控制器,硬布线控制器的特点是:
A.指令执行速度慢,指令功能的修改和扩展容易
B.指令执行速度慢,指令功能的修改和扩展难
C.指令执行速度快,指令功能的修改和扩展容易
D.指令执行速度快,指令功能的修改和扩展难
答案:
D
20.假设某系统总线在一个总线周期中并行传输4字节信息,一个总线周期占用2个时钟周期,总线时钟频率为10MHz,则总线带宽是:
A.10MB/s
B.20MB/S
C.40MB/S
D.80MB/S
答案:
B
21.假设某计算机的存储系统由Cache和主存组成,某程序执行过程中访存1000次,其中访问Cache缺失(未命中)50次,则Cache的命中率是:
A.5%
B.9.5%
C.50%
D.95%
答案:
D
22.下列选项中,能引起外部中断的事件是:
A.键盘输入
B.除数为0
C.浮点运算下溢
D.访存缺页
答案:
A
二、综合应用题
43.(8分)某计算机的CPU主频为500MHz,CPI为5(即执行每条指令平均需5个时钟周期)。
假定某外设的数据传输率为0.5MB/s,采用中断方式与主机进行数据传送,以32位为传输单位,对应的中断服务程序包含18条指令,中断服务的其他开销相当于2条指令的执行时间。
请回答下列问题,要求给出计算过程。
(1)在中断方式下,CPU用于该外设I/O的时间占整个CPU时间的百分比是多少?
(2)当该外设的数据传输率达到5MB/s时,改用DMA方式传送数据。
假设每次DMA传送大小为5000B,且DMA预处理和后处理的总开销为500个时钟周期,则CPU用于该外设I/O的时间占整个CPU时间的百分比是多少?
(假设DMA与CPU之间没有访存冲突)。
解:
(1)在中断方式下,每32位(4B)被中断一次,故每秒中断0.5MB∕4B=0.5×106∕4=12.5×104次
要注意的是,这里是数据传输率,所以1MB=106B。
因为中断服务程序包含18条指令,中断服务的其他开销相当于2条指令的执行时间,且执行每条指令平均需5个时钟周期,所以,1秒内用于中断的时钟周期数为:
(18+2)×5×12.5×104=12.5×106
故在中断方式下,CPU用于该外设I/O的时间占整个CPU时间的百分比是:
((12.5×106)/(500×106))×100%=2.5%
(2)在DMA方式下,每秒进行DMA的次数为5MB∕5000B=1×103次,由于预处理和后处理的总开销为500个时钟周期,所以1秒钟之内用于DMA操作的时钟周期数为:
500×1×103=5×105
故在DMA方式下,占整个CPU时间的百分比是
((5×105)/(500×106))×100%=0.1%
44.(13分)某计算机字长16位,采用16位定长指令字结构,部分数据通路结构如图所示。
图中所有控制信号为1时表示有效、为0时表示无效。
例如控制信号MDRinE为1表示允许数据从DB打入MDR,MDRin为1表示允许数据从内总线打入MDR。
假设MAR的输出一直处于使能状态。
加法指令“ADD(R1),R0”的功能为(R0)+((R1))→(R1),即将R0中的数据与R1的内容所指主存单元的数据相加,并将结果送入R1的内容所指主存单元中保存。
数据通路结构图
下表给出了上述指令取值和译码阶段每个节拍(时钟周期)的功能和有效控制信号,请按表中描述方式用表格列出指令执行阶段每个节拍的功能和有效控制信号。
功能和控制信号
时钟
功能
有效控制信号
C1
MAR←(PC)
PCout,MARin
C2
MDR←M(MAR)
PC←(PC)+1
MemR,MDRinE
PC+1
C3
IR←(MDR)
MDRout,IRin
C4
指令译码
无
解:
指令执行阶段每个节拍的功能和有效控制信号如下表所示:
时钟
功能
有效控制信号
C5
MAR←(R1)
PCout,MARin
C6
MDR←M(MAR)
MemR,MDRinE
C7
A←(R0)
R0out,Ain
C8
AC←(MDR)+(A)
MDRout,Addr,ACin
C9
MDR←(AC)
ACout,MDRin
C10
M(MAR)←MDR
MDRoutE,MemW
2010年全国硕士研究生入学考试计算机统考组成原理试题
一、选择题(每小题为2分)
12.下列选项中,能缩短程序执行时间的措施是(D)。
I提高CPU时钟频率,II优化数据通路结构,III对程序进行编译优化
A.仅I和II
B.仅I和III
C.仅II和III
D.I,II,III
13.假定有4个整数用8位补码分别表示为r1=FEH,r2=F2H,r3=90H,
r4=F8H,若将运算结果存放在一个8位的寄存器中,则下列运算会发生溢出的是(C)。
A.r1*r2
B.r2*r3
C.r1*r4
D.r2*r4
14.假定变量i,f,d数据类型分别为int,float和double(int用补码表示,float和double分别用IEEE754单精度和双精度浮点数据格式表示),已知i=785,f=1.5678e3,d=1.5e100。
若在32位机器中执行下列关系表达式,则结果为真的是(C)。
(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
15.假定用若干个2k*4位芯片组成一个8k*8位的存储器,则地址0B1FH所在芯片的最小地址是(D)。
A.0000H
B.0600H
C.0700H
D.0800H
16.下列有关RAM和ROM的叙述中,正确的是(A)。
IRAM是易失性存储器,ROM是非易失性存储器
IIRAM和ROM都是采用随机存取的方式进行信息访问
IIIRAM和ROM都可用作Cache
IVRAM和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未命中,Page命中
D.TLB命中,Cache命中,Page未命中
解析:
TLB(translationlookasidebuffer)——旁路转换缓冲(页表缓冲),放页表文件(虚地址-)实地址转换),也称快表。
18.下列存储器中,汇编语言程序员可见的是(B)。
A.存储器地址寄存器(MAR)
B.程序计数器(PC)
C.存储器数据寄存器(MDR)
D.指令寄存器(IR)
19.下列不会引起指令流水阻塞的是(A)。
A.数据旁路
B.数据相关
C.条件转移
D.资源冲突
20.下列选项中的英文缩写均为总线标准的是(D)。
A.PCI、CRT、USB、EISA
B.ISA、CPI、VESA、EISA
C.ISA、SCSI、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
22.假定一台计算机的显示存储器用DRAM芯片实现,若要求显示分辨率为1600*1200,颜色深度为24位,帧频为85Hz,显示总带宽的50%用来刷新屏幕,则需要的显存总带宽至少约为(D)。
A.245Mbps
B.979Mbps
C.1958Mbps
D.7834Mbps
二、综合应用题
43.(11分)某计算机字长为16位,主存地址空间大小为128KB,按字编址,采用定长指令格式,指令各字段定义如下:
151211650
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),寄存器R4和R5的编号分别为100B和101B,R4的内容为1234H,R5的内容为5678H,地址1234H中的内容为5678H,地址5678H中的内容为1234H,则汇编语句add(R4),(R5)+(逗号前为源操作符,逗号后为目的操作数)对应的机器码是什么(用十六进制)?
该指令执行后,哪一些寄存器和存储单元的内容会改变?
改变后的内容是什么?
解:
该题的考点是指令系统设计,注意操作位数与指令条数的关系,地址码与寄存器数的关系,指令字长与MDR的关系,存储容量与MAR的关系,注意补码计算的偏移地址。
(1)OP字段占4个bit位,因此该指令系统最多有2^4=16条指令;Rs/Rd为3个bit,因此最多有2^3=8个通用寄存器;128K/2=64k=2^16,所以存储器地址寄存器位数至少为16位,指令字长度为16位,所以存储器数据寄存器至少为16位。
(2)因为Rn是16位寄存器,所以可以寻址的目标地址范围是64K,即全部存储器空间。
(3)对应的机器码是2315H,该指令执行后R5的内容变为5679H,地址5678H的内容变为68AC。
44.(12分)某计算机的主存地址空间大小为256MB,按字节编址,指令Cache和数据Cache分离,均有8个Cache行,每个Cache行大小为64B,数据Cache采用直接映射方式,现有两个功能相同的程序A和B,其伪代码如下:
程序A:
inta[256][256];
。
。
。
intsum_array1()
{
inti,j,sum=0;
for(i=0;i<256;i++)
for(j=0;j<256;j++)
sum+=a[i][j];
returnsum;
}
程序B:
inta[256][256];
。
。
。
intsum_array2()
{
inti,j,sum=0;
for(j=0;j<256;j++)
for(i=0;i<256;i++)
sum+=a[i][j];
returnsum;
}
假定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总容量等于cache每一行的容量乘以cache的行数。
大家需要注意的是,本题cache总容量分别等于数据cache和指令cache的全体。
Cache结构一般如下:
V
..
TAG
Data
此处的行即为块(block)。
直接映射下,每块的cache结构如上图。
一般分4个部分,其中:
V:
1位,表示所在的块是否有效。
..:
为用于Cache一致维护和替换算法的控制位。
TAG:
地址转换标记。
如果不计算“..”部分,则Cache的大小由V、TAG、Data(数据)三部分组成。
在直接映射中,可以将地址分成如下三个部分:
TAG
块索引
块内
本题中,总的寻址位数为:
28位(228=258M)
块内为:
6位(26=64),5~0位
块索引:
3位(23=8),8~6位
所以,TAG=28-6-3=19位,27~9位
每行(块)的大小=V+TAG+数据=1+19+64*8位
数据Cache有8行,总容量为:
(1+19+64*8)*8/8=532字节
(2)由于数组在存储器中,按行优先方式存放,每个数组元素占4个字节。
数组首地址为320,因此可知:
a[0][31]在存储器中的地址为:
320+31*4=444=000110111100B
a[1][1]在存储器中的地址为:
320+(256+1)*4=1348=010101000100B
按直接映射,地址分成三部分,块索引在地址的8~6位,所以两地址所对应的块索引分别为:
6(110B)、5(101B)。
(3)数组a中每个数据只用了一次,如果Cache没有命中,则从主存读入一块64B,相当于16个整数。
对于程序A,如果是按行连续存放的,在从主存读入一块到Cache(一次失配)后,随后的15次便都Cache命中。
读一次管16次,所以命中率就是:
15/16*100%=93.75%。
程序B逐列访问数组a,由于Cache的容量太小,读入的数据块留不到下次再用便又被替换。
所以每次都失配,命中率为0。
由于从Cache读数据比从内存读数据快很多,所以程序A的执行过程更短。
2011年全国硕士研究生入学考试计算机统考组成原理试题
12.下列选项中,描述浮点数操作速度指标的是:
A.MIPS
B.CPI
C.IPC
D.MFLOPS
解答:
D
13.float型数据通常用IEEE754单精度浮点数格式表示。
若编译器将float型变量x分配在一个32位浮点寄存器FR1中,且x=-8.25,则FR1的内容是:
A.C1040000H
B.C2420000H
C.C1840000H
D.C1C20000H
解答:
A
解析:
x的二进制表示为-1000.01﹦-1.00001×2^3根据IEEE754标准隐藏最高位的“1”,又E-127=3,所以E=130=10000010
(2)。
数据存储为:
1位数符+8位阶码(含阶符)+23位尾数。
故FR1内容为11000001000001000000000000000000即11000001000001000000000000000000,即C104000H
14.下列各类存储器中,不采用随机存取方式的是:
A.EPROM
B.CDROM
C.DRAM
D.SRAM
解答:
B
解析:
光盘采用顺序存取方式。
15.某计算机存储器按字节编址,主存地址空间大小为64MB,现用4M×8位的RAM芯片组成32MB的主存储器,则存储器地址寄存器MAR的位数至少是:
A.22位
B.23位
C.25位
D.26位
解答:
D
解析:
64MB的主存地址空间,故而MAR的寻址范围是64M,故而是26位。
而实际的主存空间不能代表MAR的位数。
16.偏移寻址通过将某个寄存器内容与一个形式地址相加而生成有效地址。
下列寻址方式中,不属于偏移寻址方式的是:
A.间接寻址
B.基址寻址
C.相对寻址
D.变址寻址
解答:
A
解析:
间接寻址不需要寄存器,EA=(A)。
基址寻址:
EA=A+基址寄存器内容;相对寻址:
EA﹦A+PC内容;变址寻址:
EA﹦A+变址寄存器内容。
17.某机器有一个标志寄存器,其中有进位/借位标志CF、零标志ZF、符号标志SF和溢出标志OF,条件转移指令bgt(无符号整数比较大于时转移)的转移条件是:
解答:
C
解析:
无符号整数比较,如A>B,则A-B无进位/借位,也不为0。
故
而CF和ZF均为0。
18.下列给出的指令系统特点中,有利于实现指令流水线的是:
Ⅰ.指令格式规整且长度一致Ⅱ.指令和数据按边界对齐存放Ⅲ.只有Load/Store指令才能对操作数进行存储访问
A.仅Ⅰ、Ⅱ
B.仅Ⅱ、Ⅲ
C.仅Ⅰ、Ⅲ
D.Ⅰ、Ⅱ、Ⅲ
解答:
D
解析:
指令定长、对齐、仅Load/Store指令访存,以上三个都是RISC的特征。
均能够有效的简化流水线的复杂度。
19.假定不采用Cache和指令预取技术,且机器处于“开中断”状态,则在下列有关指令执行的叙述中,错误的是:
A.每个指令周期中CPU都至少访问内存一次
B.每个指令周期一定大于或等于一个CPU时钟周期
C.空操作指令的指令周期中任何寄存器的内容都不会被改变
D.当前程序在每条指令执行结束时都可能被外部中断打断
解答:
C
解析:
PC会自动加1。
A取指令要访存,B时钟周期对指令不可分割。
20.在系统总线的数据线上,不可能传输的是:
A.指令
B.操作数
C.握手(应答)信号
D.中断类型号
解答:
C
解析:
握手(应答)信号在通信总线上传输。
21.某计算机有五级中断L4~L0,中断屏蔽字为M4M3M2M1M0,Mi=1(0≤i≤4)表示对Li级中断进行屏蔽。
若中断响应优先级从高到低的顺序是L4→L0→L2→L1→L3,则L1的中断处理程序中设置的中断屏蔽字是:
A.11110
B.01101
C.00011
D.01010
解答:
D
解析:
高等级置0表示可被中断,比该等级低的置1表示不可被中断。
22.某计算机处理器主频为50MHz,采用定时查询方式控制设备A的I/O,查询程序运行一次所用的时钟周期数至少为500。
在设备A工作期间,为保证数据不丢失,每秒需对其查询至少200次,则CPU用于设备A的I/O的时间占整个CPU时间的百分比至少是:
A.0.02%
B.0.05%
C.0.20%
D.0.50%
解答:
C
解析:
每秒200次查询,每次500个周期,则每秒最少200×500﹦100000个周期,100000÷50M=0.20%。
解答:
(1)16M=224,故虚拟地址24位,4K=212,故页内地址12位,所以虚页号为前12位;1M=220,故物理地址20位,20-12=8位,故前8位为页框号(物理页号)。
(2)物理地址20位,其中块大小为32B=25B,故块内地址为5位;Cache共8行,8=23,故字块标记为3位;20-5-2=12,故主存字块标记为12位。
(3)001C60H中虚页号为001H=1,查页表知其有效位为1,在内存中;该物理地址对应的页表项中,页框号为04H,故物理地址为04C60H;物理地址04C60H在直接映射方式下,对应的行号为4(3?
),有效位为1,但是标记位为064H(105H?
),不等于04CH,故不命中。
(4)标记11位,组地址1位,页内地址12位,前12位为000000100100,组地址位为最低位的0,第0组中存在标记为012(00000010010)的页,其页框号为1F,故024BACH所在的页面存在主存中。