《微程序控制器实验.ppt》由会员分享,可在线阅读,更多相关《微程序控制器实验.ppt(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、微程序控制器实验现在学习的是第1页,共19页 控制器是计算机五大功能模块之一,它是指挥和协调计算机各部件有条不紊的工作的计算机核心部件。根据其工作原理,可分为组合逻辑控制器和微程序控制器。今天我们作的实验是微程序控制器。现在学习的是第2页,共19页微程序控制器的基本工作原理 微程序控制器组成中的核心成分是控制存储器,它用于存储按一定的规则组织好的全部控制信号,通常用ROM器件来实现。在TEC2教学机上用7片*8位LS6116组成。其主要内容由二部分组成,一部分是由执行一条指令的一个运行步骤所用到的全部控制信号(产生的微命令);另一部分是指明下一个步骤的地址信息(下一条微指令地址)。现在学习的是
2、第3页,共19页 因此,微程序控制器的工作原理是依据读来的机器指令的操作码,找到与之对应的一段微程序入口地址,并按由指令具体功能所确定的次序,逐条从控制存储器中读出微指令,以“驱动”计算机各功能部件正确运行。现在学习的是第4页,共19页操作码操作码现在学习的是第5页,共19页 控制存储器控制存储器是微程序控制器的最核心的部分,用于存放教学机的微程序,由56位组成,用7片74LS6116随机读写的8位2048字的内存芯片实现。通常控制存储器都是用高速ROM芯片实现,把已设计好的微程序固化在里边,仅提供读操作功能,可靠性更高些。教学机要支持动态微程序设计,即允许把自己设计的微程序写进控制存储器,在
3、实验机加电启动时,首先必须把已设计好的53条机器指令调用到的微程序调入控制存储器。正常执行微程序时,该控制存储器将依据Am2910提供给它的10位地址,在读写命令WR(为高是读操作)控制下读出相应单元的一条微指令。读出的微指令将通过CP脉冲,打入该控制器的第二个组成部件微指令寄存器微指令寄存器PLR中。已知一条微指令的内容通常由下地址和控制信号(微命令)两部分组成。下地址下地址可能又被分成几个小字段,它们被用于控制、形成或直接提供下一条微指令的地址,是供给控制器部件本身使用的。微命令微命令也由若干个小字段组成,提供对计算机其他功能部件,如运算器、主存、输入输出设备的控制信号。现在学习的是第6页
4、,共19页 控制器的第三个组成成分,是微程序定序器Am2910器件及其配套电路。把Am2910的OE端接地,使其输出Y11一Y0总保持有效(实用Y9一YO共10位)。把CCEN接地,使Am2910的条件判断结果只取决于CC。把CP接电源,使微指令地址十1总是执行。用VECT信号把通过水平板上的开关给出的10位微指令的手拨地址接通到Am2910的D输入端。分别用MAP和PL两 个 信 号 选 通MAPROM和微指令下地址 字 段 的 输 出 送 到Am2910的D输入端,从而形成D输入端的3选1逻辑功能。与Am2910配套的电路,主要包括MAPROM和用于形成CC信号逻辑值的条件判定线路。MAP
5、ROM被用作为指令微地址映射部件,它变换指令的操作码为该指令对应的微程序段入口地址,由两片74LS2716ROM芯片组成,其地址为指令的操作码,对应单元中存放相应微程序段的入口地址,执行读操作,并用MAP选通读出的信息,解决的是指令功能分支问题。现在学习的是第7页,共19页得到下一条微指令地址的有关技术主要包括:主要包括:微程序顺序执行时,下地址为本条微指令地址加1。在微程序必定转向某一微地址时,可以在微指令字中的相关字段中给出该地址值。按微指令(上一条或本条)的某一执行结果的状态,选择顺序执行或转向某一地址,此时必须在微指令字中指明需判断的执行结果及转移地址。要判断的执行结果,可以是运算器的
6、标志位状态,控制器的执行状态,如多次的微指令循环是否结束,外设是否请求中断等等。微子程序的调用及返回控制,会用到微堆栈。依条件判断转向多条微指令地址中的某一地址的控制,它可以是前述第条的更复杂一点的用法,也包括依据取来的机器指令的操作码,找到对应该条指令的执行过程的一段微程序的入口地址。这后一种情况通常被称为微程序控制中的功能分支转移。此时在微指令字中直接给出多个下地址是不现实的或不合理的,应找出更合理的解决方案。现在学习的是第8页,共19页Am2910是一片能提供12位微指令地址的器件,即它的输入输出的地址位数和器件内的部件位数均为12位,能直接寻址4096条微指令字的空间范围。Am2910
7、包括一个4输入的多路地址选择器,用来从寄存器计数器(RC),直接输入(D),微程序计数器(PC)或微堆栈(F)4路输入中,选择其一作为下一条微指令的地址。寄存器计数器由12个D型触发器组成。当它用作寄存器时,主要用于保存一个微地址,用以实现微程序转移;当它用作计数器时,具有减一功能(何时减一,取决于Am2910的命令码),主要用于控制微程序的循环次数,若装入的初值为N,则可能执行N十1次循环。微程序计数器由12位的增量器和12位的寄存器PC组成。当增量器的进位输入CI为高电平时,多路器的输出Y加1后装入PC(即PC Y十1、),用于实现微程序的顺序执行;而当CI为低电平时,多路器的输出Y直接装
8、入PC(即PCY),用于实现同一条微指令的多次执行。微堆栈是由5字12位的寄存器堆栈和微堆栈指针SP组成,主要用于保存微子程序调用时的返回地址和微程序循环的首地址。微堆栈指针SP总是指向最后一次压入的数据,因此,执行微程序循环时,允许不执行弹出操作而直接访问微堆栈的栈顶。当微堆栈中的数据达到5个时,就发出微堆栈已满信号(FULL0),这时,任何压入操作都将覆盖掉栈顶的原有数据。Am2910输出输出3个使能信号:个使能信号:PI和MAP及VECT,用以决定直接输入D的来源。当PL有效时(即PL0),D来源于微指令的下地址字段,用于实现微程序转移;当MAP有效时(即MAP0)。D来源于MAPROM
9、,用于实现从机器指令的操作码找到相应的微程序段首地址的转移;当VECT有效时,(即VECT0),原意来源于中断向量,现用于接收手拔微地址。Y11Y0:下一条微指令的地址,它直接被用作为读控制存储器的地址。现在学习的是第9页,共19页D11一一Do:外部直接输人的数据,既可作为寄存器计数器的初值,也可以经过地址多路选择器直接从Y输出,作为下一条微指令的地址。I3一一I。:Am2910的命令码,来自微指令字的有关字段,用以选择Am2910的16条命令之一。条件输入CC和条件允许CCEN信号用来共同确定测试条件是否通过,若CCEN为低且CC为高,则指明测试失效;而CCEN为高或CC为低,均表明测试通
10、过。若把CCEN接地,即使其恒为低电平,则可以只使用CC判断测试结果,CC为低是测试通过,CC为高则表明测试失效,我们在教学计算机中就是这样用的。RLD:寄存器计数器装入信号,当 其 为 低 电 平 时,不 管Am2910所执行的命令和测试条件 如 何,都 强 制 把 直 接 输 入D11Do装入Am2910内部的寄存器计数器。CI:增量器进位输入,当其为高电平时,控制微指令地址增量,即执行PCY十1,当为低电平时,执行PCY。OE:Y输出允许信号,低电平有效,当为高电平时,Y输出为高阻态。CP:时钟脉冲信号,由低变高的上升边沿触发所对内部状态的变化现在学习的是第10页,共19页现在学习的是第11页,共19页现在学习的是第12页,共19页开关手拔数据运算器输出指令的低8位状态寄存器中断优先级未使用NC转用开中断转用关中断未用(NC)IRAR中断优先级待定现在学习的是第13页,共19页用现在学习的是第14页,共19页ADD“加”INC“减”ADD“带进位加”现在学习的是第15页,共19页现在学习的是第16页,共19页4位标志位的值保持不变接收ALU标志位的输出值恢复标志位原现场值不变清“0”置“1”右移左移联合右移现在学习的是第17页,共19页现在学习的是第18页,共19页现在学习的是第19页,共19页