目录
1.微程序控制计算机提出的背景
2.微程序控制计算机的基本工作原理
3.微程序控制器
3.1控制存储器
3.2 微指令寄存器
3.3 地址转移逻辑
4.微程序设计技术
4.1微指令的格式
4.2 微指令的控制字段的编码方法
4.2.1 直接控制法
4.2.2 最短字长编码法
4.2.3 字段编码法
5.小结
1.微程序控制计算机提出的背景
微程序控制Microprogrammed Control的概念和原理最早是由英国剑桥大学的M. V. Wilkes教授于1951年提出来的。他指出,“一条机器指令可以分解为许多基本的微命令序列”。并且首先把这种思想用于计算机控制器的设计。但是,由于当时还制造不了存放微程序的(廉价、高速、大容量的)控制存储器,所以,直到1964年才在IBM360系列机上成功地采用了微程序设计技术,解决了指令系统的兼容问题。 从二十世纪六十年代中期到八十年代末,大多数计算机都采用微程序控制技术。
2.微程序控制计算机的基本工作原理
微程序控制的基本思想是把机器指令的每一操作控制步编成一条微指令。每条机器指令对应一段微程序。
执行机器指令时,从控制存储器中顺序取出这些微指令,就可按所要求的次序产生相应的操作控制信号。
微程序控制器Microprogrammed Control Unit的核心部件是控制存储器。
微操作Microoperation 是微命令的操作过程,是执行部件接受微命令后所进行的最基本的操作。
微指令Microinstruction 是同时发出的控制信号所执行的一组微操作。 一条指令由若干条微指令解释,按次序执行这些微指 令实现指令的功能。
微命令Microcommand 是微操作的控制信号。
微程序Microprogram 由微指令组成的程序,是微指令的有序集合。
控制存储器Control Memory/Storage 用来存放实现整个指令系统的全部微程序,它一般用只读存储器(ROM)构成。
3.微程序控制器
微程序控制器主要由控制存储器、微指令寄存器和地址转移逻辑三大部分组成。
3.1控制存储器
控制存储器用来存放实现全部指令系统的微程序,它是一种只读存储器。
一旦微程序固化,机器运行时则只读不写。
其工作过程是:每读出一条微指令,则执行这条微指令;接着又读出下一条微指令,又执行这一条微指令……。
读出一条微指令并执行微指令的时间总和称为一个微指令周期。
通常,在串行方式的微程序控制器中,微指令周期就是只读存储器的工作周期。
控制存储器的字长就是微指令字的长度,其存储容量视机器指令系统而定,即取决于微程序的数量。
对控制存储器的要求是速度快,读出周期要短
3.2 微指令寄存器
微指令寄存器用来存放由控制存储器读出的一条微指令信息。其中微地址寄存器决定将要访问的下一条微指令的地址,而微命令寄存器则保存一条微指令的操作控制字段和判别测试字段的信息。
3.3 地址转移逻辑
在一般情况下,微指令由控制存储器读出后直接给出下一条微指令的地址,通常我们简称微地址,这个微地址信息就存放在微地址寄存器中。如果微程序不出现分支,那么下一条微指令的地址就直接由微地址寄存器给出。当微程序出现分支时,意味着微程序出现条件转移。在这种情况下,通过判别测试字段P和执行部件的“状态条件”反馈信息,去修改微地址寄存器的内容,并按改好的内容去读下一条微指令。地址转移逻辑就承担自动完成修改微地址的任务。
4.微程序设计技术
微程序设计技术的实质是将程序设计技术和存储技术相结合,用程序设计的思想方法来组织操作控制逻辑。
将微操作控制信号按一定规则进行信息编码,形成控制字(微指令),再把这些微指令按时间先后排列起来成为微程序,存放在一个控制存储器中。执行一条指令实际上就是执行一段存放在控制存储器中的微程序。
4.1微指令的格式
微指令由(操作)控制字段和下址(顺序控制)字段组成。
控制字段 Control Field 是微命令的编码。
下址字段 Address Field 给出下一条微指令在控存的地址。
4.2 微指令的控制字段的编码方法
微指令的控制字段的编码方法有4种:
直接控制法、最短字长编码、字段编码法和分组直接控制法。
4.2.1 直接控制法
【例1 】设控制器的结构如教材P123-图6.6所示。总共有25个控制信号(微命令) 。
用直接控制法设计微指令,控制字段为25位。
如果控制存储器的容量为4k字,则下址字段需12位。
一条微指令中的所有控制信号(微命令)是同时发出的。
当前正在执行的微指令从控制存储器中取出后放在微指令寄存器中。该寄存器的各个控制位的输出直接连到各个控制门。
【例2 】设计一条加法指令的微指令。P123
加法指令的功能:将寄存器rs中的一个数与存储器中的一个数(地址为(rs1)+disp)相加,结果放在寄存器rd中。
这条加法指令的执行需要4个机器周期,应该由4条微指令解释执行。每条微指令发出的控制信号(微命令)如下:
4.2.2 最短字长编码法
最短字长编码是将全部微命令进行统一编码,每个码位表示一种微命令,通过译码产生微操作控制信号。
N位编码最多可有2N个微命令。
优点是:微指令字长最短。
缺点是:必须经过完全译码。每次只能产生一个微命令,不能并行执行几个微命令,效率低,速度慢,因而很少采用。
4.2.3 字段编码法
字段编码法是将微操作控制字段划分为若干个小字段,每个小字段是若干个微命令的编码,小字段的长度一般为2~4位。各个小字段之间的微命令可同时执行。字段编码法吸收了直接控制法和最短字长编码法的优点,既能缩短微指令字长,又有较高的并行性,执行速度比较快。
字段编码法又分为字段直接编码法和字段间接编码法。
字段直接编码法是每个小字段单独编码,每个码位表示一种微命令。执行微指令时,每个小字段单独译码,分别产生一个微操作控制信号。
5.小结
1.把每条机器指令所需的微操作命令组合成若干条微指令,再将这些微指令构成一个微程序。每条机器指令对应一个微程序。
2.将全部微程序存入一个高速的控制存储器中。
3.执行机器指令就变成了执行该指令对应的一个微程序。
4. 一条机器指令对应一个微程序,这个微程序是由若干条微指令序列组成的。因此,一条机器指令的功能是由若干条微指令组成的序列来实现的。简言之,一条机器指令所完成的 操作划分成若干条微指令来完成,由微指令进行解释和执行。
5.从指令与微指令,程序与微程序,地址与微地址的一一对应关系来看,前者与内存储器有关,后者与控制存储器有关。 与此相关,也有相对应的硬设备。