微程序控制器的基本原理
part1.微程序控制器的设计思路

程序:由指令序列组成


指令会被分为微操作
微指令可以完成微笑作,例如微指令a能完成微操作1、微操作2。
微程序:由微指令序列组成,每一种指令对应一个微程序。(例如指令2就对应一个微程序,微程序就由微操作组成。)
指令是对程序执行步骤的描述。
微指令是对指令执行步骤的描述。
采用“存储程序”的思想,CPU出厂前将所有指令的“微程序”存入“控制器存储器”中。
微命令(发出什么控制信号)与微操作(要做什么)①①对应。
由上图中,可知微指令中可能包含多个微命令。
这里就可以引出微指令的基本格式,如下图:

每一种微指令可能对应多种操作,所以需要操作控制字段,由若干个bit。还需要顺序控制的字段,致命下一条微指令的地址。
part2.微程序控制器的基本结构
控制存储器(CM):用来存放各指令对应的微程序,控制存储器可用只读存储器ROM构成。
微地址寄存器(CMAR):别名 μ P C \mu PC μPC,接收微地址形成部件送来的微地址,为在CM中读取微指令作准备。有点类似于PC → \rightarrow →MAR,M(MAR) → \rightarrow →MDR。
MAR需要译码器才能选择主存信息,所以在CU中也有地址译码。
地址译码:将地址码转换为存储单元控制信号。
需要将CM中取出的微指令送到CMDR中。
CMDR:别名, μ I R \mu IR μIR,用于存放从CM中取出的微指令,它的位数同微指令字长相等。(这里格式就是上面微指令格式)
根据不同指令,要引入首地址,这里提出了微地址形成部件。
微地址形成部件:产生初始为地址和后续为地址,以保证微指令的连续执行。
顺序逻辑:控制微指令的执行顺序。


part3.微程序控制器的工作原理
取值周期,间指周期,中断周期微程序是可以共享的。


所有的机器指令执行,在取指,间指,中断都是一样的,所以可以共享。
标志:根据指令地址码的寻址特征位判断是否要跳过间指周期。。
CLK:根据中断信号判断是否进入中断周期。
例:取数指令 LAD X。
取指周期:#0 #1 #2
间指周期:#3 #4 … #7
执行周期:#13 #14 #15
取指周期:#8 #9 … #12
取指周期微程序通常是公用的,故如果某指令系统中有n条机器指令(n个微程序),则CM中微程序的个数至少是n+1(这里的1是取指周期微程序,有些CPU不需要间指周期和中断周期)。
Tips:物理上,取指周期、执行周期看起来像两个微程序,但逻辑上应该把它们看作一个整体。因此,“一条指令对应一个微程序”的说法是正确的。

微指令的设计
相容性微命令:可以并行完成的微命令。
互斥性微命令:不允许并行完成的微命令。
1.水平型微指令 一条微指令能定义多个可并行的微命令

优点:微程序短(指令条数少),执行速度快。
缺点:微指令长,编写微程序麻烦。
下面给出如何用若干个比特信息表示控制信号:
微指令的编码方式又称为微指令的控制方式,它是指如何对微指令的控制字段进行编码,以形成控制信号。编码的目标是在保证速度的情况下,尽量缩短微指令字长。
(1)直接编码(直接控制)方式
在微指令的操作控制字段中,每一位代表一个微操作命令
某位为"1"表示该控制信号有效。如下图, P C → M A R PC\rightarrow MAR PC→MAR和 1 → R 1\rightarrow R 1→R有效。
优点:简单、直观,执行速度快,操作并行性好。
缺点:微指令字长过长,n个微命令就要求微指令的操作字段有n位,造成控存容量极大。
(2)字段直接编码方式
将微指令的控制字段分为若干“段”,每段经译码后发出控制信号


