计算机组成原理实验(二)
第六章 FD-CES实验台功能模块介绍
6.1 前言 6.6 总线缓冲模块
6.2 运算器模块 6.7 微程序控制模块
6.3 寄存器堆模块 6.8 启停和时序模块
6.4 指令部件模块 6.9 控制台控制模块
6.5 内存模块 6.10 与 PC机串行口通讯模块
6.1 前言
FD-CES为实验者开发调试一台实验
计算机提供了一系列功能模块,这里逐一
介绍它们的组成和使用。
6.2 运算器模块
运算器模块 (ALU)主要由累加器 A(74198)运算器
ALU(74181x2)、累加器暂存器 ACT(74377)、暂
存器 TMP(74373)、输出缓冲器 BUFFER(74245),
以及进位产生线路、累加器判零线路等构成。
为便于构造不同的运算器结构,该模块在累加器
的输入端、累加器暂存器的输入端,以及输出缓冲器
BUFFER的输入端,都设有数据通路选择开关。
1,运算器模块逻辑框图和符号说明
图 6-1是运算器模块逻辑框图。
图 6-1 运算器模块
2,运算器模块的组成和工作原理
该模块主要由算术逻辑单元 ALU、累加器 A,累加器暂存
器 ACT,暂存器 TMP、缓冲器 BUFFER以及进位产生线路和
累加器 A判零线路等组成。
算术逻辑 ALU是由两片 74181(U17,U18)构成,它是运
算器的核心。它可以对两个 8位二进制数进行多种算术或逻辑
运算,具体由 74181的功能控制条件 M,S3,S2,S1,S0决
定。两个参加运算的数分别来自 ACT和 TMP(或 Ri),运算结果
可以直接送到累加器 A或经 BUFFER送到累加器 A,以便进行
移位操作或参加下次运算。
累加器暂存寄存器 ACT采用 74377,CG为低电平且接数
控制脉冲 CC电平正跳时,ACT接数。 ACT的输出不受控制地
直接加在 ALU的 A组输入端参加运算。
暂存器 TMP采用三态输出锁存器 74373。当它的接数控
制端 CT为高电平时,接收内部数据总线 IDB上的信息 ;当它
的输出控制端 OT为低电平时,其所存信息加到 ALU的 B组输
入端参加运算。在构造运算器时,若只需控制 TMP的输出,
则可将 CT接 +5V;若不需 TMP暂存信息,则可将 CT接 +5V,
OT接地,使其直通,若 OT接 +5V,则 TMP输出高阻态。
输出缓冲器 BUFFER采用三态传输器件 74245,由 OB信号
控制,OB为,0”,BUFFER开通,此时其输出等于其输入;当
OB为,1”,BUFFER不通,此时其输出呈高阻。
累加器 A采用 74198(20),它具有并行接数、左移、右移、
保持等功能,具体由 X0,X1,SR,SL决定。 CA是它的工作
脉冲,正跳变有效。累加器 A的主要使用方法见表 6-1。
表 6-1 累加器 A使用法
图 6-2是累加器 A判零线路
图 6-2 累加器 A判零线路
此线路利用内存模块中的与门 7411(U21)
对或非门 7427(U22)的三个输出组合,产生
ZD信号。 ZD为 1表示累加器 A当前的内容为
零。当 ZC电平正跳时 ZD状态被存人触发器
7474(U19),信号 Z是它的输出。
图 6-3是进位发生线路
图 6-3 进位发生线路
图 6-3中的 74153(U14)是双四选一数据
选择器。该模块将 74153按上图连接,实际
上第一组四选一仅对 ALU的进位输出 Cn+4进行
倒相,第二组四选一才根据选择参数 SA,SB
来决定其输出 2Y的值,见表 6-2。当进位触
发器 7474(U19)的接数脉冲 CP正跳变时,CY
等于 2Y。
表 6-2 SA,SB的输出控制关系
3,运算器模块的使用
(1).三组数据开关的使用
为便于构造不同的运算器结构,运算器模块
上设置了三组数据通路选择开关。它们是,
KAH,KAL(以下简称 KA)
KBH,KBL(以下简称 KB)
KCH,KCL(以下简称 KC)
开关 KA用于选择累加器 A的输入。 KA置左,使
累加器输入来自 IDB;KA置右,使累加器 A的输入
来自 ALU。
开关 KB用于选择缓冲器 BUFFER的输入。 KB置
左,BUFFER 的输人来自累加器 ;KB置右,使
BUFFER的输人来自 ALU。
开关 KC用于选择累加暂存器 ACT的输入。 KC置
左,使 ACT的输入来自内部数据总线 IDB;KC置右,
使 ACT的输入来自累加器 A。
(2).累加器移位功能的使用
累加器除具有接数和保持功能外,还具有
移位功能,为此指令系统可设置带进位或不带
进位的移位指令。不带进位移位指令控制较简
单,带进位的移位指令控制比较复杂,因为要
保证累加器 A和进位发生线路同步执行。
表 6-3列出了各种移位操作及所需控制。
表 6-3 累加器位移功能的使用
6.3 寄存器堆模块
寄存器堆模块 (REG)的设置,为实验仪
提供了四个 8位通用寄存器。它对运算器结
构、运算速度、指令系统的设计等都有密
切的关系。本节主要介绍寄存器堆模块本
身的工作原理和使用方法。
1.寄存器堆模块框图和器件排列图
图 6-4使寄存器堆模块逻辑图和器件排列图。
图 6-4 寄存器堆模块逻辑框图
2,寄存器堆模块的工作原理和使用方法
该模块由两片 74670(U12,U13)组成,提供 4
个 8位的寄存器。它们可作为运算器中的通用寄存
器 R0~R3使用,也可作为累加器 A0~A3使用。
74670是一个 4x4存储矩阵,每个存储单元是
个 D触发器,它的输出带三态控制。当它的写控制
端 GW为,0”时,可对矩阵的某个字的 4个存储单元
进行并行写人,具体写哪个字由 WA,WB决定。
当它的读控制端 GR为,0”时,可对矩阵的某个字的
4个存储单元进行并行读出,具体读哪个字由 RA,
RB决定。
模块把这两片 74670的 GR,GW分别相连,使
它们构成 4个 8位长的寄存器,合并后的 GR,GW
分别作为寄存器堆的读控制信号 RR、写控制信号
WR被弓 l出。模块把这两片 74670的 WA,RA连
在一起,作为信号 A引出 ;把这两片的 WB,RB连
在一起,作为信号 B引出。表 6-4列出了寄存器堆
模块的使用方法。
表 6-4 寄存器堆模块的使用方法
为便于构造不同的运算器结构,寄存器
堆模块上设置了一组数据选择开关即 KRH,
KRL(以下简称 KR)。它控制寄存器堆的数据
输出通路,KB置下 (左 ),寄存器堆输出到运算
器模块中的 ALU的 B端 ;KB置上 (右 ),寄存器
堆输出到内部数据总线 IDB。
3,运算器结构
运算器模块上的开关 KA,KB,KC以及寄存器堆
模块上的开关 KR的不同组合,决定了实验计算机的
运算器结构。
从理论上讲,KA,KB,KC和 KR可有 16种不同
组合,但有实际逻辑意义的组合为以下几种 (L表示
置左,R表示置右 ),
(1).KA,KB,KC, KR置为 R,L,L,R,这种组
合的运算器结构如图 6-5(a)。如果不使用寄存器堆,
则它简化为如图 6-5(e)。
(2).KA,KB,KC, KR置为 L,R,R,R,这种
组合的运算器结构如图 6-5(b)。如果不使用寄存
器堆,则它简化为如图 6-5(f)。
(3).KA,KB,KC, KR置为 R,L,L,L,这种
组合的运算器结构如图 6-5(c)。
(4).KA,KB,KC, KR置为 L,R,R,L,这种
组合的运算器结构如图 6-5(d)
图 6-5中这六种运算器结构各有其特点。
(a)和 (b)均是多累加器的运算器结构,特点
是工作灵活、编程方便,但运算速度较慢。
(c),(d)都是单累加器多寄存器的运算器结
构,(d)的特点是运算速度快,(c)的特点是
工作灵活,可以方便地实现对寄存器的移位,
适用于用硬件乘除部件的计算机。
图 6-5 运算器结构
如果将读寄存器堆模块控制信号 RR固定接高电
平,使寄存器堆数据端呈高阻态,则不论开关 KR置
左或置右,均不能使用本寄存器堆,运算器结构都
是单累加器无寄存器的,见图 6-5的 (e),(f)。这种
运算器结构简单,但不能实现多累加器或多寄存器
的指令,故适宜于简单的指令系统。也就是说,你
如果选择单累加器无寄存器的运算器结构,那么,
就应该将寄存器堆模块读控制信号 RR固定接高电平。
6.4 指令部件模块
通常,指令部件由指令寄存器、程序计数器和
指令译码器三部分组成。其中,指令寄存器用来存
放计算机当前执行的指令码,其基本组成是操作码
和操作数地址码 ;程序计数器也即指令地址寄存器,
用来存放下一条指令或下一指令字节的地址码,平
时处于加 1计数状态,当遇到转移指令且转移条件
满足时接收转移地址 ;指令译码器用来翻译操作码,
以产生相应的控制信号。
1.指令部件模块逻辑框图和符号说明
图 6-6是指令部件模块 (I-PC)逻辑框图和器件排
列图。指令部件模块符号说明,
图 6-6 指令部件模块逻辑框图
2,指令部件模块的工作原理
由图 6-6可见,本模块主要包含指令寄
存器和程序计数器,指令译码部分需用户
设计构造。下面分别介绍模块中的指令寄
存器和程序计数器的工作原理和使用方法。
(1).指令寄存器
指令部件模块中的指令寄存器共 16位,分 IR1
和 IR2,用来接收和寄存内部数据总线 IDB上的指
令信息。 IR1采用 74377,IR2采用 74374,它们
都是 8位的寄存器,但工作方式不同。当 IR1(U11)
的接数控制端 GI为低电平且它的接数控制脉冲端
CI出现电平正跳变时接数,它的输出不受控制,作
为 I7~I0被直接引出,以供使用。
IR2(U10)是三态输出的 8位寄存器。当它的接
数控制脉冲端 CL出现电平正跳变时接数,当它的输
出控制 OI为低电平输出,OI为高电平时 IR2输出呈
高阻。
由于模块仅将 IR1的状态 (I7~I0)引出,故无论
单字节或双字节指令,不仅操作码必须由 IR1提供,
而且对于寄存器堆操作类指令,寄存器选择段也必
须由 IR1提供,这点在设计指令格式时应予以注意。
对于双字节指令,IR1存放指令的第一字节,
IR2存放指令的第二字节。第一字节可纯为指令操
作码,也可包含寄存器选择码和操作数地址码高 3
位,视具体指令而定。
当 OI为低电平,IR1的低 3位通过 74244(U1)
连 IAB10~IAB8,IR2的输出连 IAB7~IAB0。
根据本模块的指令寄存器结构特点设计的指令
系统,指令条数至多可达 256条 (当 IR1为纯操作码
时 );指令长度可为单字节或双字节;指令属性可为
M型 (存储器型 ),RR型 (寄存器 -寄存器 ),MR型 (存
储器 -寄存器型 )等等。
(2).程序计数器
指令部件模块中的程序计数器共 11位,
分 PC1(PC0~3),PC2(PC4~7),PC3(PC8~
10),由 U5,U4,U3三片可预置数的 4位
二进制同步计数器 74163构成。它具有接
数、计数、清零等功能。下面分别介绍程
序计数器在停机状态启动时的工作过程,
a.停机状态时 PC的工作情况
停机状态启动时,由控制台的“写 PC”信
号使 PC接收外部地址总线 OAB上由控制台键
入的启动地址。
停机状态时按控制台上的启动键 STRT,
可产生“写 PC”和,SR,两个脉冲信号,其时
间关系如图 6-7。
图 6-7,写 PC”和,SR”的时间关系
SR使运行触发器 (U25)R0为,1”。由于 "写 PC,
与,SR”不同时为高电平,故当“写 PC”为,1”时 RO仍
为 "0",RF为 "1"。
图 6-8时 PC启动逻辑示意图
图 6-8 PC启动逻辑图
当 RF为,1”时,加在 74157的 B组输入端上的
OAB信息 (控制台设置的启动地址 )被送到 PC的数据
输入端 D。由于 "写 PC“="1"时 RO="0",RF="1",
故此时 PC的接数控制 LOAD为低电平,若 PC的清零
端 CLR为高电平,则当“写 PC”电平下跳时,PC的工
作脉冲端 CLK电平便上跳变,它把启动地址接入 PC。
启动地址可为 000~3FF中任一个。
b.运行时 PC的工作情况
(a)每当需要取下条指令或取指令的下一宇节时,应
控制 PC为计数状态。模块将 PC1的进位出 C接入 PC2
的 P,T端,PC2的进位出 C接入 PC3的 P,T端。且将
PC1的 P,T端作为,P+1”信号引出。由于运行状态时
写 PC=0,RO=1,故只要控制 LP=0(使 74163的
LOAD为高电平 ),CLR=1、,P+1”=1,便使 PC为计数
状态,每当工作脉冲 CK电平负跳变 (PC的 CLK端电平
正跳变 ),PC便计数加 1,如图 6-9。
图 6-9 运行时 PC的计数逻辑
PC的高 3位和低 8位的状态可分别通过控制传送
门 74244(U1)和 74245(U2)送到内部地址总线 IAB,
见图 6-10。其传送控制信号为忧 PCO,低电平有效。
图 6-10 PC的输出
(b).程序运行中遇跳转指令时应控制 PC为接数状态,使 PC
接收指令寄存器中的转移地址。图 6-11是 PC运行时的接数
逻辑图。
由图 2-11可知,执行跳转指令时应使信号 OI为低电平
(使指令寄存器中的转移地址信息被传送到 PC的数据输入端 ),
使 PC的清零信号 CLR为高电平,使 LP为高电平。这样,当工
作脉冲 CK电平负跳时 PC便接受转移地址。
注意,对于条件跳转指令,应当条件满足时才使 LP为高电平
由图 6-11还可看出运行时 PC还可接受 IAB的信息,这为
实现硬件堆栈和处理中断等提供了方便。
图 6-11 运行时 PC的接数逻辑图
3,指令模块的使用
使用指令部件模块的要点可归纳为,
(1).指令系统的指令条数最多可达 256条 (若
IR1为纯操作码 )。
(2).指令长度可为单字节或双字节。
(3).无论单字节或双字节指令,指令操作码
和寄存器选择码均须由 IR1提供。
(4).停机 (RF=1)启动 (WPC有效 )时,控制台
设置的首地址经 0AB置入 PC。
(5).运行时 (RO=1),通常情况下,欲取下条
指令或指令的下一字节时应控制 PC加 1计数。
对转移指令,当转移条件成立时,应使 LP信号
有效,使 PC接收指令寄存器提供的转移地址。
对于双字节指令,IR1存放指令第一字节,可为
纯操作码,或含寄存器选择码、操作数地址高三位
等。在指令第二字节为操作数地址低 8位时,IR2存
放该 8位地址。对于带立即数的双字节指令,IR2存
放该 8位立即数。
对于需要操作寄存器堆的指令,实验时应根据
IR1提供的寄存器选择段 (段数和每段位数由指令格
式确定 )以及有关的微操作控制信号来设计构造寄存
器选择信号 B,A,下面举例说明。
例 1:若寄存器堆作为运算器的通用寄存器组,
有关指令 (如 ADD A Ri)格式只含一个寄存器
选择段 Ri,段长 2位,占 IR1的低 2位即 I1,
I0。则只要把 I1,I0两位分别连接控制寄存
器选择信号 B,A即可,十分简单。 I1,I0为
00时选 R0,I1,I0为 01时选 R1,I1,I0为
10时选 R2,I1,I0为 11时选 R3。
例 2:若寄存器堆作为运算器的累加器组,有关指令
(如 ADD Ai,Aj)格式中含 Ai,Aj两个寄存器选择段,
每段长 2位,分别占 IR1的 I4,I3和 I1,I0。则可采
用如图 6-12所示线路来产生寄存器选择信号 B,A。
图中 74157是二选一集成电路。图中“选 Aj”信号由微
指令某位控制。 "选 Aj"为 0时,寄存器选择信号 B,A
由 I4,I3两位决定,选中某个寄存器作为 Ai;"选 Aj,
为 1时,寄存器选择信号 B,A由 I1,I0两位决定,选
中某个寄存器作为 Aj。见表 6-5和表 6-6。
图 6-12 B,A的产生线路图
表 6-5,选 Ai”与 A,B的关系表
表 6-6 I4,I3(I1,I0)与 Ai(Aj)的关系表
6.5 内存模块
该模块由一片 2048x8bit的静态 RAM电
路 6116及其操作控制电路组成。模块将最高
位地址 A10固定接地,所以内存模块 (MEM)
为用户提供有效的内存空间是 1K字节。
停机时,可由控制台对其读 /写 ;运行时,
可由实验计算机对其读 /写。
1,内存模块逻辑框图和符号说明
图 6-13是内存模块逻辑框图。
图 6-13 内存模块逻辑框图
2,内存模块的工作原理和使用方法
6116(U31)是 2Kx8bit静态 RAM电路,
模块中将其地址最高位 A10固定接地,所
以本模块为用户提供的内存实际空间是 1K
字节。 6116的低 10位地址线 (A9~A0)被接
到外部地址总线 OAB9~OAB0,6116的 8位
数据线被接到外部数据总线 ODB9~ODB0。
当要对 6116进行读操作时,应使选片端
CS为低电平,读控制端 R为低电平,写控制
W为高电平,此时 ODB上的信息为从 6116中
地址由 OAB9~OAB0决定的单元读出的内容 ;
当要对 6116进行写操作时,应使选片端 CS为
低电平,写控制 W为低电平,读控制端 R为高
电平,此时 ODB上的信息被写入 6116中由
OAB9~OAB0决定的地址单元中。
为了能使外设与内存统一编址、统一操作
指令,设置 OAB10,以区别 OAB9~OAB0是
外设地址还是内存地址,当 OAB10=“1”时,
OAB9~OAB0为外设地址 ;当 OAB10=“0”时,
OAB9~OAB0为内存地址。
由于实验仪控制台能够读 /写内存,也能
读 /写控存,故本模块引人信号 MO,它的状
态由 M/CM开关状态决定,开关置左时 MO=
"0",表示选内存。
模块采用一片与门 7408(U29)和一片或门
7432(U30)来组合 6116的选片信号 CS。读控
制信号 R和写控制信号 W的有效条件,"
CS=OAB10+MO·RF;当 OAB10=“0”,且 MO=“0”
或 RF=“0”时 CS有效
R=RXF·RC ;当 RXF=?0?或 RC=“0”时 R有效
W=WXF·WC ;当 WXF=“0”或 WC=“0”时 W有效
其中 RXF,WXF分别为停机时控制台读、写内
存的控制信号,低电平有效 ;RC,WC分别为实验计
算机运行时读、写内存的控制信号,低电平有效。
但实验时,RC,WC应设计成负脉冲有效,以使读
/写内存可靠,见图 6-14。
6116是 RAM存储器,关电后信息不再保存,为
了将其所存的有用信息保存下来以供下次使用,关
电前应将内存有用区域的信息转存到 EEPROM,下
次加电后,可将 EEPROM上的信息转存到内存中。
图 6-14 读 /写内存时序
6.6 总线缓冲模块
FD-CES实验仪设置了两组总线,即宽 8bit的内
部数据总线 IDB和外部数据总线 ODB,宽 11bit的内
部地址总线 IAB和外部地址总线 OAB,它们将实验仪
提供的基本功能模块连接起来。
总线缓冲模块 (BUS)用于对总线信息进行控制传
送和驱动。该模块由 3片三态总线传输器件 (两片
74245、一片 74125)组成。其申一片 74245用于控
制数据总线的双向传送,另一片 74245和一片 74125
用于控制地址总线的单向传送。
1.总线缓冲模块逻辑框图和符号说明
图 6-15是总线缓冲模块逻辑框图。
图 6-15 总线缓冲模块逻辑框图。
2,总线缓冲模块的工作原理和使用方法
(1).地址总线的传送控制
地址总线的传送指的是内部地址总线 IAB到外部
地址总线 OAB的单向传送,这由一片 74125(U26)
和一片 74245(U27)实现,其中 74125传送地址高
3位,74245传送地址低 8位。控制信号是 B1,低电
平有效。
实验时推荐将 B1接 RF,使运行时 B1始终有效,
从而使 IAB的信息随时反映在 0AB上。
(2).数据总线的传送控制
数据总线的传送是双向的,采用一片
74245(U27)来实现,控制信号是 B3和 B2。
其中 B3为高电平时不允许数据总线传送,B3
为低电平时允许传送,而传送方向则由 B2决
定,B2为低电平时 ODB->IDB,B2为高电平
时 IDB->ODB。
实验时推荐将 B3接 RF,使实验计算机运
行时始终允许数据传送。而 B2信号的设计应
考虑到以下诸多因素,
读内存时,B2应为低电平,使 ODB->IDB;
键盘输人时,B2应为低电平,使 ODB->IDB;
写内存时,B2应为高电平,使 IDB->ODB;
输出打印时,B2应为高电平,使 IDB->ODB。
另外,如果实验者采用构造,IO询问口”并且用
读,IO询问口”的方法来判知外设 (键盘、打印机 )的
工作状态 (KB,PB),那么,读“询问口”时 B2也应为
高电平,使 IDB向 ODB传输,以便在显示器上观察
外设的工作状态 ;不允许 ODB?IDB,便 KB,PB能通
过 "I0询问口 "传输到 IDB。
综上,数据总线传送控制信号设计可归结如表
6-7,需由实验者构造的有关线路参见图 6-16。
表 6-7 数据总线传输控制信号
图 6-16,IO询问口”参考线路
6.7 微程序控制模块
微程序控制模块 (MPB)主要由 11位微地址
计数器 MPC(74163x3),2Kx24bit的控存 CM
(6116x3),以及 24位微指令寄存器 MIR
(74377x3)组成。
停机时,控存可由控制台读或写 ;实验计
算机运行时,控存处于读状态。微指令寄存器
MIR的 24位被引出,供实验者按设计方案连
到机内相应的控制端。
1.微程序控制模块逻辑框图和符号说明
图 6-17是微程序控制模块逻辑框图。
图 6-17 微程序控制模块逻辑框图
2,微程序控制模块的工作原理和使用方法
微程序控制模块中的控存 CM由 U38,U39,
U40三片 2Kx8bit静态 RAM电路 6116组成,
构成 2Kx24bit的控存。
注,由于 6116掉电后信息会丢失,故实验
中应及时把控存所存微程序转储到外存 EEP-
ROM。
停机时 (RF=1)可由控制台对控存进行读
或写,微地址由 OAB经 74157提供。有关逻
辑见图 6-18。图中 RXF,WXF分别为控制台
读存储器、写存储器信号,均为 "0"有效 ;MF
为内存 /控存选择开关 M/CM的状态信号,开
关置右时,MF=0,控制台可读 /写控存。
图 6-18 停机时控制台读 /写控存原理图
运行时 (RF二 O)控存的工作与 M/CM开关状态
MF无关,此时控存处于只读不写状态。据图 6-17
可知,此时控存的微地址由微程序计数器 MPC经二
选一电路 74157提供。控存中读出的微指令一方面
作为信号 CM23~CM0送控制台显示,另一方面可
寄存到微指令寄存器 MIR中。表 6-8归纳了对控存
的控制信号及对应的工作方式。
表 6-8 对控存操作及控制
该模块中的微指令寄存器 MIR由 U41,U42,
U43三片 8位寄存器 74377组成。当 MIR的接数控
制电平 MIG为 0且接数控制脉冲 MICP电平正跳时,
MIR接受从控存中读出的 24位微指令,MIR的输出
M23~M0信号被引出,供实验者按设计方案连接使
用。
例如,若设计时确定运算器模块中的算术运算
部件 ALU的操作控制信号 Cn,M,S3~S0由 M23~
M18控制,则应把 M23~M18分别接 Cn,M,S3~
S0。
微程序计数器 MPC由 U33,U35,U36三片 4位
二进制同步计数器 74161组成,它具有清零、计数,
接数和保持功能。 MPC的工作方式及其控制如表
6-9。
表 6-9 MPC的操作控制
使用本模块时,以下几点供参考,
(1).若实验计算机指令系统规模不大 (指令
条数较少、功能较简单、所需控制信号较少 ),
则微指令可采用全水平、不编码、纯控制场
格式。 24位微码 (M23~M0)可表示 24个不同
的微操作控制信号。
(2).控存的顺序控制可采用计数增量方式。
每条指令的一段微程序顺序存放在控存的若
干连续单元中。
(3).每条指令的微程序入口地址可由指令操
作码的编码形成。微程序人口地址由 MD10~
MD0决定,指令操作码最多 8位 (若 IR1为纯
操作码 ),故通常在操作码前添加 m位、后面
添加 n位,形成 11位的微程序首地址接 MD10
~MD0。通常前面加 m位 0,后面加 n位 1,n位
数决定了每段微程序的最大长度,如 n=3,则
每段微程序的最大长度为 8(2的 3次方 )。
(4).停机启动时使微程序计数器 MPC清零,控
存的零号单元存放取指微指令。
(5).每段微程序结束时使 MCLR为 0从而清零
MPC(零号控存单元内容为取指微指令 ),或者
每段微程序均以取指微指令结束,为取下条指
令做准备。
(6).可以将,MP+1”信号恒接,1”。这样据表 2-9可
知,当 MLD,MCLR都不为,0”时 MPC加 1计数,即
每条指令的微程序在执行中 MPC加 l计数以能逐条
取出微指令 ;当 MCLR为 "0"时,MPC清零 ;当 MCLR
为,1”而 MLD为,0”时,MPC接收 MD10~MD0信息,
实现散转。
6.8 启停和时序模块
启停和时序模块 (R-P)由运行触发器 RUN
(7474)、脉冲延迟电路 (双单稳 74123)等构
成。用于产生 RO,RF,φ,φ,MICP等信号。
运行触发器可由控制台启动键置 1、由停
机键置 0,也可由实验计算机的停机指令控制
停机。
脉冲延迟电路产生 φ,φ, MICP等时序信
号供实验算机用。
1.启停和时序模块逻辑框图和符号说明
图 6-19是启停和时序模块逻辑框图和器件排列图。
图 6-19 启停和时序
模块逻辑框图
2.启停和时序模块的工作原理和使用方法
启停线路由 U25(7474)的一个 D触发器 RUN承
担。其置,1”端 (S端 )和置,0”端 (R端 )由控制台控制,
每当控制台 STEP键 (单步运行键 )或 STRT键 (连续运
行键 )按下后 RUN被置,1”,此时 RO=“1”,RF=“0”,
显示器上小数点亮 ;每当 STOP键 (停机键 )或 RET键 (
复位键 )按下后,RUN被置,0”,此时 RF=“1”,
RO="0",显示器上小数点消失。
为使实验计算机能按照停机指令或其他条
件控制停机,此 RUN触发器的数据端 D和时钟
端 CP分别作为信号 DR,RCP被引出,供实验
计算机控制使用。显然,实验计算机执行停机
指令时应使 DR=“0”,RCP有电平正跳,从而使
RUN触发器为,0”,即 RF=“1”。
U25(7474)的另一个 D触发器用于产生时
钟 φ,φ。它的 S端恒接,1”,R端接实验仪主
脉冲 PO,D端接 RO信号 (即 RUN触发器 Q端 )。
当 RO=“1”(运行态 ),每当其 CP端电平正跳时
该触发器置,1”,而当其 R端 PO脉冲电平负跳
时该触发器置,0”,从而产生时钟 φ和 φ。
74123的两个单稳平时均为,0”态。每个
单稳都有 A,B两个控制端。当 A=“O”而 B电
平正跳时,或当 B="1"而 A电平负跳时,其 Q
端电平由,0”变为 "1",过了一定时间后,Q又
为,0”。 Q保持,1”的时间宽度取决于外接电阻
电容值。
模块用 74123(U24)的一个单稳产生信
号 MICP。此单稳 1A端接,0”,1B端接实验
仪主脉冲 PO,每当 PO电平正跳时此单稳为
,1”,约 7μs后复为,0”,于是从其 1Q端便可
获得约 7μs的负脉冲 MICP。
U24(74123)的另一个单稳用于延时,此
单稳 2B端接,1”,2A端连上述单稳 1Q端,当
1Q端电平负跳时,此单稳 2Q端由,0”变,1”
(2Q由,1”变,0”),约过 10μs后复为,0”。模块
将此单稳 2Q连 U25(7474)的 2CP端,使时钟 φ
和 φ的宽约为 0·11ms。图 6-20显示了上述信
号的时序关系。
图 6-20 时序波形图
实验时推荐,
PO用作微程序计数器 MPC的接数、计数、清零
的工作脉冲 MCLK。
MICP用作微指令寄存器 MIR的接数脉冲 MICP,
使 MIR在微地址 (MPC状态 )有效后约 7μs接收从控存
中读出的微指令,保证控存有足够的读出时间。
φ,φ用作实验计算机的同步时钟,便各类触发
器翻转都发生在 φ(φ)后沿,使整机性能可靠。
注意,PO,MICP,φ和 φ停机时不产生。
6.9 控制台控制模块
控制台控制模块位于实验仪大板,它主要由
MCS-51系列单片微机 8032、存放监控程序的
EPROM2764、三片并行接口 8255及其他一些电路
组成。
该模块主要功能是智能化 FD-CES控制台,并能
自动测量、显示实验数据。它管理 FD-CES控制台
显示器、键盘和打印机 ;管理执行使用者键入的操作
命令。它与实验仪其他各部件连线均已连好。
8032(U48)属 MCS-51系列,是一种性能
价格比较高的 8位单片机,常用于计算机外部
设备的智能化。 8032可提供一个 8位 CPU;128
字节 RAM数据存储器 ;四个 8位并行口 P0,P1,
P2,P3;三个 16位定时器 /外部事件计数器 T0,
T1,T2;五个中断源 ;一个全双工异步串行通
信接口等等。 8032有 111条指令,当外接
12MHz晶振时,一个机器周期为 1us。
P0口是 8032的系统扩展总线。 8032通过
PC口外接使用程序存储器、或扩展的数据存储
器、或扩展的 IO接口。 8032在对这些外部资
源操作时 P2口已传输地址高位信息,P0口分时
传输地址低 8位和数据信息。 74373(U47)正是
用来在外部锁存 P0口输出的地址低 8位信息的。
8255是一种可编程 8位 PI0接口,可扩展
出 PA,PB,PC三个 8位口,其中 PC口可按位
(bit)操作控制。模块中的 U44,U455,U5O
都采用 8255,用于对打印机、键盘,LED显
示器等的操作控制和对控存信息、地址总线,
数据总线信息的传输。在实验仪加电时或 RET
键被按下时,系统得到复位,显示器显示出
CPU READY字样。
2764(U46)是 8K字节 EPRAM,其 13根
地址线中高 5位由 8032提供、低 8位由 8032
的 P0口通过锁存器 74373提供。 2764中存
放着 FD-CES的监控程序。为防止 2764所存
信息破坏,故上面加盖了一张防光标签纸,
请不要剥去。
下面以字母为序归纳了本模块所涉及的输
入输出信号及其含义,供参考。
6.10 与 PC机串行口通讯模块
该模块位于 FD-CES-B实验仪主板右下角,它
主要由 TTL-R232电平转换电路和一个三芯通信接
口 COM组成。通过该接口,用通信线连接 PC机串口,
可实现将 PC机内的实验文件程序代码 (或微程序代码 )
下载到 CES实验仪的内存 (或控存 ),或者通过该接口
将 CES实验仪内存 (或控存 )的程序代码 (或微程序代
码 )以文件存入 PC机托执。 PC机串口与 CES的 COM口
的信号连接见表 6-10。
表 6-10 PC机串口与 CES的 COM口的信号连接