当前位置:首页 > 读后感 > 微程序设计实验 [实验三 微程序设计]
 

微程序设计实验 [实验三 微程序设计]

发布时间:2019-07-24 09:40:14 影响了:

实验三微程序设计 一、 实验目的:

1.掌握时序产生器的组成及工作原理;掌握微程序控制器的组成及工作原理; 2.根据给出的指令系统、微指令格式、微命令的字段译码方案、地址转移逻辑电路分别设计部分微程序流程图、微指令的二进制代码; 3.掌握微程序的编制、写入和读出验证的方法;

4.根据给出的汇编语言和机器语言源程序,通过改变SE1~SE6的值,模拟P(1)测试,观察微程序的运行过程,掌握由微程序解释机器语言源程序的工作原理。 二、实验设备

TDN-CM+计算机组成原理教学实验系统一台。

三、实验内容

1.实验原理

实验所用的时序电路原理如图5-1所示,可产生4个等间隔的时序信号TS1-TS4,其中φ为时钟信号,由实验台左上方的方波信号源提供,可产生频率及脉宽可调的方波信号。学生可根据实验自行选择方波信号的频率及脉宽。为了便于控制程序的运行,时序电路发生器也设置了一个启停控制触发器Cr,使TS1-TS4信号输出可控。图5-1中STEP(单步)、STOP(停机)分别是来自实验台上方中部的两个二进制开关STEP、STOP的模拟信号。START键是来自实验板上方中部的一个微动开关START的按键信号。当STEP的开关为0时(EXEC),一旦按下启动键,运行触发器Cr一直处于“1”状态,因此时序信号TS1-TS4将周而复始地发送出去。当STEP为1(STEP)时,一旦按下启动键,机器便处于单步运行状态,即此时只发送一个CPU周期的时序信号就停机。利用单步方式,每次只读一条微指令,可以观察微指令的代码与当前微指令的执行结果。另外,当机器连续运行时,如果STOP开关置“1”(STOP),也会使机器停机。

由于时序电路的内部线路已经连好,所以只需将时序电路与方波信号源连接(即将时序电路的时钟脉冲输入端φ接至方波信号发生器输出端H23),时序电路的CLR已接至实验板右下方的CLR模拟开关上。

2.微程序控制电路与微指令格式 (1)微程序控制电路

微程序控制器的组成见图5-2,其中控制存储器采用3片2816的EPROM,具有掉电保护功能,微命令寄存器18位,用两片8D触发器(74LS273)和一片4D(74LS175)触发器组成。微地址寄存器6位,用三片正沿触发的双D触发器(74LS74)组成,它们带有清“0”端和预置端。在不判别测试的情况下,T2时刻打入微地址寄存器的内容即为下一条微指令

2

的微地址。当T4时刻进行测试判别时,转移逻辑满足条件后输出的负脉冲通过强置端将某一触发器置为“1”状态,完成微地址的多路转移功能。

在该实验电路中设有一个编程开关(位于实验台中部上方),它具有三种状态:PROM(编程)、READ(校验)、RUN(运行)。当处于“编程状态”时,学生可根据微地址和微指令格式将微指令二进制代码写入到控制存储器2816中。当处于“校验状态”时,可以对写入控制存储器中的二进制代码进行验证,从而可以判断写入的二进制代码是否正确。当处于“运行状态”时,只要给出微程序的入口微地址,则可根据微程序流程图自动执行微程序。图中微地址寄存器输出端增加了一组三态门,目的是隔离触发器的输出,增加抗干扰能力,并用来驱动微地址显示灯。

如图5-1

(2)微指令格式

微指令字长共24位,其微指令格式及每位的功能如表5-1所示。

表5-1 微指令格式及字段译码功能

A、B、C字段经过译码器译码后的信号使用说明:

A字段 B字段 C字段

A9、A8经译码器译码后的信号使用说明:

计数器存储器RAM6116:

功能 不选择 读 写 其中UA5-UA0为6位的后续微地址,A、B、C为三个译码字段,分别由三个控制位译码出多位。C字段中的P(1)-P(4)是四个测试字位。其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行,其原理如图5-3所示,图中I7-I2为指令寄存器的第7-2位输出,SE6-SE1为微程序控制器单元微地址锁存器的异步置“1”输入端。AR为算术运算是否影响进位及判零标志控制位,其为低电零有效。B字段中的RS-B、RD-B、RI-B分别为源寄存器选通信号、目的寄存器选通

