微程序控制器设计:微指令与微程序解析

需积分: 31 12 下载量 105 浏览量 更新于2024-08-24 收藏 1.41MB PPT 举报
"这篇资料是关于微程序控制器的实验教程,源自湖南大学,主要涵盖了微指令格式编号、微命令的初始状态以及微程序控制器的工作原理和设计。" 在计算机系统中,控制器扮演着核心角色,负责取指令(IF)、指令解码(ID)和指令执行(EX)等关键步骤,从而实现程序的自动控制。控制器与运算器、存储器和外围设备共同构成了计算机的执行部件。微程序控制器是一种设计策略,它将机器指令分解为一系列微操作,每个微操作由一个或多个微命令组成。这些微命令以微码形式存储在控制存储器中,形成微程序,每条机器指令都与一个特定的微程序相对应。 微命令是控制器向执行部件发送的控制信号,指示执行部件执行特定的操作。微操作则是执行部件接收到微命令后实际进行的动作,比如数据的读取、写入或者算术逻辑运算。微指令则是一组在一个CPU周期内实现特定功能的微命令集合,它在每个时钟周期被读取并被执行。 微程序控制器通常包含以下几个部分:控制存储器,存储微指令的地方;微地址寄存器,用于保存当前微指令的地址;微指令寄存器,用于输出微命令;地址转移逻辑,包含指令寄存器,用于决定下一条微指令的地址;以及时序电路,确保整个过程按时间顺序正确进行。 微控制器的工作流程分为顺序和分支两种模式。在顺序模式下,微指令寄存器在时钟周期T1/T2输出微命令,P1标志位为0,指示下一次读取的微指令地址。而在分支模式中,如果P1为1,则根据特定条件产生新的微地址,可能涉及内存中的指令寄存器(IR)来决定下一条微指令的地址。 微程序的设计和调试是复杂的过程,需要考虑如何将机器指令码映射到微程序的入口地址。例如,IR的高三位(IR7、IR6、IR5)可以用来表示指令码的高三位,而微程序的入口地址可能基于这些值进行计算,如0、1或者IR7、IR6、IR5的组合。 教程还给出了一个程序示例,展示了如何执行复合运算,如对加法和逻辑与结果取反的运算。此外,还讨论了指令码、IR的某些位和微程序入口地址之间的映射关系,这对于理解微程序控制器如何根据输入的机器指令找到相应的微程序至关重要。 这个实验教程深入讲解了微程序控制器的工作机制,包括其组成部分、工作流程和微程序设计方法,是学习计算机体系结构和微指令控制的重要参考资料。