第六节 CPU组成与机器指令执行实验
一、实验目的
(1)将微程序控制器同执行部件(整个数据通路)联机,组成一台模型计算机; (2)用微程序控制器控制模型机数据通路;
(3)通过CPU运行九条机器指令(排除中断指令)组成的简单程序,掌握机器指令与微指令的关系,牢固建立计算机的整机概念。
二、实验电路
本次实验用到前面四个实验中的所有电路,包括运算器、存储器、通用寄存器堆、程序计数器、指令寄存器、微程序控制器等,将几个模块组合成为一台简单计算机。因此,在基本实验中,这是最复杂的一个实验,也是最能得到收获的一个实验。 在前面的实验中,实验者本身作为“控制器”,完成数据通路的控制。而在本次实验中,数据通路的控制将由微程序控制器来完成。CPU从内存取出一条机器指令到执行指令结束的一个机器指令周期,是由微指令组成的序列来完成的,即一条机器指令对应一个微程序。
三、实验设备
(1)TEC-4计算机组成原理实验系统一台 (2)双踪示波器一台 (3)直流万用表一只 (4)逻辑测试笔一支
四、实验任务
(1)对机器指令系统组成的简单程序进行译码。
将下表的程序按指令格式手工汇编成十六进制机器代码,此项任务应在预习时完成。
地址 00H 01H 02H 03H 04H 05H 06H 07H 08H 09H 指令 LDA R0,[R2] LDA R1,[R3] ADD R0,R1 JC +5 AND R2,R3 SUB R3,R2 STA R3,[R2] MUL R0,R1 STP JMP [R1] 机器代码
(2)按照下面框图,参考前面实验的电路图完成连线,控制器是控制部件,数据通路
(包括上面各模块)是执行部件,时序产生器是时序部件。连线包括控制台、时序部分、数据通路和微程序控制器之间的连接。其中,为把操作数传送给通用寄存器组RF,数据通路上的RS1、RS0、RD1、RD0应分别与IR3至IR0连接,WR1、WR0也应接到IR1、IR0上。
开关控制
控制台 时序发生器 时序信号 开关控制 指示灯信号 控制信号 时序信号 控制信号
微程序控制器 数据通路 指令代码、条件信号
图13 模型计算机连线示意图
(3)将上述任务(1)中的程序机器代码用控制台操作存入内存中,并根据程序的需要,用数码开关SW7—SW0设置通用寄存器R2、R3及内存相关单元的数据。注意:由于设置通用寄存器时会破坏内存单元的数据,因此一般应先设置寄存器的数据,再设置内存数据。 (4)用单拍(DP)方式执行一遍程序,列表记录通用寄存器堆RF中四个寄存器的数据,以及由STA指令存入RAM中的数据(程序结束后从RAM的相应单元中读出),与理论分析值作对比。单拍方式执行时注意观察微地址指示灯、IR/DBUS指示灯、AR2/AR1指示灯和判断字段指示灯的值,以跟踪程序中取指令和执行指令的详细过程(可观察到每一条微指令)。 (5)以单指(DZ)方式重新执行程序一遍,注意观察IR/DBUS指示灯、AR2/AR1指示灯的值(可观察到每一条机器指令)。执行结束后,记录RF中四个寄存器的数据,以及由STA指令存入RAM中的数据,与理论分析值作对比。注意:单指方式执行程序时,四个通用寄存器和RAM中的原始数据与第一遍执行程序的结果有关。
(6)以连续方式(DB、DP、DZ都设为0)再次执行程序。这种情况相当于计算机正常运行程序。由于程序中有停机指令STP,程序执行到该指令时自动停机。执行结束后,记录RF中四个寄存器的数据,以及由STA指令存入RAM中的数据,与理论分析值作对比。同理,程序执行前的原始数据与第二遍执行结果有关。
实验五 CPU组成与机器指令执行实验
第一步,对机器指令系统组成的简单程序进行译码。 地址 00H 01H 02H 03H 04H 05H 06H 07H 08H 09H 指令 LDAR0,[R2] LDA R1,[R3] ADD R0,R1 JC +5 AND R2,R3 SUB R3,R2 STA R3,[R2] MUL R0,R1 STP JMP [R1] 机器代码 58H 5DH 04H 96H 3EH 1BH 4BH 24H 60H 84H 第二步,接线
本实验的接线比较多,需仔细。
1.将跳线开关J1用短路子短接。时序发生器的输入TJI接控制存储器的输出TJ。控制器的输入C接运算器ALU的C。控制器的输入IR7、IR6、IR5、IR4依次指令寄存器IR的输出IR7、IR6、IR5、IR4。共6条线。
2.控制器的输出LDIR(CER)、LDPC(LDR4)、PC_ADD、PC_INC、M4、LDIAR、LDAR1(LDAR2)、AR1_INC、M3、LDER、IAR_BUS#、SW_BUS#、RS_BUS#、ALU_BUS、CEL#、LRW、WRD、LDDR1(LDDR2)、M1(M2)、S2、S1、
S0 依次与数据通路的对应信号连接。共27条线。
3.指令寄存器IR的输出IR0接双端口寄存器堆的RD0、WR0,IR1接RD1、WR1,IR2接RS0,IR3接RS1。共6条线。
合上电源。按CLR#按钮,使实验系统处于初始状态。
IR4u_A0— u_A5CM428C64IR5IR6A5A4A3A2A1A0
微指令格式与微程序控制器电路
IR7CM328C64A5A4A3A2A1A0uARCM228C6474HC174CLR#D0D1D2D3D4D5Q5Q4Q3Q2Q1Q0A5A4A3A2A1A0T135343332313029282726252423222120191817161514131211TJS2S1S0M1LDDR1WRDLRWCEL#ALU_BUSRS_BUS#SW_BUS#IAR_BUS#LDERM3AR1_INCLDAR1LDIARM4PC_INCPC_ADDLDPCLDIRINTCINTSuD0— uD5图11 微程序控制器的组成图10 微指令格式JUMPP3P2P1P0SWACINTQSWBCM128C64A5A4A3A2A1A0判断条件CM028C64A5A4A3A2A1A0......微地址指示灯uA5uA4uA3uA2uA1uA0D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0NC4NC3NC2NC1NC0TJS2S1S0M1LDDR1WRDLRWCEL#ALU_BUSRS_BUS#SW_BUS#IAR_BUS#LDERM3AR1_INCLDAR1LDIARM4PC_INCPC_ADDLDPCLDIRINTCINTSP3P2P1P0uA5uA4uA3uA2uA1uA0判断指示灯后继微地址