微程序控制器主要由控制存储器、微指令寄存器和地址转移逻辑三大部分组成。
控制存储器
控制存储器用来存放实现全部指令系统的微程序,它是一种只读存储器。若指令系统中有多少条机器指令,就有多少微程序。一旦微程序固化,机器运行时则只读不写。其工作过程是:每读出一条微指令,则执行这条微指令;接着又读出下一条微指令,又执行这一条微指令……。读出一条微指令并执行微指令的时间总和称为一个微指令周期。通常,在串行方式的微程序控制器中,微指令周期就是只读存储器的工作周期。控制存储器的字长就是微指令字的长度,其存储容量视机器指令系统而定,即取决于微程序的数量。对控制存储器的要求是速度快,读出周期要短。
微指令寄存器
微指令寄存器用来存放由控制存储器读出的一条微指令信息。其中微地址寄存器决定将要访问的下一条微指令的地址,而微命令寄存器则保存一条微指令的操作控制字段和判别测试字段的信息。
地址转移逻辑
在一般情况下,微指令由控制存储器读出后直接给出下一条微指令的地址,通常我们简称微地址,这个微地址信息就存放在微地址寄存器中。如果微程序不出现分支,那么下一条微指令的地址就直接由微地址寄存器给出。当微程序出现分支时,意味着微程序出现条件转移。在这种情况下,通过判别测试字段P和执行部件的“状态条件”反馈信息,去修改微地址寄存器的内容,并按改好的内容去读下一条微指令。地址转移逻辑就承担自动完成修改微地址的任务。
微程序控制的基本思想,就是仿照通常的解题程序的方法,把操作控制信号编成所谓的“微指令”,存放到一个只读存储器里.当机器运行时,一条又一条地读出这些微指令,从而产生全机所需要的各种操作控制信号,使相应部件执行所规定的操作。
微程序控制的基本原理是:(1)将机器指令分解为基本的微命令序列,在制造CPU时固化在控制存储器CM中,执行一条机器指令时,CPU依次从CM中取出微指令产生微命令。(2)一条微指令包含的微命令控制实现一步(一个节拍)操作,若干条微指令组成一小段微程序解释执行一条机器指令。
微程序:微指令的有序集合,用于实现机器指令的功能。
微命令:是组成微指令的最小单位,也就是控制实现微操作的控制信号。一般用于控制数据通路上门的打开/关闭,或者功能选择。
微操作:指令执行时必须完成的基本操作。例如,PC→AR,PC+1→ PC,RAM→IR。
微指令:是一组微命令的集合,用于完成一个功能相对完整的操作。