计算机组成原理中的微程序控制器是现代计算机硬件设计中的一种重要技术,它允许通过预先编写的微程序来控制CPU的操作。微程序控制的基本思想是将一系列的微命令组织成微指令,每条微指令对应计算机执行的一小步操作。进一步地,多条微指令组成一个微程序,这个微程序可以解释执行一条机器指令。这种设计使得控制逻辑更加规整,同时也易于扩展CPU的功能。
在微程序控制器的结构中,有几个关键组成部分:
1. **微地址形成电路**:这部分电路负责生成微地址,微地址指向控制存储器中的特定微指令。微地址可以由机器指令的操作码、程序状态字(PSW)、程序计数器(PC)等信息决定,或者根据微指令的顺序控制字段来形成后续微地址。
2. **微地址寄存器(µAR)**:它用于存储当前正在执行的微指令的地址。微地址寄存器接收并暂存由微地址形成电路产生的微地址。
3. **控制存储器(CM)**:这是一个专用的高速存储器,存储了所有的微程序。控制存储器并不属于主存储器,而是CPU的一部分,它直接向CPU提供微指令。
4. **微指令寄存器(µIR)**:微指令寄存器保存当前正在执行的微指令。微指令包含两部分:微命令字段,用于提供执行一步操作所需的控制信号;微地址字段,指示如何生成下一条微指令的地址,包括顺序控制和条件分支。
5. **译码器**:译码器对微指令的微命令字段进行解码,生成相应的控制信号,驱动CPU的各个部件执行微操作。
微程序控制器的工作过程大致分为以下几个步骤:
1. **取指阶段**:从主存储器中取出机器指令,根据操作码形成微程序的入口地址。
2. **转微程序入口**:根据操作码,微地址形成电路生成微程序的起始地址,并加载到微地址寄存器中。
3. **执行首条微指令**:从控制存储器读取第一条微指令,解码后生成微操作控制信号,执行相应的操作。
4. **取后续微指令**:根据微指令的微地址字段和运行状态,形成下一条微指令的地址,并更新微地址寄存器。
5. **执行后续微指令**:重复步骤3,直到微程序执行完毕。
6. **返回**:微程序执行完成后,返回到取指微指令所在的固定单元,准备执行下一条机器指令。
微指令有三种类型:垂直型、水平型和混合型。垂直型微指令简单,但微程序较长,执行速度较慢;水平型微指令则能同时执行多种操作,微程序短,执行速度快,但微指令本身较复杂;混合型微指令在两者之间,既保持了微指令的简洁性,又提高了执行效率。例如,长城203微指令就是一种混合型微指令,包含了AI、BI、ZO、AOP、MOP、KK、ST等多个字段,分别对应不同的控制信号。
总结来说,微程序控制器通过微程序实现了对复杂操作的模块化和规整化,提高了CPU设计的灵活性,同时降低了设计难度。微指令的设计和格式选择直接影响到CPU的性能和程序执行的效率。