计算机组成原理实验二:微程序控制器实验

标签:
微指令微程序控制器时序电路微代码教育 |
分类: 那些各样的课题与设计 |
1.
实验目的:
1.理解时序产生器的原理,了解时钟和时序信号的波形。
2.掌握微程序控制器的功能、组成知识。
3.掌握微指令格式和各字段功能。
4.掌握微程序的编制、写入、观察微程序的运行,学习基本指令的执行流程。
实验要求:
1.按练习一要求完成测量波形的操作,画出TS1、TS2、TS3、TS4的波形,并测出所用的脉冲Φ的周期。
2.按练习二的要求输入微指令的二进制代码表,并单步运行五条机器指令。
2.
1、连接好实验线路,检查无误后接通电源。
2、编程:
(1)将编程开关(MJ20)置为PROM(编程)状态;
(2)将STATE UNIT中的STEP置为“STEP”状态,STOP置为“RUN”状态;
(3)在UA5-UA0开关上置要写的某个微地址(八进制);
(4)在MK24-MK1开关上置要写的微地址相应的24位微代码,24位开关对应24位显示灯,开关量为“1”灯亮,为“0”灯灭;
(5)启动时序电路(按动启动按钮START),即将微代码写入到E2PROM2816的相应地址对应的单元中;
(6)重复(3)~(5)步骤将每一条微指令写入E2PROM2816。
3、校验:
(1)将编程开关置为READ状态;
(2)将STEP开关置为“STEP”状态,STOP开关置为“RUN”状态;
(3)在开关UA5~UA0上置好要读的某个微地址;
(4)按动START键,启动时序电路,观察显示灯MD24-MD1的状态,检查读出的微代码是否已写入的相同。如果不同在将开关置于PROM编程状态,重新执行编程步骤;
(5)重复(3)(4)步骤将每一条微指令从E2PROM2816中读出。
4、单步运行:
(1)将编程开关置于“RUN”状态;
(2)STEP置为“STEP”状态,STOP置为“RUN”状态;
(3)“AW-BUS”开关置为0,将二进制开关INPUT DEVICE区域内的D5-D0全为1;
(4)操作CLR开关使信号系统1→0→1;
(5)按动“START”,启动时序电路,则每按动一次启动键,读出一条微指令,当读到某些指令时需通过强制端强制转换后读出指令。同理把所有分支后执行一遍。
3.
4.
分析STA的每条微指令的指令格式和功能。
STA由12微指令、07微指令、15微指令组成,其格式如下:
微地址 |
S3 S2 S1 S0 M CN WE A9 A8 |
|
|
|
UA5…UA0 |
12 |
0 |
110 |
110 |
110 |
000111 |
07 |
0 |
110 |
000 |
000 |
001101 |
15 |
0 |
000 |
001 |
000 |
000001 |
指令的功能:
12:表示把PC(程序计数器)的内容传送到地址寄存器AR;PC加1,为读取下一条指令做好准备。
07:在存储单元中读出操作数,经过地址总线传送到AR。
15:寄存器R0的内容经过数据总线送到存储单元。
5.
①S3、S2、S1、S0、M、CN是算术逻辑运算器ALU的运算选择控制信号,选择ALU进行哪种运算。
②WE是存储器RAM的写明信号,WE=1时,RAM进行写操作,WE=0时,RAM进行读操作。
③A8、A9是2:4译码器(74LS139)的输入端,Y0、Y1、Y2、Y3是译码器输出端。当A8=0、A9=0时 选中Y0,当 A8=1、A9=0时 选中Y1,当A8=0、A9=1时 选中Y2,当 A8=1、A9=1时 选中Y3。(其中Y0为控制三态门控制信SW-B,Y1为RAM的片选信号CE,Y2为数码管输出信号LED-B,Y3为空)
④A、B、C三个译码字段,通过3:8译码器分别译出多位控制信号。A字段中,主要是寄存器的打入信号,B字段中 主要是寄存器的输出信号,C字段中,主要是测试信号,其中C字段的AR为算术运算是否影响进位及判零标志控制,其为零有效。
⑤SW-B是输入三态门控制信号,CE是RAM的片选信号,LED是数码管输出信号。
⑥UA5-UA0为6位的后续微地址。
⑦LOAD是PC加1信号,P(1)-P(4)是四个测试判别信号,其功能是根据机器指令及相应微代码译码,使微程序输入相应的微程序进行译码,使微程序输入相应的微地址入口,从而实现微程序的顺序、分支、循环运行。
6.
实验所用的时序电路可产生各等间隔的时序信号TS1-TS4,其中Φ为时钟信号。为了便于控制程序的运行,时序电路发生器设置了一个启停控制触发器Cr,使TS1-TS4信号输出可控。其中STEP(单步)、STOP(停机)分别是来自实验板上的两个二进制开关STEP、STEP的模拟信号。利用单步方式,每次只读出一条微指令,可以观察微指令的代码与当前微指令的执行结果。另外,当机器连续运行时,如果STOP开关置“1”,也会使机器停机。
7.
问题讨论:
(1)这次实验最重要的是如何执行五条机器指令,分别是IN(输入),ADD(二进制加法),STA(存数),OUT(输出),JMP(无条件转移)。
(2)S3、S2、S1、S0、M、CN是算术逻辑运算器ALU的运算选择控制信号,选择ALU执行哪种运算。通过改变S3、S2、S1、S0、M、CN控制信号,能够实现操作数与被操作数的算术运算或逻辑运算。
(3)WE信号是写命令信号。
(4)A、B、C分别能译出第15、14、13、12、11、10、9、8 、7位信号。A字段中,主要是寄存器的打入信号。B字段中,主要是寄存器的输出信号。C字段中,主要是测试信号。
(6)UA5-UA0是后继微地址。
实验总结:
(1)通过本次实验我掌握了微程序控制器的功能、组成知识,掌握了指令格式和各字段功能,掌握了微程序的编制、写入、观察微程序的运行,学习了基本指令的执行流程。
(2)我觉得,这次实验的原理比较难以理解,但是实施起来其实是不难的。在实验过程中,不知道是因为接线的问题还是仪器的问题一度不能成功,录入了数据但是跳转不到要去的地方。我们以为是输入数据时出错,重新输了好多遍,但是都还是一样的结果。经过请教同学的帮助之后终于得出了正确的结果。随后就很顺利地完成了实验。这次实验使我懂得要认真弄清楚每一步实验的原理和所需要的知识点,这样才可以有速度完成实验,同时也知道做实验需要持之以恒的恒心、信心与耐心。
8.
1、( A ) 2、(
5、(
9、(