微程序控制器的组成及原理总结

基本概念

这一部分像是微观版本的计算机部件之间的关系缩影。在我们可见的模块关系中,主存,CPU之间的数据流,控制信号的传输,指令的执行过程等都比较熟悉了。而在微程序控制这边,很多设计思路是一脉相承的,在外部是存储程序,在这里是存储逻辑,之所以叫逻辑,只是表达微程序更多是对控制信号的作用。与硬布线控制组合逻辑也形成对应。

核心思想是:把每条机器指令转化为一段微程序,并把这段微程序存入控制存储器(Control Memory)中,其中微操作信号由微指令产生。

概念辨析

这里有必要解释一下几个概念之间的关系:微程序,微指令,微操作,微命令。

首先,最大的是微程序这个概念,它是总的包工头,承包的活是解释一条机器指令。活拿到以后,将其分解为多个微指令,让手下人去执行。每一条微指令呢,又可以分为一条或者多条微操作命令。

这里可能又会有歧义,为什么说微操作命令,这不是把概念融合了吗?OK,这里需要更加强调微命令与微操作的区别了。

微命令给人的第一直觉是不是静态的,表达下达命令者的话语。而微操作是下面人根据命令做的具体的操作?
对的,就是这样:微命令是微操作的控制信号,微操作是微命令的执行过程

设计原则

另外在组合微命令的时候有一个设计原则:相容性的微命令放在不同组,互斥性的命令放在一组。相容性的微命令可以并发,你总不能让一组的命令同时并发吧,这该引起多大的冲突!所以一组一次执行一个,不同组的可以并行执行。

微指令与微周期

微指令包含的信息分为两大部分:

  • 操作控制字段:也叫微操作码字段,产生当前步需要的各种操作信号
  • 顺序控制字段:也叫微地址码字段控制产生下一条要执行的微指令地址
    这里的名字似乎可以对应到外部机器指令的构成,但是注意,这里的核心任务是:控制!
    至于微周期:从CM中读取一条微指令并执行相应微操作所需的时间。

辨析主存M和控存CM

主存用于存储的是程序和数据,是在CPU外面的独立的大部件,实现的材料是DRAM;而控存呢,是在CPU内部的,负责的是CPU内部指挥部的工作,实现的材料是ROM。

区分M和CM用到的寄存器

MAR:左护法,存放的是主存的读/写地址(指令或者数据);
CMAR:用于存放的是控存的读/写微指令的地址;
IR:用于存放从主存中读取的指令;
CMDR/uIR:存放从控存中取出的微指令。

也就是CMDR和uIR不必两个都有,只要一个就行了。

以上。

你可能感兴趣的:(组成原理)