CPU微指令相关概念

第1章 微程序控制器

微程序控制器是一种控制器,同组合逻辑控制器相比较,具有规整性、灵活性、可维护性等一系列优点,因而在计算机设计中逐渐取代了早期采用的组合逻辑控制器,并已被广泛地应用。在计算机系统中,微程序设计技术是利用软件方法来设计硬件的一门技术 。

中文名 微程序控制器
外文名 Microprogram controller
基本思想 按照通常的解题程序的方法
优 点 规整性、灵活性、可维护性
设计技术 利用软件方法来设计硬件
定 义 采用微程序控制方式的控制器

1.1 定义

采用微程序控制方式的控制器称为微程序控制器。所谓微程序控制方式是指微命令不是由组合逻辑电路产生的,而是由微指令译码产生。一条机器指令往往分成几步执行,将每一步操作所需的若干位命令以代码形式编写在一条微指令中,若干条微指令组成一段微程序,对应一条机器指令。在设计CPU时,根据指令系统的需要,事先编制好各段微程序 ,且将它们存入一个专用存储器(称为控制存储器)中。微程序控制器由指令寄存器IR、程序计数器PC、程序状态字寄存器PSW、时序系统、控制存储器CM、微指令寄存器以及微地址形成电路、微地址寄存器等部件组成。执行指令时,从控制存储器中找到相应的微程序段,逐次取出微指令,送入微指令寄存器,译码后产生所需微命令,控制各步操作完成。

1.2 基本概念

微命令和微操作
微命令:控制部件通过控制线向执行部件发出的各种控制命令。它构成控制信 的最小单元 [1] 。
微操作:执行部件接受微命令后所进行的操作。它是由微命令实现的最基本操作 [1] 。
控制部件与执行部件通过控制线和反馈信息进行联系。
微指令和微程序
微指令,在机器的一个CPU周期中,一组实现一定操作功能的微命令的组合。
微程序,实现一条机器指令功能的许多条微指令组成的序列。
控制部件与执行部件通过控制线和反馈信息进行联系。
CPU周期与微指令周期的关系
在串行方式的微程序控制器中:微指令周期 = 读出微指令的时间 + 执行该条微指令的时间
一个CPU周期为0.8μs,它包含四个等间隔的节拍脉冲T1—T4,每个脉冲宽度为200ns。用T4作为读取微指令的时间,用T1+T2+T3时间作为执行微指令的时间。例如,在前600ns时间内运算器进行运算,在600ns时间的末尾运算器已经运算完毕,可用T4上升沿将运算结果打入某个寄存器。与此同时可用T4间隔读取下条微指令,经200ns时间延迟,下条微指令又从只读存储器读出,并用T1上升沿打入到微指令寄存器。如忽略触发器的翻转延迟,那么下条微指令的微命令信 就从T1上升沿起就开始有效,直到下一条微指令读出后打入微指令寄存器为止。因此一条微指令的保持时间恰好是0.8μs,也就是一个CPU周期的时间。 [2]

1.3 组成

微程序控制器主要由控制存储器、微指令寄存器和地址转移逻辑三大部分组成。
控制存储器
控制存储器用来存放实现全部指令系统的微程序,它是一种只读存储器。若指令系统中有多少条机器指令,就有多少微程序。一旦微程序固化,机器运行时则只读不写。其工作过程是:每读出一条微指令,则执行这条微指令;接着又读出下一条微指令,又执行这一条微指令……。读出一条微指令并执 行微指令的时间总和称为一个微指令周期。通常,在串行方式的微程序控制器中,微指令周期就是只读存储器的工作周期。控制存储器的字长就是微指令字的长度,其存储容量视机器指令系统而定,即取决于微程序的数量。对控制存储器的要求是速度快,读出周期要短。 [3]
微指令寄存器
微指令寄存器用来存放由控制存储器读出的一条微指令信息。其中微地址寄存器决定将要访问的下一条微指令的地址,而微命令寄存器则保存一条微指令的操作控制字段和判别测试字段的信息。 [3]
地址转移逻辑
在一般情况下,微指令由控制存储器读出后直接给出下一条微指令的地址,通常我们简称微地址,这个微地址信息就存放在微地址寄存器中。如果微程序不出现分支,那么下一条微指令的地址就直接由微地址寄存器给出。当微程序出现分支时,意味着微程序出现条件转移。在这种情况下,通过判别测试字段P和执行部件的“状态条件”反馈信息,去修改微地址寄存器的内容,并按改好的内容去读下一条微指令。地址转移逻辑就承担自动完成修改微地址的任务。 [3]

1.4 控制原理

