计算机组成原理实验报告3微程序控制器实验

实验三 微程序控制器实验

一. 实验目的与要求:

实验目的:

1. 理解时序产生器的原理,了解时钟和时序信号的波形; 2. 掌握微程序控制器的功能,组成知识; 3. 掌握微指令格式和各字段功能;

4. 掌握微程序的编制,写入,观察微程序的运行,学习基本指令的执行流程。 实验要求:

1. 实验前,要求做好实验预习,并复习已经学过的控制信号的作用;

2. 按练习一要求完成测量波形的操作,画出TS1,TS2,TS3,TS4的波形,并测出所用的脉冲

Ф周期。按练习二的要求输入微指令的二进制代码表,并单步运行五条机器指令。

二. 实验方案:

按实验图在实验仪上接好线后,仔细检查无误后可接通电源。

1. 练习一:用联机软件的逻辑示波器观测时序信号,测量Ф,TS1,TS2,TS3,TS4信号的 方法如下:

(1) TATE UNIT 中STOP开关置为“RUN”状态(向上拨),STEP开关置为 “EXEC”状态 (向上拨)。

(2) 将SWITCH UNIT 中右下角CLR开关置为“1”(向上拨)。 (3) 按动“START”按钮,即可产生连续脉冲。

(4)调试”菜单下的“显示逻辑示波器窗口,即可出现测量波形的画面。

(5)探头一端接实验仪左上角的CH1,另一端接STATE UNIT中的Ф插座,即可测出时钟Ф的波形。

(6)探头一端接实验仪左上角的CH2,另一端接STATE UNIT中的TS1插座,即可测出TS1的波形;

(7)探头一端接实验仪左上角的CH1,另一端接STATE UNIT中的TS2插座,即可测出TS2的波形。

(8)将红色探头一端接实验仪左上角的CH1,另一端接STATE UNIT中的TS3插座,即可测出TS3的波形。

(9)将红色探头一端接实验仪左上角的CH1,另一端接STATE UNIT中的TS4插座,即可测出TS4的波形。

2. 观察微程序控制器的工作原理: ① 关掉实验仪电源,拔掉前面测时序信号的接线; ② 编程写入E2PROM 2816

A. 将编程开关(MJ20)置为PROM(编程)状态;

B. 将实验板上STATE UNIT 中的STEP置为STEP状态,STOP置为RUN状态,

SWITCH UNIT中CLR开关置为1状态;

C. 在右上角的SWITCH UNIT中UA5-UA0开关上置表3.2中某个要写的微地址;

③ A. B. C. D.

E.

D. 在MK24-MK1开关上置表3.2中要写的微地址后面的24位微代码,24位开关对应

24位显示灯,开关置为1时灯亮,为0时灯灭;

E. 启动时序电路,即将微代码写入到E2PROM 2816的相应地址对应的单元中; F. 重复C-E步骤,将表3.2的每一行写入E2PROM 2816。 校验

将编程开关置为READ(校验)状态;

保持STEP,STOP,CLR开关状态不变,将实验板上STATE UNIT 中的STEP置为STEP状态,STOP置为RUN状态,SWITCH UNIT中CLR开关置为1状态; 在开关UA5-UA0上按表3.2置好要读的某个微地址;

按动START键,启动时序电路,就能读出微代码,观察显示灯MD24-MD1的状态,检查读出的微代码是否与已经写入的相同,若不同,将开关置于PROM编程状态,重新执行;

重复C-D步骤,将表3.2的每一行从E2PROM 2816读出来。

练习二:步运行五条机器指令。

1、 将编程开关置于“RUN”状态; 2、 实验仪的“STEP”及”STOP”开关保持原状,即STEP置为“STEP”状态,STOP置为”RUN”

状态,“SWITCH UNIT”中CLR开关置为1状态;

3、 实验仪的“SW-BUS”置为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(八进制); 6、 在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、 接着按动一下STRATOR键,读出02条微指令时,UA5-UA0灯显示为001000时,在

当前条件下,可通过强置端SE1-SE6相接的D5-D0人为强置修改分支地址;

10、 执行完每个指令的最后一条微指令后,都会回到01微指令,这样才表示执行完了

