带进位运算指令的实现
1 实验题目
基本模型机的设计--------带进位运算指令的实现
2 实验目的及原理
2.1 实验目的
通过对一个简单计算机的设计,对计算机的基本组成、部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,加深对理论课程的理解。
熟悉HKCPT操作平台,并通过使用软件HKCPT,了解程序编译、加载的过程。同时,培养动手能力,独立解决问题的能力。
2.2 实验原理
在各个模块试验中,各模块的控制信号都由试验者手动模拟产生。而在真正的试验系统中,模型机的运行是在微程序的控制下进行的,可以实现特定指令的功能。在本试验平台中,模型机从内存中取出、解释、执行机器指令都将由微指令和与之相配合的时序来完成,即一条机器指令对应一个微程序。
3 模型机的逻辑框图
下图中包括运算器、存储器、微控器、输入设备、输出设备以及寄存器。这些部件的动作控制信号都有微控器根据微指令产生。需要特别说明的是由机器指令构成的程序存放在存储器中,而每条机器指令对应的微程序存储在微控器中的存储器中。
4设计指令系统,并分析指令格式
由于实验平台内采用的是8位数据总线和8位地址总线方式,在设计指令系统时,应考虑有哪几种类型的指令,哪几种寻址方式和编码方式。
4.1指令类型
①算术/逻辑运算类指令:例如,加法、减法、取反、逻辑运算:
ADD A, Ri , SUB A, Ri
②移位操作类指令:例如,带进位或不带进位的移位指令:
RRC A, RR A
③数据传输类指令:例如,CPU内部寄存器之间数据传递:
MOV A, Ri , MOV Ri,A
④程序跳转指令:跳转指令分为无条件跳转和有条件跳转指令。
JMP addr
JZ addr
⑤存储器操作类指令:存储器读/写指令。例如,
LDA addr
4.2指令格式分析
Intel 8086/8088指令字较短,所以指令采用变长指令字结构。指令格式包括单指令、双字长指令、三字长指令等多种。指令长度为1~6字节不等,既有8位、16位、24位、32位、40位和48位6种,其中第一个字节为操作码;第2个字节指出寻址方式;第3个至第6个字节则给出操作数地址等。基本指令格式如下:
4.3操作数寻址方式及编码
4.3.1直接地址寻址
例如,双字节指令:
LDA ADDR (ADDR)->A STA ADDR (A)->ADDR
第1字节(操作码) 第2字节(操作数地址)
4.3.2寄存器直接寻址
指令字节中含有寄存器选择码,决定选哪个寄存器进行操作。例如,双字节指令:MOV
RI,#DATA DATA->RI
单字节(操作码与RI 选择码)
4.3.3寄存器间接寻址
第2字节(DATA )
例如,单字节指令: MOV A,@RI (RI)->A
4.3.4立即数寻址
例如:
RI 选择码 操作码
5微指令设计
表格中的位数对应的关系如下:
23 22 21 20 19 18 17 16 15 14 13 12 11 10 MLD WM RM EIR1 EIR2 IR2-O PC-O ELP RR WR HALT X0 X1 ERA 9 8 7 6 5 4 3 2 1 0
6 源程序、程序的指令代码及微程序
6.1指令如下:
MOV A,#81
RRC A
MOV A,#18
RLC A
MOV R0,#40
MOV A,#18
RCL A
ADD A,R0
JC 10
JMP 0A
STA 20
HALT
6.2相应微程序如下:
7 模型机当中时序的设计安排
由于模型机已经确定了指令系统,微指令采用全水平不编码纯控制场的格式,微程序
的入口地址采用操作码散转方式,微地址采用计数增量方式,所以可确定模型机中时序单元所产生的每一拍的作用。
由监控单元产生一个PLS-O的信号来控制时序产生。PLS-O信号经过时序单元的处理产生了4个脉冲信号。4个脉冲信号组成一个微指令周期,为不同的寄存器提供工作脉冲。
PLS1 微地址寄存器的工作脉冲,用来设置微程序的首地址及微地址加1。
PLS2 PC计数器的工作脉冲,根据微指令的控制实现PC计数器加1和重置PC计数器加1和重置PC计数等功能。
PLS3 把24微指令打入3片微指令锁存器。
PLS4 把当前总线上的数据打入微指令选通的寄存器中。
8 微指令
使用软件HKCPT的联机与脱机方式的实现过程
微指令如下:
9累加器A和有关寄存器、存储器的变化以及数据流程:
1 2
3 4
5 6
7 8
9
10
11 12
13
14
15
16
17 18
19 20
10课程设计总结
通过这次课程设计,对计算机的基本组成、部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,加深了对组成原理理论
课程的理解。通过调试执行程序,对程序执行的流程以及指令间的跳转有了更加深刻的理解,对简单模型机的数据流向也有了一定的了解。
经过近一个星期的实验,也使我认识到理论知识的欠缺,对课本理论知识的理解不够。因此,在今后的学习中,应该多上机学习,以加强理论知识的理解滚固,只有理论与实践想结合才能达到很好的学习效果。