微程序控制的基本思想,就是仿照通常的解题程序的方法,把操作控制信 编成所谓的“微指令”,存放到一个只读存储器里.当机器运行时,一条又一条地读出这些微指令,从而产生全机所需要的各种操作控制信 ,使相应部件执行所规定的操作 。
微程序控制的基本原理是:
(1)将机器指令分解为基本的微命令序列,在制造CPU时固化在控制存储器CM中,执行一条机器指令时,CPU依次从CM中取出微指令产生微命令。
(2)一条微指令包含的微命令控制实现一步(一个节拍)操作,若干条微指令组成一小段微程序解释执行一条机器指令。 [1]

1.5 执行过程

(1)根据计算机给出的第一条微指令的地址,从控制存储器中取出第一条微指令。
(2)微指令由操作控制部分和顺序控制部分组成。操作控制部分产生微操作控制信 ,控制执行部分完成规定的操作。顺序控制部分中的直接顺序控制部分放入微地址寄存器,顺序控制部分的P字段和执行部件反馈的状态条件信息决定修改微地址寄存器中的值。
(3)按地址寄存器中的值从控制存储器中取出下一条微指令,继续第二步,如此循环,直到全部指令执行完毕。

1.6 设计步骤

微程序控制器的设计步骤如下:
(1)根据CPU的结构图描述出每条指令的微操作流程图并综合成总的流程图;
(2)用混合控制法对微命令进行编码;
(3)选择合适的控制和时序;
(4)选用微程序的顺序控制方式为微指令安排微地址;
(5)画出微程序控制器组成框图。 [4]

1.7 组合逻辑控制器和微程序控制器的比较

组合逻辑控制器和微程序控制器,除了操作控制信 的形成方法和原理有差别外,其余的组成部分上没有本质的区别。最显著的差别可归纳为如下两点:
实现方式
微程序控制器的控制功能是在存放微程序的控制存储器和存放当前正在执行的微指令的寄存器直接控制下实现的,而组合逻辑控制器由逻辑电路实现。前者电路比较规整,各条指令控制信 的差别反映在控制存储器的内容上,因此无论是增加或修改(包括纠正设计中的错误或升级)指令,只要增加或者修改内容即可。组合逻辑控制器先用逻辑表达式列出,精简化后用逻辑门电路实现,因而显得零乱复杂,当需要增加或修改指令时很麻烦甚至不可能,因此微程序控制器得到了广泛应用,尤其是指令系统复杂的计算机,一般都采用微程序控制器。 [1]
性能
在同样的工艺条件下,微程序控制的速度比组合逻辑电路速度低,因为执行每条微指令都要从控制存储器(CM)中读取一次,影响了速度,而组合逻辑电路的速度主要取决于电路延迟,因而在高速或超高速计算机中,对影响速度的关键部分如CPU,往往采用组合逻辑电路。近年来,一些新的计算机系统如RISC(精简指令计算机),选用了组合逻辑控制器。 [1]

1.8 参考资料

  1. 李捍东主编 .微机原理与接口技术.重庆:重庆大学出版 ,2004:49-51
  2. 微程序控制器 .湖南学院 [引用日期2012-10-12]
  3. 宋红主编.计算机组成原理 .北京:中国铁道出版 ,2008:102-103
  4. 陈琳琳编著.计算机组成原理答疑解惑与典型题解.北京:北京邮电大学出版 ,2015:190-190

第2章 微指令

微指令是指在机器的一个CPU周期中,一组实现一定操作功能的微命令的组合 [1] ,描述微操作的语句。微命令是指控制部件通过控制线向执行部件发出各种控制命令。操作微指令是描述受控电路的操作语句 , 分支微指令是描述控制电路的分支语句。
一条机器指令的功能是若干条微指令组成的序列来实现的,即一条机器指令所完成的操作分成若干条微指令来完成,由微指令进行解释和执行,这个微指令序列通常叫做微程序。微指令的编译方法是决定微指令格式的主要因素。考虑到速度,成本等原因,在设计计算机时采用不同的编译法 。因此微指令的格式大体分成两类:水平型微指令和垂直型微指令。

2.2 类型

水平型微指令
一次能定义并执行多个并行操作微命令的微指令,叫做水平型微指令。水平型微指令的一般格式如下:控制字段,判别测试字段和下地址字段。按照控制字段的编码方法不同,水平型微指令又分为三种:一种是全水平型(不译法)微指令,第二种是字段译码法水平型微指令,第三种是直接和译码相混合的水平型微指令。
垂直型微指令
微指令中设置微操作码字段,采用微操作码编译法,由微操作码规定微指令的功能,称为垂直型微指令。垂直型微指令的结构类似于机器指令的结构.它有操作码,在一条微指令中只有l-2个微操作命令,每条微指令的功能简单,因此,实现一条机器指令的微程序要比水平型微指令编写的微程序长得多 .它是采用较长的微程序结构去换取较短的微指令结构。
水平型微指令与垂直型微指令的比较
(1)水平型微指令并行操作能力强,指令高效,快速,灵活,垂直型微指令则较差。
(2)水平型微指令执行一条指令时间短,垂直型微指令执行时间长。
(3)由水平型微指令解释指令的微程序,有微指令字较长而微程序短的特点。垂直型微指令则相反。
(4)水平型微指令用户难以掌握,而垂直型微指令与指令比较相似,相对来说,比较容易掌握。

