计算机控制单元设计,计算机组成原理学习笔记(10):控制单元的设计

文章目录

课程笔记导览

附录:英语解释

第十章 控制单元的设计

10.1 组合逻辑设计

10.1.1 组合逻辑控制单元框图

CU外特性

节拍信号

10.1.2 微操作的节拍安排

安排微操作时序的原则

取指周期微操作的节拍安排

间址周期微操作的节拍安排

执行周期微操作的节拍安排

中断周期微操作的节拍安排

10.1.3 组合逻辑设计步骤

操作时间表

写出微操作命令的最简表达式

画出逻辑图

10.2 微程序设计

10.2.1 微程序设计思想的产生

10.2.2 微程序控制单元框图及工作原理

机器指令对应的微程序

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

工作原理

10.2.3 微指令的编码方式(控制方式)

直接编码(直接控制)方式

字段直接编码方式

字段间接编码方式

混合编码

10.2.4 微指令序列地址的形成

10.2.5 微指令格式

分类

比较

10.2.6 静态微程序设计和动态微程序设计

10.2.7 毫微程序设计

毫微程序设计的基本概念

毫微程序控制存储器的基本组成

10.2.8 串行微程序控制和并行微程序控制

串行微程序控制

并行微程序控制

10.2.9 微程序设计举例

取指阶段微操作分析及节拍安排

执行阶段微操作分析

确定微指令格式(以举例的方式选择各种方式)

微指令字长的确定

定义微指令操作控制字段每一位的微操作

课程笔记导览

计算机组成原理学习笔记(1):概述

计算机组成原理学习笔记(2):发展

计算机组成原理学习笔记(3):总线

计算机组成原理学习笔记(4):存储器

计算机组成原理学习笔记(5):I/O

计算机组成原理学习笔记(6):数字

计算机组成原理学习笔记(7):指令系统

计算机组成原理学习笔记(8):CPU的结构和功能

计算机组成原理学习笔记(9):控制单元的功能

计算机组成原理学习笔记(10):控制单元的设计

附录:英语解释

CPU——Central Processing Unit,中央处理机(器)

PC——Program Counter,程序计数器,存放当前欲执行指令的地址,并可自动计数形成下一条指令地址的计数器

IR——Instruction Register,指令寄存器,存放当前正在执行的指令的寄存器

CU——Control Unit,控制单元(部件),控制器中产生微操作命令序列的部件,为控制器的核心部件

ALU——Arithmetic Logic Unit,算术逻辑运算单元,运算器中完成算术逻辑运算的逻辑部件

ACC——Accumulator,累加器,运算器中运算前存放操作数、运算后存放运算结果的寄存器

MQ——Multiplier-Quotient Register,乘商寄存器,乘法运算时存放乘数、除法时存放商的寄存器

X——此字母没有专指的缩写含义,可以用作任一部件名,在此表示操作数寄存器,即运算器中工作寄存器之一,用来存放操作数

MAR——Memory Address Register,存储器地址寄存器,内存中用来存放欲访问存储单元地址的寄存器

MDR——Memory Data Register,存储器数据缓冲寄存器,主存中用来存放从某单元读出、或写入某存储单元数据的寄存器

I/O——Input/Output equipment,输入/输出设备,为输入设备和输出设备的总称,用于计算机内部和外界信息的转换与传送

MIPS——Million Instruction Per Second,每秒执行百万条指令数,为计算机运算速度指标的一种计量单位

第十章 控制单元的设计

10.1 组合逻辑设计

10.1.1 组合逻辑控制单元框图

CU外特性

2100201fc8448c407cd849a0c03756b1.png

节拍信号

34626da82b6e491b35c94416971f6eaa.png

10.1.2 微操作的节拍安排

采用同步控制方式

一个机器周期内有多少个节拍(时钟周期)与要产生多少个控制信号和这些控制信号是否可以并行都有关系

CPU内部结构采用非总线方式

安排微操作时序的原则

不同的控制命令安排到不同周期的节拍上

原则一微操作的先后顺序不得随意更改

原则二被控对象不同的微操作尽量安排在一个节拍内完成(可以并行的操作尽可能安排在一个节拍上)

原则三占用时间较短的微操作尽量安排在一个节拍内完成并允许有先后顺序(同时设置上升沿和下降沿)

取指周期微操作的节拍安排

920dbd93b29e895cdd5c5b69bfda550a.png

间址周期微操作的节拍安排

b2f966b561bb6e923f74fd874030cfa2.png

执行周期微操作的节拍安排

541408ae10c54740eda592987e5522d0.png

590e1675023e8be22b4797d978e1f233.png

7c4a39737a6663b2a66a47c862149f5d.png

中断周期微操作的节拍安排

e5ecbcfc0058d27932d4bb034ee696e3.png

10.1.3 组合逻辑设计步骤

操作时间表

3ce2807baa497a3acb15673ed4353462.png

8baf87a2a7be42baa24b0fa11ba7f540.png

2e59c850f781ef512707cb43cb38584e.png

写出微操作命令的最简表达式

f16befca05658d7189b20f5d3d01c584.png

