实验六复杂模型机的设计与实现.docx
- 文档编号:7037545
- 上传时间:2023-01-16
- 格式:DOCX
- 页数:14
- 大小:48.60KB
实验六复杂模型机的设计与实现.docx
《实验六复杂模型机的设计与实现.docx》由会员分享,可在线阅读,更多相关《实验六复杂模型机的设计与实现.docx(14页珍藏版)》请在冰豆网上搜索。
实验六复杂模型机的设计与实现
实验五复杂模型机的设计与实现
一、实验目的
综合运用所学计算机原理知识,设计并实现较为完整的计算机。
二、实验设备
Dais-CMX16+计算机组成原理教学实验系统一台,实验用导线若干。
三、数据格式及指令系统
1.数据格式
模型机规定采用定点补码表示数据,且字长为8位,其格式如下:
7
6543210
符号
尾 数
其中第7位为符号位,数值表示范围是:
-1≤X<1。
2.指令格式
模型机设计四大类指令共16条,其中包括算术逻辑指令、I/O指令、访问及转移指令和停机指令。
⑴算术逻辑指令
设计9条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:
7654
32
10
OP-CODE
Rs
Rd
其中,OP-CODE为操作码,Rs为源寄存器,Rd为目的寄存器,并规定:
Rs或Rd
选定的寄存器
00
01
10
11
R0
R1
R2
R3
其中R0=CL;R1=CH;R2=DL;R3=DH
9条算术逻辑指令的名称、功能和具体格式见表5-1。
⑵访问指令及转移指令
模型机设计2条访问指令,即存数(STA)、取数(LDA),2条转移指令,即无条件转移(JMP)、结果为零或有进
位转移指令(BZC),指令格式为:
7
6
54
32
10
0
0
M
2OP-CODE
Rd
D(低八)
D(高八)
其中“00M”为源码段,2OP-CODE为目的码段(LDA、STA指令使用)。
D为十六位地址段(低八在前,高八随后),M为源寻址模式,其定义如下:
寻址模式M
有效地址E
说明
00
01
10
11
E=D
E=(D)
E=(SP)+D
E=(PC)+D
直接寻址
间接寻址
SP变址寻址
相对寻址
⑶I/O指令
输入(IN)和输出(OUT)指令采用单字节指令,其格式如下:
7654
32
10
OP-CODE
00
Rd
⑷停机指令
指令格式如下:
7654
32
10
OP-CODE
00
00
HALT指令,用于实现停机操作。
3.指令系统
本模型机共有16条基本指令,其中算术逻辑指令9条,访问内存指令和程序控制指令4条,输入输出指令2条,其它指令1条。
下表列出了各条指令的格式、汇编符号、指令功能。
表5-1
助记符
指令格式
功 能
LDAM,D,Rd
0
0
M
00
Rd
E→Rd
STAM,D,Rd
0
0
M
01
Rd
Rd→E
JMPM,D
0
0
M
10
00
E→PC
BZCM,D
0
0
M
11
00
当CY=1或Z=1时,E→PC
MOVRd,Rs
0
1
0
0
Rs
Rd
Rs→Rd
ADCRd,Rs
0
1
0
1
Rs
Rd
Rs+Rd+CY→Rd
SBCRd,Rs
0
1
1
0
Rs
Rd
Rs-Rd-CY→Rd
ANDRd,Rs
0
1
1
1
Rs
Rd
Rs∧Rd→Rd
CLRRd
1
0
0
0
00
Rd
0→Rd
INCRd
1
0
0
1
00
Rd
Rd+1→Rd
CPLRd
1
0
1
0
00
Rd
Rd→Rd
RRCRd
1
0
1
1
00
Rd
CY→Rd
RLCRd
1
1
0
0
00
Rd
CY→Rd
INRd,I/O
1
1
0
1
00
Rd
I/O→Rd
OUTRd,I/O
1
1
1
0
00
Rd
Rd→I/O
HALT
1
1
1
1
00
00
停机
图5-1复杂模型机微程序流程图
按照系统建议的微指令格式,参照微指令流程图,将每条微指令代码化,译成二进制代码,并将二进制代码表转换成十六进制格式文件。
M23
M22
M21
M20
M19
M18
M17
M16
M15
M14
M13
M12
M11
M10
M9
M8
M7
M6
M5
M4
M3
M2
M1
M0
E/M
IP
MWR
R/M
目的编码
OP
M
CN
S2
S1
S0
源编码
XP
W
ALU
Iu
IE
IR
Icz
Ids
源编码
目的编码
M10
M9
M8
功能
M19
M18
M17
功能
X2
X1
X0
O2
O1
O0
1
1
1
禁止
1
1
1
禁止
1
1
0
ALU
1
1
0
MAR
1
0
1
SP
1
0
1
BX
1
0
0
IOR
1
0
0
AX
0
1
1
MRD
0
1
1
SP
0
1
0
XRD
0
1
0
IOW
0
0
1
RRD
0
0
1
XWR
0
0
0
PC
0
0
0
RWR
实验所用的机器指令程序:
地址
指令代码
助记符
功能
000
D0
INR0
iol→r0
001
D2
INR2
ioL→r2
002
58
ADCR0,R2
r0+r2→r0
003
41
MOVR1,R0
r0→r1
004
C0
RLCR0
rlcr0
005
0C0000
BZC000H
bzc000h
008
F0
HALT
停机
四、实验方法
㈠键盘操作
⑴首先卸去实验连接,然后按如下操作,把系统工作方式设为“微控/在线”。
在待命状态0下按【减址】键,LCD显示器显示工作模式选项:
按【增址】键,将光标移到“MUD”微程序模式,按【减址】键确定后,系统先询问用户是否使用搭接方式,按【增址】键选择“y”(搭接)或“n”(在线),按【减址】键确定:
接着系统询问用户是否使用扩展I/O方式,按【增址】键选择“y”(扩展I/O)或“n”(微控制器关联),按【减址】键确定:
确定设置后,系统返回待命状态0。
⑵机器程序与对应的微控制程序的写入:
在待令状态下,键入数字键“4”(复杂模型机代号),然后再键入【减址】命令键,实验装置自动装载由数字键定义的模型机机器程序及对应的微程序,装载完毕自动返待令态。
⑶运行程序
①单拍运行:
每按一次【单拍】按钮模型机运行一拍,系统提供可变时序,非“取指”微周期它的节拍按次序循环,在取指微周期按次序循环。
②微单步:
每按一次【单步】命令键运行一条微指令,对照微程序流程,观察微址是否和流程一致。
对照微指令表,观察执行结果是否和理论值一致。
③宏运行(指令单步或宏调用):
每按动一次【宏运】命令键,运行一条机器指令。
对照机器指令程序,观察PC地址是否和流程一致。
④程序运行与暂停:
按动【运行】命令键使模型机进入实时运行状态;在实时运行状态按左下方任一数字键即可暂停模型机程序的运行,以便实验者查看模型机现场。
㈡联机运行
双击桌面“Dais-CMX集成开发环境”图标进入联机模式
在联机状态下,首先应打开mxj4.asm(复杂模型机机器指令及对应微指令代码文件),然后点击工具栏“装载”按钮开始装载,如源程序无语法错误即可完成装载,进入调试状态。
可点击工具栏快捷按钮,详细操作如下:
单节拍:
单击菜单“运行→单拍运行微指令”命令或单击工具栏“单拍”按钮,以单节拍方式按T1~T4顺序逐步运行微程序。
单周期:
单击菜单“运行→单步运行微指令”命令或单击工具栏“微单步”按钮,以单周期(T1~T4为一个机器周期)方式逐步运行微程序。
应用级调试
在机器指令的层面进行逐步调试,面向应用程序,帮助用户了解机器指令的执行结果。
单步机器指令:
单击菜单“运行→单步运行机器指令”命令或单击工具栏“单步”按钮,以逐步指令方式执行机器程序,遇CALL调用时跟踪进入。
宏单步机器指令:
单击菜单“运行→宏单步运行机器指令”命令或单击工具栏“宏单步”按钮,以逐步指令方式执行机器程序,遇CALL调用时跨越执行。
全速运行
单击菜单“运行→全速运行”命令或单击工具栏“运行”按钮,忽略实现细节,以全速方式运行机器指令、微指令,用来验证应用程序的运行结果。
暂停与复位
暂停:
当实验系统进入全速运行、自动单步等状态时,可随时单击菜单“运行→暂停”命令或单击工具栏“暂停”按钮,使实验系统暂停当前运行的程序,并展现暂停后的模型机现场,帮助用户观察各部件的状态。
复位:
在待命状态下,单击菜单“运行→复位”命令或单击工具栏“复位”按钮,可对模型机进行复位操作,初始化所有寄存器和标志位。
注:
复位操作不会破坏程序存储器、微程序存储器的内容。
表5-2 复杂模型机微指令表
微址
M23
M22
M21
M20
M19
M18
M17
M16
代码
M15
M14
M13
M12
M11
M10
M9
M8
代码
M7
M6
M5
M4
M3
M2
M1
M0
代码
后续微址
说明
E/M
IP
MWR
R/M
o2
o1
o0
OP
M
CN
S2
S2
S0
X2
X1
X0
XP
W
ALU
Iu
IE
IR
Icz
Ids
000
1
1
1
1
1
1
1
1
ff
1
1
1
1
1
1
1
1
ff
1
1
1
1
1
1
1
1
ff
+1
空操作
001
1
0
1
1
1
1
1
1
bf
1
1
1
1
1
0
1
1
fb
1
1
1
1
1
0
1
0
fa
可变
ibus→ir
400
0
1
1
1
0
0
0
1
71
1
1
1
1
1
0
1
1
fb
1
1
1
0
1
1
0
1
ed
001
Em→rd
408
0
1
0
1
1
1
1
1
5f
1
1
1
1
1
0
0
1
fb
1
1
1
0
1
1
0
1
ed
001
rd→Em
410
0
0
1
1
1
1
1
1
3f
1
1
0
0
0
1
1
0
c6
0
0
1
0
1
1
0
1
2d
001
bx→pc
418
1
1
1
1
1
1
1
1
ff
1
1
0
0
0
1
1
0
ff
1
1
1
1
0
1
0
0
f4
420+cz
条件变址
420
1
1
1
1
1
1
1
1
ff
1
1
1
1
1
1
1
1
ff
1
1
1
0
1
1
0
1
ed
001
空操作
421
0
0
1
1
1
1
1
1
3f
1
1
0
0
0
1
1
0
c6
0
0
1
0
1
1
0
1
2d
001
bx→pc
600
1
1
1
1
1
0
1
0
fa
1
1
1
1
1
0
1
1
fb
1
1
1
1
1
1
1
1
ff
+1
Em→bl
601
1
0
1
1
1
0
1
1
bb
1
1
1
1
1
0
1
1
fb
1
1
1
1
1
1
1
1
ff
+1
Em→bh
602
1
0
1
1
1
1
0
0
bc
1
1
0
0
0
1
1
0
c6
0
0
1
0
0
1
1
0
26
400+op
bx→ar
620
1
1
1
1
1
0
1
0
fa
1
1
1
1
1
0
1
1
fb
1
1
1
1
1
1
1
1
ff
+1
Em→bl
621
1
0
1
1
1
0
1
1
bb
1
1
1
1
1
0
1
1
fb
1
1
1
1
1
1
1
1
ff
+1
Em→bh
622
1
1
1
1
1
1
0
0
fc
1
1
0
0
0
1
1
0
c6
1
1
1
1
1
1
1
1
ff
+1
bx→ar
623
0
1
1
1
1
0
1
0
7a
1
1
1
1
1
0
1
1
fb
0
0
1
0
1
1
1
1
2f
602
Em→bx
640
1
1
1
1
1
0
1
0
fa
1
1
1
1
1
0
1
1
fb
1
1
1
1
1
1
1
1
ff
+1
Em→bl
641
1
0
1
1
1
0
1
1
bb
1
1
1
1
1
0
1
1
fb
1
1
1
1
1
1
1
1
ff
+1
Em→bh
642
1
1
1
1
1
0
0
0
f8
1
1
1
1
1
1
0
1
fd
0
0
1
0
1
1
1
1
2f
663
ri→ax
643
1
1
1
1
1
0
1
0
FA
0
1
1
0
0
1
1
0
66
0
0
1
0
1
1
1
1
2F
602
A+B→BX
续下表……
……继上表
微址
M23
M22
M21
M20
M19
M18
M17
M16
代码
M15
M14
M13
M12
M11
M10
M9
M8
代码
M7
M6
M5
M4
M3
M2
M1
M0
代码
后续微址
说明
E/M
IP
MWR
R/M
o2
o1
o0
OP
M
CN
S2
S2
S0
X2
X1
X0
XP
W
ALU
Iu
IE
IR
Icz
Ids
660
1
1
1
1
1
0
1
0
fa
1
1
1
1
1
0
1
1
fb
1
1
1
1
1
1
1
1
ff
+1
Em→bl
661
1
0
1
1
1
0
1
1
bb
1
1
1
1
1
0
1
1
fb
1
1
1
1
1
1
1
1
ff
+1
Em→bh
662
1
1
1
1
1
0
0
0
f8
1
1
1
1
1
0
0
0
f8
0
0
1
1
1
1
1
1
3f
+1
pc→ax
663
1
1
1
1
1
0
0
0
f8
1
1
1
1
0
1
1
0
F6
0
0
1
0
1
1
1
1
2f
643
aX-1
680
1
1
1
1
0
0
0
1
f1
1
1
1
1
1
0
0
1
f9
0
1
1
0
1
1
0
1
6d
001
rs→rd
6a0
1
1
1
1
1
0
1
0
fa
1
0
1
1
1
0
0
1
b9
0
1
0
1
1
1
1
1
5f
+1
rs→bl
6a1
1
1
1
1
1
0
0
0
f8
1
1
1
1
1
0
0
1
f9
1
1
0
1
1
1
1
1
df
+1
rd→al
6a2
1
1
1
1
0
0
0
1
f1
0
1
0
0
0
1
1
0
46
0
1
0
0
1
1
0
1
4d
001
a+b+c→rd
6c0
1
1
1
1
1
0
1
0
fa
1
0
1
1
1
0
0
1
b9
0
1
0
1
1
1
1
1
5f
+1
rs→bl
6c1
1
1
1
1
1
0
0
0
f8
1
1
1
1
1
0
0
1
f9
1
1
0
1
1
1
1
1
df
+1
rd→al
6c2
1
1
1
1
0
0
0
1
f1
0
1
0
0
1
1
1
0
4e
0
1
0
0
1
1
0
1
4d
001
a-b-c→rd
6e0
1
1
1
1
1
0
1
0
fa
1
0
1
1
1
0
0
1
b9
0
1
0
1
1
1
1
1
5f
+1
rs→bl
6e1
1
1
1
1
1
0
0
0
f8
1
1
1
1
1
0
0
1
f9
1
1
0
1
1
1
1
1
df
+1
rd→al
6e2
1
1
1
1
0
0
0
1
f1
1
1
1
0
1
1
1
0
ee
0
1
0
0
1
1
0
1
4d
001
a&b→rd
700
1
1
1
1
0
0
0
1
f1
1
1
0
1
1
1
1
0
de
0
1
0
0
1
1
0
1
4d
001
0→rd
720
1
1
1
1
1
0
0
0
f8
1
1
1
1
1
0
0
1
f9
1
1
0
1
1
1
1
1
df
+1
rd→al
721
1
1
1
1
0
0
0
1
f1
1
1
1
1
0
1
1
0
f6
0
1
0
0
1
1
0
1
4d
001
a+1→rd
740
1
1
1
1
1
0
0
0
f8
1
1
1
1
1
0
0
1
f9
1
1
0
1
1
1
1
1
df
+1
rd→al
741
1
1
1
1
0
0
0
1
f1
1
1
0
0
1
1
1
0
ce
0
1
0
0
1
1
0
1
4d
001
a取反→rd
760
1
1
1
1
1
0
0
0
f8
1
1
1
1
1
0
0
1
f9
1
1
0
1
1
1
1
1
df
+1
rd→al
761
1
1
1
1
0
0
0
1
f1
0
1
0
1
1
1
1
0
5e
0
1
0
0
1
1
0
1
4d
001
ac右移→rd
780
1
1
1
1
1
0
0
0
f8
1
1
1
1
1
0
0
1
f9
1
1
0
1
1
1
1
1
df
+1
rd→al
781
1
1
1
1
0
0
0
1
f1
0
1
0
1
0
1
1
0
56
0
1
0
0
1
1
0
1
4d
001
ac左移→rd
7a0
1
1
1
1
0
0
0
1
f1
1
1
1
1
1
1
0
0
fc
0
1
1
0
1
1
0
1
6d
001
i/o→rd
7c0
1
1
1
1
0
1
0
1
f5
1
1
1
1
1
0
0
1
f9
1
1
1
0
1
1
0
1
ed
+1
rd→i/o
7e0
1
1
1
1
1
0
0
0
f8
1
1
1
1
1
0
0
0
f8
0
0
0
1
1
1
1
1
1f
+1
pc→ax
7e1
0
0
1
1
1
1
1
1
3f
1
1
0
1
0
1
1
0
d6
0
0
0
0
1
1
0
1
0d
001
a-1→pc
5、实验报告
1.总结本次复杂模型机的机器指令类型。
2.将实验时用到的那几条机器指令转化成对应的微指令。
以单拍方式进行描述。
3.自己设计1条机器指令,并设计这条机器指令对应的微指令。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 复杂 模型 设计 实现