5.1 CPU功能和组成
CPU由运算器、控制器、cache以及一些其他的逻辑部件。
CPU中的主要寄存器;
- 数据缓冲寄存器 DR 暂时存放来自ALU的运算结果
- 指令寄存器 IR 保存当前正在执行的一条指令。
- 程序计数器 PC 执行一次+1
- 数据地址寄存器 AR 保存当前访问数据的地址
- 通用寄存器 Ri 为ALU提供一个工作区临时存放数据
- 程序状态字寄存器 PSW 记录进位、溢出、正负等
操作控制器的分类:
- 时序逻辑型 硬布线控制器(RISC)
- 存储逻辑型 微程序控制器(CISC)
5.2 指令周期
指令周期是取出一条指令并执行的时间。
一个指令周期由若干CPU周期组成,CPU周期又称机器周期,一个机器周期通常需要若干时钟周期(通常是4个)
- 一条指令包括一个取指周期和一个执行周期,
- CPU周期数在数据通路中是明确的
- 数据通路的建立受到操作控制器的控制,决定于执行什么指令
5.3 时序产生器和控制方式
在CPU中存在一个类似作息时间的东西,称为时序信号。
时序信号通过时序信号发生器产生。
作用:
CPU中控制器用来控制节奏,同时按照顺序规定每一个时序信号的任务。
CPU可以通过时序信号/周期信息判断当前是取指周期还是执行周期(判断取出的是指令还是数据)
体制:
基本体制是电位-脉冲制,
5.4 微程序控制器(*)
基本概念
- 微命令:是控制部件通过控制线向执行部件发出的各种控制命令。
- 微操作:执行部件接受微命令后所进行的操作。
- 微命令和微操作是一一对应的。微操作是执行部件中最基本的操作
- 相斥的微操作:不能同时或同一个节拍执行的微操作
- 相容的微操作:可以同时或同一个节拍执行的微操作
- 微指令:在一个CPU周期中,一组实现一定操作的微命令组合构成一条微指令,微指令存储在控制器中的控制存储器中。
- 一条微指令至少包含两大部分:操作控制部分、顺序控制部分。
- 操作控制部分:某位为1发出微命令,某位为0,不发出微命令。
- 顺序控制部分:用来控制产生下一条微指令地址。
- 微程序:一条机器指令的功能是由多条微指令组成的序列构成的,这个微指令序列就叫做微程序。
微程序控制器原理
- 控制存储器
- 微程序控制器核心部件,存放微程序
- 微指令寄存器 微地址寄存器和微命令寄存器构成了微指令寄存器。
- 微地址寄存器 决定访问的下一条微指令地址
- 微命令寄存器 保存一条微指令操作的控制字段和测试判别字段的信息
- 地址转移逻辑
- 用于产生初始微地址和后继微地址,保证微指令连续执行
- 承担自动完成修改地址的任务(通过测试判别字段)
补充:BCD编码
当BCD编码小于9时是正确的,
大于9的时候需要加6修正
微指令周期等于读出微指令时间+执行微指令时间,为了保证机器控制信号同步,可以将一个微指令周期时间设计的恰好和CPU周期时间相等。
如T4做取指,T1-T3做执行微指令时间。
机器指令和微指令的关系:
- 机器指令对应一个微程序,一条机器指令完成的操作划分成若干微指令来完成。
- 前者与内存储器有关,后者与控制寄存器有关
- 每一个CPU周期对应一个微指令。
微程序设计
三种编码方式:
- 直接表示法 0 1 控制计算机
- 简单直观,输出直接用与控制
- 但微指令字太长,因而使控制器容量变大
- 编码表示法 分成若干小组通过译码器选择微命令
- 避免互斥,缩短指令,
- 混合表示法
- 两者结合,兼顾特点,但是有些编码不能独立定义微命令,需要与其他字段联合定义
微指令地址形成方式
- 计数器方式 微程序计数器 $\mu PC$
- 一般情况下都是将微地址寄存器 $\mu MAR$作为 $ \mu PC$
- 后继地址为现行地址加上一个增量产生。
- 特点:简单,易于掌握,编制微程序容易
- 缺点:不能实现两路以上的并行微程序转义转移,不利于提高微程序的执行速度。
- 多路转移方式
- 根据状态条件/测试/微指令中微地址/操作码
- 如果测试字段有一位,可以产生两个分支,两位四个分支,以此类推,n为可以产生$2^n$个分支
微指令格式
- 水平型微指令
- 可以一次定义并执行多个微命令的微指令
- 优点:
- 微指令字长越长,速度越快
- 微指令的微操作有高度的并行性
- 微指令译码简单
- 控制存储器的纵向容量小,灵活性强
- 缺点:
- 字长长,增加了控制存储器中横向容量
- 垂直型微指令
- 采用编码方式,设置微操作码子弹,采用操作码编译法,由操作码规定微指令功能
- 设置微操作控制字段时,一次只能执行一到二个微命令
- 垂直型微指令结构类似于机器指令的结构
两者比较:
- 水平型微指令并行操作能力强,效率高,灵活性强. 垂直型微指令较差
- 水平型微指令执行一条指令的时间短,垂直型微指令执行时间长
- 水平型微指令字长较长、程序较短,垂直型微指令相反。
- 水平型微指令用户难以掌握,垂直型微指令与机器指令类似,容易掌握。
动态微程序设计
一台计算机的机器指令只有一组微程序,这一组微程序设计好之后一般无需改变也不好改变,这种微程序设计技术称为静态微程序设计。
采用EPROM作为控制存储器,可以通过改变微指令和为程序来改变机器的指令系统,这种微程序设计技术称为动态微程序设计。
5.5 硬连线控制器
基本思想
控制部件就是产生专门固定时序信号的逻辑电路,因此逻辑电路中一使用最少元件和取得最高操作速度为设计目标。
这种逻辑电路是由门电路和触发器构成的复杂树形逻辑网络,称为硬连线控制器。
特点
- 优点:速度快
- 缺点:结构复杂,设计、调试困难
硬布线控制器速度快,但是设计复杂繁琐,适合于RISC结构。
微程序控制器相对硬布线控制器速度慢,但设计规整,易于修改,适合CISC系统
执行流程
硬布线控制器时序信号采用:
主状态周期 – 节拍电位(CPU周期) – 节拍脉冲(时钟周期)三级体制