实验七脱机方式下微代码装入与执行实验一、实验目的(1)通过微程序的编制、装入、执行,验证微程序控制的工作方法。(2)观察微程序的运行过程,未进行简单模型计算机实验作准备。二、实验原理(1)时序信号(2)指令与微指令周期(3)机器指令与机器指令周期(4)微程序控制器逻辑结构(5)微程令流程分析(6)微程令译码分析三、实验过程(1)连线①把时钟单元(CLOCKUNIT)的T1-T4接到微程序控制单元(MAINCONTROLUNIT)的T1-T4。用另一根线把时钟单元(CLOCKUNIT)的T4接到微程序控制单元(MAINCONTROUNIR)的T4。②把手动控制开关单元(MANUALUNIT)的MA6-MA0接到微程序控制单元(MAINCONTROLUNIT)的MA6-MA0。(2)写入伪代码操作过程①拨动一下错误!未找到引用源。开关,即实现“1—0—1”,产生一个清除脉冲,使微程序控制单元(MAINCONTROLUNIT)初始化。②把微程序控制单元(MAINCONTROLUNIT)右上角的编程开关置于“READ”状态③把时钟单元(CLOCKUNIT)的RUN/STEP开关置于“STEP”状态。④在手动控制单元(MANUALUNIT)的MA6-MA0开关上拨入微控制存储器地址开关MA6—MA0,按表2-15从00H开始。⑤在微程序控制单元(MAINCONTROLUNIT)的微指令代码开关MK23-MK0上按表2-15的内容拨入24位的微指令,微指令代码显示灯上显示拨入的微指令代码。⑥按动时钟单元(CLOCKUNIT)的“START”按键,产生一组时序信号(T1—T4),作用是把微指令代码开关MK23-MK0上的24位的微指令代码希尔与MA6—MA0指定的微程序控制存储器(2816)单元中,并显示MA6—MA0微程序控制存储器地址。⑦把MA6—MA0开关上微控至存储器地址加1,变成01H,02H,………,重复上面第(5)、第(6)两步直接把表2-15中微指令代码全部写入微程序控制储存器(2816)中。(3)校验微代码操作过程①拨动一下错误!未找到引用源。开关,即实现“1—0—1”,产生一个清除脉冲,使微程序控制单元(MAINCONTROLUNIT)初始化。②把微程序控制单元(MAINCONTROLUNIT)右上角的编程开关置于“READ”状态,确保RUN/STEP开关置于“STEP”状态。③在手动控制单元(MANUALUNIT)的MA6—MA0开关上拨入微程序控制存储器地址,从00H开始。④按动时钟单元(CLOCKUNIT)的“START”按键,产生一组时序信号T1—T4,作用是将MA6—MA0指定的微程序控制存储器(2816)单元的微代码读出,显示在相应的24位微代码显示灯上,,同时显示MA6—MA0微程序控制存储器地址。⑤与表2-15的微程序代码进行比较,若相同,把MA6—MA0开关上的微控制存储内地址加1,变成01H,02H…,反复执行上面第(4)步操作再次读出验证,直至检查完表2-15中全部微程序代码为止。⑥比较后若不同,立即把微程序控制单元(MAINCONTROLUNIT)右上角的编程开关置于“PROG”状态,执行写入微代码操作过程的第(5)、第(6)这两步操作,写入正确微代码,然后马上把编程开关置于“READ”状态,执行上面第(4)步操作再次读出验证,直至检查完表2-15中全部微程序代码为止。(4)单步执行微代码操作过程①拨动一下错误!未找到引用源。开关,即实现“1—0—1”,产生一个清除脉冲,使微程序控制单元(MAINCONTROLUNIT)初始化。②把微程序控制单元(MAINCONTROLUNIT)右上角的编程开关置于“READ”状态,确保时钟单元(CLOCKUNIT)的RUN/STEP开关置于“STEP”状态。③把微程序控制存储器地址开关MA6—MA0拨成0110000(30H),这是机器指令IN(输入数据)的微程序入口地址。④按动时钟单元(CLOCKUNIT)的“START”按键产生一组时序信号(T1—T4),读出机器指令IN(输入数据)的微程序代码。⑤把微程序控制单元(MAINCONTROLUNIT)右上角的编程开关置于“RUN”状态,这时微程序控制器地址显示灯MA6—MA0和微指令代码显示灯MD23—MD0指示正在执行的微地址和微代码。⑥反复按动“START”按键,可观察到与机器指令IN(输入数据)对应的微程序中每条微指令的地址码和控制码,地址码体现了微程序的流向,控制码体现了每条微指令的控制动作。⑦用不同的微程序入口反复做第(1)—(6)步的操作,可观察到不同机器指令的微程序流向和控制码,表2-15中有5条机器指令的微程序代码,表2-19是这些机器指令的助记符、指令功能和相应的微程序入口地址。表2-19简单模型计算机机器指令表指令功能INADDSTAOUTJMP指令符号数据输入算术加数据传输数据输入跳转微程序入口地址30H31H32H33H34H(5)连续执行微代码操作过程①拨动一下CLR开关,即实现“1-0-1”,产生一个清除脉冲,使微程序控制单元(MAINCONTROLUNIT)初始化。②把时钟单元(CLOCKUNIT)的RUN/STEP开关置于“RUN”状态,确保微程序控制单元(MAINCONTROLUNIT)右上角的编程开关处于“RUN”状态。③把微程序控制存储器地址开关MA6-MA0拨成00H,使微程序从00H开始运行。④按动时钟单元(CLOCKUNIT)的“START”按键,启动连续发送时序信号T1-T4,连续执行微指令代码,这时微地址显示灯MA6-MA0和微代码显示灯MD23-M0连续闪烁,当前正在执行的微程序控制存储器地址和微指令代码以很快的速度显示。⑤片刻之后把时钟单元(CLOCKUNIT)的RUN/STEP开关置于“STEP”状态,停止微程序的执行。四、结果与总结记录实验过程中的情况和原始数据把单步执行表2-19过程中微地址的变化情况记录在表2-20中,从中可看出微程序的流向变化。表2-20实验七结果记录指令符号INADDSTAOUTJMP指令功能数据输入算术加数据传输数据输入跳转微程序入口地址30H31H32H33H34H第2地址04H06H22H24H29H第3地址05H07H23H25H2AH第4地址01H20H01H26H01H第5地址02H21H02H27H02H第6地址03H01H03H28H03H第7地址10H02H10H01H10H