画出逻辑图

思路清晰,简单明了

庞杂,调试困难,修改困难

速度快(RISC)硬件连接使得速度非常快

e4240ae532e4319859a7a0fb3d4523d2.png

10.2 微程序设计

10.2.1 微程序设计思想的产生

5a3f2892e379c5da729ab8fa5838ab97.png

10.2.2 微程序控制单元框图及工作原理

机器指令对应的微程序

5f4ca998029f8f51e5a39cffc76dccdc.png

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

微程序保存在控制存储器当中

CMAR控制存储器地址寄存器

CMDR控制存储器数据寄存器

顺序控制存储的是下一条指令

顺序逻辑需要比较起码两个指令(控制存储器送来的下一条指令外部之林所送入的下一条指令)的优先级

bbcf7377cb581c447149150f197cea11.png

XXX的意义微程序结束后需要通过微地址形成部件形成

a8842c1cd5dcd3db28241177912c13f6.png

工作原理

微指令的操作控制字段如何形成微操作命令

微指令的后续地址如何形成

d012c20a2e958dc001b48bc901fe58ac.png

73ac351603eea5689cd73048e3ef11c6.png

2e14efaa72fdf3ce9d025bfbf84c7267.png

10.2.3 微指令的编码方式(控制方式)

直接编码(直接控制)方式

在微指令的操作控制字段中,每一位代表一个微操作命令

某位为“1”表示该控制信号有效

f8e9bf98ef88023685d7c99b218c9c76.png

速度最快

字段直接编码方式

将微指令的控制字段分成若干“段”,每段经译码后发出控制信号

同一组译码器下的操作应该是互斥的,这样才可以有效地译码

f8862710c0fa0f3410672bc701d2691b.png

缩短了微指令字长,增加了译码时间

字段间接编码方式

14f45647ae8d9b36d0a02c0a21ce9a37.png

本字段的译码不仅仅至于自己字段有关,还与其他字段有关

混合编码

直接编码和字段编码(直接和间接)混合使用

最常用的使用直接编码,不太常用的使用间接编码

10.2.4 微指令序列地址的形成

微指令的下地址字段指出

根据机器指令的操作码形成

增量计数器

分支转移8c3b720228476067409cb4631122b578.png

通过测试网络

874eba142af2525726a3f79302a7b7c2.png

由硬件产生微程序入口地址:第一条微指令地址由专门硬件产生,中断周期由硬件产生中断周期微程序首地址

后续微指令地址形成方式原理图

74cd071ecb43dabddcc1e8b7b0beab9b.png

10.2.5 微指令格式

分类

水平型微指令

一次能定义并执行多个并行操作

如直接编码、字段直接编码、字段间接编码、

直接和字段混合编码

垂直型微指令

类似机器指令操作码的方式

由微操作码字段规定微指令的功能

比较

水平型微指令比垂直型微指令并行操作能力强灵活性强

水平型微指令执行一条机器指令所要的微指令数目少,速度快

水平型微指令用较短的微程序结构换取较长微指令结构

水平型微指令与机器指令差别大

10.2.6 静态微程序设计和动态微程序设计

静态:微程序无须改变,采用ROM

动态:通过改变微指令和微程序改变机器指令,有利于仿真,采用EPROM

10.2.7 毫微程序设计

毫微程序设计的基本概念

微程序设计用微程序解释机器指令

毫微程序设计用毫微程序解释微指令

毫微指令与微指令的关系好比微指令与机器指令

毫微程序控制存储器的基本组成

50f43ded2fd9f83575f2698bb870005c.png

10.2.8 串行微程序控制和并行微程序控制

串行微程序控制

143fd634626fd95c0cdac3bd26f87180.png

并行微程序控制

ed99905b052980b023b897bcae0d8280.png

10.2.9 微程序设计举例

例1:写出对应机器指令的微操作及节拍安排(假设CPU结构与组合逻辑相同)

取指阶段微操作分析及节拍安排

0872a7027fe9498364caf851e0cefa7a.png

643c16d4669c44cbe10c48794736f179.png

执行阶段微操作分析

ffc1608dfd41688725f3174930d71d40.png

3f2837e0c1476db9c146c99cd09def31.png

ac98a974ce6d9dc870584aa6b7b42f93.png

至此00cc2cddd52ecdfdac924801c6ae9f76.png

确定微指令格式(以举例的方式选择各种方式)

微指令的编码方式(采用直接控制)

后续微指令的地址形成方式:由机器指令的操作码通过微地址形成部件形成或者由微指令的下地址字段直接给出

微指令字长

由20个微操作

确定操作控制字段最少20位

由38条微指令

确定微指令的下地址字段为6位

微指令字长可取20+6=26位

微指令字长的确定

0d79f7e12cd694555b9dc1a1efb37f66.png

省去了CMAR的控制存储器

8372bb60032bf8e65101f11bc20e651c.png

3b15e57d818ed1ddcde1a7d14f115f62.png

定义微指令操作控制字段每一位的微操作

5be9b75e26cd12a619b0416ccfdf1882.png

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值