计算机组成原理实验报告微程序控制器实验Word下载.docx
《计算机组成原理实验报告微程序控制器实验Word下载.docx》由会员分享,可在线阅读,更多相关《计算机组成原理实验报告微程序控制器实验Word下载.docx(7页珍藏版)》请在冰豆网上搜索。
用联机软件的逻辑示波器观测时序信号,测量①,TS1,TS2,TS3,TS4信号的
方法如下:
⑴TATEUNIT中STOP开关置为“RUN状态(向上拨),STEP开关置为“EXEC状态(向上拨)
(2)将SWITCHUNIT中右下角CLR开关置为“1”(向上拨)。
(3)按动“START按钮,即可产生连续脉冲。
(4)调试”菜单下的“显示逻辑示波器窗口,即可出现测量波形的画面。
(5)探头一端接实验仪左上角的CH1另一端接STATEUNIT中的①插座,即可测出时钟①的波形。
(6)探头一端接实验仪左上角的CH2另一端接STATBJNIT中的TS1插座,即可测出TS1的波形;
(7)探头一端接实验仪左上角的CH1另一端接STATBJNIT中的TS2插座,即可测出TS2的波形。
(8)将红色探头一端接实验仪左上角的CH1另一端接STATEUNIT中的TS3插座,即可测出TS3的波形。
(9)将红色探头一端接实验仪左上角的CH1另一端接STATEUNIT中的TS4插座,即可测出TS4的波形。
2.观察微程序控制器的工作原理:
1关掉实验仪电源,拔掉前面测时序信号的接线;
2编程写入E2PROM2816
A.将编程开关(MJ20置为PRO(编程)状态;
B.将实验板上STATRNIT中的STEP置为STEF状态,STOPS为RUN犬态,SWITCHJNIT
中CLR开关置为1状态;
C.在右上角的SWITCHUNI冲UA5-UA(开关上置表3.2中某个要写的微地址;
D.在MK24-MK开关上置表3.2中要写的微地址后面的24位微代码,24位开关对应
24位显示灯,开关置为1时灯亮,为0时灯灭;
E.启动时序电路,即将微代码写入到E2PROM2816的相应地址对应的单元中;
F.重复C-E步骤,将表3.2的每一行写入E2PROM281。
6
③校验
A.将编程开关置为REA(校验)状态;
B.保持STEP,STOP,CL开关状态不变,将实验板上STATEJNIT中的STEP置为STEP犬态,
STOPS为RUN犬态,SWITCHUNIT中CLR开关置为1状态;
C.在开关UA5-UA(上按表3.2置好要读的某个微地址;
D.按动START键,启动时序电路,就能读出微代码,观察显示灯MD24-MD的状态,检查
读出的微代码是否与已经写入的相同,若不同,将开关置于PROM编程状态,重新执行;
E.重复C-D步骤,将表3.2的每一行从UPROM281读出来。
练习二:
步运行五条机器指令。
1、将编程开关置于“RUN状态;
2、实验仪的“STEP及”STOP开关保持原状,即STEP置为“STEP状态,STOP置
为”RUN状态,“SWITCHUNIT中CLR开关置为1状态;
3、实验仪的“SW-BU”置为0,左下方开关D5-D0置为“111111”,D7和D6开关任意,
(置0或者1都可以)
4、将清零开关CLR从高拔到低,再从低拔到高,即将开关CLR置1—0—1,可以发现后续微地址UA5-UA0丁变为000000,000000是微指令运行启始地址;
5、接着按动一下“START键,UA5-UA0灯会变为010000,这是在读00(八进制)条微指令,给出了下一条要读的微指令是10(八进制);
&
在UA5-UA0丁变为010000时,可通过实验仪左下方开关D7-D0人为强置设置分支地址,将D5-D0置“111111”—“111100”—“111111”,可以发现UA5-UA0丁从010000变为010011,这表示下一个要读的微指令从010000修改为了010011;
7、在UA5-UA0丁为010011时,也就是23(八进制)时,对微程序流程图,按动一下“START键,UA5-UA0丁会变为000001,也就是01(八进制),表示读出了23条微指令,给出了下一条要读的是01条微指令;
8、在UA5-UA0丁为000001时,按动一下START键UA5-UA0丁会变为000010,表示读出
了01条微指令,下一条要读出的是02条微指令;
9、接着按动一下STRATO键,读出02条微指令时,UA5-UA0灯显示为001000时,在当前条件下,可通过强置端SE1-SE6相接的D5-D0人为强置修改分支地址;
10、执行完每个指令的最后一条微指令后,都会回到01微指令,这样才表示执行完了
一条指令,同时也表示可以执行新的指令了;
11、按照上述方法,把所有分支都执行一遍。
3.实验结果和数据处理:
测量并画出时钟和时序信号波形,比较它们的相互关系。
波形图:
CPU周期
①
TS1
TS2
TS3
TS4
时钟①脉冲与TS1、TS2TS3TS4脉冲的波形,比较时钟①脉冲与TS1、TS2TS3TS4脉冲的相互关系:
时钟①脉冲的一个CPL周期的时间,是TS1、TS2TS3TS4脉冲的时间之和,即节拍脉冲把一个CPL周期划分成几个较小的时间间隔。
4.实验结果分析:
分析ADD的每条微指令的指令格式和功能:
1)PSAR;
PC+1①指令格式:
微地址
S3S2S1S0MCNWEA9A8
A
B
C
UA5….UA0
11
000000011
110
000011
②功能:
根据ABC字段发出的信号,WE=0读取内存内容,将PC的内容送到地址寄存器中
AR程序计数器加1,做好取下一条机器指令的准备。
2)RAM>
BUS;
BU&
AR:
①指令格式:
03
000000001
000
000100
根据微地址03,RAM进行读操作,发出存数控制信号,把RAM勺内容送到总线
上,再送到地址寄存器AR中,程序计数器加1,做好取下一条机器指令的准备
3)RAMkBUS,BUS>
DR2:
04
011
000101
根据微地址04,RAM进行读操作,发出LDDR2信号,把RAM勺内容送到数据总线上,再送到DR2寄存器中,程序计数器加1,做好取下一条机器指令的准备。
4)R0^DR1:
05
000000011
010
001
000110
根据微地址05,发出RS-B信号,把寄存器R0中的内容送到DR1寄存器中,程序计数器加1,做好取下一条机器指令的准备。
5)DR1+DR禺R0:
06
100101011
101
000001
根据微地址06,发出ALU-B信号,把DR1和DR2相加,结果放R0寄存器中,回
到01微指令
五•写出掌握了的控制信号的作用:
WR空制信号的功能:
WE是存储器RAM的写命令信号,WE二时,RAM进行写操作,
WE=0寸,RAM1行读操作。
当STEP开关为0时态,一旦按下启动键,运行触发器Cr一直处于1状态,因此时序TS1-TS4将周而复始地发送出去;
当STEP为1时,一旦按下启动键,机器便处
于单步运行状态,即此次只读一条指令,可以观察微指令的代码与当前微指令的执
行结果
S3,S2,S1,S0,M,Cn控制信号共同起到选择ALU进行哪种运算。
LOAD是PC加1信号,P
(1)-P(4)是四个测试判别信号,其功能是根据机器指令及相应微代码进行译码,使微程序输入相应的微地址入口,从而实验微程序的顺序,分支,循环运行。
LDRi控制信号,其功能是根据机器指令来进行三个工作寄存器.R0,R1及R2的选择存入译码。
RS-B,RD-B,RI-B分别为源寄存器选通输出信号,目的寄存器选通输出信号及变址寄存器选通输出信号,其功能是根据机器指令来进行三个工作寄存器R0,R1,R2的
选通输出译码。
6.结论:
根据实验操作步骤,所得的实验结果与理论值一致。
7.问题与讨论:
练习二的实验里在执行ADD指令时,在分支处强置修改分支地址,并且以后每次都强置修改,运行完以后,发现结果是错误的,检查步骤,与同学讨论,分析原因,原来是当微程序不产生分支时,后继微地址直接由微指令的顺序控制字段给
出。
当微程序出现分支时,意味着微程序出现条件转移,这时,可通过SE6-SE1
强制端去修改微地址寄存器的内容,并按改好的内容读出下一条微指令,然后继续往下执行。
8.实验总结:
心得体会:
通过该实验让我较好地掌握了微程序控制器的功能,组成知识,微指令格式和各字段功能,微程序的编制,写入,观察微程序的运行,学习基本指令的执行流程,遇到问题,可以通过实验,分析,讨论,请教老师解决问题,基本达到学习的目的。
问题分析:
在实验过程中遇到问题时,首先检查线路是否连接准确,然后再查看步骤,有无漏做或做错的步骤,分析可能出错的原因,与同学讨论,若仍无法解决,就请教老师,请指导老师查看指正。
9.思考题:
本次实验共设计了几条指令?
分别是什么指令?
答:
本次实验共设计了五条指令,分别是IN(输入),ADD(二进制加法),STA(存数),OUT输出),JMP(无条件转移)。
S3,S2,S1,S0,M,Cn控制信号共同起到什么作用?
写出WE空制信号的功能。
WE空制信号的功能:
WE是存储器RAM的写命令信号,WE二时,RAMS行写操作,
WE=(时,RAM进行读操作。
A.B.C字段主要能译出什么信号?
分别写出来
A字段中,主要是寄存器的打入信号,B字段中主要是寄存器的输出信号,C字段中,主要是测试信号。
UA5-UA(是当前微地址还是后继微地址?
UA5-UA(是当前后继微地址。
06微指令功能是什么?
06微指令S3,S2,S1,S0.M.CN的值为“100101”代表什么
运算?
A字段“001”和B字段“101”分别选中哪个控制信号,信号的功能分别
是什么?
06微指令中UA5-UA0