《微程序控制器》PPT课件
计算机原理6.10微程序控制器

计算机原理6.10微程序控制器1、微程序控制器基本思想硬布线:同步逻辑、繁、快、贵、难改⼀条指令多个时钟周期⼀个时钟周期⼀个状态⼀个状态对应⼀组并发信号微程序:存储逻辑、简、慢、廉、易改将并发信号事先存储为微指令⼀条指令对应多条微指令状态等同于存储器地址2、微程序控制器⼯作原理微程序是利⽤软件⽅法来设计硬件的技术将完成指令所需的控制信号按格式编写成微指令,存放到控制存储器 ⼀条机器指令对应⼀段微程序(多条微指令) 指令取指执⾏--》微程序的执⾏---》执⾏多条微指令--》依次⽣成控制信号存储技术和程序设计相结合,回避复杂的同步时序逻辑设计3、单总线结构CPU主要部件都连接在总线上各部件间通过总线进⾏传输4、单总线CPU微指令构造操作控制字段:存储操作控制信号 每⼀位对应⼀个控制信号,也称微命令,可同时给出多个操作信号顺序控制字段:⽤于控制微程序的执⾏顺序 判别逻辑为零,下⼀条微指令地址从下址字段获取,否则按约定规则⽣成。
5、程序、微程序、指令、微指令对应关系5、微程序控制器组成原理框图(下址字段)指令寄存器IR是微程序控制器的最基本的输⼊,它将指令的操作码送到⼀个地址转移逻辑中,⽣成不同指令的微程序⼊⼝地址,每⼀条指令完成取指令以后,要进⼊到不同的执⾏状态,或者说要进⼊到不同的微程序⼊⼝地址,有了⼊⼝地址之后,再经过⼀个多路选择器进⾏选择,有可能是⾛不同指令的⼊⼝地址,也有可能是直接由微指令字的下址字段给出来的下址部分,到底要⾛哪个,由判别字段来选择,判别字段为1的时候,则⾛微程序⼊⼝地址,判别字段为零,则执⾏下⼀条微指令,得到正确的微地址后,送⼊到⼀个微地址寄存器中,微地址寄存器受时钟控制,每来⼀个时钟,对应的微地址寄存器就会重新更新地址,通过微地址寄存器,微地址输⼊到控制存储器(控存),控制存储器是⽤来存储微程序的,所以控制存储器得到⼀个微地址后,就会得到⼀条微指令,将微指令进⾏解析,⼀部分⽤来形成下址字段,⼀部分形成判别字段,⼀部分形成微操作控制字段,微操作控制字段会产⽣操作控制信号,这些信号会送到对应的功能部件,这些信号不需要执⾏,只需要连接到对应控制部件的控制执⾏点就可以了。
微程序控制计算机的设计65页PPT

注:以上过程可以反复进行,以便得到一个 较好的方案。
2007.7.2
计算机组成原理
13
根据设计要求,对计算机模块的硬件资源进行 逻辑剪辑组合,便可设计出该计算机的整机数据通 路逻辑框图,如图9-1所示。为利于调试,在通路框 图上标明了各器件的控制信号及必要的输出信号。
图9-1中设计了运算器ALU、移位发生器 (74299)、数据寄存器(DR1、DR2等)、寄存 器组(R0、R1、R2)、内存RAM、微程序控制器 单元CU、地址加法器、指令寄存器IR、程序计数器 PC以及输入/输出设备等单元模块。
(1)机器字长采用8位还是16位。即运算器、 数据总线是采用8位还是16位。
(2)地址总线的位数。确定计算机寻址空间的 大小。
(3)计算机运算器采用什么结构(如多通用寄 存器结构、多累加器结构等)。
2007.7.2
计算机组成原理
8
(4)计算机指令系统规模(共有多少条指令, 多少种寻址方式,指令功能等)。
2007.7.2
计算机组成原理
16
299-BUS
表9-1 移位发生器控制状态表
S1
S2
M
功能
0
0
0
任意
保持
56模型机微程序控制器设计 40页PPT文档

