存储器写操作(KWE):按下复位按钮CLR#后,微地址寄存器状态为全零。此时置SWC = 0、SWB =1,SWA =0,按启动按钮后微指令地址转入27H,从而可对RAM连续进行手动写入。
存储器读操作(KRD):按下复位按钮CLR#后,置SWC = 0,SWB =0,SWA =1,按启动按钮后微指令地址转入17H,从而可对RAM连续进行读操作。
写寄存器操作(KLD):按下复位按钮CLR#后,置SWC = 0,SWB =1,SWA =1,按启动按钮后微指令地址转入37H,从而可对寄存器堆中的寄存器连续进行写操作。
读寄存器操作(KRR):按下复位按钮CLR#后,置SWC = 1,SWB =0,SWA =0,按启动按钮后微指令地址转入47H,从而可对寄存器堆中的寄存器连续进行读操作。
启动程序(PR):按下复位按钮CLR#后,置SWC = 0,SWB = 0,SWB = A,用数据开关SW7—SW0设置内存中程序的首地址,按启动按钮后微指令地址转入07H,然后转到“取指”微指令。 应当着重指出,在微指令格式的设计过程中,对数据通路所需的控制信号进行了归并和化简。细心的同学可能已经发现,微程序控制器输出的控制信号远远少于数据通路所需的控制信号。这里提供的微程序流程图,是没有经过归并和化简的。仔细研究一下微程序流程图,就会发现有些信号的出现的位置完全一样,这样的信号用其中一个信号就可以代表。请看信号LDPC和LDR4,这两个信号都在微程序地址07H、1AH、1FH、26H出现,而在其他的微程序地址都不出现,因此这两个信号产生的逻辑条件是完全一样的。从逻辑意义上看,这两个信号的作用是产生新的PC,完全出现在相同的微指令中是很正常的,因此用LDPC完全可以代替LDR4。还有另一些信号,例如LDDR1和LDDR2,出现的位置基本相同。LDDR2和LDDR1的唯一不同是在地址14H的微指令中,出现了LDDR2信号,但是没有出现LDDR1信号。LDDR1和LDDR2是否也可以归并成一个信号呢?答案是肯定的。微程序流程图中只是指出了在微指令中必须出现的信号,并没有指出出现其他信号行不行,这就要根据具体情况具体分析。在地址14H的微指令中,出现LDDR1信号行不行呢?完全可以。在地址14H出现的LDDR1是一个无用的信号,同时也是一个无害的信号,它的出现完全没有副作用,因此LDDR1和LDDR2可以归并为一个信号LDDR1。根据以上两条原则,我们对下列信号进行了归并和化简:
LDIR(CER) 为1时,允许对IR加载,此信号也可用于作为双端口存储器右端口选择CER。 LDPC(LDR4) 为1时,允许对程序计数器PC加载,此信号也可用于作为R4的加载允许信号
LDR4。
LDAR1(LDAR2) 为1时,允许对地址寄存器AR1加载,此信号也可用于作为对地址寄存器AR2
加载。
LDDR1(LDDR2) 为1时允许对操作数寄存器DR1加载。此信号也可用于作为对操作数寄存器
DR2加载。
M1(M2) 当M1 = 1时,操作数寄存器DR1从数据总线DBUS接收数据;当M1 = 0时,
操作数寄存器DR1从寄存器堆RF接收数据。此信号也可用 于作为操作数寄存器DR2的数据来源选择信号。
在对微指令格式进行归并和化简的过程中,我们有意保留了一些信号,没有化简,同学们可以充分发挥创造性,提出更为简单的微指令格式。 还要说明的是,为什麽微指令格式可以化简,实验台数据通路的控制信号为什麽不进行化简?最主要的原因是前面进行的各个实验的需要,例如LDDR1和LDDR2这两个信号,在做运算器数据通路实验时,是不能设计成一个信号的。还有一个原因是考虑到实验时易于理解,对某些可以归并的信号也没有予以归并。
35
四、实验设备
(1)TEC-4计算机组成原理实验系统一台 (2)双踪示波器一台 (2)直流万用表一只 (3)逻辑测试笔一支
五、实验任务
(1)按实验要求连接实验台的数码开关K0—K15、按钮开关、时钟信号源和微程序控制器。 注意:本次实验只做微程序控制器本身的实验,故微程序控制器输出的微命令信号与执行部件(数据通路)的连线暂不连接。连线完成后应仔细检查一遍,然后才可加上电源。 (2)观察时序信号。
用双踪示波器观测时序产生器的输入输出信号:MF,W1—W4,T1—T4。比较相位关系,画出其波形,并标注测量所得的脉冲宽度。观察时须将TJ1接低电平,DB、DZ、DP开关均置为0状态,然后按QD按钮,则连续产生T1、T2、T3、T4、W1、W2、W3、W4。
了解启停控制信号的功能,并熟练地使用连接这些控制信号的按钮或开关。
(3)熟习微指令格式的定义,按此定义将控制台指令微程序的8条微指令按十六进制编码,列于下表。三种控制台指令的功能由SWC、SWB、SWA三个二进制开关的状态来指定(KRD =001B,KWE=010B,PR=000B)。此表必须在预习时完成。
微指令地址 微指令编码 微指令地址 微指令编码 00H 3CH 07H 17H 27H 3FH 3DH 3EH
单拍(DP)方式执行控制台微程序,读出上述八条微指令,用P字段和微地址指示灯跟踪微指令执行情况,并与上表数据对照。用连续方式执行KWE和KRD(将TJ1接地),画出u_A0(28C64的地址A0,U12的引脚10)信号波形,作出解释。
单拍(DP)方式执行控制台微程序,读出上述八条微指令,用P字段和微地址指示灯跟踪微指令执行情况,并与上表数据对照。用连续方式执行KWE和KRD(将TJ1接地),画出u_A0(28C64的地址A0,U12的引脚10)信号波形,作出解释。
(4)用P3和SWC、SWB、SWA的状态组合,观察验证三种控制台指令KRD、KWE、PR微地址转移逻辑功能的实现。
(5)熟习05H、10H两条微指令的功能和P2测试的状态条件(IR4—IR7),用二进制开关设置IR7—IR4的不同状态,观察ADD至STP九条机器指令微地址转移逻辑功能的实现。(用逻辑笔测试有关逻辑电路的电平,分别做出测试记录,自行设计表格。)
(6)设置IR7—IR4的不同组合,用单拍方式执行ADD至STP九条机器指令微程序,用微地址和P字段指示灯跟踪微程序转移和执行情况。用逻辑笔测试小插座上输出的微命令信号,记录ADD、SUB、LDA、STA四条机器指令的微命令信号,自行设计表格。
六、实验步骤和实验结果 (1) 接线
跳线开关J1用短路子短接。控制器的输入C接K0,IR4接K1,IR5接K2,IR6接K3,IR7接K4,
36
TJI接K5,SKIP接GND。
合上电源。按CLR#按钮,使实验系统处于初始状态。
(2)观察时序信号波形
令K5(TJI)= 0,置DP = 0,DZ = 0,DB =0。按QD按钮,则时序部分开始不停止的运行,直到按CLR#按钮为止。用双踪示波器观察MF、T1、T2、T3、T4、W1、W2、W3、W4信号。观察的方法是同时观察两路信号,以便比较相位。可按下述顺序进行:MF和T1,T1和T2,T2和T3,T3和T4,T1和W1,W1和W2,W2和W3,W3和W4。根据观察的结果,可画出波形图。波形图的图形请参看第一节图3的基本时序图。MF的周期为1000毫秒,占空比为50?。
(3) 控制台操作微指令编码测试和KWRD、KRD连续运行时的?_A0波形 1.控制台操作微指令编码测试
控制台微代码在28C64的D0—D7输出,D0是最低位,D7是最高位,CM0是最低字节,CM4是最高字节。D0—D7对应于28C64的引脚11、12、13、15、16、17、18、19。
令K5(TJI)= 0,置DP = 1,DZ = 0,DB =0,使实验系统处于单拍状态。置SWC = 0、SWB = 0、SWA = 1,实验系统处于KRD工作模式。按CLR#按钮,使实验系统处于初始状态,微地址?_A5—?_A0为00H,测得的微码是00H 05H 0C0H 02H 07H。按一次QD按钮,微地址?A5—?_A0为17H,测得的微码是04H 05H 44H 00H 3FH。按一次QD按钮,微地址?_A5—?_A0为3FH,测得的微码是04H 09H 0C0H 00H 3EH。按一次QD按钮,微地址?_A5—?_A0为3EH,测得的微码是00H 05H 0C8H 00H 3FH。按一次QD按钮,微地址?_A5—?_A0为3FH。由于微地址又返回3FH,停止测试。
令K5(TJI)= 0,置DP = 1,DZ = 0,DB =0,使实验系统处于单拍状态。置SWC = 0、SWB = 1、SWA = 0,实验系统处于KWE工作模式。按CLR#按钮,使实验系统处于初始状态,微地址?_A5—?_A0为00H。按一次QD按钮,微地址?_A5—?_A0为27H,测得的微码是04H 05H 44H 00H 3DH。按一次QD按钮,微地址?_A5—?_A0为3DH,测得的微码是00H 01H 40H 00H 3CH。按一次QD按钮,微地址?_A5—?_A0为3CH,测得的微码是04H 05H 0C8H 00H 3DH。按一次QD按钮,微地址?_A5—?_A0为3CH。由于微地址又返回3CH,停止测试。 令K5(TJI)= 0,置DP = 1,DZ = 0,DB =0,使实验系统处于单拍状态。置SWC=0、SWB = 0、SWA = 0,实验系统处于PR工作模式。按CLR#按钮,使实验系统处于初始状态,微地址?_A5—?_A0为00H。按一次QD按钮,微地址?_A5—?_A0为07H,测得的微码是00H 05H 41H 20H 05H。按一次QD按钮,微地址?_A5—?_A0为05H,测得的微码是00H 05H 0C4H 91H 10H。由于以后的微码与机器指令有关,停止测试。
2. KWE、KRD连续运行时的?_A0波形
令K5(TJI)= 0,置DP = 0,DZ = 0,DB =0,使实验系统处于连续状态。置SWC = 0、SWB = 1、SWA = 0,实验系统处于KWE工作模式。按CLR#按钮,使实验系统处于初始状态。按一次QD按钮,使系统连续运行。用示波器测量?_A0(U12的引脚11)的波形,得到波形如下:
虽然完成KWE控制台功能需要27H、3DH、3CH 3条微指令,但是在连续运行时,循环执行的只是3DH、3CH 2条微指令,因此?_A0的波形如上。
37
令K5(TJI)= 0,置DP = 0,DZ = 0,DB =0,使实验系统处于连续状态。置SWC = 0、SWB = 0、SWA = 1,实验系统处于KRD工作模式。按CLR#按钮,使实验系统处于初始状态。按一次QD按钮,使系统连续运行。用示波器测量?_A0(U12的引脚11)的波形,得到波形与KWE时的波形相同,原因也类似。
(4) 用P3和SWB、SWA的状态组合,观察验证三种控制台指令KWE、KRD、PR微地址转移逻辑功
能的实现。
其实,第(3)步已验证了验证三种控制台指令KWE、KRD、PR微地址转移逻辑功能的实现。在这里,可将时序电路的输入TJI与控制存储器的输出TJ连接,置DP = 1,DB = 0,DZ = 0。选择SWC = 0、SWB = 0、SWA = 1,按QD按钮,验证KRD的微地址转移功能;选择SWC = 0、SWB = 1、SWA = 0,按QD按钮,验证KWE的微地址转移功能;选择SWC = 0、SWB = 0、SWA = 1,按QD按钮,验证KRD的微地址转移功能。这里不再详述。
(5) 熟习05H、10H两条微指令的功能和P2测试的状态条件(IR4—IR7),用二进制开关设置IR7
—IR4的不同状态,观察ADD至STP九条机器指令微地址转移逻辑功能的实现。
1. 05H微指令的功能是根据程序计数器PC从存储器取指令,送往指令寄存器IR,同时进行PC+1
的操作。05H微指令的下一微指令地址是10H。不过,10H只是一个表面的下一微地址,由于该微指令中P2 = 1,因此实际的微指令地址的低4位要根据IR7—IR4确定,实际微地址为10H + IR7 IR6 IR5 IR4。
2. 置DP = 1,DZ = 0,DB =0,使实验系统处于单拍状态。选择SWC = 0、SWB = 0、SWA = 0,按
CLR#按钮,使实验系统处于初始状态,微地址是00H。令K4(IR7) = 0,K3(IR6)=0,K2(IR5)= 0,K1(IR4)= 0,相当于ADD指令的操作码。按一次QD按钮,微地址变为07H。按一次QD按钮,微地址变为05H。按一次QD按钮,微地址变为10H。
3. 置DP = 1,DZ = 0,DB =0,使实验系统处于单拍状态。选择SWC = 0、SWB = 0、SWA = 0,按
CLR#按钮,使实验系统处于初始状态,微地址是00H。令K4(IR7) = 0,K3(IR6)=0,K2(IR5)= 0,K1(IR4)= 1,相当于SUB指令的操作码。按一次QD按钮,微地址变为07H。按一次QD按钮,微地址变为05H。按一次QD按钮,微地址变为11H。
4. 置DP = 1,DZ = 0,DB =0,使实验系统处于单拍状态。选择SWC = 0、SWB = 0、SWA = 0,按
CLR#按钮,使实验系统处于初始状态,微地址是00H。令K4(IR7) = 0,K3(IR6)=0,K2(IR5)= 1,K1(IR4)= 0,相当于MUL指令的操作码。按一次QD按钮,微地址变为07H。按一次QD按钮,微地址变为05H。按一次QD按钮,微地址变为12H。
5. 置DP = 1,DZ = 0,DB =0,使实验系统处于单拍状态。选择SWC = 0、SWB = 0、SWA = 0,按
CLR#按钮,使实验系统处于初始状态,微地址是00H。令K4(IR7) = 0,K3(IR6)=0,K2(IR5)= 1,K1(IR4)= 1,相当于AND指令的操作码。按一次QD按钮,微地址变为07H。按一次QD按钮,微地址变为05H。按一次QD按钮,微地址变为13H。
6. 置DP = 1,DZ = 0,DB =0,使实验系统处于单拍状态。选择SWC = 0、SWB = 0、SWA = 0,按
CLR#按钮,使实验系统处于初始状态,微地址是00H。令K4(IR7) = 0,K3(IR6)=1,K2(IR5)= 0,K1(IR4)= 0,相当于STA指令的操作码。按一次QD按钮,微地址变为07H。按一次QD按钮,微地址变为05H。按一次QD按钮,微地址变为14H。
7. 置DP = 1,DZ = 0,DB =0,使实验系统处于单拍状态。选择SWC = 0、SWB = 0、SWA = 0,按
CLR#按钮,使实验系统处于初始状态,微地址是00H。令K4(IR7) = 0,K3(IR6)=1,K2(IR5)= 0,K1(IR4)= 1,相当于LDA指令的操作码。按一次QD按钮,微地址变为07H。按一次QD
38
按钮,微地址变为05H。按一次QD按钮,微地址变为15H。
8. 置DP = 1,DZ = 0,DB =0,使实验系统处于单拍状态。选择SWC = 0、SWB = 0、SWA = 0,按
CLR#按钮,使实验系统处于初始状态,微地址是00H。令K4(IR7) = 0,K3(IR6)=1,K2(IR5)= 1,K1(IR4)= 0,相当于STP指令的操作码。按一次QD按钮,微地址变为07H。按一次QD按钮,微地址变为05H。按一次QD按钮,微地址变为16H。
9. 置DP = 1,DZ = 0,DB =0,使实验系统处于单拍状态。选择SWC = 0、SWB = 0、SWA = 0,按
CLR#按钮,使实验系统处于初始状态,微地址是00H。令K4(IR7) = 1,K3(IR6)=0,K2(IR5)= 0,K1(IR4)= 0,相当于JMP指令的操作码。按一次QD按钮,微地址变为07H。按一次QD按钮,微地址变为05H。按一次QD按钮,微地址变为18H。
10. 置DP = 1,DZ = 0,DB =0,使实验系统处于单拍状态。选择SWC = 0、SWB = 0、SWA = 0,按
CLR#按钮,使实验系统处于初始状态,微地址是00H。令K4(IR7) = 1,K3(IR6)=0,K2(IR5)= 0,K1(IR4)= 1,相当于JC指令的操作码。按一次QD按钮,微地址变为07H。按一次QD按钮,微地址变为05H。按一次QD按钮,微地址变为19H。
(6)设置IR7—IR4的不同组合,用单拍方式执行ADD至STP九条机器指令微程序,记录ADD、SUB、LDA、STA四条机器指令的微命令信号。
操作的方法与(5)类似,只是需纪录ADD、SUB、LDA、STA四条机器指令的微命令信号。不再详述。
(7)提出自己的微程序格式方案 本内容可由学生自己提出。这里仅对信号的进一步归并提一点参考意见。 1. 从微程序格式中去掉M1(M2)信号。在微程序流程图中,只有M1(M2) = 0,没有M1(M2) =
1,因此只要使M1固定接GND,M2固定接GND,就可以从微程序格式中去掉M1(M2)信号。 2. 从微程序格式中去掉LDER信号。暂存寄存器ER的唯一作用是作为寄存器堆的数据来源。因此,
可将LDER固定接VCC。虽然每条微指令中都有LDER出现,有可能改变ER的值,但是只有在下一条微指令中含有WRD信号时LDER信号才起作用。观察微程序流程图可以发现,每条含有WRD信号的微指令前面的微指令中均含有LDER微指令,因此可以从微程序格式中去掉LDER信号。 3. 从微程序格式中去掉PC_INC信号,将它和CER、LDIR归并为一个LDIR信号。
39
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库计算机组成原理TEC-4实验手册(含实验步骤)完整6个实验 三个程(8)在线全文阅读。
相关推荐: