08实验八复杂模型机组成原理实验王伟Word格式文档下载.docx
- 文档编号:19546536
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:18
- 大小:204.93KB
08实验八复杂模型机组成原理实验王伟Word格式文档下载.docx
《08实验八复杂模型机组成原理实验王伟Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《08实验八复杂模型机组成原理实验王伟Word格式文档下载.docx(18页珍藏版)》请在冰豆网上搜索。
1110
1111
指令
CLR
MOV
ADD
SUB
INC
AND
NOT
ROR
ROL
Rs或rd
选定寄存器
00
Ax
01
Bx
10
Cx
9条算术逻辑指令的名称、功能和具体格式见表8-2。
2)存储器访问及转移指令
存储器的访问有两种,即存数和取数。
它们都使用助记符MOV,但其操作码不同。
转移指令只有一种,即无条件转移(JMP)。
指令格式如下:
76
54
M
D
其中OP-CODE为操作码,rd为寄存器。
M为寻址模式,D随M的不同其定义也不相同,如下表所示:
指令说明
写存储器
读存储器
转移指令
寻址模式M
有效地址E
D定义
说明
E=(PC)+1
立即数
立即寻址
E=D
直接地址
直接寻址
11
E=100H+D
扩展直接寻址
注:
扩展直接寻址用于面包板上扩展的存储器的寻址。
3)I/O指令
输入(IN)和输出(OUT)指令采用单字节指令,其格式如下:
addr
其中,当OP-CODE=0100且addr=10时,从“数据输入电路”中的开关组输入数据;
当OP-CODE=0100且addr=01时,将数据送到“输出显示电路”中的数码管显示。
3、指令系统
本实验共有14条基本指令,其中算术逻辑指令8条,访问内存指令和程序控制指令4条。
输入输出指令2条。
表8-1列出了各条指令的格式、汇编符号和指令功能。
汇编符号
指令的格式
功能
MOVrd,rs
ADDrd,rs
SUBrd,rs
1000rsrd
1001rs rd
1010rsrd
rsrd
rs+rdrd
rd-rsrd
INCrd
ANDrd,rs
NOTrd
RORrd
1011rdrd
1100rsrd
1101rdrd
1110rdrd
rd+1rd
rs∧rdrd
rdrd
rd
ROLrd
1111rdrd
MOV[D],rd
001000rd
D
rd[D]
MOVrd,[D]
001001rd
D
[D]rd
MOVrd,D
000001rd
Drd
JMPD
0000 10 00
D
D PC
INrd,KIN
OUTDISP,rd
010010rd
010001rd
KINrd
rdDISP
表8-1实验八指令格式
4.设计微代码
设计三个控制操作微程序:
存储器读操作(MRD):
拨动清零开关CLR对地址、指令寄存器清零后,指令译码输入CA1、CA2为“00”时,按“单步”键,可对RAM连续读操作。
存储器写操作(MWE):
拨动清零开关CLR对地址、指令寄存器清零后,指令译码输入CA1、CA2为“10”时,按“单步”键,可对RAM连续写操作。
启动程序(RUN):
拨动开关CLR对地址、指令寄存器清零后,指令译码输入CA1、CA2为“11”时,按“单步”键,即可转入到第01号“取指”微指令,启动程序运行。
CA1、CA2由控制总线的E4、E5给出。
键盘操作方式时由监控程序直接对E4、E5赋值,无需接线。
开关方式时可将E4、E5接至控制开关CA1、CA2,由开关来控制。
本系统设计的微程序字长共24位,其控制位顺序如下:
24
23
22
21
20
19
18
17
16
151413
121110
987
6
5
4
3
2
1
S3
S2
S1
S0
Cn
WE
1A
1B
F1
F2
F3
uA5
uA4
uA3
uA2
uA1
uA0
F1、F2、F3三个字段的编码方案如表8-2:
F1字段
F2字段
F3字段
选择
000
LDRi
RAG
P1
001
LOAD
ALU-G
AR
010
LDR2
RCG
P3
011
自定义
100
LDR1
RBG
P2
101
LAR
PC-G
LPC
110
LDIR
299-G
P4
111
无操作
表8-2
系统涉及到的微程序流程见图8-2(图中各方框内为微指令所执行的操作,方框外的标号为该条微指令所处的八进制微地址)。
控制操作为P4测试,它以CA1、CA2作为测试条件,出现了写机器指令、读机器指令和运行机器指令3路分支,占用3个固定微地址单元。
当分支微地址单元固定后,剩下的其它地方就可以一条微指令占用控存一个微地址单元随意填写。
机器指令的执行过程如下:
首先将指令在外存储器的地址送上地址总线,然后将该地址上的指令传送至指令寄存器,这就是“取指”过程。
之后必须对操作码进行P1测试,根据指令的译码将后续微地址中的某几位强制置位,使下一条微指令指向相应的微程序首地址,这就是“译码”过程(其原理见图5-4)。
然后才顺序执行该段微程序,这是真正的指令执行过程。
在所有机器指令的执行过程中,“取指”和“译码”是必不可少的,而且微指令执行的操作也是相同的,这些微指令称为公用微指令,对应于图8-2中01、02、75地址的微指令。
75地址为“译码”微指令,该微指令的操作为P
(1)测试,测试结果出现多路分支。
本实验用指令寄存器的前4位(I7-I4)作为测试条件,出现12路分支,占用12个固定微地址单元。
如I7—I4相同,则还需进行P2测试,以指令寄存器的I3、I2位作为测试条件,以区分不同的指令,如MOV指令和IN、OUT指令。
表8-3即为将图8-2的微程序流程按微程序格式转化而成的二进制微代码表。
控制开关
00
P(4)测试
MWE(01)MRD(00)RUN(11)
PCAR,PC+111PCAR,PC+11013
(D_INPUT)D_BUSLT114RAMD_BUSLT11201
LT1RAM74LT1LED73
图8-2微程序流程图
六、实验参考代码:
我们按程序流程图译出适合本实验系统所有机器指令的微代码,供学生自己编程实验,加深对较完整的模型机的认识。
这里只提供以下简单的实验程序:
地址(二进制)指令(二进制)助记符说明
0000000001001000INAx,KIN“开关输入”Ax
0000000100000101MOVBx,01H01HBx
0000001000000001
0000001110010100ADDAx,BxAx+BxAx
0000010011110000ROLAxAx
0000010110000010MOVCx,AxAxCx
0000011001000110OUTDISP,CxCxLED
0000011000001000JMP00H00HPC
0000011100000000
其中MOV、JMP为双字长(32位),其余为单字长指令。
对于双字长指令,第一字为操作码,第二字为操作数;
对于单字长指令只有操作码,没有操作数。
上述所有指令的操作码均为低8位有效,高八位默认为0。
而操作数8位和16位均可。
KIN和DISP分别为本系统专用输入、输出设备。
表8-3为根据本实验程序流程图设计的二进制微代码表:
微地址
S3S2S1S0MCNWE1A1B
UA5--UA0
000000
000000000
111
110
001000
000001
101
000010
000000010
110
111101
000110
101
100101
000111
111
001010
001001
001100
100
111011
001011
000000011
111100
010000
010010
010011
010100
100
010101
000000101
010
010111
000
011000
011001
101010
011010
101100
011011
110010
011100
110011
011101
110110
011110
001100000
110111
011111
111001
100000
000000110
100001
100010
001
010
101011
000
001
101101
110101
000011000
001000000
111000
000100000
111010
000001101
表8-3二进制微代码表
七、实验步骤:
单片机键盘操作方式实验。
在进行单片机键盘控制实验时,必须把K4开关置于“OFF”状态,否则系统处于自锁状态,无法进行实验。
1.实验连线:
实验连线图如图8-3所示。
连线时应按如下方法:
对于横排座,应使排线插头上的箭头面向自己插在横排座上;
对于竖排座,应使排线插头上的箭头面向左边插在竖排座上。
2.写微代码:
(1)将开关K1K2K3K4拨到写状态即K1off、K2on、K3off、K4off,其中K1、K2、K3在微程序控制电路,K4在24位微代码输入及显示电路上。
(2)在监控指示灯滚动显示【CLASSSELECt】状态下按【实验选择】键,显示【ES--__】输入08或8,按【确认】键,显示为【ES08】,再按下【确认】键。
(3)监控显示为【CtL1=_】,输入1显示【CtL1_1】,按【确认】。
(4)监控显示【U-Addr】,此时输入【000000】6位二进制数表示的微地址,然后按【确认】键,监控指示灯显示【U_CodE】,显示这时输入微代码【007F88】,注意输入微代码的顺序,先右后左。
按【确认】键则显示【PULSE】,按【单步】完成一条微代码的输入。
(5)监控重新显示【U-Addr】提示输入表8-4第二条微代码地址。
按照上面的方法输入表8-4微代码,观察微代码与微地址显示灯的对应关系(注意输入微代码的顺序是由右至左)。
微地址(八进制)
微地址(二进制)
微代码(十六进制)
007F88
005B42
02
016FFD
06
015FE5
07
005B4A
005B4C
12
014FFB
13
007FC1
14
01CFFC
005B65
005B47
005B46
007F15
25
02F5C1
27
018FC1
30
0001C1
31
0041EA
32
0041EC
33
0041F2
34
0041F3
35
0041F6
36
3071F7
37
3001F9
40
0379C1
41
010FC1
42
011F41
45
007F20
52
0029EB
53
9403C1
54
0029ED
55
3003C1
62
0003C1
63
0025F5
65
B803C1
66
0C03C1
67
207DF8
70
000DC1
71
107DFA
72
73
06F3C8
74
FF73C9
75
016E10
表8-4实验八微代码表
3.读微代码及校验微代码:
(1)先将开关K1K2K3K4拨到读状态即K1off、K2off、K3on、K4off,按【RESET】按钮对单片机复位,使监控指示灯滚动显示【CLASSSELECt】状态。
(2)按【实验选择】键,显示【ES--__】输入08或8,按【确认】键,显示【ES08】。
再按【确认】键。
(3)监控显示【CtL1=_】时,输入2,按【确认】显示【U_Addr】,此时输入6位二进制微地址,进入读代码状态。
再按【确认】显示【PULSE】,此时按【单步】键,显示【U_Addr】,微地址指示灯显示输入的微地址,微代码显示电路上显示该地址对应的微代码,至此完成一条微指令的读过程。
(4)对照表8-3表检查微代码是否有错误,如有错误,可按步骤2重新输入微代码。
4.写机器指令
(1)先将K1K2K3K4拨到运行状态即K1on、K2off、K3on、K4off,按【RESET】按钮对单片机复位,使监控指示灯滚动显示【CLASSSELECt】状态。
(2)按【实验选择】键,显示【ES--__】输入08或8,按【确认】键,显示【ES08】,再按【确认】。
(3)监控显示【CtL1=_】,按【取消】键,监控指示灯显示【CtL2=_】,输入1显示【CtL2_1】表示进入对机器指令操作状态,此时拨动CLR清零开关(在控制开关电路上,注意对应的JUI应短接)对地址寄存器、指令寄存器清零。
确定清零后,按【确认】显示闪烁【PULSE】。
连续按【单步】键,当微地址显示灯显示“001100”时,按【确认】键,监控指示灯显示【data】,提示输入机器指令“48”或“0048”(两位或4位十六进制数),输入后按【确认】,显示【PULSE】,再按【单步】,微地址显示灯显示“111100”,数据总线显示灯显示“0000000001001000”至此完成第一条机器指令的输入。
(4)再连续按【单步】,微地址显示灯显示“001100”时,按【确认】输入第二条机器指令。
依此规律逐条输入表8-5的机器指令,输完后,可连续按【取消】或【RESET】键退出写机器指令状态。
注意,每当微地址显示灯显示“001100”时,地址指示灯自动加1显示。
如输入指令为8位,则高8位自动变为0。
地址(十六进制)
机器指令(十六进制)
0048
0005
0001
03
0094
04
00F0
05
0082
0046
0008
08
0000
表8-5实验八机器指令表
5.读机器指令及校验机器指令:
在监控指示灯显示【CtL2=_】状态下,输入2,显示【CtL2_2】,表示进入读机器指令状态,按步骤4的方法拨动CLR开关对地址寄存器和指令寄存器进行清零,然后按【确认】键,显示【PULSE】,连续按【单步】键,微地址显示灯显示从“000000”开始,然后按“001000”、“001010”、“111011”方式循环显示。
当微地址灯再次显示为“001000”时,输出显示数码管上显示写入的机器指令。
读的过程注意微地址显示灯,地址显示灯和数据总线指示灯的对应关系。
如果发现机器指令有误,则需重新输入机器指令。
注意:
机器指令存放在RAM里,掉电丢失,故断电后需重新输入。
6.运行程序
在监控指示灯显示【CtL2=_】状态下,输入3,显示【CtL2_3】,表示进入运行机器指令状态,按步骤4的方法拨动CLR开关对地址寄存器和指令寄存器进行清零,使程序入口地址为00H,可以【单步】运行程序也可以【全速】运行,运行过程中提示输入相应的量,运行结束后从输出显示电路上观察结果。
八、实验结果说明
根据本实验的微程序流程图图8-2来观察程序运行的过程,并验证运行结果是否正确。
参考结果:
输入“1111H”,输出显示“2224H”。
Ⅱ、开关控制操作方式实验
本实验中所有控制开关拨动,相应指示灯亮代表高电平“1”,指示灯灭代表低电平“0”。
连线时应注意:
1.在图8-3接线图上更改如下接线:
断开控制总线C1——C6和F4——F1上的接线
数据输入电路DIJ1接数据
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 08 实验 复杂 模型 机组 原理
![提示](https://static.bdocx.com/images/bang_tan.gif)