一条指令,同时也表示可以执行新的指令了; 11、 按照上述方法,把所有分支都执行一遍。

三. 实验结果和数据处理:

测量并画出时钟和时序信号波形,比较它们的相互关系。 波形图:

CPU 周期

Φ TS1 TS2 TS3 TS4

时钟Ф脉冲与TS1、TS2、TS3、TS4脉冲的波形,比较时钟Ф脉冲与TS1、TS2、TS3、TS4脉冲的相互关系:时钟Ф脉冲的一个CPU周期的时间,是TS1、TS2、TS3、TS4脉冲的时间之和,即节拍脉冲把一个CPU周期划分成几个较小的时间间隔。

四. 实验结果分析:

分析ADD的每条微指令的指令格式和功能:

功能:根据ABC字段发出的信号,WE=0,读取内存内容,将PC的内容送到地址寄存器

中AR,程序计数器加1,做好取下一条机器指令的准备。

功能:根据微地址03,RAM进行读操作,发出存数控制信号,把RAM的内容送到总线

上,再送到地址寄存器AR中,程序计数器加1,做好取下一条机器指令的准备。

功能:根据微地址04,RAM进行读操作,发出LDDR2信号,把RAM的内容送到数据

总线上,再送到DR2寄存器中,程序计数器加1,做好取下一条机器指令的准备。

4)R0→DR1: ①指令格式:

功能:根据微地址05,发出RS-B信号,把寄存器R0中的内容送到DR1寄存器中,程

序计数器加1,做好取下一条机器指令的准备。

回到01微指令。

功能:根据微地址06,发出ALU-B信号,把DR1和DR2相加,结果放R0寄存器中, 五. 写出掌握了的控制信号的作用:

 WE控制信号的功能:WE是存储器RAM的写命令信号,WE=1时,RAM进行写

操作,WE=0时,RAM进行读操作。

 当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的选通输出译码。

六.结论:

 根据实验操作步骤,所得的实验结果与理论值一致。

七.问题与讨论:

 练习二的实验里在执行ADD指令时,在分支处强置修改分支地址,并且以后每

次都强置修改,运行完以后,发现结果是错误的,检查步骤,与同学讨论,分析原因,原来是当微程序不产生分支时,后继微地址直接由微指令的顺序控制字段给出。当微程序出现分支时,意味着微程序出现条件转移,这时,可通过SE6-SE1强制端去修改微地址寄存器的内容,并按改好的内容读出下一条微指令,然后继续往下执行。

八.实验总结:

 心得体会:通过该实验让我较好地掌握了微程序控制器的功能,组成知识,微指

令格式和各字段功能,微程序的编制,写入,观察微程序的运行,学习基本指令

的执行流程,遇到问题,可以通过实验,分析,讨论,请教老师解决问题,基本达到学习的目的。

 问题分析:在实验过程中遇到问题时,首先检查线路是否连接准确,然后再查看

步骤,有无漏做或做错的步骤,分析可能出错的原因,与同学讨论,若仍无法解决,就请教老师,请指导老师查看指正。

九.思考题:

 本次实验共设计了几条指令?分别是什么指令?

答: 本次实验共设计了五条指令,分别是IN (输入),ADD(二进制加法),STA(存数),OUT(输出),JMP(无条件转移)。

 S3,S2,S1,S0,M,Cn控制信号共同起到什么作用?

答: S3,S2,S1,S0,M,Cn控制信号共同起到选择ALU进行哪种运算。  写出WE控制信号的功能。

答: WE控制信号的功能:WE是存储器RAM的写命令信号,WE=1时,RAM进行写操作,WE=0时,RAM进行读操作。

 A.B.C字段主要能译出什么信号?分别写出来。

答: A字段中,主要是寄存器的打入信号,B字段中主要是寄存器的输出信号,C字段中,主要是测试信号。

 UA5-UA0是当前微地址还是后继微地址? 答: UA5-UA0是当前后继微地址。

 06微指令功能是什么?06微指令S3,S2,S1,S0.M.CN的值为“100101”代表什么

运算?A字段“001”和B字段“101”分别选中哪个控制信号,信号的功能分别是什么?06微指令中UA5-UA0中“000001”代表什么含义?

