当前位置:首页 > 计算机组成原理实验报告 微程序控制器实验
膁实验三微程序控制器实验
一. 二. 薅实验目的与要求:
实验目的: 1.
2. 薃理解时序产生器的原理,了解时钟和时序信号的波形; 3.
4. 虿掌握微程序控制器的功能,组成知识; 5.
6. 薈掌握微指令格式和各字段功能; 7.
8. 莄掌握微程序的编制,写入,观察微程序的运行,学习基本指令的执行流程。
蚀实验要求: 1.
2. 莁实验前,要求做好实验预习,并复习已经学过的控制信号的作用; 3.
4. 莇按练习一要求完成测量波形的操作,画出TS1,TS2,TS3,TS4的波形,并测出所用的脉冲Ф周期。按练习二
的要求输入微指令的二进制代码表,并单步运行五条机器指令。
芄三.
四. 蒄实验方案:
按实验图在实验仪上接好线后,仔细检查无误后可接通电源。 1.
2. 肃练习一:用联机软件的逻辑示波器观测时序信号,测量Ф,TS1,TS2,TS3,TS4信号的
莀方法如下:
螈(1)TATEUNIT中STOP开关置为“RUN”状态(向上拨),STEP开关置为“EXEC”状态(向上拨)。
螆(2)将SWITCHUNIT中右下角CLR开关置为“1”(向上拨)。
螅(3)按动“START”按钮,即可产生连续脉冲。
莃(4)调试”菜单下的“显示逻辑示波器窗口,即可出现测量波形的画面。
袈(5)探头一端接实验仪左上角的CH1,另一端接STATEUNIT中的Ф插座,即可测出时钟Ф的波形。
膇(6)探头一端接实验仪左上角的CH2,另一端接STATEUNIT中的TS1插座,即可测出TS1的波形;
节(7)探头一端接实验仪左上角的CH1,另一端接STATEUNIT中的TS2插座,即可测出TS2的波形。
膂(8)将红色探头一端接实验仪左上角的CH1,另一端接STATEUNIT中的TS3插座,即可测出TS3的波形。
肁
(9)将红色探头一端接实验仪左上角的CH1,另一端接STATEUNIT中的TS4插座,即可测出TS4的波形。 3.
4. 薇观察微程序控制器的工作原理: ①
② 羄关掉实验仪电源,拔掉前面测时序信号的接线; ③
2
④ 羀编程写入EPROM2816
A.
B. 肈将编程开关(MJ20)置为PROM(编程)状态; C.
D. 蚄将实验板上STATEUNIT中的STEP置为STEP状态,STOP置为RUN状态,SWITCHUNIT中CLR开关置为1
状态; E.
F. 蒂在右上角的SWITCHUNIT中UA5-UA0开关上置表3.2中某个要写的微地址; G.
H. 虿在MK24-MK1开关上置表3.2中要写的微地址后面的24位微代码,24位开关对应24位显示灯,开关置
为1时灯亮,为0时灯灭; I.
2
J. 膈启动时序电路,即将微代码写入到EPROM2816的相应地址对应的单元中; K.
2
L. 肅重复C-E步骤,将表3.2的每一行写入EPROM2816。 ⑤
⑥ 膄校验 A.
B. 螂将编程开关置为READ(校验)状态; C.
D. 膇保持STEP,STOP,CLR开关状态不变,将实验板上STATEUNIT中的STEP置为STEP状态,STOP置为RUN状态,
SWITCHUNIT中CLR开关置为1状态; E.
F. 蒆在开关UA5-UA0上按表3.2置好要读的某个微地址; G.
H. 薂按动START键,启动时序电路,就能读出微代码,观察显示灯MD24-MD1的状态,检查读出的微代码是否与
已经写入的相同,若不同,将开关置于PROM编程状态,重新执行; I.
2
J. 蒁重复C-D步骤,将表3.2的每一行从EPROM2816读出来。
羈
芇练习二:步运行五条机器指令。
1、
2、 袇将编程开关置于“RUN”状态; 3、
4、 莄实验仪的“STEP”及”STOP”开关保持原状,即STEP置为“STEP”状态,STOP置为”RUN”状态,
“SWITCHUNIT”中CLR开关置为1状态; 5、
6、 芀实验仪的“SW-BUS”置为0,左下方开关D5-D0置为“111111”,D7和D6开关任意,(置0或者1都可以) 7、
8、 莇将清零开关CLR从高拔到低,再从低拔到高,即将开关CLR置1→0→1,可以发现后续微地址UA5-UA0灯
变为000000,000000是微指令运行启始地址; 9、
10、 芈接着按动一下“START”键,UA5-UA0灯会变为010000,这是在读00(八进制)条微指令,给出了下
一条要读的微指令是10(八进制); 11、
12、 螂在UA5-UA0灯变为010000时,可通过实验仪左下方开关D7-D0人为强置设置分支地址,将D5-D0置
“111111”→“111100”→“111111”,可以发现UA5-UA0灯从010000变为010011,这表示下一个要读的微指令从010000修改为了010011; 13、
14、 芇在UA5-UA0灯为010011时,也就是23(八进制)时,对微程序流程图,按动一下“START”键,UA5-UA0
灯会变为000001,也就是01(八进制),表示读出了23条微指令,给出了下一条要读的是01条微指令; 15、
16、 莂在UA5-UA0灯为000001时,按动一下START键,UA5-UA0灯会变为000010,表示读出了01条微指令,
下一条要读出的是02条微指令; 17、
18、 荿接着按动一下STRATOR键,读出02条微指令时,UA5-UA0灯显示为001000时,在当前条件下,可通
过强置端SE1-SE6相接的D5-D0人为强置修改分支地址; 19、
20、 莈执行完每个指令的最后一条微指令后,都会回到01微指令,这样才表示执行完了一条指令,同时也表
示可以执行新的指令了; 21、
22、 羆按照上述方法,把所有分支都执行一遍。
五. 六. 蒂实验结果和数据处理:
螀测量并画出时钟和时序信号波形,比较它们的相互关系。 波形图:
螅
膀CPU周期
薂Φ
膁TS1
薈TS2
薄TS3
蚁TS4
时钟Ф脉冲与TS1、TS2、TS3、TS4脉冲的波形,比较时钟Ф脉冲与TS1、TS2、TS3、TS4脉冲的相互关系:时钟Ф脉冲的一个CPU周期的时间,是TS1、TS2、TS3、TS4脉冲的时间之和,即节拍脉冲把一个CPU周期划分成几个较小的时间间隔。
薂七.
八. 芀实验结果分析:
薇分析ADD的每条微指令的指令格式和功能:
螁1)PC→AR;PC+1:①指令格式: 虿微地址 肅11 螈S3S2S1S0 MCNWEA9 A8 膅000000011 莆A 蒁110 袁B 羇110 肀C 膈110 蒀UA5….UA0 芅000011
②功能:根据ABC字段发出的信号,WE=0,读取内存内容,将PC的内容送到地址寄存器中AR,程序计数器加1,做好取下一条机器指令的准备。
虿2)RAM→BUS;BUS→AR:①指令格式: 袂 羆微地址 荿03
蒇 莅S3S2S1S0 MCNWEA9 A8 蝿000000001 节A 蒄110 肇B 蒅000 蚅C 袀000 蒅UA5….UA0 芇000100 ②功能:根据微地址03,RAM进行读操作,发出存数控制信号,把RAM的内容送到总线
上,再送到地址寄存器AR中,程序计数器加1,做好取下一条机器指令的准备。
薄
芁3)RAM→BUS,BUS→DR2:①指令格式: 罿微地址 螄04 芆S3S2S1S0 MCNWEA9 A8 蝿000000001 蚄A 腿011 蚂B 螄000 蒇C 袄000 肅UA5….UA0 000101 ②功能:根据微地址04,RAM进行读操作,发出LDDR2信号,把RAM的内容送到数据总线上,再送到DR2寄存
器中,程序计数器加1,做好取下一条机器指令的准备。
4)R0→DR1: ①指令格式: 微地址 05 S3S2S1S0 MCNWEA9 A8 000000011 A 010 B 001 C 000 UA5….UA0 000110 ②功能:根据微地址05,发出RS-B信号,把寄存器R0中的内容送到DR1寄存器中,程序计数器加1,做好取
下一条机器指令的准备。
5)DR1+DR2→R0:①指令格式: 微地址 06 S3S2S1S0 MCNWEA9 A8 A 001 B 101 C 000 UA5….UA0 000001 ②功能:根据微地址06,发出ALU-B信号,把DR1和DR2相加,结果放R0寄存器中,回到01微指令。 九. 写出掌握了的控制信号的作用:
? WE控制信号的功能:WE是存储器RAM的写命令信号,WE=1时,RAM进行写操作,WE=0时,RAM进行读
操作。
? 当STEP开关为0时态,一旦按下启动键,运行触发器Cr一直处于1状态,因此时序TS1-TS4将周而复
始地发送出去;当STEP为1时,一旦按下启动键,机器便处于单步运行状态,即此次只读一条指令,可以观察微指令的代码与当前微指令的执行结果。
共分享92篇相关文档