微程序控制的基本思想,就是仿照通常的解题程序的方法,把 *** 作控制信号编成所谓的“微指令”,存放到一个只读存储器里.当机器运行时,一条又一条地读出这些微指令,从而产生全机所需要的各种 *** 作控制信号,使相应部件执行所规定的 *** 作 .
采用微程序控制方式的控制器称为微程序控制器。所谓微程序控制方式是指微命令不是由组合逻辑电路产生的,而是由微指令译码产生。一条机器指令往往分成几步执行,将每一步 *** 作所需的若干位命令以代码形式编写在一条微指令中,若干条微指令组成一段微程序,对应一条机器指令。在设计CPU时,根据指令系统的需要,事先编制好各段微程序 ,且将它们存入一个专用存储器(称为控制存储器)中。微程序控制器由指令寄存器IR、程序计数器PC、程序状态字寄存器PSW、时序系统、控制存储器CM、微指令寄存器以及微地址形成电路、微地址寄存器等部件组成。执行指令时,从控制存储器中找到相应的微程序段,逐次取出微指令,送入微指令寄存器,译码后产生所需微命令,控制各步 *** 作完成。
微程序控制器和硬连线控制器在组成和运行原理方面相同之处如下:
1、基本功能都是提供计算机各个部件协同运行所需要的控制信号
2、组成部分都有程序计数器PC,指令寄存器IR
3、都分成几个执行步骤完成每一条指令的具体功能。
微程序控制器和硬连线控制器都是计算机中的控制器(即CPU的一部分),其组成和运行原理有一些相同之处,包括:
1、存储器件:两种控制器中都使用存储器件来存储指令和数据。这些存储器件可以是ROM、RAM等。
2、指令执行流程:两种控制器都按照指令执行流程来完成各种 *** 作。指令执行流程一般包括取指令、译码、执行等过程,这些过程均由控制器负责。
3、数据通路:两种控制器都与数据通路相连接,通过数据通路实现数据的输入、输出和处理。
4、程序计数器:两种控制器中都有一个程序计数器,用于记录下一条要执行的指令地址。
5、控制单元:两种控制器都有一个控制单元,用于控制整个计算机系统的运行。
总之,微程序控制器和硬连线控制器在组成和运行原理方面存在着一定的相同之处,这些共性是计算机控制器的基本特点。但两者在具体实现上还存在较大的差异,尤其是微程序控制器采用了微代码的方式来实现指令,而硬连线控制器则是直接根据电路设计来执行指令。
微程序控制器的特点
1、可编程性:微程序控制器使用微代码(microcode)来实现指令 *** 作,这使得其可以动态地编写和修改微代码,从而支持不同的指令集和更高级别的功能。
2、灵活性:由于微程序控制器采用了微代码的方式来实现指令,因此可以在不改变硬件结构的情况下支持不同的指令集。这种灵活性使得微程序控制器适用于复杂的应用场景。
3、易于调试和维护:与硬连线控制器相比,微程序控制器的指令编写和修改更加方便,同时也更容易调试和维护。这是由于微程序控制器采用了软件控制逻辑的方式实现指令 *** 作。
4、支持高级别的功能:由于微程序控制器可以在运行时动态地修改控制指令,因此可以支持更高级别的功能,例如流水线、超标量处理等技术,从而提高计算机的性能。
5、存储器要求高:微程序控制器需要较多的存储器以存储微代码,这可能导致成本上升和速度下降。总之,微程序控制器具有可编程性、灵活性、易于调试和维护、支持高级别的功能等特点,这些特点使得微程序控制器成为一种重要的计算机控制器。
计算机控制器是整个CPU的指挥控制中心,由指令寄存器IR(InstructionRegister)、程序计数器PC(ProgramCounter)和 *** 作控制器0C(OperationController)三个部件组成,对协调整个电脑有序工作极为重要。 指令寄存器 指令寄存器:用以保存当前执行或即将执行的指令的一种寄存器。指令内包含有确定 *** 作类型的 *** 作码和指出 *** 作数来源或去向的地址。指令长度随不同计算机而异,指令寄存器的长度也随之而异。计算机的所有 *** 作都是通过分析存放在指令寄存器中的指令后再执行的。指令寄存器的输人端接收来自存储器的指令,指令寄存器的输出端分为两部分。 *** 作码部分送到译码电路进行分析,指出本指令该执行何种类型的 *** 作地址部分送到地址加法器生成有效地址后再送到存储器,作为取数或存数的地址。存储 [控制器] 控制器 器可以指主存、高速缓存或寄存器栈等用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到数据寄存器(DR)中,然后再传送至IR。指令划分为 *** 作码和地址码字段,由二进制数字组成。为了执行任何给定的指令,必须对 *** 作码进行测试,以便识别所要求的 *** 作。指令译码器就是做这项工作的。指令寄存器中 *** 作码字段的输出就是指令译码器的输入。 *** 作码一经译码后,即可向 *** 作控制器发出具体 *** 作的特定信号。 程序计数器 程序计数器:指明程序中下一次要执行的指令地址的一种计数器,又称指令计数器。它兼有指令地址寄存器和计数器的功能。当一条指令执行完毕的时候,程序计数器作为指令地址寄存器,其内容必须已经改变成下一条指令的地址,从而使程序得以持续运行。为此可采取以下两种办法: 第一种办法是在指令中包含了下一条指令的地址。在指令执行过程中将这个地址送人指令地址寄存器即可达到程序持续运行的目的。这个方法适用于早期以磁鼓、延迟线等串行装置作为主存储器的计算机。根据本条指令的执行时间恰当地决定下一条指令的地址就可以缩短读取下一条指令的等待时间,从而收到提高程序运行速度的效果。 第二种办法是顺序执行指令。一个程序由若干个程序段组成,每个程序段的指令可以设计成顺序地存放在存储器之中,所以只要指令地址寄存器兼有计数功能,在执行指令的过程中进行计数,自动加一个增量,就可以形成下一条指令的地址 [控制器] 控制器 ,从而达到顺序执行指令的目的。这个办法适用于以随机存储器作为主存储器的计算机。当程序的运行需要从一个程序段转向另一个程序段时,可以利用转移指令来实现。转移指令中包含了即将转去的程序段入口指令的地址。执行转移指令时将这个地址送人程序计数器(此时只作为指令地址寄存器,不计数)作为下一条指令的地址,从而达到转移程序段的目的。子程序的调用、中断和陷阱的处理等都用类似的方法。在随机存取存储器普及以后,第二种办法的整体运行效果大大地优于第一种办法,因而顺序执行指令已经成为主流计算机普遍采用的办法,程序计数器就成为中央处理器不可或缺的一个控制部件 *** 作控制器 CPU内的每个功能部件都完成一定的特定功能。信息在各部件之间传送及数据的流动控制部件的实现。通常把许多数字部件之间传送信息的通路称为“数据通路”。信息从什么地方开始,中间经过哪个寄存器或多路开关,最后传到哪个寄存器,都要加以控制。在各寄存器之间建立数据通路的任务,是由称为“ *** 作控制器”的部件来完成的。 *** 作控制器的功能就是根据指令 *** 作码和时序信号,产生各种 *** 作控制信号,以便正确地建立数据通路,从而完成取指令和执行指令的控制。 工作原理 有两种由于设计方法不同因而结构也不同的控制器。微 *** 作是指不可再分解的 *** 作,进行微 *** 作总是需要相应的控制信号(称为微 *** 作控制信号或微 *** 作命令)。一台数字计算机基本上可以划分为两大部分---控制部件和执行部件。控制器就是控制部件,而运算器、存储器、外围设备相对控制器来说就是执行部件。控制部件与执行部件的一种联系就是通过控制线。控制部件通过控制线向执行部件发出各种控制命令,通常这种控制命令叫做微命令,而执行部件接受微命令后所执行的 *** 作就叫做微 *** 作。控制部件与执行部件之间的另一种联系就是反馈信息。执行部件通过反馈线向控制部件反映 *** 作情况,以便使得控制部件根据执行部件的状态来下达新的微命令,这也叫做“状态测试”。微 *** 作在执行部件中是组基本的 *** 作。由于数据通路的结构关系,微 *** 作可分为 [控制器] 控制器 相容性和相斥性两种。在机器的一个CPU周期中,一组实现一定 *** 作功能的微命令的组合,构成一条微指令。一般的微指令格式由 *** 作控制和顺序控制两部分构成。 *** 作控制部分用来发出管理和指挥全机工作的控制信号。其顺序控制部分用来决定产生下一个微指令的地址。事实上一条机器指令的功能是由许多条微指令组成的序列来实现的。这个微指令序列通常叫做微程序。既然微程序是有微指令组成的,那么当执行当前的一条微指令的时候。必须指出后继微指令的地址,以便当前一条微指令执行完毕以后,取下一条微指令执行。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)