信号及变址寄存器选通信号(均为低电平有效),其功能是根据机器指令来进行三个工作寄存器R0、R1及R2的选通译码,其原理如图5-4,图中I0-I3为指令寄存器的第0-3位,LDRi为打入工作寄存器信号的译码器使能控制位,高电平有效。

3.汇编指令格式和指令系统

助记符号 指令格式 功能

IN Rd 0000 ×× Rd (SW)-->Rd

ADD Rd×× Rd d)+(addr)-->Rd addr

STA Rds ××s)-->addr addr

×× ××addr

×× ××addr

说明:指令格式中IN指令为单字长(8位)指令,其它指令为双字长指令(16位),指令格式中给出了各条指令的操作码编码,Rs为源寄存器编码(共2位),Rd为目的寄存器编码(共2位)。

4.实验步骤

(1)图5-5给出了几条机器指令对应的参考微程序流程图,设计ADD和JMP机器指令对应的微程序流程图,将有关的微程序按微指令格式编写二进制代码,填入表5-2所示的二进制代码表。

运行微程序

表5-2 微指令的二进制代码表

(2)按图5-6连接实验线路,仔细查线无误后接通电源。

(3)观测时序信号

用双踪示波器(或用PC示波器功能)观察方波信号源的输出,时序电路中的“STOP”开关置为“RUN”,“STEP”开关置为“EXEC”。按动START按键,从示波器上可观察到TS1、TS2、TS3、TS4各点的波形,比较它们的相互关系,画出其波形,并标注测量所得到的脉冲宽度,如图5-7所示。

(4)观察微程序控制器的工作原理: ①编程

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

B.将实验板上“STATE UNIT”中的“STEP”置为“STEP”,“STOP”置为“RUN”状态; C.用二进制模拟开关置微地址MA5-MA0;

D.在MK24-MK1开关上置微代码,24位开关对应24位显示灯,开关量为“0”时灯亮,

开关量为“1”时灯灭;

E.启动时序电路(按动启动按钮“START”),即将微代码写入到E2PROM(2816)的相

应地址对应的单元中;

F.重复C-E步骤,将表5-2的微代码写入到2816。 ②校验

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

B.将实验板的“STEP”开关置为“STEP”状态,“STOP”开关置为“RUN”状态; C.用二进制开关置好微地址MA5-MA0;

D.按动“START”键,启动时序电路,读出微代码。观察显示灯MD24-MD1的状态(灯

亮为“0”,灯灭为“1”),检查读出的微代码是否与写入的相同。如果不同,则将开关置于PROM编程状态,重新执行①即可。

③单步运行

A.将编程开关置于“RUN(运行)”状态;

B.将实验板的“STEP”开关置为“STEP”状态,“STOP”开关置为“RUN”状态; C.操作CLR开关(拨动开关在实验板右下角)使CLR信号1->0->1,微地址寄存器

MA5-MA0清零,从而明确本机的运行入口微地址为000000(二进制);

D.按动“START”键,启动时序电路,则每按动一次启动键,读出一条微指令后停机,

此时实验台上的微地址显示灯和微命令显示灯将显示所读出的一条指令。

注意:在当前条件下,可将“MICR0-CONTROLLER”单元的SE6-SE1接至“SWITCH UNIT”中的S3-Cn对应二进制开关上(即:将SE1-SE6对应二进制开关置为“1”),当需要人为设置分支地址时,可通过强制端SE1-SE6人为设置分支地址,将某个或某几个二进制开关置为“0”,相应的微地址位即被强置为“1”,从而改变下一条微指令的地址。(二进制开关置为“0”,相应的微地址位将被强置为“1”)

④连续运行

A.将编程开关置为“RUN(运行)”状态;

B.将实验板的单步开关“STEP”置为“EXEC”状态,“STOP”开关置为“RUN”状态; C.使CLR从1->0->1,此时微地址寄存器清“0”,从而给出取指微指令的入口地址

为000000(二进制);

D.启动时序电路,则可连续读出微指令。

思考题:

1.为什么取指周期在这里要占用2个CPU周期?

2.在解释OUT指令时,17、25微地址的微指令所完成的操作为什么不能由一条微指令实现?

3.在向RAM写入机器码时,24、30微地址的微指令所完成的操作为什么不能由一条微指令实现?

注意事项

1、所有导线使用前须测通断; 2、不允许带电接线; 3、“0”——亮 “1”——灭;

4、注意连接线的颜色、数据的高低位。

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3