上述PC → \rightarrow →MAR和1 → \rightarrow →R是可以并行的,放在分别的两个段里。PC → \rightarrow →MAR和PC+1 → \rightarrow →PC是互斥的。
微命令字段分段的原则:
①互斥性微命令分在同一段内,相容性微命令分在不同时间段内
②每个小段中包含的信息位不能太多,否则将增加译码线路的复杂性和译码时间。
③一般每个小段还要留出一个状态,表示本字段不发出任何微命令。因此,当某字段的长度为3时,最多只能表示7个互斥的微命令,通常用000表示不操作。

(3)字段简接编码方式
一个字段的某些微命令需要由另一个字段中的某些微命令来解释,由于不是靠字段直接译码发出的微命令,故称为字段间接编码,又称隐式编码。


优点:可进一步缩短微指令字长。
缺点:削弱了微指令的并行控制能力,故通常作为字段直接编码方式的一种辅助手段。
2.垂直型微指令 一条微指令只能定义一个微命令,由微操作码字段规定具体功能


优点:微指令短、简单、规整、便于编写微程序。
缺点:微程序长,执行速度慢,工作效率低。
3.混合型微指令
在垂直型的基础上增加一些不太复杂的并行操作。
微指令较短,扔便于编写;微程序也不长,执行速度加快。

微指令的地址形成方式


4.类似JMP
测试网络指内部的一些电路。

例题:某计算机采用微程序控制器,共有32条指令,公共的取指令微程序包含2条微指令,各指令对应的微程序平均由4条微指令组成,采用断定法(下地址字段法)确定下条微指令地址,则微指令中下地址字段的位数至少是多少位?
取指周期对应的微指令序列只有2条。
每条机器指令对应的微指令4条。
间指周期和中断周期可以没有。
总共需要存储多少条微指令?下地址需要可以指向每一条微指令。
32×4+2=130条微指令
所以取上限需要 2 8 2^8 28,至少8位。
微程序控制单元的设计
设计步骤:
1.分析每个阶段的微操作序列
要考虑如何读出这3条微指令,以及如何转入下一个机器周期。
第一条的微指令由硬件给出。用微指令a的下地址字段指向微指令b。就是在CMDR发出信号后,拔CMDR的下地址给CMAR。即
Ad(CMDR) → \rightarrow →CMAR
把微地址形成部件的地址给CMAR
OP(IR) → \rightarrow →微地址形成部件 → \rightarrow →CMAR
加上上述,就变成如下图:

微程序控制器的速度比硬布线慢。
2.写出对应机器指令的微操作命令及节拍安排
(1)写出每个周期所需要的微操作(参照硬布线)
(2)补充微程序控制器特有的微操作:

a.取指周期
每条微指令结束之后都需要进行:
Ad(CMAR) → \rightarrow →CMAR
取指周期的最后一条微指令完成后,要根据指令操作码确定其执行周期的微程序首地址:
OP(IR) → \rightarrow →微地址形成部件 → \rightarrow →CMAR
b.执行周期:
每条微指令结束之后都需要进行
Ad(CMDR) → \rightarrow →CMAR
3.确定微指令格式
根据微操作个数决定采用何种编码方式,以确定微指令的操作控制字段的位数。
根据CM中存储的微指令总数,确定微指令的顺序控制字段的位数。
最后按操作控制字段位数和顺序控制字段位数就可确定微指令字长。

4.编写微指令码点
根据操作控制字段每一位代表的微操作命令,编写每一条微指令的码点。

