基本模型机设计
一. 设计目的
1. 在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台稍微复杂的模型计算机;
2. 为其定义5条机器指令,并编写相应的微程序,具体上机调试掌握整机概念 二. 设计内容
部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次实验将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能,这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。 三.概要设计
为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序.
存储器读操作:拨动总清开关CLR后,控制台开关SWB,SWA 为”0 0”时,按START微动开关,可对RAM连续手动读操作.
存储器写操作:拨动总清开关CLR后,控制台开关SWB SWA置为”0 1”时,按START微动开关可对RAM进行连续手动写入.
启动程序:拨动总清开关CLR后,控制台开关SWB SWA置为“1 1”时,按START微动开关,既可转入到第01号“取址”微指令,启动程序运行.
上述三条控制台指令用两个开关SWB SWA 的状态来设置,其定义如下
表3-1读写变化
SWB SWA 控制台指令 0 0 1 0 1 1 读内存(KRD) 写内存(KWE) 启动程序(RP) 根据以上要素设计数据通路框图,如图3-1:
表3-2 微代码的定义
微程序 24 23 22 21 20- 19 18 17 16 15 14 13 控制信号 S3S2 S1 S0 M CN RD M17 M16 A 12 11 10 9 8 7 6 5 4 3 2 1 B P uA5 uA4 uA3 uA2 uA1 uA0 表3-3 A,B,P字段内容
A字段 B字段 P字段
15 14 13 控制信 12 11 10 控制信 9 号 号 8 7 控制信号 0 0 0 LDRI .0 0 0 RS_G 0 0 0 P1 0 0 1 0 0 1 0 0 1 0 1 0 LDDR1 0 1 0 ALU_G 0 1 0 P4 0 1 1 LDDR2 0 1 1 0 1 1 1 0 0 LDIR 1 0 0 1 0 0 1 0 1 LOAD 1 0 1 1 0 1 LDPC 1 1 0 LDAR 1 1 0 PC_G 1 1 0 当拟定“取指令”微指令时,该微指令的判别测试字段为P1测试。由于“取指”微指令是所有微程序都使用的公用微指令,因此P1测试结果出现多路分支。本次课程设计用指令寄存器的前4位(I7-I4)作为测试条件,出现5路分支,占用5个固定微地址单元。
控制台操作为P4测试,它以控制台开关SWB,SWA作为测试条件,出现了3路分支,占用3个固定微地址单元。当分支微地址单元固定后,剩下的其他地方就可以一条微指令占用控存一个微地址单元随意填写。 控制台
00 20
P4 WRITE(01) READ(00) RUN(11) 21 20 23
PC—>AR PC—>AR RAMRAM 24 22
01 30 27
DR1—>RAM DR1—>RAM 图3-2 微程序流程图
表3-4 二进制微代码表
微地址 S3~CN RD M17 M16 A B P uA5~uA0 00 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 01 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1 0 0 0 0 0 1 0 02 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 03 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 04 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1 05 0 0 0 0 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 0 0 1 1 0 06 1 0 0 1 0 1 0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 1 07 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 0 1 1 0 10 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 11 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1 0 0 0 0 0 1 1 12 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1 0 0 0 0 1 1 1 13 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1 0 0 0 1 1 1 0 14 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1 0 0 1 0 1 1 0 15 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0