基本模型机的设计
——跳转、转移指令的实现
课程设计的目的及设计原理
实验目的
1)通过使用软件HKCPT,了解程序的编译、加载的过程,通过模型机了解计算机的执行指令的工作原理。
2)通过微单步、单拍调试,理解模型机中的数据流向。
3)通过脱机模式直接从键盘输入存储器16进制指令,然后逐个执行各条指令,了解指令实现的过程。
4)熟悉微程序控制的原理,掌握微程序的编制、写入并观察运行状态。明白每一条指令在内存、CPU中的存取和执行流程。
设计原理
在模型机中,各部件单元的控制信号是人为模拟产生的,本次实验能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。
在微程序控制单元,微指令采用全水平不编码的方式,每个微操作控制信号由一位微代码表示。用增量的方式来控制微代码的运行顺序,每一条指令微程序连续存放在微指令存储器连续的单元中。在微程序存储器的0单元存放取指指令,在启动时清零微地址寄存器,执行取指指令。
根据设计要求给出模型机的逻辑框图
ADDRESSBUS
IR2-O
PC-O
ALU-O
CY
ZD
DATA BUS
微地址
ALU
DR1
DR2
累加器 A
374
374
374
374
244
244
166*2 PC
244
244
374 IR2
RAM程序
374指令寄存器
6264*3
指令译码
163*2 微地址寄存器
模型机的逻辑框图
设计指令系统,并着重分析跳转、转移指令格式
指令系统如下:
指令助记符
指令功能
指令编码
微周期
微操作
MOV A,#82
82->A
5F
T0:
T1:
RAM->数据总->A
取指微指令
RRC A
C、A右移1位
AF
T0:
T1:
A>>1、置CY
取指微指令
MOV A,#22
22->A
5F
T0:
T1:
RAM->数据总->A
取指微指令
RLC A
C、A左移1位
9F
T0:
T1:
A<<1、置CY
取指微指令
MOV R0,#40
22->R0
6C 6D 6E 6F
T0:
T1:
RAM->数据总线->A 取指微指令
MOV A,#18
18->A
5F
T0:
T1:
RAM->数据总->A
取指微指令
RLC A
C、A右移1位
9F
T0:
T1:
A<<1、置CY
取指微指令
JZ 08
A=0,08->PC
B3
T0:
T1:
条件成立:RAM->PC
ADD A, R0
(A)+(R0)->A
0C
0D
0E
0F
T0:
T1:
T2:
T3:
A->数据总线->DR1
R0->数据总线->DR2
ALU->数据总线->A,置CY
取指微指令
JC 12
Cy=0
ADDR->PC
B3
T0:
T1:
条件成立:RAM-〉PC
取指微指令
JMP 0A
0A->PC
BF
T0:
RAM->PC
MOV R1,#42
42->R1
5F
T0:
T1:
RAM->数据总线->A
取指微指令
ADD A,R1
(A)+(R1)->A
0C
0D
0E
0F
T0:
T1:
T2:
T3:
A->数据总线->DR1
R0->数据总线->DR2
ALU->数据总线->A,置CY
取指微指令
STA 40
(A)->40
8F
T0:
T1:
T2:
RAM->数据总线->IR2
IR2->地址总线
A->RAM
取指微指令
HALT
停机
FF
T0:
停机
计算机指令格式如下:
操作码
操作数地址1
操作数地址2
操作数地址3
在本实验平台的硬件设计中,采用24位微指令,由于本实验中,模型机指令系统规模较小,功能也不太复杂,,用指令操作码的高4位作为核心扩展成8位的微程序入口地址MD0-MD7,这种方法称为”按操作码散转”。
指令格式分析
本实验中设计跳转、转移指令,JC(有进位跳转)、JZ(A为0跳转),JMP(直接跳转)以及加法指令 ADD A,R0,移位指令RLC,RRC。其中,各个指令的功能如下解释:
JC ADDR 当CY有进位时跳转到ADDR 的指令。
JZ ADDR 当A中为零时跳转到ADDR的指令。
JMP ADDR 当
组成原理课程设计 来自淘豆网m.daumloan.com转载请标明出处.