一、实验目的
1.掌握时序产生器的组成原理。
2.掌握微程序控制器的组成原理。
3.掌握微指令格式的化简和归并。
二、实验任务
1、按实验要求连接实验台的数码开关K0-K5、按钮开关、时钟信号源和微程序控制器。注意:本次试验只做微程序控制器本身的实验,故微程序控制器输出的微指令信号与执行部件(数据通路)的连线暂不连接。连线完成后应仔细检查一遍,然后才可加上电源。
2、观察时序信号
用双踪示波器观测时序产生器的输入输出信号:MF,W1-W4,T1-T4。比较相位关系,画出其波形,并标注测量所得的脉冲宽度。观察时须将TJ1接低电平,DB、DZ、DP开关均置位0状态,然后按QD按钮,则连续产生T1、T2、T3、T4、W1、W2、W3、W4。了解启停控制信号的功能,并熟练地使用连接这些控制信号的按钮或开关。
3、熟习微指令格式的定义,按此定义将控制台指令微程序的8条微指令按十六进制编码,列与表下。三种控制台指令的功能由SWC、SWB、SWA三个二进制开关状态来指定(KRD=001B,KWE=010B,PR=000B)。
微指令地址 | 微指令编码 | 微指令地址 | 微指令编码 |
00H | 00H、05H、COH、02H、07H | 3CH | 04H、05H、C8H、00H、3DH |
07H | 00H、05H、41H、20H、05H | 17H | 00H、05H、44H、00H、3FH |
27H | 04H、05H、44H、00H、3DH | 3FH | 04H、09H、C0H、 00H、3EH |
3DH | 00H、01H、40H、00H、3CH | 3EH | 00H、05H、C8H、00H、3FH |
单拍(DP)方式执行控制台微程序,读出上述八条微指令,用P字段和微地址指示灯跟踪微指令执行情况,并与上表数据对照。用连续方式执行KWE和KRD (将TJ1 接地),画出u_A0(28C64的地址A0,U12 的引脚10)信号波形,作出解释。
单拍(DP)方式执行控制台微程序,读出上述八条微指令,用P字段和微地址指示灯跟踪微指令执行情况,并与上表数据对照。用连续方式执行KWE和KRD (将TJ1接地),画出u_A0(28C64的地址A0,U12 的引脚10)信号波形,作出解释。
(4)用P3和SWC、SWB、SWA的状态组合,观察验证三种控制台指令KRD、KWE、PR微地址转移逻辑功能的实现。
(5)熟习05H、10H 两条微指令的功能和P2测试的状态条件(IR4- -IR7), 用二进制开关设置IR7-IR4的不同状态,观察ADD至STP九条机器指令微地址转移逻辑功能的实现。(用逻辑笔测试有关逻辑电路的电平,分别做出测试记录,自行设计表格。)
(6)设置IR7-IR4的不同组合,用单拍方式执行ADD至STP九条机器指令微程序,用微地址和P字段指示灯跟踪微程序转移和执行情况。用逻辑笔测试小插座上输出的微命令信号,记录ADD、SUB、LDA、 STA四条机器指令的微命令信号,自行设计表格。
三、实验工具
模拟程序
四、实验步骤及实验结果
(1)连线
(2)观察时序信号波形
令K5(TJI)=0,置DP=0,DZ=0,DB=0。按QD按钮,则时序部分开始不停止的运行,直到按CLR#按钮为止。用双踪示波器观察MF、TI、T2、T3、T4、WI、W2、W3、W4信号。观察的方法是同时观察两路信号,以便比较相位。可按下述顺序进行: MP和Tl,T1和T2,T2和T3,T3和T4,T1和W1,W1和W2,W2和W3,W3和W4。根据观察的结果,可画出波形图。MF的周期为1000毫秒,占空比为50%。
(3)控制台操作微指令编码测试和KWRD、KRD连续运行时的μ_A0波形
1.控制台操作微指令编码测试
控制台微代码在28C64的D0--D7输出,D0是最低位,D7是最高位,CM0是最低字节,CM4是最高字节。D0--D7对应于28C64的引脚11、12、13、15、16、17、18、19。
令K5(TJI)=0,置DP=1,DZ=0,DB=0,使实验系统处于单拍状态。置SWC=0、SWB=0、SWA=1,实验系统处于KRD工作模式。按CLR#按钮,使实验系统处于初始状态,微地址u_A5-μ_A0为00H,测得的微码是00H 05H COH 02H 07H。
按一次QD按钮,微地址μ_A5-μ_A0为17H,测得的微码00H、05H、44H、00H、3FH。
按一次QD按钮,微地址μ_A5-μ_A0为3FH,测得的微码是04H 09H C0H 00H 3EH。
按一次QD按钮,微地址μ_A5-μ_A0为3EH,测得的微码是00H 05H C8H 00H 3FH。
按一次QD按钮,微地址μ_A5-μ_A0为3FH。由于微地址又返回3FH,停止测试。
令K5(TJI)=0,置DP=1,DZ=0,DB=0,使实验系统处于单拍状态。置SWC=0、SWB=1、SWA=0,实验系统处于KWE工作模式。按CLR#按钮,使实验系统处于初始状态,微地址μ_A5-μ_A0为00H。
按一次QD按钮,微地址μ_A5-μ_A0为27H,测得的微码是04H、05H、44H、00H、3DH。
按一次QD按钮,微地址μ_A5-μ_A0为3DH,测得的微码是00H、01H、40H、00H、3CH。
按-次QD按钮,微地址μ_A5-μA0为3CH,测得的微码是04H、05H、C8H、00H、3DH。
按一次QD按钮,微地址μ_A5-μ_A0为3CH。由于微地址又返回3CH,停止测试。
令K5 (TJI)=0,置DP=1,DZ=0,DB=0,使实验系统处于单拍状态。置SWC=0、SWB=0、SWA=0,实验系统处于PR工作模式。按CLR#按钮,使实验系统处于初始状态,微地址μ_A5-μ_AO为00H。
按一次QD按钮,微地址μ_A5-μ_AO为07H,测得的微码是00H、05H、41H、20H、05H。
按一次QD按钮,微地址μA5-μA0为05H,测得的微码是00H 05H 0C 4H 91H 10H。
由于以后的微码与机器指令有关,停止测试。
2. KWE、KRD连续运行时的μ_A0波形
令K5(TJI)=0,置DP=0,DZ=0,DB=0,使实验系统处于连续状态。置SWC=0、SWB=1、SWA= 0,实验系统处于KWE工作模式。按CLR#按钮,使实验系统处于初始状态。按一次QD按钮,使系统连续运行。用示波器测量μ_A0 (U12 的引脚11)的波形,得到波形如下:
虽然完成KWE控制台功能需要27H、3DH、3CH三条微指令,但是在连续运行时,循环的只是3DH、3CH 2条微指令。
令K5 (TJI)= 0,置DP=0, DZ=0, DB =0,使实验系统处于连续状态。置SWC= 0、SWB =0、SWA = 1,实验系统处于KRD工作模式。按CLR#按钮,使实验系统处于初始状态。按一次QD按钮,使系统连续运行。用示波器测量μ_A0 (U12的引脚11)的波形,得到波形与KWE时的波形相同,原因也类似。
(4)用P3和SWB、SWA 的状态组合,观察验证三种控制台指令KWE、KRD、PR微地址转移逻辑功能的实现
将时序电路的输入TJI与控制存储器的输出TJ连接,置DP= 1, DB=0,DZ= 0。选择SWC= 0、SWB= 0、SWA= 1,按QD按钮,验证KRD的微地址转移功能
选择SWC = 0、SWB= 1、 SWA =0, 按QD按钮,验证KWE的微地址转移功能。
(5)熟习 05H、10H两条微指令的功能和P2测试的状态条件(IR4- IR7),用二进制开关设置IR7-IR4的不同状态,观察ADD至STP九条机器指令微地址转移逻辑功能的实现
1. 05H微指令的功能是根据程序计数器PC从存储器取指令,送往指令寄存器IR, 同时进行PC+1的操作。05H 微指令的下一微指令地址是10H。10H只是一个表面的下一个微地址,由于该微指令中P2 = 1,因此实际的微指令地址的低4位要根据IR7-IR4 确定,实际微地址为10H +IR7 IR6 IR5 IR4。
2.置DP= 1,DZ=0, DB =0,.使实验系统处于单拍状态。选择SWC=0、SWB=0、SWA=0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。令K4 (IR7) =0, K3 (IR6) =0, K2 (IR5)=0,K1(IR4)=0,相当于ADD指令的操作码。按一次QD按钮,微地址变为07H。
按一次QD按钮,微地址变为05H。
按一次QD按钮,微地址变为10H。
3. 置DP= 1, DZ= 0, DB =0,使实验系统处于单拍状态。选择SWC=0、SWB=0、SWA=0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。令K4 (IR7) =0, K3 (IR6)=0, K2 (IR5)=0,K1(IR4)=1,相当于SUB指令的操作码。按一次QD按钮,微地址变为07H。
按一次QD按钮,微地址变为05H。
按一次QD按钮,微地址变为11H。
4. 置DP= 1,DZ= 0,DB =0,使实验系统处于单拍状态。选择SWC=0、SWB= 0、SWA= 0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。令K4 (IR7) =0, K3 (IR6)=0, K2 (IR5 )=1,K1(IR4)=0,相当于MUL指令的操作码。按一次QD按钮,微地址变为07H。
按一次QD按钮,微地址变为05H。
按一次QD按钮,微地址变为12H。
5. 置DP=1, DZ= 0,DB =0,使实验系统处于单拍状态。选择SWC=0、SWB=0、SWA=0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。令K4 (IR7) =0, K3 (IR6)=0, K2 (IR5)=1,K1(IR4)=1,相当于AND指令的操作码。按一次QD按钮,微地址变为07H。
按一次QD按钮,微地址变为05H。
按一次QD按钮,微地址变为13H。
6. 置DP = 1, DZ = 0,DB =0,使实验系统处于单拍状态。选择SWC= 0、SWB=0、SWA= 0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。令K4 (IR7) =0, K3 (IR6)=1, K2 (IR5)= 0, K1 (IR4) = 0,相当于STA指令的操作码。按一次QD按钮,微地址变为07H。
按一次QD按钮,微地址变为05H。
按一次QD按钮,微地址变为14H。
7.置DP = 1, DZ = 0,DB =0, 使实验系统处于单拍状态。选择SWC= 0、SWB=0、SWA=0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。令K4 (IR7) =0, K3 (IR6)=1, K2 (IR5)=0,K1(IR4)=1,相当于LDA指令的操作码。按--次QD按钮,微地址变为07H。
按一次QD按钮,微地址变为05H。
按一次QD按钮,微地址变为15H。
8.直DP=1,DZ=0.DB=0,使实验系统处于单拍状念。选择SWC=0、SWB=0、SWA=0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。令K4 (IR7) =0, K3 (IR6)=1, K2 (IR5)= 1, K1 (IR4) = 0,相当于STP指令的操作码。按一次QD按钮,微地址变为07H。
按-次QD按钮,微地址变为05H。
按一次QD按钮,微地址变为16H。
9. 置DP= 1, DZ= 0, DB =0,使实验系统处于单拍状态。选择SWC=0、SWB=0、SWA=0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。令K4 (IR7) =1, K3 (IR6) =0, K2 (IR5)=0,K1(IR4)=0,相当于JMP指令的操作码。按一次QD按钮,微地址变为07H。
按一次QD按钮,微地址变为05H。
按一次QD按钮,微地址变为18H。
10. 置DP = 1, DZ = 0, DB =0,使实验系统处于单拍状态。选择SWC=0、SWB=0、SWA=0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。令K4 (IR7) =1,K3 (IR6) =0, K2 (IR5)=0,K1 (IR4) = 1,相当于JC指令的操作码。按一次QD按钮,微地址变为07H。
按一次QD按钮,微地址变为05H。
按一次QD按钮,微地址变为19H。
(6)设置IR7-IR4的不同组合,用单拍方式执行ADD至STP九条机器指令微程序,记录ADD、SUB、LDA、 STA四条机器指令的微命令信号
操作的方法与(5) 类似,只是需纪录ADD、SUB、 LDA、STA 四条机器指令的微命令信号。
五、个人总结
单拍是指实验在基本时序图中一个步骤显示,如果DP置0,则在基本时序图中是连续的,uA5-uA0指示灯会不断闪烁,不便得出实验数据。右边TJ-S1换成二进制为CM4中的数值,S0-RS_BUS#换成二进制为CM3中的数值,SW_BUS#-M4换成二进制为CM2中的数值,PC_INC-P2换成二进制为CM1中的数值,P1-uA0换成二进制为CM0中的数值。二进制换算成十六进制的方法是前四位读一个数,后四位读一个数。