-------------大学信息学院《计算机组成原理》实验报告实验名称微程序控制单元实验实验室实验楼实验日期实验七微程序控制单元实验一、实验目的1、掌握时序产生器的组成方式。2、熟悉微程序控制器的原理。3、掌握微程序编制及微指令格式。二、实验原理微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制的硬件逻辑部件工作的微命令序列,完成数据传送和各种处理操作。它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代码的形式表示,这种表示称为微指令。这样就可以用一个微指令序列表示一条机器指令,这种微指令序列称为微程序。微程序存储在一种专用的存储器中,称为控制存储器,微程序控制器原理图。控制器是严格按照系统时序来工作的,因而时序控制对于控制器的设计是非常重要的,从前面的实验可以很清楚地了解时序电路的工作原理,本实验所用的时序由时序单元来提供,为四拍TS1、TS2、TS3、TS4,其中控制存储器采用3片2816的E2PROM,具有掉电保护功能,微命令寄存器18位,用三片8D触发器(273)和一片4D(175)触发器组成。微地址寄存器6位,用三片正沿触发的双D触发器(74)组成,它们带有清“0”端和预置端。在不判别测试的情况下,T2时刻打入微地址寄存器的内容即为下一条微指令地址。当T4时刻进行测试判别时,转移逻辑满足条件后输出的负脉冲通过强置端将某一触发器置为“1”状态,完成地址修改。⒈微程序控制电路微程序控制器的组成见下图,其中控制存储器采用4片6116静态存储器,微命令寄存器32位,用三片8D触发器(273)和一片4D(175)触发器组成。微地址寄存器6位,用三片正沿触发的双D触发器(74)组成,它们带有清零端和置位端。在不判别测试的情况下,T2时刻打入微地址寄存器的内容即为下一条微指令地址。当T4时刻进行测试判别时,转移逻辑满足条件后输出的负脉冲通过置位端将某一触发器输出端置为“1”状态,完成地址修改。姓名学号班级年级指导教师⒉微指令格式微指令格式其中UA5~UA0为6位的后续微地址,A、B二译码字段,分别由6个控制位译码输出多位。B段中的PX3、PX2、PX1三个测试字位,其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行。二进制控制单元的C、B、A不同状态组合决定了PC-B、ALU-B、299-B、R0-B、R1-B、R2-B这六个部件的内容送总线,其状态表如下表所示:A字段CBA选择000禁止001PC-B010ALU-B011299-B100Rs-B101Rd-B110保留位111保留位二进制控制单元的中断(PX3)、M9(PX2)、M1(PX1)的不同状态组合决定P的测试方式,其具体控制状态如表所示:B字段⒊微程序流程与代码下图为几条机器指令对应的参考微程序流程图,将全部微程序按微指令格式变成二进M25M24M23M22M21中断M19M18M17M16M15M14M13M12M11M10M9M8CBAAR保留位PX3A9A8CELOADCNMS0S1S2S3PX2LDARM7M6M5M4M3M2876543M1M0LDPCLDIRLDDR2LDDR1LDR0WEUA0UA1UA2UA3UA4UA5PX1SW-B中断M9M1选择测试字PX3PX2PX1000关闭测试001P(1)识别操作码010P(2)判寻址方式011P(Z)Z标志测试100P(I)中断响应101P(D)中断服务110P(C)C标志测试111保留位制代码,可得到模型机(一)所列举的8位指令代码。微程序流程图三、实验连线微地址控制单元的实验连线图按上图所示,连接实验电路:①总线接口连接:用8芯扁平线连接图中所有标明“”或“”图案的总线接口。②控制线与时钟信号“”连接:用双头实验导线连接图中所有标明“”或“”图案的插孔(注:Dais-CMH的时钟信号已作内部连接)。四、实验内容及结果分析手动方式下的微地址打入操作微程序控制器组成原理图微程序控制器的组成见上图,其中微命令寄存器32位,用三片8D触发器(273)和一片4D(175)触发器组成。它们的清零端由CLR来控制微控制器的清零。它们的触发端CK接T2,在时序节拍的T2时刻将微程序的内容打入微控制寄存器(含下一条微指令地址)。(1)微地址控制原理微地址控制原理图(2)微地址的打入操作在“L”状态下,首先置SW-B=0,然后向数据开关置数,再按【单步】键,在机器周期的T2时刻把数据开关的内容打入微地址锁存器。实验步骤如下:A.在缓冲输入中输入00000010;B.使SW-B=0,然后按单步键;C.在缓冲输入中输入00000011;D.使SW-B=0,然后按单步键;(3)微地址的修改与转移按图所示,微地址锁存器的置位端R受SE5~SE0控制,当测试信号SE5~SE0输出负脉冲时,通过锁存器置位端R将某一锁存器的输出端强行置“1”,实现微地址的修改与转移。按微程序流程图所示的微控制流程,对指令译码寄存器IR分别打入微控制流程定义的操作码20H、40H、60H、80H、0A0H,然后打入流程图定义的基地址08H,按【单步】键,在机器周期T4节拍按微控制流程对IR指令寄存器的内容进行测试和判别,使后续微数据开关(00000010)数据开关(00000010)数据开关(00000011)数据开关(00000011)地址转向与操作码相对应的微程序入口地址。举例操作如下:①当IR寄存器为20H、微地址为08H时,按【单步】键后微地址为09H。A.在缓冲输入中输入00100000;B.使CBA=000,CE=0,SW-B=1;C.LDIR=1,然后按单步键;D.LDIR=1,SW-B=0;E.按单步键;F.P(1)=1,然后按单步键;②当IR寄存器为60H、微地址为08H时,按【单步】键后微地址为0BH。A.在缓冲输入中输入00100000;B.使CBA=000,CE=0,SW-B=1;C.LDIR=1,然后按单步键;D.LDIR=0,SW-B=0;E.按单步键;F.P(1)=1,然后按单步键;结果分析:(1)通过数据开给微地址单元输入地址时,数据部经过地址总线,即直接到达微地址单元。①微程序运行时,首先先去取指令,也就是将PC的值送给地址寄存器(CPU将要访问的地址),接着修改PC值取下一条指令;RAM将其所指的内容送往总线BUS,再由总线送给指令寄存器IR,此时假设IR寄存器为20H,微地址为80H,因为每一段微程序数据开关(00100000)指令寄存器IR(00100000)数据开关(00001000)微地址灯(001000)微地址灯(001000)数据开关(01100000)数据开关(00100000)指令寄存器IR(01100000)微地址灯(001000)微地址灯(001011)都对应有一个首地址,通过P(1)测试和判别,这样通过测试和判别就使后续微地址转向与操作码(20H)相对应的微程序入口地址(09H),这样就完成了微地址的修改于转移。②同理,当IR寄存器为60H,微地址为80H,因为每一段微程序都对应有一个首地址,通过P(1)测试和判别,这样通过测试和判别就使后续微地址转向与操作码(20H)相对应的微程序入口地址(09H),这样就完成了微地址的修改于转移。五、实验总结通过这次实验,我对计算机组织与体系机构这门课有了一个全新的认识,通过做实验我明白了机器指令是怎样被翻译为机器所能识别的微程序,即二进制代码,进而执行该命令,另外对微程序的编制及微指令格式都有了进一步的了解。这个实验含盖了我前几次的实验的几乎所有,可以说是对前几次试验的综合运用。这也更让我感觉到了微程序控制这节内容在整个计算机组织与体系结构中的重要作用。