杭电计算机组成作业答案文档格式.docx
《杭电计算机组成作业答案文档格式.docx》由会员分享,可在线阅读,更多相关《杭电计算机组成作业答案文档格式.docx(15页珍藏版)》请在冰点文库上搜索。
000AH0007H:
000AH
0003H:
0002H0008H:
0002H
0004H:
0007H0009H:
0003H
0005H:
0004H000AH:
0009H
0006H:
0005H000BH:
0008H
指令为双字长指令,格式如下:
操作码,寻址方式码,寄存器号(16位)0002H
直接地址/间接地址/立即数/相对位移量/形式地址(16位)0007H
若当前指令分别为下列寻址方式时,试求出操作数填入下表。
寻址方式
EA=
操作数
直接
0007H
间接
立即
/
变址
0004H+0007H
某机器字长16位,采用单字长指令,每个地址码6位。
试采用操作码扩展技术,设计14条二地址指令,80条一地址指令,60条零地址指令。
请给出指令编码示意图。
双操作数指令格式:
OP(4位)
A1(6位)
A2(6位)
14条双操作数指令
OP=0000
…
OP=1101
单操作数指令格式:
OP(10位)
80条双操作数指令
OP=00
OP=11
无操作数指令格式:
OP(16位)
60条双操作数指令
OP=000
OP=011
设某8位计算机,除HALT指令外,指令均为双字长,格式如下:
OP(4位)
M(2位)
Rd(2位)
A(8位)
Rd为目的操作数的寄存器号,编码分配如下:
00——R0
01——R1
10——R2
11——R3
M为源操作数的寻址方式,编码分配如下:
00—立即数寻址
01—直接寻址
10—相对寻址
11—变址寻址
(变址寄存器为R3)
A为源操作数的立即数、直接地址、间接地址或偏移地址。
OP为操作码,编码分配如下:
0000——ADD
0001——SUB
0010——AND
0011——MOV
0100——JMP
0101——INC(自增1)
……
1111——HALT(动态停机)
其中,
假设:
PC的内容为22H;
变址寄存器R3的内容为30H;
主存部分单元的内容如下:
主存地址:
内容主存地址:
20H:
22H27H:
02H2EH:
00H
21H:
33H28H:
21H2FH:
01H
22H:
35H29H:
0FH30H:
02H
23H:
20H2AH:
48H31H:
03H
24H:
01H2BH:
01H32H:
04H
25H:
20H2CH:
55H33H:
05H
26H:
1DH2DH:
F0H34H:
06H
问:
CPU启动执行指令到停机,期间执行了哪几条指令写出每条指令的功能、寻址方式、操作数及执行结果。
解:
由于(PC)=22H,即程序的第一条指令地址为22H,从22H开始,执行到2DH(HALT指令)为止,共五条指令。
经分析,所有指令的目的操作数的寻址方式均为寄存器寻址方式,为R1。
下面列出每条指令的功能、源操作数的寻址方式、源操作数及执行结果。
PC
助记符
EA
源操作数
执行结果
22H
35H
MOV
直接寻址
20H
(20H)=22H
(R1)=22H
23H
24H
01H
ADD
立即数
——
(R1)=(R1)+20H
=42H
25H
26H
1DH
SUB
变址寻址
(R3)+02H=32H
(32H)=04H
(R1)=(R1)-04H
=3EH
27H
02H
28H
21H
AND
0FH
(R1)=(R1)·
=0EH·
29H
2AH
48H
相对
(PC)+01H
=2CH+01H=2DH
(PC)=2DH
2BH
2CH
55H
2DH
F0H
HALT
停机
《控制器》
6、设某机平均执行一条指令需要两次访问内存,平均需要三个机器周期,每个机器
周期包含4个节拍周期。
若机器主频为25MHz,试回答:
1)若访问主存不需要插入等待周期,则平均执行一条指令的时间为多少
2)若每次访问内存需要插入2个等待节拍周期,则平均执行一条指令的时间是
又多少
(1)
(2)
7、设某机主频为8MHz,每个机器周期包含4个节拍周期,该机平均指令执行速度为1MIPS。
试回答:
1)该机的平均指令周期是多少时间2)平均每条指令周期包含几个机器周期
8、参见图7-41的数据通路,指令“INCR1”将R1寄存器的内容加1,画出其指令周期微程序流程图,并根据表7-11和表7-12写出每一条微指令码。
INCR1;
(R1)+1R1
BTO
OTB
FUNC
FS
S3-S0MCi
空
M6-M0
110
111
000
1
000000
0000010
011
010
0000011
001
0010000
0000100
100
0000001
9、根据图7-41所示的模型机结构和数据通路,写出以下指令从取址到执行的全部微操作序列,说明各条指令需要哪几个机器周期,需要几次访问内存及完成什么操作。
1)SUBA,R,该指令完成(A)-R→(A),源操作数一个为寄存器寻址,目标操作数为指令提供的内存有效地址A。
2)JMP偏移量,该指令完成PC+偏移量→PC。
(1)SUBA,R;
(A)-R→(A)
指令为双字节格式:
OP(SUB)
**
Rd
Addr
所以,共需要8个机器周期,共访存4次。
(2)JMPDISP;
(PC)+DISP→PC
所以,共需要7个机器周期,共访存2次
10、假设某机器主要部件有:
程序计数器PC、指令寄存器IR、通用寄存器R0~R3、暂存器DD1和DD2、ALU、移位器、存储器地址寄存器MAR及存储器M。
1)要求采用单总线结构,画出包含上述部件的逻辑框图,并注明数据流动方向。
2)画出ADD(R1),(R2)指令在取指和执行阶段的操作步骤流程图。
R1寄存器存放目标操作数地址,R2寄存器存放源操作数地址。
3)写出各操作步骤所需的全部微操作命令。
(3)
取ADD指令的微指令
①PC-B#、B-MAR、PC+1
②M-R#、B-IR
③指令译码信号MAP#有效
执行ADD指令的微指令
1R2-B#、B-MAR
2M-R#,B-DD1
3R1-B#、B-MAR
4M-R#,B-DD2
5“+”,ALU-B#,M-W#
11、假设某机共有76条指令,平均每一条指令由11条微指令组成,其中有一条取指令的微指令是所有指令公共的,该机共有微命令31个,微指令的微操作码采用直接控制法。
试问:
1)该机微指令长度为多少
2)控制存储器的容量应为多少
设微指令共有N条,N=76*11-75=761条;
下址字段长为X位,2X≥761,则X≥10
(1)所以,该机微指令长度=31+10=41位
(2)控制存储器的容量应该≥761×
41位,取1024×
41位。
12、某机采用微程序控制方式,其存储器容量为512×
48(位),微程序在整个控制存储器中实现转移,可控制微程序的条件共4个,判别测试字段采用编译法。
微指令采用水平型格式,后继微指令地址采用判定方式,如图所示:
←操作控制→←——————顺序控制————————→
(1)微指令中的三个字段分别应多少位
(2)画出对应这种微指令格式的微程序控制器逻辑框图。
(1)22=4,512=29
控制字段(48-9-2=37位)
判别测试字段(2位)
下址字段(9位)
14、图7-46为某模型机的微程序流程图,图中每一个框表示一条微指令。
在点
(1)处为指令译码后转入指令的微程序入口的多路分支点,由指令寄存器IR的I5I4两位来决定转入哪一个入口。
在点
(2)处根据状态条件F实现条件转移,微指令中判断测试位为直接控制法。
控存容量能容纳图7-46所列出的微指令即可。
1)微指令的判断测试位需要几位二进制微指令的下址字段需要几位
2)在图中标出每条微指令的微地址。
3)写出每条微指令的下址字段内容及判断测试字段码。
4)画出微地址转移逻辑电路图。
所列出的微指令共25条,控存容量能容纳这25条微指令即可,则下址字段长5位;
(1)因为微指令中判断测试位为直接控制法,只有2种转移测试和顺序执行,所以判断测试位需要3位二进制。
(2)假如微指令B的下址字段为10000B,设微程序入口地址根据I5I4两位修改微指令B的下址字段的末两位,则微程序入口地址=100I5I4B。
假如微指令G的下址字段为11000B,设条件转移地址根据F位修改微指令G的下址字段的第1位,则条件转移地址=1100FB。
则每条微指令的微地址如图所示。
(3)设3位判断测试字段码:
判断测试字段码=1H:
顺序执行(后继微地址=下址字段)
判断测试字段码=2H:
微程序入口散转(后继微地址=下址字段末两位ANDI5I4)
判断测试字段码=4H:
条件转移(后继微地址=下址字段第1位ANDF)
微指令
判断测试字段码
下址字段内容
A
1H
N
0CH
B
2H
10H
O
15H
C
P
16H
D
06H
Q
05H
E
0AH
R
09H
F
S
0DH
G
4H
18H
T
0EH
H
07H
U
I
08H
V
J
14H
W
K
03H
X
L
04H
Y
00H
M
(4)