当前位置:文档之家› 组成原理第五次实验报告

组成原理第五次实验报告

成绩:计算机原理实验室实验报告
课程:计算机组成原理
姓名:
专业:软件工程
学号:
日期:2015年12月
太原工业学院
计算机工程系
实验五:微程序设计实验
实验日期2015.12.15 实验环境Dais-CMH+/CMH 计算器组成原理教学实验系统
一台
一.实验内容
1.在指导教师演示并讲解的模型机原理图基础上,写出运行原理的过程,清楚指明所分析的数据的代表意义。

2.会使用文档查阅相关信息,进一步理解、掌握此次实验。

3.理解微程序执行过程
4.设计并实现指令的微程序执行过程。

5. 在掌握部件单元电路实验的基础上,进一步将其组成系统地构造一台基本模型计算机。

6. 为其定义5条机器指令,并编写相应的微程序,上机调试掌握整机概念。

二.理论分析或算法分析
部件实验过程中,各部件单元的控制信号是以人为模拟产生为主,而本次实验将能在微程序控制下自动产生各部件单元的控制信号,实现特定指令的功能。

这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。

本实验采用五条机器指令:IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如下(前三位为操作码):
助记符机器指令码说明
IN R0 0010 0000 数据开关内容状态→R0
ADD R0, [addr] 0100 0000 XXXXXXXX R0+[addr]→R0
STA [addr], R0 0110 0000 XXXXXXXX R0→[addr]
OUT [addr],LED 1000 0000 XXXXXXXX [addr]→LED
JMP addr 1010 0000 XXXXXXXX addr→PC
其中IN为单字节(8位),其余为双字节指令,XXXXXXXX为addr对应的二进制地址码。

根据以上要求设计数据通路框图,如实验电路图所示。

系统涉及到的微程序流程见程序流程图,当拟定“取指”微指令时,该微指令的判别测试字段为P(1)测试。

由于“取指”微指令是所有微程序都使用的公用微指令,因此P(1)的测试结果出现多路分支。

本机用指令寄存器的前3位(IR7~IR5)作为测试条件,出现8路分支,占用8个固定微地址单元。

当全部微程序设计完毕后,应将每条微指令代码化,“二进制微代码表”为微程序流程图按微指令格式转化而成。

中的操作码译码强置微控器单元的微地址,使下一条微指令指向相应的微程序首地址。

下面介绍指令寄存器(IR):指令寄存器用来保存当前正在执行的一条指令。

当执行一条指令时,先把它从内存取到BUS总线上,然后再传送至指令寄存器。

指令划分为操作码和地址码字段,由二进制数构成,为了执行任何给定的指令,必须对操作码进行测试P(1),通过节拍脉冲T4的控制以便识别所要求的操作。

“B7指令寄存器”根据指令本系统有两种外部I/O设备,一种是二进制代码开关,它作为输入设备(INPUT DEVICE);另一种是LED 块,它作为输出设备(OUTPUT DEVICE)。

例如:输入时,二进制开关数据直接经过三态门送到外部数据总线上,只要开关状态不变,输入的信息也不变。

输出时,将输出数据送到外部数据总线上,当LDED有效时,将数据打入输出锁存器,驱动LED显示。

三.实现方法(含实现思路、程序流程图、实验电路图和源程序列表等)
组成原理实验原理模型演示图
基本模型机数据通路框图
基本模型机微程序流程图
按照系统建议的微指令格式,参照微指令流程图,将每条微指令代码化,译成二进制代码表,并将二进制代码表转换成十六进制格式文件。

本实验设计的机器指令程序如下:
地址(二进制)内容(二进制)助记符说明
0000 0010 0000 IN R0 数据开关内容→R0
0001 0100 0000 ADD R0,[09H] R0+[09H]→R0
0010 0000 1001
0011 0110 0000 STA [0BH],R0 R0→[0BH]
0100 0000 1011
0101 1000 0000 OUT [0BH],LED [0BH]→LED
0110 0000 1011
0111 1100 0000 JMP 00H 00H→PC
1000 0000 0000
1001 0101 0101 自定
1010 1010 1010 自定
1011 求和结果
四.实验结果分析(含执行结果验证、输出显示信息、图形、调试过程中所遇的问题及处理方法等)对于此次试验,鉴于指导教师的要求,在下面的叙述中,将详细解释五条指令中的2,4,5三条指令即
2.
4.
5.
在2、4、5指令的前四位0001,0101,0111是顺序执行的二进制带代码每次加0001,由于使用了4字节表示,所以第二个四位0100—>0100是每次增加一个字节,即每次增加10000(32),在ADD执行的时候,把求和的两位数字的结果又放回了第一位操作数的地址,在
存放位置的下一个字节处,取出使LED 灯显示,最后一条指令为无条件转移,在微指令中00000000 00000000 001000 1第19位为1表示(MDR)—>PC执行下一条PC指令,第25位为1,表示一条机器指令执行完。

五.结论
完成了本次实验要求的基本实验内容,做此次实验有助于对程序指令到机器指令的理解,以及从指令到器件的执行状况,这也应该是计算机组成原理实验课的一次综合实验,前面的实验大多是对于局部原理的验证,做此次实验对于设计理解计算机模型机有很大的指导意义。

相关主题