2.3 规范化描述

规范化描述就是在指令系统的微指令描述中尽量减小语句使用的随意性,使整个指令系统的描述具有较强的规律性,并使微操作集中的元素最少。事实上只要微指令描述合理规范,从微程序设计角度来看,所描述的功能都是可以通过ASIC技术实现的。在一条指令的描述中, 指令的微操作步数必须与指令所需的时钟周期数相吻合,分配好各微指令序列所占的时钟数,安排好各微指令组和各微指令序列在整个控制序列中的位置,这是指令系统规范化描述的基础。在同类指令的描述中, 完成相同微功能的微指令序列所占的时钟周期数必须相同, 在控制序列中的分配位置必须合理。例如字除法指令比字节除法指令多8个状态周期,因此每位除法只能占用一个状态周期。再例如操作数长度相同的有符 数除法指令和无符 数除法指令相比多增加 4个状态周期,因此有符 除法中被除数和除数、商和余数的符 化处理,只能分别在2个状态周期中实现,且删除这4个状态周期中的所有微指令 [2] 。

2.4 相关指令

机器指令和微指令的关系
一台数字计算机基本上可以划分为两大部分——控制部件和执行部件。控制器就是控制部件,而运算器、存储器、外围设备相对控制器来说就是执行部件。控制部件与执行部件的一种联系就是通过控制线。控制部件通过控制线向执行部件发出各种控制命令,通常这种控制命令叫做微命令,而执行部件接受微命令后所执行的操作就叫做微操作。控制部件与执行部件之间的另一种联系就是反馈信息。执行部件通过反馈线向控制部件反映操作情况,以便使得控制部件根据执行部件的状态来下达新的微命令,这也叫做“状态测试”。微操作在执行部件中是组基本的操作。由于数据通路的结构关系,微操作可分为相容性和相斥性两种。在机器的一个CPU周期中,一组实现一定操作功能的微命令的组合,构成一条微指令。一般的微指令格式由操作控制和顺序控制两部分构成。操作控制部分用来发出管理和指挥全机工作的控制信 。其顺序控制部分用来决定产生下一个微指令的地址。事实上一条机器指令的功能是由许多条微指令组成的序列来实现的。这个微指令序列通常叫做微程序。既然微程序是由微指令组成的,那么当执行当前的一条微指令的时候。必须指出后继微指令的地址,以便当前一条微指令执行完毕以后,取下一条微指令执行。机器指令和微指令的关系归纳如下:

  1. 一条机器指令对应一个微程序,这个微程序是由若干条微指令构成的。因此,一条机器指令的功能是若干条微指令组成的序列来实现的。简而言之,一条机器指令所完成的操作划分成若干条微指令来完成,由微指令进行解释和执行。
    2.从指令与微指令,程序与微程序,地址与微地址的一一对应关系上看,前者与内存储器有关,而后者与控制存储器(它是微程序控制器的一部分。微程序控制器主要由控制存储器、微指令寄存器和地址转移逻辑三部分组成。其中,微指令寄存器又分为微地址寄存器和微命令寄存器两部分)有关,与此相关也有相对应的硬设备。
    3.一条机器指令对应4个CPU周期,每个CPU周期就对于一条微指令。
    参考资料
  2. 白中英-.计算机组成原理:科学出版 ,2012
  3. 宋琦,龚茂康. 微处理器功能的微指令描述[J]. 江苏农学院学 ,1997,(01):86-90. .中国知 [引用日期2017-12-14]

第3章 微命令

微命令即控制部件通过控制线向执行部件发出各种控制命令 。在微指令的控制字段中,每一位代表一个微命令。
中文名 微命令
属 性 控制命令

3.1 简介

在微指令的控制字段中,每一位代表一个微命令,在设计微指令时,是否发出某个微命令,只要将控制字段中相应位置成”1″或”0″,这样就可打开或关闭某个控制门,这就是直接控制法.
在6.3节中所讲的就是这种方法.但在某些复杂的计算机中,微命令甚至可多达三四百个,这使微指令字长达到难以接受的地步,并要求机器有大容量控制存储器,为了改进设计出现了以下各种编译法.

3.2 方法

文章知识点与官方知识档案匹配,可进一步学习相关知识CS入门技能树Linux入门初识Linux25352 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年1月15日
下一篇 2021年1月15日

相关推荐