计算机组成原理 —— 第十章 控制单元的设计

文章目录

第十章 控制单元的设计

10.1 组合逻辑设计

CU 外特性

计算机组成原理 —— 第十章 控制单元的设计

微操作的节拍安排

假设采用 规整的同步控制方式
一个 机器周期 内有 3 个节拍(时钟周期)

这里和第9章 控制信号序列的分析差不多,只不过多了节拍的安排罢了

安排微操作时序的原则

  1. 原则一 注意微操作的 先后顺序
  2. 被控对象不同 的微操作(硬件资源不冲突)尽量安排在 一个节拍 内完成,节省时间
  3. 占用 时间较短 的微操作,尽量 安排在 一个节拍 内完成,并允许有先后顺序

下面以给出指令周期的微操作的节拍安排

  • 取指周期
T0 PC -> MAR
	1 -> R
T1
	M(MAR) -> MDR 
	(PC)+1 -> PC
T2 
	MDR -> IR
	OP(IR) -> ID
  • 间址周期
T0
	Ad(IR) -> MAR
	1->R
T1
	M(MAR)->MDR
T2
	MDR->Ad(IR)
  • 执行周期

  • 中断周期

T0
	(SP)-1 -> MAR
	1 -> W
	0 -> EINT //关中断
T1
	PC ->MDR
T2
	MDR -> M(MAR)
	向量地址 -> PC

以书上P399 10.2为例:
计算机组成原理 —— 第十章 控制单元的设计

  1. SUB E,@H ;(E)-((H)) →E 寄存器间接寻址
取值周期
	T0
		PC ->Bus- > MAR 
		1-> R
	T1
		M(MAR) -> MDR
		(PC)+1 -> PC
	T2
		MDR -> Bus ->IR
		OP(IR) -> 微操作命令形成部件

间址周期 (// 这一步有点争议,应该写在执行周期,因为这里是去操作数)
	T0
		H ->Bus ->MAR
		1-> R
	T1
		M(MAR)->MDR
执行周期
	T0
		MDR -> Bus -> R1
	T1
		(E)-(R1) -> ALU -> R2
	T2
		R2 -> Bus -> E

(存数)
3) STA @mem ;ACC →((mem)) 存储器间接寻址

取值周期
	T0
		PC ->Bus- > MAR 
		1-> R
	T1
		M(MAR) -> MDR
		(PC)+1 -> PC
	T2
		MDR -> Bus ->IR
		OP(IR) -> 微操作命令形成部件


间址周期
	T0
		Ad(IR) -> Bus -> MAR
		1-> R
	T1
		M(MAR) -> MDR
	
执行周期
	T0
		MDR -> Bus-> MAR
		 1 ->W
	T1
		ACC -> Bus -> MDR
		MDR-> M(MAR)
  • 补充:指令字长= n倍存储字长的情况
    没有什么大区别,只不过要去两次就是了。
     T0        PC → Bus → MAR,  1 → R
      T1        M(MAR) → MDR ,  (PC)+ 1 →PC
      T2        MDR → Bus →IR,  OP(IR) →微操作命令形成部件
      T3        PC → Bus → MAR,  1 → R
      T4        M(MAR) → MDR ,  (PC)+ 1 →PC
      T5        MDR → Bus →Ad(IR)(可以省略)

组合逻辑设计步骤

  1. 列出指令系统中所有指令的微操作节拍安排
  2. 列出微操作时间表

计算机组成原理 —— 第十章 控制单元的设计
计算机组成原理 —— 第十章 控制单元的设计
计算机组成原理 —— 第十章 控制单元的设计
3.依次写出某条微操作命令(控制信号)的最简表达式
(这里以 M(MAR)-> MDR)为例。

M ( MAR )  -> MDR  = FE · T1 + IND ·T1 ( ADD + STA + LDA + JMP + BAN )
                + EX ·T1 ( ADD +LDA )
                = T1{ FE + IND ( ADD + STA + LDA + JMP + BAN )
                + EX ( ADD +LDA ) }

4.画出逻辑电路图。
(如下图)
计算机组成原理 —— 第十章 控制单元的设计

注:FE、IND、EX是CPU工作周期标志,
T0,T1,T2是节拍;
I是间址周期、IND是表示是否是多次寻址
计算机组成原理 —— 第十章 控制单元的设计

10.2 微程序设计

介绍一些术语:
微(操作)命令:构成控制信号序列的最小单位,也就是 控制信号;
微操作:由若干微命令组成的最基本的操作;
微指令:若干微命令的组合;
微程序:一系列微指令的有序集合。
微周期:指从控制存储器中读取一条微指令并执行相应的微操作所需的时间。
控制存储器:存放微程序的只读存储器。

计算机组成原理 —— 第十章 控制单元的设计

基本思想及具体做法

  • 采用了“存储逻辑”的设计思想
    将控制器需要产生的微操作命令,以微代码的形式编成微指令,存在专门的存储器中,执行机器指令时,从该存储器中取出微指令,产生执行机器指令所需的微操作命令序列。

  • 采用了“程序设计”的技术
    把一条机器指令所需要的微操作命令序列,以微指令的形式编成一段微程序,整个指令系统就编出一整套微程序,采用“顺序、转移、多分支”等程序设计的技术进行微程序的设计。

  • 微指令
    以二进制代码形式存放,每位代表一个控制信号(为1表示控制信号有效,为0表示无效)

  • 控制存储器:存放微程序的只读存储器。
    执行一条指令需要从控存中多次去除微指令,所以对存储器的速度要求很高。

类比:
程序 ---- 微程序
指令 ---- 微指令

机器指令对应的微程序

微程序个数 = 3 + 指令个数
计算机组成原理 —— 第十章 控制单元的设计

微程序控制单元的基本框图

计算机组成原理 —— 第十章 控制单元的设计

  • 微指令基本格式
    计算机组成原理 —— 第十章 控制单元的设计

组合逻辑控制方式和微程序控制方式的比较

  • 组合逻辑控制方式优缺点
    • 思路清晰,简单明了
    • 设计不规整,调试困难,修改困难
    • 速度快(RISC采用)
  • 微程序控制方式优缺点
上一篇:【原创】Linux PCI驱动框架分析(二)


下一篇:USB通信抓包工具