微程序控制器的概述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微程序控制器的概述
摘要:
本文主要讲述一些关于微程序控制器的理论知识。以微程序控制器的概念开始讲述,接着选讲了此控制器的工作原理、组成,还有如何去设计这样的控制器。我对这些也是较为细致的讲解了下。最后,稍微介绍了下微程序控制器计算机领域上的应用以及将来的一些发展前景。
微程序控制方法是由M.V.Wilkes教授于1951年提出,他指出:一条机器指令可分解成许多基本的微命令序列,并首先把这种思想用于计算机控制器的设计。
微程序控制方法的基本思想是将程序存储控制原理引入到控制器的设计中,即把一条指令看作是由一个微指令系列组成的微程序。这样执行一条指令的过程,就成为取一条微指令——分析微指令——执行微指令——再取下一条微指令的过程,这是一种硬件软化的方案。这种方法的实质是把控制信号以为程序的形式存储起来,并以只读存储器内的专用程序替代逻辑控制电路。它是能实现灵活可变的计算机指令系统。
1、微程序控制器的原理与组成
微命令和微操作
微命令:控制部件通过控制线向执行部件发出的各种控制命令。
微操作:执行部件接受微命令后所进行的操作。微操作可以分为相容性和相斥性。
微指令:控制存储器中的一个存储单元(字)表示了某一条指令的某一操作步骤的控制信号,以及下一步骤的有关信息,称该字为微指令。微指令格式可有下面三种:
·垂直型微指令
一条微指令定义并执行一种基本操作。
优点:微指令短、简单、规整,便于编写微程序。
缺点:微程序长,执行速度慢;工作效率低。
·水平型微指令
一条微指令定义并执行几种并行的基本操作。
优点:微程序短,执行速度快。
缺点:微指令长,编写微程序较麻烦。
·混合型微指令
在垂直型的基础上增加一些不太复杂的并行操作。微指令不长,便于编写;微程序
不长,执行速度加快。
微程序:实现一条机器指令功能的许多条微指令组成的序列。
控制器主要由控制存储器(CM)、微指令寄存器(μIR)、微地址寄存器(μAR)和微地址形成逻辑四部分组成。
图:微程序控制器组成原理框图
·控制存储器(CM):
控制存储器用来存放实现全部指令系统的微程序,它是一种只读存储器。一旦微程序固化,机器运行时则只读不写。其工作过程是:每读出一条微指令,则执行这条微指令;接着又读出下一条微指令,又执行这一条微指令……。读出一条微指令并执行微指令的时间总和称为一个微指令周期。通常,在串行方式的微程序控制器中,微指令周期就是只读存储器的工作周期。控制存储器的字长就是微指令字的长度,其存储容量视机器指令系统而定,即取决于微程序的数量。对控制存储器的要求是速度快,读出周期要短。
·微指令寄存器(μIR):
微指令寄存器用来存放由控制存储器读出的一条微指令信息。其中微地址寄存器决定将要访问的下一条微指令的地址,而微命令寄存器则保存一条微指令的操作控制字段和判别测试字段的信息。
·微地址寄存器(μAR):
也称微程序控制数据寄存器,它用来保存从控制存储器中取出的一条指令的信息。由下址字段和控制字段构成,下址字段指出要执行下一条微指令的地址,控制字段则保存一条微指令中的操作命令。
·地址转移逻辑:
在一般情况下,微指令由控制存储器读出后直接给出下一条微指令的地址,通常我们简称微地址,这个微地址信息就存放在微地址寄存器中。如果微程序不出现分支,那么下一条微指令的地址就直接由微地址寄存器给出。当微程序出现分支时,意味着微程序出现条件转移。在这种情况下,通过判别测试字段P和执行部件的“状态条件”反馈信息,去修改微地址寄存器的内容,并按改好的内容去读下一条微指令。地址转移逻辑就承担自动完成修改微地址的任务。
机器指令与微指令的关系
·一条机器指令对应一段微程序,这个微程序是由若干条微指令序列组成的。因此,一条机器指令的能是由若干条微指令组成的序列来实现的。简言之,一条机器指令所完成的操作划分成若干条微指令来完成,由微指令解释执行。
·机器指令与内存M有关,微指令与控制存储器CM有关。从指令与微指令,程序与微程序,地址与微地址的一一对应关系来看,前者与内存储器有关,后者与控制存储器有关。
·每个CPU周期对应一条微指令。
2、微程序控制器设计
2.1设计微程序
设计微程序,就是确定微程序流程图,也就是控制算法流程图。微程序流程图中的一条微指令,相当于ASM流程图中的一个状态。
由于控制存储器有足够的容量,状态分配和状态化简这两种传统技术在微程序设计中已失去意义。控制存储器中一个地址转移到下一个地址是随意的,灵活的。因此增加微指令或减少微指令不必改动硬件。总之,以微指令结构为基础,就可以设计任何所要求的微程序,可长可短,灵活自如,且能实现多路并行转移,而不受“状态分配”的限制。
2.2确定微指令格式
微指令格式中的操作控制字段取决于执行部件的子系统需要多少微指令。假定采用直接控制方式,执行部件需要10个微命令,则操作控制字段需要10位。
测试判别字段取决于微程序流程图中有多少处分支转移。假定有3处分支,则测试判别字段需要3位。
下址字段取决于微程序流程图的规模。假定微程序共用50条微指令,则下址字段至少需要6位。这是因为ROM地址译码时,26=64,6位地址可容纳64条微指令。
2.3将微程序编译成二进制代码
编码有三种方法:直接表示法/编码表示法/混合表示法
2.3.1直接表示法:操作控制字段中的各位分别可以直接控制计算机,不需要进行译码。
直接表示法举例,操作控制字段的每一个独立的二进制位代表一个微命令,该位为“1”表示这个微命令有效,为“0”表示这个微命令无效。
直接表示法特点:
这种方法结构简单,并行性强,操作速度快,但是微指令字太长,若微命令的总数为N 个,则微指令字的操作控制字段就要有N位。
另外,在N个微命令中,有许多是互斥的,不允许并行操作,将它们安排在一条微指令中是毫无意义的,只会使信息的利用率下降。
2.3.2编码表示法:将操作控制字段分为若干个小段,每段内采用最短编码法,段与段之间采用直接控制法。
编码表示法特点:可以避免互斥,使指令字大大缩短,但增加了译码电路,使微程序的执行速度减慢