当前位置:文档之家› 带进位运算指令的实现

带进位运算指令的实现

带进位运算指令的实现
带进位运算指令的实现

带进位运算指令的实现

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课程设计总结

通过这次课程设计,对计算机的基本组成、部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,加深了对组成原理理论

课程的理解。通过调试执行程序,对程序执行的流程以及指令间的跳转有了更加深刻的理解,对简单模型机的数据流向也有了一定的了解。

经过近一个星期的实验,也使我认识到理论知识的欠缺,对课本理论知识的理解不够。因此,在今后的学习中,应该多上机学习,以加强理论知识的理解滚固,只有理论与实践想结合才能达到很好的学习效果。

相关主题
文本预览
相关文档 最新文档