实验八、复杂模型机组成原理实验
模型结构:
模型机结构框图
图中运算器ALU由U7--U10四片74LS181构成,暂存器1由U3、U4两片74LS273构成,暂存器2由U5、U6两片74LS273构成。微控器部分控存由U13--U15三片2816构成。除此之外,CPU的其他部分都由EP1K10集成。
存储器部分由两片6116构成16位存储器,地址总线只有低八位有效,因而其存储空间为00H--FFH。
输出设备由底板上的四个LED数码管及其译码、驱动构成,当D-G和W/R均为低电平时将数据总线的数据送入数码管显示。在开关方式下,输入设备由16位电平开关及两个三态缓冲芯片74LS244构成,当DIJ-G为低电平时将16位开关状态送上数据总线。在键盘方式或联机方式下,数据可由键盘或上位机输入,然后由监控程序直接送上数据总线,因而外加的数据输入电路可以不用。
本系统的数据总线为16位,指令、地址和程序计数器均为8位。当数据总线上的数据打入指令寄存器、地址寄存器和程序计数器时,只有低八位有效。
工作原理:
数据格式:
本实验计算机采用定点补码表示法表示数据,字长为16位,格式如下:
15
14 13 .................. 0
符 号
尾 数
其中,第16位为符号位,数值表示范围是:-32768 -- 32767。
指令格式:
(1)算术逻辑指令
设计9条单字长算术逻辑指令,寻址方式采用寄存器直接寻址。其格式如下:
7 6 5 4
3 2
1 0
OP-CODE
rs
rd
OP-CODE
0111
1000
1001
1010
1011
1100
1101
1110
1111
指令
CLR
MOV
ADD
SUB
INC
AND
NOT
ROR
ROL
其中OP-CODE为操作码,rs为源寄存器,rd为目的寄存器,并规定:
rs 或 rd
选定寄存器
00
Ax
01
Bx
10
Cx
存储器访问及转移指令
存储器的访问有两种,存数和取数。它们都使用助记符MOV,但操作码不同。转移指令只有一种,及无条件转移(JMP)。指令格式如下:
7 6
5 4
3 2
1 0
00
M
OP-CODE
rd
D
其中OP-CODE为操作码,rd为寄存器。M为寻址模式,D随M的不同其定义也不同,如下表所示:
操作码表
OP-CODE
00
01
10
指令说明
写存储器
读存储器
转移指令
寻址模式表
寻址模式M
有效地址E
D定义
说明
00
E=(PC)+1
立即数
立即寻址
10
E=D
直接地址
直接寻址
11
E=100H+D
直接地址
扩展直接寻址
(3)I/O指令
输入(IN)和输出(OUT)指令采用单字节指令,其格式如下:
操作码表
7 6 5 4
3 2
1 0
OP-CODE
addr
rd
其中,当OP-CODE=0100且addr=10时,从“数据输入电路”中的开关组输入数据;当OP-CODE=0100且addr=01时,将数据输入到“输出显示电路”中的数码管显示。
指令系统:
本实验共有十四条基本指令,其中算术逻辑指令8条,访问内存指令和程序控制指令4条,输入输出指令2条。下表列出了各条指令的格式,汇编符号和指令功能。
设计微代码:
设计三个控制操作微程序:
存储器读操作(MRD):拨动清零开关CLR对地址、指令寄存器清零后,指令译码输入CA1、CA2为“00”时,按“单步”键,可对RAM连续读操作。
存储器写操作(MWE):拨动清零开关CLR对地址、指令寄存器清零后,指令译码输入CA1、CA2为“10”时,按“单步”键,可对RAM连续写操作。
启动程序(RUN):拨动清零开关CLR对地址、指令寄存器清零后,指令译码输入CA1、CA2为“11”时,按“单步”键,即可转入到第01号“取指”微指令,启动程序运行。
本系统设计的微程序字长共24位,其控制位顺序如下:
24
23
22
21
20
19
18
17
16
15 14 13
12 11 10
9 8 7
6
5
4
3
2
1
S3
S2
S1
S0
M
Cn
WE
1A
1B
F1
F2
F3
uA5
uA4
uA3
uA2
uA1
uA0
F1、F2、F3三个字段的编码方案如下表:
F1字段
F2字段
F3字段
15 14 13
选择
12 11 10
选择
9 8 7
选择
0 0 0
LDRi
0 0 0
RAG
0 0 0
P1