计算机组成习题课.docx
《计算机组成习题课.docx》由会员分享,可在线阅读,更多相关《计算机组成习题课.docx(15页珍藏版)》请在冰豆网上搜索。
计算机组成习题课
说明硬布线控制器与微程序控制器的主要不同点。
(1)指令执行步骤的控制方法不同
硬布线控制器是用节拍发生器指明指令执行步骤(机器周期、节拍、工作脉冲);微程序控制器是通过微指令地址的衔接区分指令执行步骤(微周期)。
(3分)
(2)提供微操作控制信号的方案不同
硬布线控制器是用组合逻辑电路直接提供控制计算机各功能部件协同运行所需的控制信号;微程序控制器控制信号是以微程序的方式存放在控制存储器中,控制信号从控制存储器中读出,并经过一个微指令寄存器送到被控制部件。
(3分)
说明TEC-2教学机的运算器三组控制信号的作用及来源。
答:
TEC-2的运算器三组控制信号来源于微指令寄存器。
(2分)
I0~I2选择ALU两个输入数据的来源;(1分)
I3~I5选择ALU的8种运算功能;(1分)
I6~I8:
①选择向外部送出的数据是来自A还是来自ALU,②选择通用寄存器组和Q寄存器如何接收数据(直送、左移、右移)。
(2分)
已知某磁盘存储器转速为2400转/分,每个记录面道数为200道,平均查找时间为60ms,每道存储容量为96Kbit,求磁盘的平均存取时间与数据传输率。
解:
2400转/分=40转/秒
平均等待时间为:
1/40×0.5=12.5(ms)
磁盘平均存取时间为:
60ms+12.5ms=72.5ms(3分)
数据传播率:
Dr=rN,N=96Kbit,r=40转/秒
Dr=rN=40×96K=3840K(bit/s)(3分)
设某磁盘有两个记录面,存储区内直径为2.36in,外直径为5in,内直径处的位密度为52400bpi,转速为2400rpm,设寻道时间在10ms到40ms之间,在一个磁道上写上8KB数据,平均需要多少时间?
解:
每道存储字节数:
Num=*Dimi*Dbit/8=3.14*2.36in*52400bpi/8=48538B
数据传输率:
Dr=n*Num=2400/60*48538=1941520(B/s)(2分)
平均需要时间:
Ta=Ts+Tw+Twrite
=(10+40)/2+1/(2400/60)*0.5*103+8*1024/1941520*103
=25+12.5+4.2=41.7(ms)(4分)
设某机器指令长为16位,每个地址码长为4位,用扩展操作码方法设计指令格式,其中三地址指令14条,二地址指令28条,单地址指令60条,还有若干零地址指令,问零地址指令最多有多少条?
要求给出计算过程。
(本题8分)
解:
三地址指令余下的可用高位编码个数:
(24-14)=2(2分)
用于两地址指令后再余下:
2×24-28=4(2分)
用于单地址指令后最终余下:
4×24-60=4(2分)
所以零地址指令最多有:
4×24=64(条)(2分)
设某机器指令长为16位,每个地址码长为4位,试用扩展操作码方法设计指令格式,其中三地址指令10条,二地址指令90条,单地址指令94条,还有若干零地址指令,问零地址指令最多有多少条?
要求给出操作码分配方案。
解:
零地址指令最多有:
(((24-10)×24-90)×24-94)×24=32(4分)
三地址指令10条,OP:
0000~1001
二地址指令90条,OP:
10100000~11111001
单地址指令94条,OP:
111110100000~111111111101
零地址指令32条,OP:
1111111111100000~1111111111111111
某指令系统指令长16位,每个地址码长6位,指令分为无地址、单地址和双地址三类。
若双地址指令有15条,无地址指令有128条,则单地址指令最多可能有多少条?
要求给出各类指令操作码分配方案。
(本题8分)
解:
单地址指令最多可能有:
{[2(16-12)-15]×26-X}×26=128
所以X=(24-15)×26-128×2-6=62(4分)
双地址指令有15条,OP:
0000~1110
单地址指令62条,OP:
1111000000~1111111101
无地址指令128条,OP:
1111111110000000~1111111110111111
1111111111000000~1111111111111111(4分)
某计算机的Cache采用直接映像,Cache容量为8KB,主存容量为1MB,每个字块有64字节。
请给出主存地址的划分和Cache地址的划分。
(本题8分)
Cache地址划分(4分):
12
6
50
7位块号
6位块内地址
主存地址划分(4分):
1913
126
50
7位组号
7位组内块号
6位块内地址
某计算机的Cache采用全映像相联映像,Cache容量为8KB,
主存容量为1MB,每个字块有64字节。
请说明CPU访问主存的过程。
解:
CPU发出20位主存地址,该地址的高14位块号与Cache各块标记一一比较,若有相等,则命中Cache。
(2分)
与主存高位地址相同的标记对应的Cache块号与低6位主存块内地址组合即获得访问Cache的13位地址。
(2分)
若未命中,直接访问主存,并将主存地址所在的块调入Cache内。
(2分)
一个组相联映像Cache由128个字块构成,每组包含4个字块;主存包含8192个字块,每块由128字组成,访存地址为字地址。
当前cache映像如图所示,判别CPU分别发出560C8H和9CF2AH主存地址时是否命中cache。
若命中,请写出cache的地址。
(本题8分)
标记
Cache
第
0
组
10000100
第0块
10010010
第1块
01010110
第2块
01100110
第3块
第
1
组
01000111
第4块
10001100
第5块
10011100
第6块
10110101
第7块
┇
┇
┇
┇
┇
┇
第
N-2
组
10001001
第120块
10010000
第121块
10011100
第122块
01000111
第123块
第
N-1
组
01000100
第124块
10010011
第125块
01100111
第126块
10010010
第127块
解:
主存地址20位。
主存地址格式:
高8位主存组号、5位组内块号、低7位块内地址。
Cache地址14位。
Cache地址格式:
高5位Cache组号、2位组内块号、低7位块内地址。
①560C8H=01010110000011001000未命中(3分)
②9CF2AH=10011100111100101010命中(3分)
Cache地址11110100101010(2分)
某计算机的Cache采用两路组相联映像,已知Cache容量为8KB,主存容量为1MB,每个字块有64字节。
当前cache映像如图所示。
判别CPU分别发出47FB8H和8C02AH主存地址时是否命中cache。
若命中,请写出cache的地址。
(图中未注明的cache块号表明没有装入主存块。
主存按字节编址。
)(本题8分)
标记
Cache
0
组
10000100
0块
10010010
1块
1
组
01000111
0块
10001100
1块
┇
┇
┇
┇
┇
┇
62
组
10001001
0块
01000111
1块
63
组
01000100
0块
10010010
1块
解:
主存地址20位。
主存地址格式:
高8位主存组号、6位组内块号、低6位块内地址。
Cache地址13位。
Cache地址格式:
高6位Cache组号、1位组内块号、低6位块内地址。
①47FB8H=01000111111110111000命中(3分)
Cache地址1111101111000(2分)
②8C02AH=10001100000000101010未命中(3分)
假设指令格式如下:
15109870
OP
M
A
A:
形式地址;M:
寻址方式,当M=00表示直接寻址,当M=01表示用变址寄存器I1进行寻址,当M=10表示用变址寄存器I2进行寻址,当M=11表示相对寻址。
设(I1)=0563H、(I2)=368DH、(当前PC)=08E8H,试计算下列指令的有效地址。
1)4420H2)2244H3)1322H4)3521H
解:
①4420H=0100010000100000B,M=00为直接寻址,则EA=20H;(2分)
②2244H=0010001001000100B,M=10为用变址寄存器I2进行寻址,
则EA=(I2)+A=368DH+44H=37D1H;(2分)
③1322H=0001001100100010B,M=11为相对寻址,
则EA=(当前PC)+A=08E8H+22H=090AH;(2分)
④3521H=0011010100100001B,M=01为用变址寄存器I1进行寻址,
则EA=(I1)+A=0563H+21H=0584H。
(2分)
某机器字长为16位,存储器按字编址,访问主存指令格式如下:
15109870
OP
M
A
其中OP为操作码,M为寻址方式,A为形式地址,设PC为程序计数器,字长16位,问:
1)下表中各种寻址方式的寻址范围为多少?
2)写出下表中各种寻址方式的有效地址EA的计算公式。
(本题8分)
寻址方式
有效地址EA的计算公式
寻址范围
立即寻址
直接寻址
间接寻址
相对寻址
解:
(每项1分)
寻址方式
有效地址EA的计算公式
寻址范围
立即寻址
EA=(PC)
1个字
直接寻址
EA=A
28个字
间接寻址
EA=(A)
216个字
相对寻址
EA=(PC)+A
28个字(PC附近)
TEC-2实验教学机的简化逻辑框图如下图所示。
(本题12分)
1)说明微程序定序器输入D的来源及相应的使能信号。
2)设计一条机器指令的微程序流程图。
机器指令格式:
15
8
74
30
D4
×
×
ADDR1
ADDR2
实现功能:
(ADDR1)+(ADDR2)→ADDR2。
微程序定序器为Am2910。
输入D有三个来源:
①来自图中的微指令寄存器中的下址字段,使能信号为/PL;②来自图中的地址映像存储器MAPROM,使能信号为/MAP;③来自图中的内部总线,使能信号为/VECT。
(6分)
2)(6分)
TEC-2实验教学机的简化逻辑框图如下图所示。
(本题12分)
1)说明在TEC—2机连续执行的情况下,运算器的A口、B口地址的两种来源。
2)设计一条机器指令的微程序(以流程图表示),并写出验证程序。
机器指令格式:
15
8
74
30
D4
DR
SR
DISP
实现功能:
SR的内容加DISP作为地址,该地址所指主存单元内容送DR。
即:
((SR)+DISP)→DR
解:
1)在联机方式,运算器的A口、B口地址有两个来源:
①来自微指令寄存器A口、B口地址字段——作为寄存器的隐含寻址;
②来自指令寄存器的SR、DR——作为寄存器的显式寻址。
(4分)
2)
(6分)
MOVR1,840
MOVR0,0023
MOV[850],R0
D421
0010
RET
该程序执行结束,若R2=0023,则说明设计正确。
(2分)
EC-2实验教学机的简化逻辑框图如下图所示。
(本题12分)
1)说明运算器的三组控制信号的作用及来源。
2)设计一条机器指令的微程序(以流程图表示)。
机器指令格式:
15
8
74
30
D4
DR
SR
DATA
实现功能:
((DR)+(SR))+DATA→(DR)+(SR)
解:
1)在联机方式,三组控制信号来源于图中的微指令寄存器中的9位三个字段I0~I2、I3~I5、I6~I8。
I0~I2选择ALU两个输入数据的来源;I3~I5选择ALU的8种运算功能;I6~I8:
①选择向外部送出的数据是来自A还是来自ALU,②选择通用寄存器组和Q寄存器如何接收数据(直送、左移、右移)。
(4分)
2)
(8分)
下图所示的数据通路中,GR为通用寄存器组,存储器图中没有画出(访存控制信号包括:
ADS、M/#IO、W/#R,ADS=1表示访存控制信号有效)。
数据通路中的控制信号及序号在表中示出。
设机器指令格式为:
操作码
RS、RD
RS1
DISP
若取数指令LOAD采用取指、计算有效地址、取数、送结果四个机器周期完成,其功能是:
((RS1)+DISP)RD。
1)写出LOAD指令各机器周期所需的控制信号;
2)若采用微程序控制,控存容量为512*34位,微指令采用水平格式,设计微指令格式并给出实现LOAD指令的各微指令编码。
(本题12分)
序号
控制信号
序号
控制信号
序号
控制信号
1
(PC)AB
10
(RS1)ALU
19
ALUGR
2
ALUPC
11
(RS)ALU
20
ALUDR
3
(PC)+1
12
0ALU
21
ALUAR
4
DISPALU
13
(DR)ALU
22
(AR)AB
5
DBIR
14
(PC)ALU
23
ADS
6
DBDR
15
+
24
M/#IO
7
(DR)DB
16
-
25
W/#R
8
RS1GR
17
9
RS、RDGR
18
解:
1)取指:
(PC)AB,ADS=1、M/#IO=1、W/#R=0,DBIR,(PC)+1(2分)
计算有效地址:
RS1GR、(RS1)ALU、DISPALU,“+”,ALUAR(2分)
取数:
(AR)AB,ADS=1、M/#IO=1、W/#R=0,DBDR(2分)
送结果:
(DR)ALU、0ALU,“+”,RDGR,ALUGR(2分)
2)操作控制字段25位、顺序控制字段9位。
取指微指令的编码:
1010100000000000000000110XXXXXXXXX(1分)
计算有效地址:
00010001010000100000100XX000000010(1分)
取数:
0000010000000000000001110000000011(1分)
送结果:
00000000100110100010000XX000000000(1分)