组合逻辑控制器工作原理

  • 格式:doc
  • 大小:67.50 KB
  • 文档页数:5

下载文档原格式

  / 5
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

组合逻辑控制器组成结构及工作原理解析

按照控制信号产生的方式不同,控制器分为微程序控制器和组合逻辑控制器两类

微程序控制器是将全部控制信号存贮在控制存储器中。

优点:控制信号的逻辑设计、实现及改动都较容易。

缺点:产生控制信号所需的时间较长。

组合逻辑控制器,又称硬布线方案控制器,是用组合逻辑的门电路实现控制信号。

优点:产生控制信号所需的延迟时间少,对提高系统的运行速度有利。

缺点:控制信号的逻辑设计复杂,用门电路实现也较困难,尤其要变动一些设计更不方便。(见图)

一、组合逻辑控制器的组成与运行原理

1、组成:PC、IR、脉冲源和启停控制逻辑与微程序控制器相同,不同的是:

●微程序控制器中的控制存储器在组合逻辑控制器中变成时序控制信号形成部件,是用组合逻辑的门电路实

现的;

●微程序控制器中的下地址形成部件在组合逻辑控制器中变成节拍发生器,是由计数器线路实现的;

●增加了指令译码器,用于标识每一条不同的指令。

2、运行原理:依据执行过程中的操作码、当前指令所处的执行步骤等输入信号,用组合逻辑门电路直接、

快速地形成并送出指令当前执行步骤要求的控制信号。

二、TEC-8教学计算机的组成与设计

1、简介:TEC-8教学计算机字长8位,地址总线16位(可寻址64K内存),控制器用组合逻辑控制

器。

●运算器是Am2901(见图)

●16个通用寄存器中,R0、R1、R2和R3作为通用寄存器,其余12个作为专用寄存器

R5,R4用作16位的PC(程序计数器)

R7,R6用作16位的SP(堆栈指示器)

R9,R8用作内存读写地址AR

R11,R10用作指令转移或子程序的地址

2、指令系统概述

●指令中用到的符号:

DR:目的寄存器

SR: 源寄存器

OFFSET: 变址偏移量

DATA: 立即数

X: 一个bit位,可取值0或1

C、Z、V、S: 分别代表进位、结果为0、溢出和结果的符号位

●指令长度:单字节或双字节指令两种

●指令的操作码:采用操作码位数逐段扩展的技术,最少4位,最多8位

●指令的分类:首先按操作数的个数来分

(1)双操作数指令Ⅰ:

格式:

格式:操作码

已实现5条指令:ADD DR, SR ;加法指令

(使用R3~R0) SUB DR, SR ;减法指令

CMP DR, SR ;比较指令

AND DR, SR ;逻辑与指令

MOV DR, SR ;传送指令

(2)单操作数指令Ⅰ:

1 0 X X X X

DR/SR/IO PORT地址

已实现8条指令:SHR DR ;逻辑右移指令(使用R3~R0) SHL DR ;逻辑左移指令

PUSH DR;压栈指令

POP DR;出栈指令

CMP DR, SR ;比较指令

STO SR ;存数指令

LOD DR ;取数指令

IN I/O PORT ;输入指令

OUT I/O PORT ;输出指令

(3)单操作数指令Ⅱ:

格式:

格式:操作码

INC DR; 加1指令

(4)双操作数指令Ⅱ:

格式:操作码

MOVE DR, DATA; 立即数转送指令

(5)双字节指令

转移指令:JR OFFSET;无条件转移指令

JZ OFFSET;结果为0转移指令

JNZ OFFSET;结果不为0转移指令

JC OFFSET;结果有进位转移指令

JNC OFFSET ;结果无进位转移指令

(6)无操作数指令:已实现7条

PUSHF ;压栈指令

POPF ;出栈指令

STC ;进位位C置1

CLC ;进位位C置0

RET ;返回主程序

JMP ;转移指令,转移地址由R11,R10给出

CALL ;调用子程序指令,转移地址由R11,R10给出

格式:操作码

指令的执行步骤:(对于8位字长教学实验机)

读指令:地址寄存器低位(R8) ←指令的低位地址(R4)

地址寄存器高位(R9) ←指令的高位地址(R5)

修改指令地址PC←PC+1

读内存,指令寄存器←读出的指令

分析指令

执行指令:

●通用寄存器之间的运算和传送,可一步完成

●读写内存或读写外设操作,通常要三步完成,前两步用于向地址寄存器送入低、高位各8位地址,第三步

完成内存的读、写操作。

注:一条指令可仅在通用寄存器之间操作,可仅包括读写内存或外设,或它们一次、多次的不同的组合,因此,不同指令的执行步骤和操作内容是不一样的。

判中断请求:有中断请求,转去响应中断并处理;

无中断请求,执行下一条指令。

其次按指令的功能来分:

A组指令:ADD,SUB,CMP,AND,MOV,SHR,SHL,INC,IN,OUT,STC,CLC 共12条这类指令主要在CPU内

通用寄存器间传送,在取指令之后一步完成。

B组指令:

LOD,STO,PUSH,POP,PUSHF,POPF,MVD

这类指令完成的是一次内存读、写,在取指令之后可三步完成。前两步用于向地址寄存器送入低、高位各

8位地址,第三步完成内存的读、写操作。

C组指令:

CALL, RET, JM P, JR, JNZ, JZ, JNC, JC

这类指令完成的是与指令转移有关的操作,相对转移指令有5条:JR, JNZ, JZ, JNC, JC

转移地址=当前指令地址+指令第二字节中的偏移量

其中JNZ, JZ, JNC, JC属于条件转移指令,条件成立时转移要四步完成:前两步送读偏移量的内存地址,后两步读出偏移量计算转移地址送PC;条件不成立顺序执行,只须两步。

CALL , RET两条指令比较复杂,

为恢复或保存断点需两次读写内存,共需六步,还用两步为CALL指令给出子程序的入口地址。

节拍发生器

(1)作用:是用多位触发器的输出信号的不同组合状态,来标识每条指令的执行步骤。