1课程计算机组成原理实验名称CPU组成与指令周期实验专业:计算机班级:3学号:105032012118姓名:林加明实验日期2016年6月10日报告退发(订正、重做)实验六CPU组成与指令周期实验一、实验目的1.用微程序控制器控制数据通路,将相应的信号线连接,构成一台能运行测试程序的模型计算机。2.执行一个简单的程序,掌握机器指令与微指令的关系。3.理解计算机如何取出指令、如何执行指令、如何在一条指令执行结束后自动取出下一条指令并执行,牢固建立的计算机整机概念。二、实验内容及说明1.实验电路及说明硬连线控制器控制信号切换电路ALUA端口B端口CZR0R1R2R3IRPCAR双端口RAMDBUSS0S1S2S3MLDCLDZ控制信号MEMWMBUSA7L—A0LD7L—D0LABUSLPCPCINCCLR#CLR#LIRA组控制信号B组控制信号CZCLR#SBUS控制转换2选1选择器IR3—IR0CLR#QDMFDPPC7—PC0AR7—AR0A7—A0B7—B0T3T3T3T3T2T3SWDRD0RD1RS0RS1LR0T3T3T3LR1LR2LR3CINA7R—A0RD7R—D0RPCADDLARARINCIARLIARIABUST3SELCTLT3SWC—SWA微程序控制器CZCLR#T3SEL3—SEL0IR3—IR0IR7—IR4W3—W1STOPINTENINTDIINTPSHORTLONG时序发生器T1T2T3W1W2W3INTQDBUSDBUS数据开关SD7—SD0PC7—PC0IR7—IR4DRWDRWDRWDRW4选1选择器A4选1选择器B2—4译码器RD1RD0LR0LR1LR2LR3IRBUSIRBUSRD0RD1RS1RS0INS7—INS0数据总线独立K15-K0图6.1TEC-8模型计算机框图本实验将前面几个实验中的所有电路,包括时序发生器、通用寄存器组、算术逻辑运算部件、存储器、微程序控制器等模块组合在一起,构成一台能够运行程序的简单处理机。数据通路的控制由微程序控制器完成,由微程序解释指令的执行过程,从存储器2取出一条指令到执行指令结束的一个指令周期,是由微程序完成的,即一条机器指令对应一个微程序序列。在本实验中,程序装入到存储器中和给寄存器和存储器置初值是在控制台方式下手工完成的,程序执行的结果也需要用控制台操作来检查。2.实验任务(1)R2、R3的初值分别为12H、0FH。手工译码、手工计算每条指令执行结果及该程序段的执行结果,并填写表6-1(要求在预习时完成)。表6-1指令、对应的机器代码和执行结果表注意:表中地址0FH、10H、11H、12H单元中存放的不是指令,而是数据。(2)通过连线构成能够运行程序的TEC-8模型计算机。TEC-8模型计算机所需的连线很少,只需连接6条线。(3)将程序和数据写入存储器,并且给寄存器R2、R3置初值,执行上述程序,分别用单地址指令机器16进制代码每条指令执行结果00HLDR0,[R3]01010011【53】R0=85H01HINCR301001100【4C】R3=10H02HLDR1,[R3]01010111【57】R1=23H03HSUBR0,R100100001【21】R0=62H04HJZ0BH10000110【86】SUB减法运算结果不为0,程序执行05HSTR0,[R2]01101000【68】(12H)=62H06HINCR301001100【4c】R3=11H07HLDR0,[R3]01010011【53】R0=0EFH08HADDR0,R100010001【11】R0=12H09HJC0CH01110010【72】(=1,加法ADD运算有进位PC=0CH开始执行0AHINCR201001000【48】0BHSTR2,[R2]01101010【6A】0CHANDR0,R100110001【31】R0=02H0DHOUTR210100010【A2】DBUS=R2=12H0EHSTP11100000【BD】停机0FH85H10000101【86】(0FH)=85H10H23H00100011【23】(10H)=23H11H0EFH11101111【EF】(11H)=0EFH12H00H00000000【00】(12H)=BZH该程序段的执行结果:3拍方式和连续方式运行一遍程序。用实验台操作检查程序运行结果。注意:在程序单拍运行过程中,随时监测µA5~µA0、D7~D0、A7~A0、B7~B0、PC7~PC0、IR7~IR0、AR7~AR0。三、实验环境软件:WINXP、串口调试助手软件硬件:1.微机1台2.TEC-8实验系统1台3.逻辑测试笔1支4.编程器公用四、实验步骤和实验结果实验准备将控制器转换开关拨到微程序位置,将编程开关设置为正常位置。将信号IR4-I、IR5-I、IR6-I、IR7-I、C-I、Z-I依次通过接线孔与信号IR4-0、IR5-0、IR6-0、IR7-0、C-0、Z-0连接。是TEC-8模型计算机能够运行程序的整机系统。(1)写存储器写存储器操作用于向存储器中写测试程序和数据。按复位按钮CLR,设置SWC=0、SWB=0、SWA=1。按QD按钮一次,控制台指示灯亮,指示灯µA5~µA0显示03H,进入写存储器操作。在数据开关SD7~SD0上设置存储器地址,通过数据总线指示灯D7~D0可以检查地址是否正确。按QD按钮一次,将存储器地址写入地址寄存器AR,指示灯µA5~µA0显示02H,指示灯AR7~AR0显示当前存储器地址。在数据开关上设置被写的指令。按QD按钮一次,将指令写入存储器。写入指令后,从指示灯AR7~AR0上可以看到地址寄存器自动加1。在数据开关上设置下一条指令,按QD按钮一次,将第2条指令写入存储器。这样一直继续下去,直到将测试程序全部写入存储器。(2)读存储器读存储器操作用于检查程序的执行结果和检查程序是否正确写入到存储器中。按复位按钮CLR,设置SWC=0、SWB=1、SWA=0。按QD按钮一次,控制台指示灯亮,指示灯µA5~µA0显示05H,进入读存储器操作。在数据开关SD7~SD0上设置存储器地址,通过指示灯D7~D0可以检查地址是否正确。按QD按钮一次,指示灯AR7~AR0上显示出当前存储器地址,在指示灯D7~D0上显示出指令或数据。再按一次QD按钮,则在指示灯AR7~AR0上显示出下一个存储器地址,在指示灯D7~D0上显示出下一条指令。一直操作下去,直到程序和数据全部检查完毕。(3)写寄存器写寄存器操作用于给各通用寄存器置初值。按复位按钮CLR,设置SWC=1、SWB=0、SWA=0。按QD按钮一次,控制台指示灯亮,指示灯µA5~µA0显示09H,进入写寄存器操作。在数据开关SD7~SD0上设置R0的值,通过指示灯D7~D0可以检查地址是否正确,按QD按钮,将设置的数写入R0。指示灯µA5~µA0显示08H,指示灯B7~B0显示R0的值,在在数据开关SD7~SD0上设置R1的值,按QD按钮,将设置的数写入R1。指示灯µA5~µA0显示0AH,指示灯B7~B0显示R1的值,在在数据开关SD7~SD0上设置R2的值,按QD按钮,将设置的数写入R2。指示灯µA5~µA0显示0CH,指4示灯B7~B0显示R2的值,在在数据开关SD7~SD0上设置R3的值,按QD按钮,将设置的数写入R3。指示灯µA5~µA0显示00H,指示灯A7~A0显示R0的值,指示灯B7~B0显示R3的值。(4)读寄存器读寄存器用于检查程序执行的结果。按复位按钮CLR,设置SWC=0、SWB=1、SWA=1。按QD按钮一次,控制台指示灯亮,指示灯µA5~µA0显示07H,进入读寄存器操作。指示灯A7~A0显示R0的值,指示灯B7~B0显示R1的值。按一次QD按钮,指示灯µA5~µA0显示06H,指示灯A7~A0显示R2的值,指示灯B7~B0显示R3的值。(5)启动程序运行当程序已经写入存储器后,按复位按钮CLR,使TEC-6模型计算机复位,设置SWC=0、SWB=0、SWA=0,按一次启动按钮QD,则启动测试程序从地址00H运行。如果单拍开关DP=1,那么每按一次QD按钮,执行一条微指令;连续按QD按钮,直到测试程序结束。如果单拍开关DP=0,那么按一次QD按钮后,程序一直运行到停机指令STP为止。五、实验结果与讨论最终得到的结果与预期的结果一致,实验过程中可能产生误差的原因是因为输入的指令错误,导致计算结果与预期的值不一致。七、思考题1.请简述设计模型计算机的步骤。设计的具体步骤如下:确定指令系统;规划设计整机逻辑;设计数据通路;设计控制器(以常规型微程序控制器为例);确定指令周期;设计时序电路;设计微指令格式;设计地址转移逻辑;画出微程序流程图,同时检查设计的数据通路和控制器是否满足指令系统的要求;根据微程序流程图化简、归并微信号;若不满足,则返回到d进行修改;根据流程图编写微代码;写微代码到控制存储器,并检查写入代码的正确性;将数据通路与控制器联机,组成一台模型计算机;通过运行一段简单的程序(应包括该机的所有指令系统),便可知道设计的正确性。不过程序运行前须通过控制台为所用的寄存器、内存单元提供必要的数据以及向内存送程序的机器代码。八、总结实验中遇到的主要问题是实验开始时接线错误,导致无法连成整机;其次是写存储器时输入的地址不正确,储器地址写入地址寄存器AR,没有在指示灯µA5~µA0显示02H的时候输入。经过反复重新仔细进行实验,已经解决上述问题。