微程序设计原理与控制单元实现

需积分: 15 0 下载量 18 浏览量 更新于2024-09-22 收藏 258KB PPT 举报
"该资源是关于控制单元设计的讲解,主要涵盖了组合逻辑设计和微程序设计两个方面。内容源自哈尔滨工业大学唐朔飞教授的课程,讲述了微程序设计的思想起源、微程序控制单元的框图以及其工作原理。" 在计算机硬件系统中,控制单元(Control Unit,CU)是中央处理器(CPU)的重要组成部分,负责协调和控制整个计算机系统的操作。本章重点介绍了两种控制单元的设计方法:组合逻辑设计和微程序设计。 10.1 组合逻辑设计 组合逻辑设计是一种直接通过硬连线逻辑实现控制信号生成的方法。这种方法的优点是速度快,但缺点是设计复杂,难以修改和扩展。在组合逻辑设计中,根据指令操作码和当前状态,通过一系列逻辑门电路来产生所需的控制信号,以驱动CPU的各个部分执行相应的操作。 10.2 微程序设计 微程序设计是控制单元设计的另一种常见方法,它将控制逻辑分为两层:机器指令层和微指令层。这种设计思路源于1951年英国剑桥大学教授Wilkes的工作,他提出了一种将机器指令分解为一系列微操作命令的概念。每个机器指令对应一个微程序,微程序是一系列微指令的序列,这些微指令存储在控制存储器(Control Memory,CM)中。 2.1 微程序控制单元框图 微程序控制单元包括微地址形成部件、顺序逻辑、CMAR(Control Memory Address Register,控制存储器地址寄存器)、地址译码、控制存储器、时钟(CLK)、下地址、CMDR(Control Memory Data Register,控制存储器数据寄存器)以及向CPU内部和系统总线发出的操作控制信号。 2.2 工作原理 微程序控制单元的工作流程包括取指、执行微指令等阶段。在取指阶段,控制存储器根据CMAR中的地址读取微指令,并通过CMDR发送到CPU其他部分。微指令包含下一条微指令的地址,这样在执行完当前微指令后,可以按照顺序执行下一条微指令。此外,微程序还可以通过跳跃或分支机制来处理条件转移和中断等情况。 例如,在执行LDA、ADD和STA操作时,会有对应的微程序来执行内存读、加法运算和内存写操作。通过这种方式,复杂的机器指令可以被分解为一系列简单的微操作,便于实现和维护。 总结来说,控制单元的设计是计算机系统设计的关键环节,微程序设计提供了一种灵活且可扩展的方案,使得控制逻辑的实现更为便捷。然而,随着技术的发展,现代CPU更倾向于采用硬连线逻辑与微指令结合的方式,以平衡性能和设计复杂度。