.Word资料实验三微程序控制器实验3.2.1实验目的(1)掌握微程序控制器的组成原理。(2)掌握微程序的编制、写入,观察微程序的运行过程。3.2.2实验设备PC机一台,TD-CMA实验系统一套。3.2.3实验原理微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制的硬件逻辑部件工作的微命令序列,完成数据传送和各种处理操作。它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代码的形式表示,这种表示称为微指令。这样就可以用一个微指令序列表示一条机器指令,这种微指令序列称为微程序。微程序存储在一种专用的存储器中,称为控制存储器,微程序控制器原理框图如图3-2-1所示。OP地址转移逻辑P字段指令寄存器IR...状态条件微地址寄存器控制字段...控制存储器地址译码微命令信号图3-2-1微程序控制器组成原理框图控制器是严格按照系统时序来工作的,因而时序控制对于控制器的设计是非常重要的,从前面的实验可以很清楚地了解时序电路的工作原理,本实验所用的时序由时序单元来提供,分为四拍TS1、TS2、TS3、TS4,时序单元的介绍见附录2。微程序控制器的组成见图3-2-2,其中控制存储器采用3片2816的E2PROM,具有掉电保护功能,微命令寄存器18位,用两片8D触发器(273)和一片4D(175)触发器组成。微地址寄存器6位,用三片正沿触发的双D触发器(74)组成,它们带有清“0”端和预置端。在不判别测试的情况下,T2时刻打入微地址寄存器的内容即为下一条微指令地址。当T4时刻进行测试判别时,转移逻辑满足条件后输出的负脉冲通过强置端将某一触发器置为“1”状态,完成地址修改。.Word资料G74LS24574LS273G74LS24574LS24574LS27374LS175MA5MA4MA3MA2MA1MA0SE1SE2SE374LS245ALU_BSE4GRD_BSE5RS_BSP_BSE0RI_B138译码P<2>PC_BP<4>P<3>LDPCSTIRDWRS3IOMS2S0S1LDARM23LDALDRiLDBLOADLDSPCLRCLKCLRCLKCLRCLKCRA-DECGNDCLIB-DECC-DECM6M8M9M14MA5...MA0GSA5...SA074LS245G...SD07...SD00SD17...SD10SD27...SD20..............................M23-M0微代码显示RCMA5...MA0......138译码138译码GND微地址显示灯MA5...MA0LDIRP<1>Y7Y1Y1Y6Y7Y1...CLRCON单元P2.1P2.0单片机P2.2D7...D02816A5...A0CSOEWED7...D02816A5...A0CSOEWED7...D02816A5...A0CSOEWE编程逻辑T2INTA图3-2-2微程序控制器原理图在实验平台中设有一组编程控制开关KK3、KK4、KK5(位于时序与操作台单元),可实现对存储器(包括存储器和控制存储器)的三种操作:编程、校验、运行。考虑到对于存储器(包括存储器和控制存储器)的操作大多集中在一个地址连续的存储空间中,实验平台提供了便利的手动操作方式。以向00H单元中写入332211为例,对于控制存储器进行编辑的具体操作步骤如下:首先将KK1拨至‘停止’档、KK3拨至‘编程’档、KK4拨至‘控存’.Word资料档、KK5拨至‘置数’档,由CON单元的SD05——SD00开关给出需要编辑的控存单元首地址(000000),IN单元开关给出该控存单元数据的低8位(00010001),连续两次按动时序与操作台单元的开关ST(第一次按动后MC单元低8位显示该单元以前存储的数据,第二次按动后显示当前改动的数据),此时MC单元的指示灯MA5——MA0显示当前地址(000000),M7——M0显示当前数据(00010001)。然后将KK5拨至‘加1’档,IN单元开关给出该控存单元数据的中8位(00100010),连续两次按动开关ST,完成对该控存单元中8位数据的修改,此时MC单元的指示灯MA5——MA0显示当前地址(000000),M15——M8显示当前数据(00100010);再由IN单元开关给出该控存单元数据的高8位(00110011),连续两次按动开关ST,完成对该控存单元高8位数据的修改此时MC单元的指示灯MA5——MA0显示当前地址(000000),M23——M16显示当前数据(00110011)。此时被编辑的控存单元地址会自动加1(01H),由IN单元开关依次给出该控存单元数据的低8位、中8位和高8位配合每次开关ST的两次按动,即可完成对后续单元的编辑。CON单元置地址(000000)SD05-SD00=000000IN单元置数据低8位(00010001)IN=00010001KK3=编程KK4=控存KK5=置数ST=IN单元置数据中8位(001...