1、广东技术师范学院实验报告学院: 专业: 班级: 成绩:姓名: 学号: 组别: 组员:实验地点: 实验日期: 指导教师签名:45 控制器实验 451 微程序控制器实验 1实验目的 (1)掌握时序发生器的组成原理。 (2)掌握微程序控制器的组成原理。 (3)掌握微程序的编制、写入,观察微程序的运行。2实验设备 TDN-CM+或 TDN-CM+教学实验系统一台。3实验原理 微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制硬件逻辑部件工作的微指令序列,以完成数据传输和各种处理操作。它的执行方法就是将控制各部件动作的微指令的集合进行编码,用数字代码的形式表示。这样就可以
2、用一个微指令序列表示一条机器指令,这种微指令序列称为微程序,微程序存储在控制存储器中。 实验所用的时序控制电路框图如图 4.5-1 所示,可产生四个等间隔的时序信号 TS1TS4,其中 为时钟信号,由实验系统左上方的方波信号源提供,可产生频率及脉宽可调的方波信号; STEP(单步)是来自实验系统上方中部的一个二进制开关 STEP 的模拟信号;START 键是来自实验系统上方左部的一个微动开关 START 的按键信号。当 STEP 开关为 0 时(EXEC ) ,一旦按下 START启动键,时序信号 TS1TS4 将周而复始地发送出去。当 STEP 为(STEP)时,一旦按下 SATRT 启动键
3、,机器便处于单步运行状态,即此时只发送一个CPU 周期的时序信号就停机了。利用单步方式,每次只读一条微指令,可以观察微指令的代码与当前微指令的执行结果。另外,当机器连续运行时,如果STEP 开关置 “” ,会使机器停机,CLR 开关执行 101 操作可以使时序清零。时序状态图如图 4.5-7 所示。 由于时序电路的内部电路已经连好,所以只需将时序电路与方波信号源连接,即将时序电路的时钟脉冲输入端 接至方波信号发生器输出端 H23 上,按动启动键 START 后,就可产生时序信号 TS1TS4。时序电路的 CLR 已接至实验系统右下方的 CLR 模拟开关上。预习情况 操作情况 考勤情况 数据处理
4、情况下面介绍微程序控制电路与微指令格式:1)微程序控制电路 微程序控制器的组成如图 4.5-2 所示。图中,控制存储器采用三片 2816 芯片(E2PROM 存储器) ,具有掉电保护功能;微指令寄存器 18 位,用两片 8D 触发器(74LS273)和一片4D(74LS175 )触发器组成,微地址寄存器 6 位,用三片正沿触发的双 D 触发器(74LS74)组成,它们带有清“0”端和预置端。在不判别测试的情况下,T2 时刻输入微地址寄存器的内容即为下一条微指令地址。当 T4 时刻进行测试判别时,转移逻辑满足条件后输出的负脉冲通过强置端将某一触发器置为“1”状态,完成地址修改。 在该实验电路中设
5、有一个编程开关,位于实验系统右上方,它具有三种状态:PROM(编程) 、READ (校验) 、RUN (运行) 。当处于“编程状态”时,读者可根据微地址和微指令格式将微指令二进制代码写入到控制存储器 2816 中。当处于“校验状态”时,可以对写入控制存储器中的二进制代码进行验证,从而可以判断写入的二进制代码是否正确。当处于“运行状态”时,只要给出微程序的入口微地址,则可根据微程序流程图自动执行微程序。图中微地址寄存器输出端增加了一组三态门,目的是隔离触发器的输出,增加抗干扰能力,并用来驱动微地址显示灯。 2)微指令格式 微指令字长共 24 位,其控制位顺序如表 4.5-1 所示。表中 A5A0
6、 为 6 位后续微地址,A、B、C 为三个译码字段,分别由三个控制位译码出多位。C 字段中的 P(1)P ( 4)是四个测试字位。其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行,其原理如图 4.5-3 所示,图中 I7I2为指令寄存器的第 72 位输出,SE5SE1 为微程序控制器单元微地址锁存器的强置端输出。AR 为算术运算是否影响进位及判零标志控制位,其为零有效。B 字段中的 RS-B、RD-B 、RI-B 分别为源寄存器选通信号、目的寄存器选通信号及变址寄存器选通信号,其功能是根据机器指令来进行三个工作寄存器R0、R1 及 R
7、2 的选通译码,其原理如图 4.5-4,图中 I0I3 为指令寄存器的第03 位,LDRi 为输入工作寄存器信号的译码器使能控制位。4实验步骤 (1)图 4.5-5 为所设计的几条机器指令对应的参考微程序流程图,将全部微程序按微指令格式变成二进制代码,可得到表 4.5-2 的二进制代码表。图 4.5-5 中一个矩形方框表示一条微指令,方框中的内容为该指令执行的微操作,右上角的数字是该条指令的微地址,为表示方便,所有微地址是用八进制表示。向下的箭头指出了下一条要执行的指令。P (1) 、P (4)为测试字,根据条件使微程序产生分支。(3) 观测时序信号。 用双踪示波器,或用联机软件中的示波器功能
8、,观察方波信号源的输出端H23,调节电位器 W1,使输出波形的频率最慢。将时序电路中的“STOP”开关置为“RUN” , “STEP”开关置为“EXEC” 。按动 START 按键,测量TS1、 TS2、 TS3、TS4 各点的波形,比较它们的相互关系,画出其波形,并标注测量所得的脉冲宽度,如图 4.5-7 所示。(4) 观察微程序控制器的工作原理。 编程: 将编程开关置为 PROM(编程)状态。 将实验系统上“STATE UNIT“中的“STEP”置为“STEP” , “STOP”置为“RUN”状态。 用二进制模拟开关置微地址 A5A0 。 在 MK24MK1 开关上置微代码,24 位开关对
9、应 24 位显示灯,开关量为“0”时灯亮,开关量为“1”时灯灭。 按动启动按钮“START” ,启动时序电路,即将微代码写入到E2PROM 2816 的相应地址的单元中。 重复编程第三至第五步,将表 4-5-2 的微代码写入控制存储器中。(2)校验将编程开关设置为 READ(校验)状态。 将 “STEP ”开关置为“STEP ”状态。 “STOP”开关置为“RUN ”状态。用二进制开关置好微地址 A5A0。 按动“START”键,启动时序电路,读出微代码。观察显示灯MD24 MD1 的状态(灯亮为“0” ,灭为“1” ) ,检查读出的微代码是否与写入的相同。如果不同,则将开关置于 PROM 编
10、程状态,重新执行即可。 单步运行 将编程开关置于“RUN(运行) ”状态。 将的“STEP”及“STOP”开关保持原状。 操作 CLR 开关使 CLR 信号 101,微地址寄存器 A5 A0 清零,从而明确本机的运行入口微地址为 000000(二进制数) 。 按动“START”键,启动时序电路,则每按动一次启动键,读出一条微指令后停机,此时微地址显示灯和微命令显示灯将显示所读出的一条指令。 注意:在当前条件下,可将“MICRO-CONTROLLER ”单元的 SE6SE1接至“SWITCH UNIT”中的 S3Cn 对应二进制开关上,可通过强置端SE1 SE6 人为设置分支地址。首先将 SE1
11、SE6 对应二进制开关置为“1” ,当需要人为设置分支地址时,将某个或几个二进制开关置“0” ,相应的微地址位即被强置为“1” ,从而改变下一条微指令的地址(二进制开关置为“0” ,相应的微地址位将被强置为“1” ) 。 连续运行 将编程开关置为“RUN(运行) ”状态。 将单步开关“STEP”置为“EXEC”状态。 使 CLR 为 101,此时微地址寄存器清“0” ,从而给出取指微指令的入口地址为 000000(二进制数) 。 启动时序电路,则可连续读出微指令。 (五)实验结果记录微指令顺序记录:01021001;0102110304050601;010212071501;01021316172501;0102142601;00212430;00202227;0023;