甘肃政法学院
本科生实验报告
(四)
姓名:
学院:
专业:
班级:
实验课程名称: 计算机组成原理
实验日期: 2012年12月10日
指导教师及职称: 武光利
实验成绩:
开课时间:2012——2013学年第一学期
甘肃政法学院实验管理中心印制
实验题目基本模型机设计与实现小组合作 否姓名班级学 号一、实验目的1.在掌握部件单元电路实验的基础上,将微程序控制器模块与运算器模块、存储器模块组合在一起,组成一台基本模型计算机;
2.用微程序控制器来控制模型机的数据通道;
3.通过CPU运行五条机器指令组成的简单程序,掌握机器指令与微指令的关系,建立机器的整机(输入、输出、运算、存储系统)的概念;二.实验环境TDN-CM+计算机组成原理实验系统一套以及若干导线和排线三、实验内容与步骤(一)实验原理:
本实验的原理图如下图所示。在部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次实验将在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一段微程序。
本实验采用五条机器指令:IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)和JMP(无条件转移),其指令格式如下(前4位为操作码):
助记符 机器指令码 说明
IN 0000 0000 “INPUT DEVICE”的开关状态→R0
ADD addr 0001 0000 ×××××××× R0+[addr]→R0
STA addr 0010 0000 ×××××××× R0→[addr]
OUT addr 0011 0000 ×××××××× [addr]→LED
JMP addr 0100 0000 ×××××××× addr→PC
其中,IN为单字长(8位),其余为双字长指令,××××××××为addr对应的二进制地址码。
为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,设置了三个控制台操作微程序。
存储器读操作(KRD):拨动总清开关CLR后,当控制台开关SWB、SWA 为“00”时,按START微动开关,可对RAM进行连续手动读出。
存储器写操作(KWE):拨动总清开关CLR后,当控制台开关SWB、SWA 为“01”时,按START微动开关,可对RAM进行连续手动写入。
启动程序:拨动总清开关CLR后,控制台开关SWB、SWA 置为“11”时,按START微动开关,即可转入到第01号“取址”微指令,启动程序运行。
SWB
SWA
控制台指令
0
0
读内存(KRD)
0
1
写内存(KWE)
1
1
启动程序(RP)
本实验设计机器指令程序如下:
地址内容 助记符 说明
0000 0000 0000 0000 IN R0 “INPUT DEVICE”→R0
0000 0001 0001 0000 ADD [0AH],R0 R0+[0AH]→R0
0000 0010 0000 1010
0000 0011 0010 0000 STA R0,[0BH] R0→[0BH]
0000 0100 0000 1011
0000 0101 0011 0000 OUT [0BH] [0BH]→LED
0000 0110 0000 1011
0000 0111 0100 0000 JMP 00H 00H→PC
0000 1000 0000 0000
0000 1001
0000 1010 0000 0001 自定
0000 1011 求和结果
(1)按照图连接电路,仔细查线无误后,接通电源。
(2)写程序
方法一:手动写入
①将机器指令对应的微代码正确写入2816中。由于在实验五中微代码已写入,可以先行校验,若正确就不必重新写入。
注意:如需重新写入微代码,则要连接UA5-UA0的连线。
②使用控制台KWE和KRD进行机器指令的装入和检查。A、将编程开关置为“RUN”(运行)状态,“STEP”置为