1.控制器的功能
- 控制器概述
- 向计算机每个部件提供它们协调运行所需的
控制信号
- 依据
当前正在执行的指令
和它所处的执行步骤
,形成并提供这一时刻
计算机各部件所需要的控制信号
- 控制器必须在
恰当时刻
向特定部件
发出具体的
操作控制信号 - 控制器对
指令操作码
的分析,就可以确定在该指令周期
中要依次向哪些部件发出操作控制信号,即控制信号的定位
由指令操作码的译码信号
来决定 - 操作控制信号的
定时
:使用主时钟信号(基准时钟信号)
- 向计算机每个部件提供它们协调运行所需的
- 控制器的功能
- 产生一组
定时信号
,由时序信号产生器
产生 - 产生执行每条指令所需的全部控制信号
- 对
中断请求
进行响应,中断响应,处理,返回的过程需控制器实施相关控制
- 产生一组
2.控制器的组成和设计方法
- 控制器的组成
- 控制寄存器,译码器
-
PC
:程序计数器,存放下一条将要执行的指令的地址 -
IR
:指令寄存器,存放当前正在执行的指令地址 -
ID
:指令译码器,对从主存取出来的指令进行译码
-
- 时序信号产生器
- 控制单元
CU
:输入:指令译码信号
,时序信号
,数据通路状态信号
,系统总线的请求和状态信号
。输出:全机运行所需的全部控制信号
- 控制寄存器,译码器
- 控制单元
CU
的设计方法- 组合逻辑设计(硬布线设计方法):
设计简单
,早期普遍使用
,设计过程繁琐
,设计实现后难以修改
- 微程序设计方法(存储逻辑设计方法):组成核心:
微程序存储器(控制存储器)
,微程序解释执行机器指令,是一种设计复杂控制单元的技术
,但是微程序控制单元的硬件结构非常简单
,缺点:控制信号形成速度慢
- 组合逻辑与微程序混合:即改善了组合逻辑控制单元
硬件的复杂性
,又克服了微程序控制单元执行速度慢
的缺陷,通常简单指令用组合逻辑实现,复杂指令用微程序实现
- 组合逻辑设计(硬布线设计方法):
3.计算机的控制方式
计算机的控制方式,即产生不同微操作命令序列所用的时序控制方式
- 同步控制
- 使用
统一时钟信号
作为时间基准信号为所有操作定时 - 任何情况下,指令执行所需的
机器周期数
,时钟周期数
固定不变 -
任何指令的指令周期
都是预先设定好的
- 为不同操作预先分配时间时,通常按
最慢速操作所需的时间为基准
- 减弱了系统性能
- 使用
- 异步控制
- 不需要统一的时钟信号
- 允许每条指令,每个操作
按实际所需占用时间
- 无固定CPU周期和节拍,操作之间使用
应答
方式衔接 - 可充分发挥各部件运行速度,
时间利用率高
-
控制信号复杂
,技术不易实现
- 联合控制
- 同步异步相结合
- 大部分操作序列安排在
固定的时钟周期
,某些时间难以确定的操作以部件的应答
信号作为本次操作的结束
4.组合逻辑控制器
- 硬布线控制器
- 把控制单元
CU
看作专门产生固定时序控制信号的逻辑电路 - 目标:
使用最少元件获得最高操作速度
- 一旦控制单元构成后,无法增加新的控制功能
- 设计和调试非常复杂
- 把控制单元
- 门阵列控制器:由
门阵列器件设计实现的控制器
5.微程序控制器
基本思想:将一条机器指令编写成一个微程序,每一个微程序包含若干条微指令
,每一条微指令对应一个或几个微操作命令
,将微程序存储到控制存储器
中,
- 微指令是
二进制代码
形式,每位代表一个控制信号,1有效,0无效
- 特点:
设计简便
,只需修改微指令代码,就可改变机器指令操作内容,控制器设计,调试,修改相对容易
- 微命令:即
微操作命令
控制部件通过控制信号线向执行部件发出各种控制命令 - 微操作:由微命令控制实现的最基本的操作
- 相容性微操作:同时或同一个CPU周期内可以并行执行的微操作
- 互斥性微操作:不能同时或同一个CPU周期内可以并行执行的微操作
- 微程序:解释执行机器指令
- 微指令基本格式
- 将一组实现一定功能的微命令组合起来,就构成一条微指令
-
微操作控制μOP
字段每一位表示一个微命令,1发出,0不发出
-
顺序控制
字段产生下一条微指令在控存中的地址(后继微地址)
- 微指令格式设计
- 水平型微指令
- 可同时给出
多个并行操作
的微命令 -
微指令字长
较长,微程序
较短,并行操作能力强
,效率高
,灵活性强
- 执行一条机器指令所需的微指令数目少,速度比垂直型快
- 设计较为
困难
- 更为
实用
- 可同时给出
- 垂直型微指令
- 只能同时给出
1~2
个微命令 - 需
译码
,产生微命令速度慢
-
微指令
字长短,但微程序
较长 - 与机器指令类似,
设计容易
- 只能同时给出
- 水平型微指令
- 微命令编码方式(解决微指令操作控制字段的格式安排)
- 直接编码
- 微操作控制字段每一位表示一个
微命令
- 特点:
微指令结构简单直观
,微指令执行速度快
,微指令字长长
- 微操作控制字段每一位表示一个
- 直接编码
- 字段直接编码
- 利用微命令之间的
相容互斥
关系,将微操作控制字段
分为若干小字段,把一组互斥微命令组织在一起
,用一个小字段编码表示,相容的微命令安排在不同字段内
,每个小字段通过译码产生一条微命令
- 微指令不能直接产生微命令,通过对小字段进行
译码
产生微命令 - 每个字段的
全0编码
保留给无操作,故n位仅能安排2^n - 1
个微命令 - 特点:
可压缩微指令字长
,译码过程影响微指令执行速度
- 利用微命令之间的
- 字段间接编码
- 在字段直接编码的基础上,
规定一个字段的某些微命令,要兼由另一个字段中某些微命令来解释
- 特点:
可进一步缩短微指令长度
,消减微指令并行控制能力
,译码级数增加
,微指令执行速度慢
- 在字段直接编码的基础上,
- 混合编码
- 当
字段编码方式
某些字段的位数只有1位
时,可认为是直接编码
和字段编码
相结合的混合编码方式 - 可改善字段编码方式的
灵活性
和执行速度
- 当
- 其他方式,如
设置常数字段
,用来给需要的部件设置常数
- 微地址形成方法(获得下一条微指令地址
后继微地址
的方法)-
直接表示方式(下地址字段):
顺序控制字段
直接给出- 微地址形成逻辑简单,使得微指令在控存可以不按顺序存放,但
不能实现分支转移
- 微地址形成逻辑简单,使得微指令在控存可以不按顺序存放,但
-
增量(计数器)方式
-
控存地址寄存器(CMAR)
具有计数功能,即作为微程序计数器(μPC
) - 微指令可分为
-
顺序微指令
-
CMAR <- (CMAR) +1获得
后继微地址
- 微指令中要专门留出
1位
区分顺序型和转移型微指令
-
CMAR <- (CMAR) +1获得
-
转移微指令
- 转移条件字段给出
测试判断条件
- 转移条件满足时:后继微地址 = 转移地址
- 转移条件不满足时:CMAR <- (CMAR) +1
- 条件转移字段可
按编码
或按位
给出测试条件
,按位给出时,每一位指定一个判断条件,某位为1说明该微指令执行时测试该位对应的条件
,这样转移型微指令的转移条件字段必须有一位且只能有一位为1
- 无条件转移时,转移条件字段设置
全为0
- 转移条件字段给出
-
-
-
增量与下地址相结合方式 :
微指令格式统一
,每条指令都具有转移功能- 类似增量方式的
转移型微指令
- 仅能实现
顺序执行
和两路分支转移
- 转移条件字段
- 可
按编码方式
给出测试条件,但必须保留两个特殊编码
,全0表示无条件转移
,全1表示顺序执行
,需译码
确定具体测试条件 - 可
按位
给出确定的测试条件,每一位指定一个判断条件
,某位为1说明该微指令执行时测试该位对应的条件
,这样转移型微指令的转移条件字段必须有一位且只能有一位为1
- 可
- 类似增量方式的
-
断定方式:后继微地址只能由微指令的
顺序控制字段
产生- 每一条微指令都具有转移能力,不需要
μPC
- 非测试地址由编址微程序时直接给定,通常作为
后继微地址高位
, - 测试条件由编址微程序时指出要测试的机器状态,测试逻辑产生
后继微地址低位
- 可
灵活地实现多路转移
,转移路数由后继微地址低位部分位数决定
- 每一条微指令都具有转移能力,不需要
-