基本模型机设计实验.doc
文本预览下载声明
基本模型机设计实验
一.实验目的
1.在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台基本模型计算机。
2.为其定义五条机器指令,并编写相应的微程序,具体上机调试掌握整机概念
二.实验设备
1.TDN-CM+或TDN-CM++教学实验系统一台。
2.PC微机一台。
三.实验原理
部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次实验将在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完成,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的状态来设置,其定义如下:
SWB SWA 控制台指令 0
0
1 0
1
1 读内存(KRD)
写内存(KWE)
启动程序(RP)
根据以上要求设计数据通路框图,如图6.5-1。微代码定义如表6.5-1所示。
图6.5-1 数据通路框图
表6.5-1微代码定义
系统涉及到的微程序流程见图6.5-2,这里“取指”是公用微指令,为了能确定不同机器指令有各自不同的微程序转向,我们在这里以指令寄存器的前4位(IR7—IR4)作为测试条件,引入了P(1)指令测试字段,如此,对于5条机器指令,就可以有5路P(1)测试分支,对于每一指令分别予以微程序解释。
控制台操作为P(4)测试,它以控制台开关SWB、SWA作为测试条件,出现了3路分支,占用3个固定微地址单元。当分支微地址单元固定后,剩下的其它地方就可以一条微指令占用控存一个微地址单元随意填写。注意:微程序流程图上的单元地址为8进制。
当全部微程序设计完毕后,应将每条微指令代码化,表6.5-2即为将图6.5-2的微程序流程图按微指令格式转化而成的“二进制微代码表”。
表6.5-2 二进制代码表
微地址 S3 S2 S1 S0 M CN WE A9 A8 A B C μA5…μA0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1 0 0 0 0 0 1 0 0 2 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 3 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 4 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 5 0 0 0 0 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 0 0 1 1 0 0 6 1 0 0 1 0 1 0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 1 0 7 0 0 0
显示全部