实验四 常规型微程序控制器组成实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四常规型微程序控制器组成实验
一、实验目的
1.掌握时序发生器的组成原理。
2.掌握微程序控制器的组成原理。
二、实验电路
1.时序发生器
本实验所用的时序电路见图3.4。电路由一个500KHz晶振、2片GAL22V10、一片74LS390组成,可产生两级等间隔时序信号T1-T4、W1-W3,其中一个W由一轮T1-T4组成,相当于一个微指令周期或硬连线控制器的一拍,而一轮W1-W3可以执行硬连线控制器的一条机器指令。另外,供数字逻辑实验使用的时钟由MF经一片74LS390分频后产生。
图3.4 时序信号发生器
本次实验不涉及硬连线控制器,因此时序发生器中产生W1-W3的部分也可根据需要放到硬连线控制器实验中介绍。
产生时序信号T1-T4的功能集成在图中左边的一片GAL22V10中,另外它还产生节拍信号W1-W3的控制时钟CLK1。该芯片的逻辑功能用ABEL语言实现。其源程序如下:MODULE TIMER1
TITLE 'CLOCK GENERATOR T1-T4'
CLK = .C.;
"INPUT
MF, CLR, QD, DP, TJ, DB PIN 1..6;
W3 PIN 7;
"OUTPUT
T1, T2, T3, T4 PIN 15..18 ISTYPE 'REG';
CLK1 PIN 14 ISTYPE 'COM';
QD1, QD2, QDR PIN ISTYPE 'REG';
1
ACT PIN ISTYPE 'COM';
S = [T1, T2, T3, T4, QD1, QD2, QDR];
EQUATIONS
QD1 := QD;
QD2 := QD1;
ACT = QD1 & !QD2;
QDR := CLR & QD # CLR & QDR;
T1 := CLR & T4 & ACT # CLR & T4 & ! (DP # TJ # DB & W3) & QDR;
T2 := CLR & T1;
T3 := CLR & T2;
T4 := !CLR # T3 # T4 & !ACT & (DP #TJ# DB& W3) # !QDR;
CLK1 = T1 # !CLR & MF;
S.CLK = MF;
END
节拍电位信号W1-W3只在硬连线控制器中使用,产生W信号的功能集成在右边一片GAL22V10中,用ABEL语言实现。其源程序如下:
MODULE TIMER2 //头部
TITLE 'CLOCK GENERATOR W1-W3'
DECLARATIONS //说明部
CLK = .C.;
"INPUT
CLK1, CLR, SKIP PIN 1..3;
"OUTPUT
W1, W2, W3 PIN 16..18 ISTYPE 'REG';
W = [W1, W2, W3];
EQUATIONS //逻辑描述部
W1 := CLR & W3;
W2 := CLR & W1 & !SKIP;
W3 := !CLR # W2 # W1 & SKIP;
W.CLK = CLK1;
END TIMER2 //结束部
左边GAL的时钟输入MF是晶振的输出,频率为500KHz。T1-T4的脉宽为2μs。CLR实际上是控制台的CLR#信号,因为ABEL语言的书写关系改为CLR,仍为低有效。CLR#=0将系统复位,此时时序停在T4、W3,微程序地址为000000B。建议每次实验台加电后,先按CLR#复位一次。实验台上CLR#到时序电路的连接已连好。
对时序发生器TJ输入引脚的连接要慎重,当不需要暂停微程序的运行时,将它接地;如果需要的话,将它与微程序控制器的输出微命令TJ相连。QD(启动)是单脉冲信号,在
2
3
GAL 中用时钟MF 对它进行了同步,产生QD1和QD2。ACT 表达式为QD1&!QD2,脉宽为2μs 。QDR 是运行标志,QD 信号使其置1,CLR#将其置0。DB (单步)、DP (单拍)是来自实验台的二进制开关模拟信号。当TJ =0、DB =0、DP =0时,一旦按下QD 键,时序信号T1-T4周而复始的发送出去,此时机器处于连续运行状态。当DP =1、TJ =0、DP =0时,按下QD 键,机器将处于单拍运行状态,此时只发送一组T1、T2、T3、T4时序信号就停机,此时机器时序停在T4。利用单拍方式,每次只读出一条微指令,因而可以观察微指令代码以及当前的执行结果。当机器连续运行时,如果TJ =1,也会使机器中断运行,时序停在T4。
DB 、SKIP 、CLK1信号以及W1-W3节拍电位信号都是针对硬连线控制器的。硬连线控制器执行一条机器指令需要一组W1-W3时序信号。CLK1是产生W 信号的控制时钟,由左边一片GAL 产生。DB 信号就是控制每次发送一组W1-W3后停机。执行某些机器指令不需要一组完整的W 信号,SKIP 信号就是用来跳过本指令剩余的W 节拍信号的。
2. 数据通路
微程序控制器是根据数据通路和指令系统来设计的。这里采用的数据通路是在综合前面各实验的基础上,整合了运算器模块、存储器模块等形成的。有关数据通路整体的详细说明,请参阅第一章。
3. 微指令格式
根据给定的8条机器指令功能和数据通路总体图的控制信号,采用的微指令格式如图3.5所示。微指令字长31位,其中顺序控制部分9位:判别字段3位,后继微地址6位。操作控制字段22位,各位进行直接控制。
μ
A 0
μA 1μA 2μA 3μA 4μA 5备用
TJ
L D I R
P C +1L D P C #A R +1L D A R #L D D R 1L D D R 2L D R i S W -B U S #R s -B U S #A L U -B U S #R A M -B U S #C E R #C E L #L R W C n #M S0S1S3S2图3.5 微指令格式
对应微指令格式,微程序控制器的组成见图3.6。
控制存储器采用4片E 2PROM (HN58C65)组成,HN58C65是8K ×8位的,地址输入端有13位(A12-A0),实验中只用到A5-A0,所以A12-A6接地,实际的使用空间为64字节。
微地址寄存器μAR 共6位,用一片8D 触发器74LS174组成,带有异步清零端。 两级与、或门构成微地址转移逻辑,用于产生下一微指令地址。
在每一个T1的上升沿,新的微指令地址打入微地址寄存器中,控制存储器随即输出该条微指令的控制信号。微地址转移逻辑生成下一微地址,等到下一个T1上升沿,将其打入微地址寄存器中。
微地址转移逻辑的多个输入信号中,SWC 、SWB 、SWA 是控制台指令的定义开关,它们用来决定控制台指令微程序的分支。C 是进位信号,IR7-IR4是机器指令的操作码字段,根据它们的值来控制微程序转向某个特定的分支。
三、机器指令与微程序
为教学中简单明了,本实验仪器使用了8条机器指令,均为单字长(8位)指令。指令功能及格式如表3.3所示。指令的高4位IR7-IR4是操作码,提供给微程序控制器用作地址转移;低4位提供给数据通路。