计算机组成原理应用题.docx
《计算机组成原理应用题.docx》由会员分享,可在线阅读,更多相关《计算机组成原理应用题.docx(45页珍藏版)》请在冰点文库上搜索。
![计算机组成原理应用题.docx](https://file1.bingdoc.com/fileroot1/2023-7/2/709bd682-c18c-4117-8281-880764d4af29/709bd682-c18c-4117-8281-880764d4af291.gif)
计算机组成原理应用题
应用题
1、CPU执行一段程序时,cache完成存取的次数为2420次,主存完成存取的次数为80次,已知cache存储周期为40ns,主存存储周期为240ns,求cache/主存系统的效率和平均访问时间。
正确答案:
解:
先求命中率h
h=nc/(nc+nm)=2420讯2420+80)=0.968
则平均访问时间为ta
ta=0.968>40+(1-0.968)X240=46.4(ns)
r=240詔0=6
cache/主存系统的效率为e
e=1/[r+(1-r)X0.968]=86.2%
2、某机器中,已知配有一个地址空间为
0000H-3FFFH的ROM区域。
现在再用一个RA
M芯片(8KX8)形成40KX16位的RAM
区域,起始地址为6000H,假定RAM芯片有/CS和
/WE信号控制端。
CPU的地址总线为
(读/写),/MREQ(访存)。
要求:
(1)画出地址译码方案。
(2)
A15-A0,数据总线为D15-D0,控制信号为R/W将ROM与RAM同CPU连接。
正确答案:
解:
(1)依题意,主存地址空间分布如右图所示,可选用2片16KX8位的EPROM作为ROM区;10片的8KW位RAM片组成40K>6位的RAM区。
ROM需14位片内地址,而RAM需13位片内地址,故可用A15-A13三位高地址经译码产生片选信号,方案如下:
CS
ROM〕
石门
NC
Y3'Y?
每条线
控制8KX16fit}JtAM
O0(
\0
0c
1_06—
u
YoY]Y2Y3
丫4YjYfiY?
CBA
A14A13
OOOOH
16KX1&他
3FFFH
R01
4000H
SKXieT位
5FFFH
留空
6000H
40KX16S
FFFFH
RAI
(2)如图
3、用16K疋位的DRAM芯片组成64KX32位存储器,画出该存储器的组成逻辑框图。
正确答案:
解:
组成64KX32位存储器需存储芯片数为
N=(64K/16K)X(32位/8位)=16(片)
每4片组成16KX32位的存储区,有A13-A0作为片内地址,用A15,A14经2:
4译码器产生片选信号,逻辑框图如下所示:
4、如下图,当CPU对设备B的中断请求进行服务时,如设备A提出请求,CPU能够响应中断吗?
为什么?
如果设备B一提出请求总能立即得到服务,问怎样调整才能满足此要
正确答案:
解:
(1)CPU不能响应中断
(2)因为同级中断不能嵌套,而A、B设备属于同级中断
(3)如果想要设备B一提出请求即能得到服务,则应该使设备B为最高优先级,这里可将设备B单独接至3级IR,处于最高优先级。
5、设某总线在一个总线周期中并行传送8个字节的数据,假设一个总线周期等于五个总线
时钟周期,总线时钟频率为60MHz,求总线带宽等于多少?
正确答案:
解:
总线带宽=8BX60X1O6/5=96MB/S
6、设在异步串行传输系统中,每秒可传输20个数据帧,一个数据帧包含一个起始位,
数据位,一个奇校验位,一个结束位,试计算其波特率和比特率。
正确答案:
解:
波特率=(1+7+1+1)々0=200波特,
比特率=20X7=140b/s
7、某总线在一个总线周期中并行传送8个字节的数据,假设一个总线周期等于一个总线时钟周期,总线时钟频率为70MHZ,求总线带宽是多少?
正确答案:
解:
设总线带宽用Dr表示,总线时钟周期用T=1/f表示,一个总线周期传送的数据量用D
表示,
根据定义可得:
Dr=T/D=DX1/f=8BX70X106/S=560MB/
8、用异步通信方式传送字符”A”和”8”,数据有7位,偶校验1位。
起始位1位,停止位I位,请分别画出波形图。
正确答案:
解:
字符A的ASCII码为41H=1000001B;
字符8的ASCII码为38H=0111000B;
串行传送波形图为:
注:
B:
起始位C:
校验位S:
停止位
9、某计算机的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之间没有访存冲突)(2009年原题、第八章:
输入输出系统)
正确答案:
试题分析:
(1)在中断方式下,每32位(4B)被中断一次,故每秒中断
0.5MB/4B=0.5X106/4=12.5X104次
要注意的是,这里是数据传输率,所以1MB=106B因为中断服务程序包含18条指令,中
断服务的其他开销相当于2条指令的执行时间,且执行每条指令平均需5个时钟周期,所以,
1秒钟之内用于中断的时钟周期数为
(18+2)X5X12.5X104=12.5X106
因为计算机的CPU主频为500MHz故CPU用于中断的时间占整个CPU时间的百分比是
((12.5X106)/(500X106))X100%=2.5%
(2)在DMA方式下,每秒进行DMA操作
5MB/5000B=5X106/5000=1X103次
因为DMA预处理和后处理的总开销为500个时钟周期,所以1秒钟之内用于DMA操作的时钟周期数为
500X1X103=5X105
故DMA方式下,占整个CPU时间的百分比是
((5X105)/(500X106))X100%=0.1%
10、某机字长8位,用4K*8位的RAM芯片和2K*8位的ROM芯片设计一个容量为16K字的存储器,其中RAM为高8K字,ROM为低2K字,最低地址为0。
(1)地址线和数据线各为多少根?
(2)各种芯片的数量是多少?
(3)请画出存储器结构图及与CPU的连接图。
正确答案:
(1)地址线14根,数据线8根;
(2)2片RAM,1片ROM;
(3)图略。
11、流水线中有三类数据相关冲突:
写后读(RAW)相关;读后写(WAR)相关;写后写(WAW)相关。
判断以下三组指令各存在哪种类型的数据相关。
(1)I1LADR1,A;M(A)R1,M(A)是存储器单元
I2ADDR2,R1;(R2)+(R1)R2
(2)13ADDR3,R4;(R3)+(R4)R3
I4MULR4,R5;(R4)X(R5)R4
(3)I5LADR6,B;M(B)R6,M(B)是存储器单元
16MULR6,R7;(R6)X(R7)R6
正确答案:
解:
(1)写后读(RAW)相关;
(2)读后写(WAR)相关,但不会引起相关冲突;
(3)写后读(RAW)相关、写后写(WAW)相关
12、今有4级流水线分别完成取值、指令译码并取数、运算、送结果四步操作,今假设完
成各步操作的时间依次为100ns,100ns,80ns,50ns。
请问:
(1)流水线的操作周期应设计为多少?
(2)若相邻两条指令发生数据相关,而且在硬件上不采取措施,那么第二条指令要推迟多
少时间进行。
(3)如果在硬件设计上加以改进,至少需推迟多少时间?
正确答案:
解:
⑴流水线的操作时钟周期t应按四步操作中最长时间来考虑,所以t=100ns;
(2)两条指令发生数据相关冲突情况:
ADDR1,R2,R3;R2+R3fR1
SUBR4,R1,R5;R1-R5fR4
两条指令在流水线中执行情况如下表所示
1
2
3
4
5
&
7
AED
IF
ID
EX
WB
SUB
IF
ID
EX
WE
不耒盟措施
If
ID
EX
采取措施
IF
ID
EX
ADD指令在时钟4时才将结果写入寄存器R1中,但SUB指令在时钟3时就需读寄存器R1了,显然发生数据相关,不能读到所需数据,只能等待。
如果硬件上不采取措施,第2
条指令SUB至少应推迟2个操作时钟周期,即t=2X100ns=200ns;
(3)如果硬件上加以改进(采取旁路技术),这样只需推迟1个操作时钟周期就能得到所需数据,即t=100ns。
13、已知某机采用微程序控制方式,其控制存储器容量为:
512>48(位)。
微程序可在整
个控制存储器中实现转移,可控制微程序转移的条件共4个,微指令采用水平型格式,后继
微指令地址采用断定方式。
请问:
(1)微指令中的三个字段分别应为多少位?
(2)画出围绕这种微指令格式的微程序控制器逻辑框图。
正确答案:
解:
(I)假设判别测试字段中每一位作为一个判别标志,那么由于有4个转
移条件,故该字段为4位;又因为控存容量为512单元,所以下地址字段为9位。
微命令字段则是:
(48—4-9)=35位。
(2)对应上述微指令格式的微程序控制器逻辑框图如下图所示。
其中微地址寄存器对应下地址字,P字段即为判别测试字段,控制字段即为微命令字段,
后两部分组成微指令寄存器。
地址转移逻辑的输入是指令寄存器的0P码、各种状态条
件以及判别测试字段所给的判别标志(某一位为1),其输出用于控制修改微地址寄存器
的适当位数,从而实现微程序的分支转移(此例微指令的后继地址采用断定方式)。
14、某机有8条微指令11-18,每条微指令所包含的微命令控制信号如下表所示。
<1br
itr
』盟h*
Ij
s/
匕
h
J
7
J
一
一h
7
J
b1
J
h
*
L
7
11
II
7
7
二
h
一
正确答案:
a-j分别对应10种不同性质的微命令信号。
假设一条微指令的控制字段为8
位,请安排微指令的控制字段格式。
解:
经分析,(e,f,h)和(b,i,j)可分别组成两个小组或两个字段,然后进行译码,可得六个微命令信号,剩下的a,c,d,g四个微命令信号可进行直接控制,其整个控制字段组成如下:
-efk-b-ijacd菖
01:
e01:
b
10:
f10:
i
11:
h11:
j
15、假设某机器有80条指令,平均每条指令由4条微指令组成,其中有一条取指微指令是
所有指令公用的。
已知微指令长度为32位,请估算控制存储器容量。
正确答案:
解:
微指令条数为:
(4-1)$0+仁241条
取控存容量为:
256X32位=1KB
16、参见下图的数据通路,画出取数指令"LDA(R3),RO"的指令周期流程图,其含义是将(R3)为地址的主存单元的内容取至寄存器R0中,标出各微操作控制信号序列。
17、参见下图的数据通路。
画出存数指令"STAR1,(R2)"的指令周期流程图,其含义是
将寄存器R1的内容传送至(R2)为地址的主存单元中。
标出各微操作信号序列。
18、设运算器结构如下图所示,IR为指令寄存器,R1〜R3是三个通用寄存器,其中任何一个都可以作为源寄存器或目标寄存器,A和B是三选一多路开关,通路的选择分别由AS
0、AS1和BSO、BS1控制,S1、S2是ALU的操作性质控制器:
当S1S2=00时,ALU输出B;=01时输出A+B;=10时输出A-B;=11时输出?
B。
另有三条机器指令:
MOV(从源寄存器传送一个数到目标寄存器)、ADD(源寄存器内容于目标寄存器内容相加后送目标
寄存器)和COM(源寄存器内容取反后送目标寄存器)。
假设控存CM仅有16个单元,且
只考虑运算器数据通路的控制,请设计微指令格式。
ALU-BUS
——
4
BL'S
f■w■hi■■■■■■■■■!
!
■■ana■■■■■号|■■■■■■■■、
LDII里」LD迪」LDL翌」LIL翌」
正确答案:
微指令参考格式如下:
AS1ASOBS1BSOS2S1+1ALU-BUSLDIRLDR1LDR2LDR3P1P2A3-pA3
位号123456789
101112131415-18
19、流水线中有写后读、读后写和写后写三种数据相关冲突,试判断下面指令存在哪种类型的数据相关。
11:
ADDR1,R2,R3;R2+R3->R1
12:
SUBR4,R1,R5;R1-R5->R4
正确答案:
解:
在I2指令进入流水线时,可能出现在I1指令写入R1前就读出R1内容,发生了写后读相关。
20、已知CPU结构如下图所示,其中包括一个累加器AC、一个状态寄存器和其他几个寄
存器。
各部分之间的连线表示数据通路,箭头表示信息传递方向。
试完成以下工作:
①写出图中四个寄存器A、B、C、D的名称和作用;②简述完成指令ADDY的数据通路(Y
为存储单元地址,本指令功能为(AC)+(Y)tAC)。
正确答案:
解答:
A-数据缓冲寄存器DR、
B-指令寄存器IR、
C-主存地址寄存器AR、
D-程序计数器PC。
操作的数据通路为:
PCfARfMMfDRfIRfYfAR(MAR)fMMfDR(MDR)fALU^ADD(控制信号)fAC
21、
假定在一个8位字长的计算机中运行如下类C程序段:
(2010年原题、第二章:
运
算方法和运算器)
unsigned
intx=
134;
unsigned
inty=
246;
intm=
x;
intn=y
f;
unsigned
intz1
=x-y;
unsigned
intz2
=x+y;
intk1=
m-n;
intk2=
m+n;
若编译器编译时将8个8位寄存器R1〜R8分别分配给变量x、y、m、n、z1、z2、k1和k2。
请?
?
?
答下列问题。
(提示:
带符号整数用补码表示)
(1)执行上述程序段后,寄存器R1、R5和R6的内容分别是什么?
(用十六进制表示)
(2)执行上述程序段后,变量m和k1的值分别是多少?
(用十进制表示)
(3)上述程序段涉及带符号整数加/减、无符号整数加/减运算,这四种运算能否利用同一个加法器辅助电路实现?
简述理由。
(4)计算机内部如何判断带符号整数加/
系统)
程序A=
inta[256][25C]■
IBB■!
IB■■■■
in-t£ufn_arri71(){inti,j,Surn=0j
iqr(i=0ji<255;3+十)
for(j=0jj<256-j4-十)
Sum+=a[i][J];
returtiSuin;
程序
inta[256][25
6]?
in-tSum_array2()
Linti1j,Sum=0*
foG叩出=0;j<256;J
for(i=0,i<256ji
减运算的结果是否发生溢出?
上述程序段中,哪些带符号整数运算语句的执行结果会发生溢出?
正确答案:
解答:
(1)R仁134=86H,R5=90H,R6=7CH;
134=10000110B=86H;x-y=10000110B-11110110B=10010000B=90H;x+y=1000
0110B+11110110B=01111100B(溢出)
(2)m=-122,k1=-112
m=10000110B,做高位为符号位,则m的原码为11111010B=-122;n=11110110Bn的原码为10001001=-10;k仁m-n=-112。
(3)无符号数和有符号数都是以补码的形式存储,加减运算没有区别(不考虑溢出情况时),只是输出的时候若是有符号数的最高位是符号位。
减法运算求[-x]补的时候,是连同符号位一起按位取反末位加1,但是如果有溢出情况,
这两者是有区别的,所以可以利用同一个加法器实现,但是溢出判断电路不同。
(4)判断方法是如果最高位进位和符号位的进位不同,则为溢出;intk2=m+n;”会溢
出;
三种方法可以判断溢出,双符号位、最高位进位、符号相同操作数的运算后与原操作数的符号不同则溢出。
22、某计算机的主存地址空间大小为256MB,按字节编址,指令Cache和数据Cache分离,均有8个Cache行,每个Cache行大小为64B,数据Cache采用直接映射方
式,现有两个功能相同的程序A和B,其伪代码如下所示:
(2010年原题、第三章:
存储
Sum+=a[i][j1returnSutnja]
优先方式存放,其地址为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的情况。
1程序A的数据访问命中率为93.75%;
2程序B的数据访问命中率为0。
程序A的执行比程序B快得多。
【解析]】
(1)主存容量256MB,按字节寻址的地址位数应为28位,数据Cache分为8行(用3位地址),每行64B(用6位地址),因此Cache中每个字块的Tag字段的位数
应是28-9=19位,还要使用一个有效位,二者合计为20位;因此数据Cache的总容
量应为:
64BX8+(20/8X8)B=532B。
(2)数组a在主存的存放位置及其与Cache之间的映射关系如下图所示。
数组A[0][31]所在的主存块对应的Cache行号是:
(320+31X4)div64=6,
数组A[1][1]所在主存块对应的Cache行号:
((320+256X4+1X4)div64)mod8=5。
所以a[0][31]所在主存块映射到Cache第6行,
a[1][1]所在主存块映射到Cache第5行。
(3)编译时i,j,sum均分配在寄存器中,故数据访问命中率仅考虑数组a的情况。
①这个程序的特点是数组中的每一个int类型的数据只被使用一次。
数组A按行优
先存放,数据Cache正好放下数组半行中的全部数据,即数据的存储顺序与使用次序有更高的吻合度,每个字块存16个int类型的数据,访问每个字块中头一个字不会命中,但接下来的15个字都会命中,访问全部字块都符合这一规律,命中率是15/16,即程序
A的数据访问命中率为93.75%;
②程而程序B是按照数组的列执行外层循环,在内层循环过程中,将连续访问不同行的同一列的数据,不同行的同一列数据使用的是同一个Cache单元,每次都不会命
中,命中率是0,程序执行特别慢。
根据上述计算出的命中率,得出程序B每次取数都
要访问主存,所以程序A的执行比程序B快得多。
23、
正确答案:
试题分析:
指令执行阶段每个节拍的功能和有效控制信号如表2所示。
24、某磁盘存贮器转速为3000转/分,共有4个记录面,每毫米5道,每道记录信息为12288字节,最小磁道直径为230mm,共有275道。
问:
(1)磁盘存贮器的容量是多少?
(2)最高位密度与最低位密度是多少?
(3)磁盘数据传输率是多少?
(4)平均等待时间是多少?
正确答案:
解:
(1)每道记录信息容量=12288字节
每个记录面信息容量=275X12288字节
共有4个记录面,所以磁盘存储器总容量为:
4X275X2288字节=13516800字节
(2)最高位密度D1按最小磁道半径R1计算(R1=115mm):
D仁12288字节/2nR仁17字节/mm最低位密度D2按最大磁道半径R2计算:
R2=R1+(275书)=115+55=170mm
D2=12288字节/2nR2=11.5字节/mm
(3)磁盘传输率C=rN
r=3000/60=50周/秒
N=12288字节(信道信息容量)
C=rN=50X2288=614400字节/秒
(4)平均等待时间=1/2r=1/(2X50)=10毫秒
25、
下图为某16位机的主存空间构成示意图,其中RAM为8K*16的随机存储器,ROM位8K*16位的只读存储器。
仔细分析该图,并按要求答题。
(1)该存储器最大空间有多少?
已经构成的空间有多少?
(2)图中构成的地址空间分布是怎样的?
画岀地址空间分布图。
正确答案:
(1)存储器最大存储空间是64K字,已经构成的空间有24K字;
(2)两个ROM芯片构成存储器的低16K字空间,一个RAM芯片构成存储器的最大地址的8K字空间。
分布图略。
26、某8位机地址16位,用8K*8位的ROM芯片和8K*8位的ram芯片组成