(3位) (3位) (4位) (2位) (2位) (2位) (1位) (3位) (3位) (9位)
0:NOP 0:NOP 0:NOP 0:NOP 0:NOP 0:NOP 0:NOP 0:NOP 见表 5.2
1:PCoe 1:PCce 1:ADD 1:SR
1:ARoe’ 1:DRoe’ 1:PCinc 1:RD
立即/直接/间接/相对寻址
00B
8
32 1 0
微地址 0 0 0 0 1 0 M′ 0
PCoe, ARce
8
3 21 0
相对 0 0 0 0 1 0 0 0 0
8
32 1 0
间接 0 0 0 0 1 0 0 1 0
8
32 1 0
直接 0 0 0 0 1 0 1 0 0
8
32 1 0
立即 0 0 0 0 1 0 1 1 0
5.6 模型机的微程序控制器设计
5.6.1 微指令编码设计 5.6.2 微地址形成逻辑 5.6.3 微程序设计举例
JU-C1模型机CPU数据通路
ARoe′
AR
ARoe
WR RD
ADDR
DATA DRoe′
ARce
主存 MM
DRce DR
控制总线CB 地址总线AB 数据总线DB
DRce′
DRoe
IB
010 DRoe, Ace
012 DRoe, ARce
00E
GRSoe ADD, SV
011
PCoe ADD, SV
013
ARoe′, RD, DRce′
009 GRSoe, ARce
017 Soe,ARce
014 DRoe, ARce
008 GRSoe, TRce
计算机组成原理5.4 微程序控制器

设计目标是
阅读三种方法
五、微命令编码
(举例)实验中用到的微指令 3 3 3 1 1 1 1
BTO OTB FUN FS
编译码 000 001 010 011 …… BTO B-DA1(t4) B-DA2(t4) B-IR(t3) …
问题:1、BTO和OTB字段采用的 是什么编码方法? 2、S3,S2,s1,s0,M,Ci字段采用的 是什么编码方法? (要能发生所有的微命令) 3、整个微指令采用的是什么编码 方法?
1
S0
1
M
1
Ci
1
空
S3
OTB
S2
S1
就是ALU对应 的控制信号
ALU-B# 299-B# SR-B# …
细节
直接表示法:操作控制字段中的每一位代表一 个微命令
LDR1 LDR2 LDR3 ………………………. 操作控制 .. ….
顺序控制
细节
编码表示法:把一组相斥性的微命令信号组 成一个小组(一段),然后通过小组译码器 对每一个微命令进行译码,译码输出作为控 制信号。
V V V
V
V V V V V
V
V
V
V V V
V V V
V
(本示例中)每一位表示一个微命令
实验仪中的微指令的基本格式(17+7)
二、微程序控制器原理框图
组成:1.控制器存储器
2.微指令寄存器
3.地址转移逻辑
三、微程序控制器举例-实验仪
四、CPU周期与微指令周期的关系
微指令周期 = 读出微指令的时间 + 执 行该条微指令的时间 微指令周期最好 等于CPU周期
0 X
X
中央处理器微程序控制器详解演示文稿

第9页,共67页。
控制信号包括:
R0out:R0的输出控制
R0in:R0的输入控制 R1out:R1的输出控制 R1in:R1的输入控制
Yin:Y的输入控制
IRin:IR的输入控制 IRout:IR的输出控制
PCin:PC的输入控制 PCout:PC的输出控制
PC+1:PC计数更新控制
控制 … 指令译码/控制器
5.1.3 内部寄存器组
1. 通用寄存器GPR(General Purpose Register) 可用于存放操作数(包括源操作数、目的操作数及中间 结果)和各种地址信息等。
DB
DMBRR 内部总线
AACC
LACAT TLMBP
IIRR
PPCC
译译码码器 器
ALU
SSHH
内 部 控 制 线
时时控序制序与
第25页,共67页。
[思考]用二进制码表示的指令和数据都放在内存 里,那么CPU是怎样识别出它们是数据还是指 令呢?
从时间上来说,取指令事件发生在指令周期的第一
个CPU周期中,即发生在“取指令”阶段,而取数 据事件发生在指令周期的后面几个CPU周期中,即 发生在“执行指令”阶段。
从空间上来说,如果取出的代码是指令,那么一 定送往指令寄存器,如果取出的代码是数据,那 么一定送往运算器。由此可见,时间控制对计算 机来说是太重要了。
11-45.3 微程序控制器设计的关键问题-课件