答:06微指令功能是将DR1寄存器中的内容和DR2寄存器中的内容相加,结果放R0寄存器中;

06微指令S3,S2,S1,S0,M,Cn的值为“100101”代表A加B运算;

A字段“001”是选中LDRi控制信号,其功能是根据机器指令来进行三个工作寄存器.R0,R1及R2的选择存入译码,而LDRi在本实验中即为LDR0,表示对寄存器R0的选择存入;

B字段“101”选中ALU-B控制信号,ALU-B是输出三态门的控制端,控制运算器的运算结果是否送到数据总线BUS上;

06微指令中UA5-UA0中“000001”代表后续微地址01。

实验三 微程序控制器实验

一. 实验目的与要求:

实验目的:

1. 理解时序产生器的原理,了解时钟和时序信号的波形; 2. 掌握微程序控制器的功能,组成知识; 3. 掌握微指令格式和各字段功能;

4. 掌握微程序的编制,写入,观察微程序的运行,学习基本指令的执行流程。 实验要求:

1. 实验前,要求做好实验预习,并复习已经学过的控制信号的作用;

2. 按练习一要求完成测量波形的操作,画出TS1,TS2,TS3,TS4的波形,并测出所用的脉冲

Ф周期。按练习二的要求输入微指令的二进制代码表,并单步运行五条机器指令。

二. 实验方案:

按实验图在实验仪上接好线后,仔细检查无误后可接通电源。

1. 练习一:用联机软件的逻辑示波器观测时序信号,测量Ф,TS1,TS2,TS3,TS4信号的 方法如下:

(1) TATE UNIT 中STOP开关置为“RUN”状态(向上拨),STEP开关置为 “EXEC”状态 (向上拨)。

(2) 将SWITCH UNIT 中右下角CLR开关置为“1”(向上拨)。 (3) 按动“START”按钮,即可产生连续脉冲。

(4)调试”菜单下的“显示逻辑示波器窗口,即可出现测量波形的画面。

(5)探头一端接实验仪左上角的CH1,另一端接STATE UNIT中的Ф插座,即可测出时钟Ф的波形。

(6)探头一端接实验仪左上角的CH2,另一端接STATE UNIT中的TS1插座,即可测出TS1的波形;

(7)探头一端接实验仪左上角的CH1,另一端接STATE UNIT中的TS2插座,即可测出TS2的波形。

(8)将红色探头一端接实验仪左上角的CH1,另一端接STATE UNIT中的TS3插座,即可测出TS3的波形。

(9)将红色探头一端接实验仪左上角的CH1,另一端接STATE UNIT中的TS4插座,即可测出TS4的波形。

2. 观察微程序控制器的工作原理: ① 关掉实验仪电源,拔掉前面测时序信号的接线; ② 编程写入E2PROM 2816

A. 将编程开关(MJ20)置为PROM(编程)状态;

B. 将实验板上STATE UNIT 中的STEP置为STEP状态,STOP置为RUN状态,

SWITCH UNIT中CLR开关置为1状态;

C. 在右上角的SWITCH UNIT中UA5-UA0开关上置表3.2中某个要写的微地址;

③ A. B. C. D.

E.

D. 在MK24-MK1开关上置表3.2中要写的微地址后面的24位微代码,24位开关对应

24位显示灯,开关置为1时灯亮,为0时灯灭;

E. 启动时序电路,即将微代码写入到E2PROM 2816的相应地址对应的单元中; F. 重复C-E步骤,将表3.2的每一行写入E2PROM 2816。 校验

将编程开关置为READ(校验)状态;

保持STEP,STOP,CLR开关状态不变,将实验板上STATE UNIT 中的STEP置为STEP状态,STOP置为RUN状态,SWITCH UNIT中CLR开关置为1状态; 在开关UA5-UA0上按表3.2置好要读的某个微地址;

按动START键,启动时序电路,就能读出微代码,观察显示灯MD24-MD1的状态,检查读出的微代码是否与已经写入的相同,若不同,将开关置于PROM编程状态,重新执行;

重复C-D步骤,将表3.2的每一行从E2PROM 2816读出来。

练习二:步运行五条机器指令。