微程序控制器的基本原理相关推荐

  1. 微程序控制计算机的工作原理,微程序控制器的基本原理详细图解

    微程序控制器的基本原理详细图解 1.控制存储器:控制存储器是微程序控制器中的核心部件,通常由只读存储器ROM器件实现,简称控存. 2.微指令:控制存储器中的一个存储单元(字)表示了某一条指令的某一操作 ...

  2. 微程序控制器基本概念及其工作过程

    微程序控制器概述 微程序控制器的基本原理:把一条指令的微操作控制信号序列,以二进制编码字(称为微指令)的形式编制成程序(称为微程序),并存放在控制存储器中.执行指令时,通过依次读取一条条微指令,产生一 ...

  3. (计算机组成原理)第五章中央处理器-第四节2:微程序控制器基本原理

    文章目录 一:微程序控制器的设计思路 二:微程序控制器的基本结构 (1)微程序控制器基本组成 (2)微程序控制器工作过程 三:微程序控制器的工作原理 硬布线控制器,就是用纯硬件实现的控制器,电路非常复 ...

  4. 单总线CPU微程序控制器设计

    实验目的 帮助学生理解微程序控制器基本原理,要求学生能够设计微程序控制器. 实验内容 完善下图中的微程序框架,将微程序入口查找逻辑,判别测试逻辑,控制存储器等部件进行适当连接,实现微程序控制器的主要数 ...

  5. 计组学习笔记之CPU(3)——硬布线控制器和微程序控制器

    目录 控制器 控制器的结构和功能 硬布线控制器 硬布线控制器的定义 硬布线控制器结构 逻辑网络输入信号的三个来源 硬布线控制器的基本原理 微操作控制信号 微操作控制信号的产生 安排微操作时序的原则 微 ...

  6. 计算机组成与原理如何书写DEC微指令,计算机组成原理课程设计16位机微程序控制器指令系统设计与实现.doc...

    计算机组成原理课程设计16位机微程序控制器指令系统设计与实现 一.设计题目 16位机微程序控制器指令系统的设计与实现 二.设计目的 通过看懂教学计算机组合逻辑控制器中已经设计好并正常运行的几条基本指令 ...

  7. 《计算机组成原理》实验报告——TEC-2实验系统——微程序控制器实验

    实验名称: TEC-2机微程序控制器实验 实验地点:10-413 一.实验目的 比较深入透彻地学懂计算机各种指令的执行过程,以及控制器的组成.设计的具体知识.理解动态微程序设计的概念. 二.实验原理 ...

  8. 8 计算机组成原理第五章 中央处理器 控制器 硬布线控制器 微程序控制器

    文章目录 1 控制器的功能和工作原理 1.1 控制器的结构和功能 1.2 控制单元的输入和输出 1.2.1 控制单元输入 1.2.2 控制单元输出 2 硬布线控制器 2.1 CPU的控制方式 2.2 ...

  9. 众友科技计算机组成原理,组成原理:采用微程序控制器的模型机CPU设计(10页)-原创力文档...

    课程设计报告 课程名称: 计算机组成原理 设计题目: 采用微程序控制器的模型机 CPU设计 院 系: 班 级: 设 计 者: 学 号: 指导教师: 目 录 课程设计(大作业)报告 1 昆明学院课程设计 ...

最新文章

  1. 退出命令_退出不褪色 离别不离志----石嘴山支队举行2019年度冬季消防员退出命令宣布大会...
  2. struts2和servlet同时用(访问servlet时被struts2过滤器拦截问题的解决)
  3. python第一个解释器是哪一年_Python简介以及解释器介绍
  4. Java中的关键字——final
  5. GitLab的安装及使用教程
  6. 随便说说Silverlight
  7. c语言入门到精通怎么能少了这7本书籍?
  8. 阿里第一轮电话面试面经
  9. Tajima‘s D群体遗传
  10. 万字胶囊网络超详细总结(原理加pytorch代码)
  11. GBK,Unicode,UTF-8相互转化 C语言
  12. Autumn Web Handler
  13. Hadoop完全分布式搭建全过程
  14. ~1 ccf 2022-06-2 寻宝!大冒险!
  15. js正则的test方法一会返回true一会返回false
  16. iOS_系统原生分享
  17. USB Type-C一拖二线缆制作方法
  18. (Docker)Centos docker配置neo4j和mysql
  19. halcon提取桔子(橙子)
  20. C语言编程用*号输出字母C的图案。

热门文章

  1. Redis主从配置读写分离
  2. PM常用语看这篇就够了
  3. 哪些赛道适合程序员创业?
  4. 黑客劫持域名步骤大曝光
  5. SC92F8003读24C64程序
  6. STM32 AT24C64 Hal库写入错误
  7. 硬件学习-电子元器件相关资料汇总
  8. R语言eval,parse批量生成变量并赋值
  9. What is modularity And how to achieve modularity
  10. 使用shapeit进行单倍型分析