Instruction Fetch Unit
RegDst 1 Mux 0
Clk
RegWr
Rs Rt
55 5
busA
ALUctr
Rt Rs Rd Imm16
MemWr
MemtoReg
busW
Rw Ra Rb
32
Zero
Mux
ALU Mux Extende r
32
32 32-bit
busB
32
0
Clk Registers
常数
µOP:微操作码字段,产生微命令 µADD :微地址码字段,产生下条微指令地址
微指令格式设计风格取决于微操作码的编码方式
微操作码编码方式
不译法(直接控制法) 字段直接编码法 字段间接编码法 最短(垂直)编码法
水平型微指令风格 垂直型微指令风格
COMPUTER PRINCIPLE
2. 微指令格式的设计
(意义不大!)
控制信号 …
控制信号 …
缺点:译码电路复杂,时间开销大 只限于局部场合使用
… 译码
字段 1
… 译码
字段 2
…
操作控制
… 译码字段 nFra bibliotek下地址
COMPUTER PRINCIPLE
2. 微指令格式的设计
最短编码
将所有微命令统一二进制编码,每条微指令只包含一个微命令,每次只产 生一个微操作,通过译码器产生微操作控制信号
第四章 第五节 (3) 微程序控制器设计的关键问题
1. 微程序\微指令\微命令\微操作的关系
将机器指令的执行转换为微程序的执行
微程序是一个微指令序列
每条微指令是一串0/1序列,包含若干个微命令(即:控制信号)
计算机组成原理-微程序控制器

5.4.5 CPU周期与微指令周期
的关系
➢ 【分析】
一个CPU周期为0.8μs,它包含四个等间隔 的节拍脉冲T1—T4,每个脉冲宽度为200ns。 用T4作为读取微指令的时间,用T1+T2+T3时 间作为执行微指令的时间。例如,在前600ns 时间内运算器进行运算,在600ns时间的末尾 运算器已经运算完毕,可用T4上升沿将运算结 果打入某个寄存器。与此同时可用T4间隔读取 下条微指令,经200ns时间延迟,下条微指令 又从只读存储器读出,并用T1上升沿打入到微 指令寄存器。
➢ 微操作
▪ 执行部件接受微命令后所进行的操作。
➢ 控制部件与执行部件通过控制线和反馈 信息进行联系。
上一页 返回 下一页
5.4.2 微指令和微程序
➢ 微指令
▪ 在机器的一个CPU周期中,一组实现一定操 作功能的微命令的组合。
➢ 微程序
▪ 实现一条机器指令功能的许多条微指令组成 的序列。
➢ 控制部件与执行部件通过控制线和反馈 信息进行联系。
上一页 返回 下一页
5.4.6 机器指令与微指令的关系
➢ 【例2】
设某计算机运算器框图如图(a)所示,其中 ALU为16位的加法器(高电平工作),SA,SB为16 位暂存器。4个通用寄存器由D触发器组成,Q 端输出,其读、写控制功能见下表。
上一页 返回 下一页
5.4.6 机器指令与微指令的关系
读控制
存器的内容,并按改好的内容去读下一条微指
令。地址转移逻辑就承担自动完成修改微地址
的任务。
上一页 返回 下一页
5.4.4 微程序举例
➢ 我们举“十进制加法”指令为例,具体 看一看微程序控制的过程。
➢ 第一条微指令的二进制编码是
第十五讲Micro800控制器的编程指令 ppt课件

Micro800控制器的编程指令
当使用功能块,可以从工具箱 拖出功能块元素到编辑框里,并编 辑它。
输入和输出变量与功能块的输 入和输出用连接线连接。信号连接 线可以连接如下块的两类逻辑点: 输入变量和功能块的输入点;功能 块的输出和另一功能块的输入点; 功能块的输出和输出变量。连接的 方向表示连接线带着得到的数据从 左边传送到右边。连接线的左右两 边必须有相同的数据类型。功能块 多重的右边连接分支也叫做分支结 构,可以用于从左边扩展信息至右 边1。.16注意数据类型的一致性。
1.3
Micro800控制器的编程指令
Micro800控制器编程语言
一、梯形图 1、定义:梯形图一般由多个不同的梯级(RUNG)组成,每一 梯级又由输入及输出指令组成。在一个梯级中,输出指令应 出现在梯级的最右边,而输入指令则出现在输出指令的左边 ,如图所示。
1.4
梯形图的编程特点
Micro800控制器的编程指令
1.34
Micro800控制器的编程指令
Micro800控制器的内存组织
一、程序文件 在 一 个 项 目 中 可 以 有 多 个 程 序 ( Program ) 和 多 个 功 能 块 ( Function Block)程序。多个程序(Program)可以在一个控制器 中同时运行,但执行顺序由编程人员设定,设定程序(Program) 的执行顺序时,在项目组织器中右键单击程序图标,选择属性, 打开程序(Program)属性对话框。在Order后面写下要执行顺序 ,1为第一个执行,2为第二个执行,例如:一个项目中有8个程序 (Program),可以把第8个程序(Program)设定为第一个执行, 其他程序(Program)会在原来执行的顺序上,依次后推。原来排 在第一个执行的程序(Program)将自动变为第二个执行。