1、 将编程开关置于“RUN”状态; 2、 实验仪的“STEP”及”STOP”开关保持原状,即STEP置为“STEP”状态,STOP置为”RUN”

状态,“SWITCH UNIT”中CLR开关置为1状态;

3、 实验仪的“SW-BUS”置为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(八进制); 6、 在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、 接着按动一下STRATOR键,读出02条微指令时,UA5-UA0灯显示为001000时,在

当前条件下,可通过强置端SE1-SE6相接的D5-D0人为强置修改分支地址;

10、 执行完每个指令的最后一条微指令后,都会回到01微指令,这样才表示执行完了

一条指令,同时也表示可以执行新的指令了; 11、 按照上述方法,把所有分支都执行一遍。

三. 实验结果和数据处理:

测量并画出时钟和时序信号波形,比较它们的相互关系。 波形图:

CPU 周期

Φ TS1 TS2 TS3 TS4

时钟Ф脉冲与TS1、TS2、TS3、TS4脉冲的波形,比较时钟Ф脉冲与TS1、TS2、TS3、TS4脉冲的相互关系:时钟Ф脉冲的一个CPU周期的时间,是TS1、TS2、TS3、TS4脉冲的时间之和,即节拍脉冲把一个CPU周期划分成几个较小的时间间隔。

四. 实验结果分析:

分析ADD的每条微指令的指令格式和功能:

功能:根据ABC字段发出的信号,WE=0,读取内存内容,将PC的内容送到地址寄存器

中AR,程序计数器加1,做好取下一条机器指令的准备。

功能:根据微地址03,RAM进行读操作,发出存数控制信号,把RAM的内容送到总线

上,再送到地址寄存器AR中,程序计数器加1,做好取下一条机器指令的准备。

功能:根据微地址04,RAM进行读操作,发出LDDR2信号,把RAM的内容送到数据

总线上,再送到DR2寄存器中,程序计数器加1,做好取下一条机器指令的准备。

4)R0→DR1: ①指令格式:

功能:根据微地址05,发出RS-B信号,把寄存器R0中的内容送到DR1寄存器中,程

序计数器加1,做好取下一条机器指令的准备。

回到01微指令。

功能:根据微地址06,发出ALU-B信号,把DR1和DR2相加,结果放R0寄存器中, 五. 写出掌握了的控制信号的作用:

 WE控制信号的功能:WE是存储器RAM的写命令信号,WE=1时,RAM进行写

操作,WE=0时,RAM进行读操作。

 当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的选通输出译码。

六.结论:

 根据实验操作步骤,所得的实验结果与理论值一致。

七.问题与讨论:

 练习二的实验里在执行ADD指令时,在分支处强置修改分支地址,并且以后每

次都强置修改,运行完以后,发现结果是错误的,检查步骤,与同学讨论,分析原因,原来是当微程序不产生分支时,后继微地址直接由微指令的顺序控制字段给出。当微程序出现分支时,意味着微程序出现条件转移,这时,可通过SE6-SE1强制端去修改微地址寄存器的内容,并按改好的内容读出下一条微指令,然后继续往下执行。

八.实验总结:

 心得体会:通过该实验让我较好地掌握了微程序控制器的功能,组成知识,微指

令格式和各字段功能,微程序的编制,写入,观察微程序的运行,学习基本指令

的执行流程,遇到问题,可以通过实验,分析,讨论,请教老师解决问题,基本达到学习的目的。

 问题分析:在实验过程中遇到问题时,首先检查线路是否连接准确,然后再查看

步骤,有无漏做或做错的步骤,分析可能出错的原因,与同学讨论,若仍无法解决,就请教老师,请指导老师查看指正。

九.思考题:

 本次实验共设计了几条指令?分别是什么指令?

答: 本次实验共设计了五条指令,分别是IN (输入),ADD(二进制加法),STA(存数),OUT(输出),JMP(无条件转移)。

 S3,S2,S1,S0,M,Cn控制信号共同起到什么作用?

答: S3,S2,S1,S0,M,Cn控制信号共同起到选择ALU进行哪种运算。  写出WE控制信号的功能。

答: WE控制信号的功能:WE是存储器RAM的写命令信号,WE=1时,RAM进行写操作,WE=0时,RAM进行读操作。

 A.B.C字段主要能译出什么信号?分别写出来。

