图6-4地址转移逻辑电路
图中I7一I2为指令寄存器的第7--2位输出,SE5--SE1为微程序控制器单元微地址锁存器的强置端输出。AR为算术运算是否影响进位及判零标志控制位,其为零有效。B字段中的RS-B,R0-B,RI-B分别为源寄存器选通信号、目的寄存器选通信号及变址寄存器选通信号,其功能是根据机器指令来进行三个工作寄存器R0,R1及R2的选通译码,其原理如图6-5所示。图中,I0--I4为指令寄存器的第0—4为,LDRi为打入工作寄存器信号的译码器使能控制位。
图6-5 寄存器选通译码电路
五、实验步骤
1、图6-6为几条机器指令对应的参考微程序流程图,将全部微程序按指令格式变成二进
制代码,可得到表6-1所示的二进制代码表。
28
图6-6 微程序流程图
29
表6-1 二进制代码表
微地址 S3 S2 S1 S0 M Cn WEA9 A8 00 01 02 03 04 05 06 07 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 30 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 0 1 A B C 1 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 μA5--μA0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 1 1 0 0 1 1 1 0 0 1 0 1 1 0 0 0 0 0 0 1 0 0 1 1 1 1 0 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 0 0 1 0 1 1 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 1 0 1 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 0 1 1 0 1 1 1 0 0 0 0 0 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1
2、按图6-7连接实验线路,仔细查线无误后,接通电源。
图6-7 实验接线图
3、观测时序信号
用双踪示波器(或用PC示波器功能)观察方波信号源的输出,时序电路中的STOP开关置为“RUN”,STEP开关置为\”。按动START按键,从方波器上可观察到TS1,TS2,TS3,TS4各点的波形。比较它们的相互关系,画出其波形,并标注测量所得的脉冲宽度,见图6-8。
30
图 6-8
4、观察微程序控制器的工作原理: (1)、编程
A.将编程开关置为PROM(编程)状态。
B.将实验板上STATE UNIT中的STEP置为“STEP”,STOP置为“RUN”状态。 C.用二进制模拟开关置微地址μA5一μA0 。
D.在MK24--MK1开关上置微代码,24位开关对应24位显示灯,开关量为“0”时
灯亮,开关量为“1”时灯灭。
E.启动时序电路(按动启动按纽START),即将微代码写入到E2PROM 2816的相应地
址对应的单元中。
F.重复C—E步骤,将表12的微代码写入2816。 (2)、校验
A.将编程开关设置为READ(校验)状态。
B.将实验板的STEP开关置为“STEP”状态,STOP开关置为“RUN”状态。 C. 用二进制开关置好微地址μA5一μA0 。
D.按动START键,启动时序电路,读出微代码.观察显示灯MD24--MD1的状态(灯亮为“0”,灭为“1”),检查读出的微代码是否与写入的相同。如果不同,则将开关置于PROM编程状态,重新执行①即可, (3)单步运行
A.将编程开关置于“RUN”状态。
B.实验板的STEP及STOP开关保持原状。
C.操作CLR开关(拨动开关在实验板右下角)使CLR信号1→0→1,微地址寄存器 μA5一μA0清零,从而明确本机的运行入口微地址为000000(二进制)。
D.按动“START”键,启动时序电路,则每按动一次启动键,读出一条微指令后停机,此时实验台上的微地址显示灯和微命令显示灯将显示所读出的一条指令。 注意:在当前条件下,可将MICRO-CONTROLLER单元的SE6--SE1接至SWITCH UNIT中的S3--Cn对应二进制开关上,可通过强置端SE1--SE6人为设置分支地址。将SE1--SE6对应二进制开关量置为“1”,当需要人为设置分支地址时,将某个或几个二进制开关置“0”,相应的微地址位即被强置为“1”,从而改变下一条微指令的地址。(二进制开关置为“0”,相应的微地址位将被强置为“1”) (4)连续运行
A. 将编程开关置为“RUN”状态。
31
B.将实验板的单步开关STEP置为“EXEC”状态。 C.使CLR从1→0→1,此时微地址寄存器清“0”,从而给出取指微指令的入口地址
为000000(二进制)。
D.启动时序电路,则可连续读出微指令。
32