湖南科技学院电子与信息工程学院实验报告课程名称:姓名:学号:专业:班级:指导老师:实验四微程序控制组成实验一、实验目的及要求1.将微程序控制器同执行部件(整个数据通路)联机,组成一台模型计算机。2.用微程序控制器控制模型计算机的数据通路。3.执行给定的简单程序,掌握机器指令与微指令的关系,牢固建立计算机的整机概念。二、实验电路本次实验将前面几个实验中的所模块,包括运算器、存储器、通用寄存器堆等同微程序控制器组合在一起,构成一台简单的模型机。这是最复杂的一个实验,也将是最有收获的一个实验。在前面的实验中,实验者本身作为“控制器”,完成了对数据通路的控制。而在本次实验中,数据通路的控制将交由微程序控制器来完成。实验机器从内存中取出一条机器指令到执行指令结束的一个指令周期,是由微程序完成的,即一条机器指令对应一个微程序序列。实验电路大致如下面框图所示。其中控制器是控制部件,数据通路是执行部件,时序发生器是时序部件。需使用导线将各个部件控制信号与控制器相连。三、实验主要仪器设备1.TEC-5计算机组成实验系统1台2.逻辑测试笔一支(在TEC-5实验台上)四、实验任务1.对机器指令组成的简单程序进行译码。将下表的程序按机器指令格式手工汇编成二进制机器代码,此项任务请在预习时完成。内存地址机器指令机器代码(二进制表示)30HLDAR1,[R0]31HADDR1,R232HOUTR133HSTP2.完成实验连线。3.使用控制台命令将寄存器内容初始化为:R0=11H,R1=22H,R2=0AAH。4.使用控制台命令将任务1中的程序代码存入内存中(注意起始地址为30H),以及将内存地址为11H的单元内容设置为0AAH。5.用单拍(DP)方式执行一遍程序,执行时注意观察各个指示灯的显示并做好记录(完成实验表格),从而跟踪程序执行的详细过程(可观察到每一条微指令的执行过程)。6.用连续方式再次执行程序。这种情况相当于计算机正常的工作。程序执行到STP指令后自动停机。读出寄存器中的运算结果,与理论值比较。五、实验步骤和实验结果记录1.程序译码。内存地址机器指令机器代码(二进制表示)30HLDAR1,[R0]0100000131HADDR1,R20000100132HOUTR1011101**33HSTP0110****2.实验接线(本实验接线比较多,需仔细)控制器LDIRPC+1LDPC#AR+1LDAR#LDDR1LDDR2LDRi数据通路LDIRPC+1LDPC#AR+1LDAR#LDDR1LDDR2LDRi控制器SW_BUS#Rs_BUS#ALU_BUS#RAM_BUS#CER#CEL#数据通路SW_BUS#Rs_BUS#ALU_BUS#RAM_BUS#CER#CEL#控制器LR/W#Cn#MS0S1S2S3数据通路LR/W#Cn#MS0S1S2S3控制器进位CIR7IR6IR5IR4数据通路进位CIR7IR6IR5IR4数据通路IR3IR2IR1IR0IR1IR0数据通路RS1RS0RD1RD0WR1WR0控制器TJ时序电路TJ只要把上表种同列的信号用线连接即可,一共接线33条。接好线后,将编程开关拨到“正常位置”。合上电源,按CLR#按钮,使TEC-5实验实验系统处于初始状态。3.实验任务3:使用控制台命令将寄存器内容初始化为:R0=11H,R1=22H,R2=0AAH的操作步骤及结果记录。(1)掌握写寄存器WRF的原理和步骤(详见实验参考资料)。(2)操作过程如下:步骤操作各个信号灯的值DBUSIBUSARPCuA5~uA01令DP=0,DB=0,使系统处于连续运行状态。令SWC=0,SWB=1,SWA=1,使系统处于写寄存器状态WRF。按CLR#按钮,使实验系统处于初始状态。000000000000002在SW7—SW0上设置一个存储器地址,例如可将该地址设置为0FFH。按一次QD按钮,将0FFH写入左端口地址寄存器AR。FF00FFFF0010113在SW7—SW0上设置00H,作为通用寄存器R0的寄存器号。按一次QD按钮,将00H写入指令寄存器IR。0000FFFF0011014在SW7—SW0设置11H,按一次QD按钮,将11H写入IR指定的R0寄存器。1100FFFF0011105在SW7—SW0上设置01H,作为通用寄存器R1的寄存器号。按一次QD按钮,将01H写入指令寄存器IR。0001FFFF0011016在SW7—SW0设置22H,按一次QD按钮,将22H写入IR指定的R1寄存器。2200FFFF0011107在SW7—SW0上设置10H,作为通用寄存器R2的寄存器号。按一次QD按钮,将01H写入指令寄存器IR。0002FFFF0011018在SW7—SW0设置55H,按一次QD按钮,将55H写入IR指定的R2寄存器。5500FFFF0011109设置寄存器内容完毕。按CLR#按钮,使系统恢复到初始状态0000FFFF000000注意:设置完R0、R1、R2的值后,最好用读寄存器控制台操作检查一下写入的内容是否正确(需注意读寄存器的选择控制信号为SW3和SW2,而非SW1和SW0!)。读寄存器内容的控制台操作见参考资料“实验箱(TEC-5)模型机的控制台操作开关SWC、SWB、SWA详解”。4.实验任务4:使用控制台命令将任务1中的程序代码存入内存起址为30H的连续单元,以及将内存地址为11H的单元内容设置为0AAH。(1)掌握写寄存器WRM的原理和步骤(详见实验参考资料)。(2)操作过程如下:步骤操作各个信号灯及SW开关的值DBUSARSW7~SW0uA5~uA01令DP=0,DB=0,使系统处于连续运行状态。令SWC=0,SWB=0,SWA=1,使系统处于写存储器状态WRM。按CLR#按钮,使实验系统处于初始状态。00**********0000002在SW7—SW0上设置需要写入的存储器起始地址,本实验中应设置为30H。按一次QD按钮,将30H写入左端口地址寄存器AR。3030001100000010013在SW7—SW0上设置需要写入存储器的数据,此处为LDAR1,[R0];的程序代码。按一次QD按钮,将数据写入存储器中,同时AR+1。0031010000010001014在SW7—SW0上设置需要写入存储器的数据,此处为ADDR1,R2;的程序代码。按一次QD按钮,将数据写入存储器中,同时AR+1。0032000010010001015在SW7—SW0上设置需要写入存储器的数据,此处为OUTR1;的程序代码。按一次QD按钮,将数据写入存储器中,同时AR+1。0033011101**0001016在SW7—SW0上设置需要写入存储器的数据,此处为STP;的程序代码。按一次QD按钮,将数据写入存储器中,同时AR+1。00340110****0001016按CLR#按钮,使实验系统处于初始状态。在SW7—SW0上设置需要写入的存储器地址11H。按一次QD按钮,将11H写入左端口地址寄存器AR。1111000100010010017在SW7—SW0上设置需要写入存储器的数据0AAH。按一次QD按钮,将0AAH—(11H),同时AR+1。001210101010000101输入完毕,往存储器输入程序和数据结束,按CLR#按钮,使实验系统恢复到初始状态。注意:设置完存储器的程序和数据后,最好用存储器器控制台操作检查一下写入的内容是否正确。读存储器内容的控制台操作见实验参考资料。5.实验任务5:用单拍(DP)方式执行一遍程序。(1)置SWC=0,SWB=0,SWA=0,DP=1,DB=0,使实验系统处于单拍运行状态。(2)置SW7—SW0=30H,使程序从地址30H开始执行。按CLR#按钮,使实验系统处于初始状态,然后按一次一次按QD按钮,使程序一拍一拍的执行。结果记录如下:按下QD各个信号灯的值对应完成的微操作uA5~uA0DBUSIBUSARPC第一次08H30H00000000**30HSW-DBUS-PC第二次0FH00H01000001**30HRAM-IBUS-IR第三次14H11H0000000011H30HRD-DBUS-AR第四次1CHAAH0000000011H31HRAM-DBUS-RS,PC+1第五次0FH00H0000100111H31HRAM-IBUS-IR第六次10H00H0000000011H31HRD-DR1,RS-DR2第七次18HFFH0000000011H32HALU-DBUS-RD,PC+1第八次0FH00H011101**11H32HRAM-IBUS-IR第九次17HFFH0000000011H33HRS-DBUS,PC+1,TJ第十次0FH00H0110****11H33HRAM-IBUS-IR第十一次16H00H0000000011H34HPC+1,TJ执行结果R0=11H,R1=FFH,R2=55H。存储器11H单元的内容为AAH。最后的执行结果可通过控制台的读寄存器操作和读存储器操作观察到,在观察最后结果之前,首先应按CLR#按钮,使实验系统处于初始状态。6.实验任务6:用连续方式再次执行程序。(1)由于上面的单拍执行程序,已破坏了寄存器R1的内容(其他寄存器和程序没有破坏),因此需要重新设置寄存器R1的初值:R1=22H。(2)置SWC=0,SWB=0,SWA=0,DP=0,DB=0,使实验系统处于连续运行状态。(3)置SW7—SW0=30H,使程序从地址30H开始执行。按CLR#按钮,使实验系统处于初始状态,然后按一次QD按钮,则程序自动连续运行到地址为33H的STP指令。此步需经实验验收。六、实验小结及心得体会