答: A字段中,主要是寄存器的打入信号,B字段中主要是寄存器的输出信号,C字段中,主要是测试信号。

 UA5-UA0是当前微地址还是后继微地址? 答: UA5-UA0是当前后继微地址。

 06微指令功能是什么?06微指令S3,S2,S1,S0.M.CN的值为“100101”代表什么

运算?A字段“001”和B字段“101”分别选中哪个控制信号,信号的功能分别是什么?06微指令中UA5-UA0中“000001”代表什么含义?

答:06微指令功能是将DR1寄存器中的内容和DR2寄存器中的内容相加,结果放R0寄存器中;

06微指令S3,S2,S1,S0,M,Cn的值为“100101”代表A加B运算;

A字段“001”是选中LDRi控制信号,其功能是根据机器指令来进行三个工作寄存器.R0,R1及R2的选择存入译码,而LDRi在本实验中即为LDR0,表示对寄存器R0的选择存入;

B字段“101”选中ALU-B控制信号,ALU-B是输出三态门的控制端,控制运算器的运算结果是否送到数据总线BUS上;

06微指令中UA5-UA0中“000001”代表后续微地址01。


相关文章

  • 计算机组成原理实验教学大纲
  • <计算机组成原理>实验教学大纲 学时课程总:80 学分:5 实验学时: 16 实验个数:4 实验学分:0.5 课程性质:必做 适用专业:计算机科学.软件/网络工程 教材及参考书: 1. <计算机组成原理实验指导书>, ...查看


  • 微程序控制器实验报告
  • 计算机科学与技术系 实 验 报 告 专业名称 计算机科学与技术 课程名称 计算机组成与结构 项目名称 微程序控制器实验 班 级 学 号 姓 名 同组人员 无 实验日期 2015-11-11 一.实验目的 1.掌握微程序控制器的组成原理: 2 ...查看


  • 复杂模型机的组成与运行实验报告
  • 内蒙古师范大学计算机与信息工程学院 <计算机组成原理> 课程设计报告 题目十五:复杂模型机的组成与运行 目 录 1[ 任务描述] ................................................. ...查看


  • 上海大学_计算机组成原理实验报告82011级
  • 上海大学计算机学院 <计算机组成原理二实验>报告8 姓名: 学号: 教师:xxx 时间:xxx 地点:xxx 机位:xxx 实验名称:程序转移机制(综合实验) 一.实验目的: 1. 2. 3. 4. 学习实现程序转移的硬件机制: ...查看


  • 数据通路组成实验
  • 华中科技大学武昌分校实验报告 实验名称实验日期专业学生姓名 数据通路组成实验2014.11.14计科唐海军 047 班号 第1202 3 次试验 组别 成绩 指导老师陈国平 同组学生 实验报告内容:一.实验目的 1. 2. 3. 4. 进一 ...查看


  • 课程教学实施计划
  • 编写 审批 解放军理工大学指挥信息系统学院 教 学 实 施 教员姓名: 陈鸣,许博 单 位: 网络工程教研中心 课程名称: 计算机网络原理 授课对象: 本科学员 授课学期: 2013年春季学期 理工大学训练部制表 课 程计 划 2012学年 ...查看


  • 计组实验报告
  • _计算机_学院 计算机科学与技术 专业_ 班______组.学号 姓名 协作者___________ 教师评定 实验题目:_ _______________________ 一.实验目的: 1. 学习和了解TEC-XP教学实验系统监控命令的 ...查看


  • 原码一位乘法器
  • 课 程 设 计 报 告 课程设计名称:课程设计题目: 院(系):专 业:班 级:学 号:姓 名:指导教师:完成日期: 计算机组成原理课程设计 定点原码一位乘法器的设计 目 录 第1章 总体设计方案 ..................... ...查看


  • 电气工程实践报告
  • 一.实验装置介绍 该实践课所用的实验装置是THBCDT-2型群控多层电梯实训装置是依据国家数控及机电一体化教学要求而开发的,适合机械制造及自动化.机电一体化.自动化.电气工程等专业的相关课程开设实验课.可编程控制器可采用目前市面上比较流行的 ...查看


热门内容