1、同济大学 软件学院第七章 微序列控制单元设计 7.1 微序列控制器设计基础7.2 非常简单微序列控制器的设计和实现7.3 相对简单微序列控制器的设计和实现7.4 减少微指令数7.5 微程序控制和硬布线控制的比较7.6 实例:一个(大部分是)微代码的 CPU奔腾微处理器同济大学 软件学院微序列控制器: 把控制信号存储在一个查找表ROM, 即微代码存储器中。按照正确的次序访问ROM中的内容,查找表 ROM就可以以适当的顺序发出控制信号,从而实现处理器指令集中的指令 。同济大学 软件学院几个基本概念1. 微操作控制信号 : 如 :PCLOAD、 ACINC2. 微操作: 由微操作控制信号控制实现的最
2、基本操作。一个微操作是在一组微操作控制信号的控制下实现的。如: ARPC ARLOAD 、 PCBUS3. 微指令: 控制完成一组微操作的二进制编码字。4. 微程序或微代码: 一系列微指令的有序集合。每一条机器指令对应着一段微程序,通过解释执行这段微程序,完成指令规定的操作功能。同济大学 软件学院机器指令 ADD(在主存中)一段微程序(在控制存储器 ROM中)FETCH1( 0) 100000000 微指令FETCH2( 1) 001010000 微指令FETCH3( 2) 010001000 微指令ADD1( 8) 000001000 微指令ADD2( 9) 000000100 微指令同济大
3、学 软件学院7.1.1 微序列控制器的操作1典型微序列控制器的组成 寄存器存储的值与 CPU状态图中的一个状态相对应,且当作地址输入到微代码存储器中。 存储器的输出是一条微指令,即那个地址对应的存储单元内容。所有微指令集中组成 CPU的微代码或微程序。 下址产生模块产生所有可能的下一地址或下址,然后从中选择一个正确的下址送入寄存器中。7.1 微序列控制器设计基础同济大学 软件学院典型微序列控制器的组成同济大学 软件学院2微指令的组成微指令由几个域组成,其 bit位可分为两组。 微操作(微序列控制器的微序列部分)或者输入到组合逻辑以生成 CPU的控制信号,或者直接产生控制信号。 下一个地址(微序
4、列控制器的序列控制部分)用来产生存储到寄存器中的下一个地址,这些位连同指令的操作码和标志值一起输入到组合逻辑以产生下一条微指令的地址。同济大学 软件学院3. 微程序控制器的工作过程 启动取指令微程序(PC)MAR , 读出机器指令 IR, PC增量 根据 IR中的操作码,通过微地址形成电路产生该指令的微程序的起始微地址,并送入 MAR 中。 MAR 中的微地址经译码、驱动,从被选的控存单元中取出一条微指令。 微指令的操作控制字段经译码或直接产生一组微操作控制信号并送往有关的功能部件,控制其完成所规定 的微操作 。同济大学 软件学院 微指令的地址控制字段及有关状态条件送往微地址形成电路,产生下条微指令的地址,再去读取并执行下条微指令。如此循环,直到一条机器指令的微程序全部执行完毕。 一条指令的微程序执行结束,再启动取指令微指令或微程序,读取下条机器指令。根据该指令码形成起始微地址,又转入执行它的一段微程序 。同济大学 软件学院程序、指令、微程序、微指令、微操作控制信号、微操作的关系