一、实验目的
1.掌握时序产生器的组成原理。
2.掌握微程序控制器的组成原理。
3.掌握微指令格式的化简和归并。
二、实验电路
1.时序发生器
TEC-4计算机组成原理实验系统的时序电路如图4.1所示。电路采用2片GAL22V10(U6、U7),可产生两极等间隔时序信号T1-T4和W1-W4,其中一个W由一轮T1-T4循环组成,它相当于一个微指令周期或硬联线控制器的一拍,而一轮W1-W4循环可供硬联线控制器执行一条机器指令。
图4.1 时序信号发生器
本次实验不涉及硬联线控制器,因此时序产生器中的相关内容也可根据需要放到硬联线控制器实验中进行。
微程序控制器只使用时序信号T1-T4,产生T信号的功能集成在GAL22V10芯片TIMER1(U6)中,另外它还产生节拍信号W1、W2、W3、W4的控制时钟CLK1。该芯片的逻辑功能用ABEL语言实现,其源程序如下:
MODULE TIMER1
TITLE‘CLOCK GENERATOR T1,T2,T3,T4’
“2000,9
“INPUT
MF,CLR,QD,DP,DZ,TJ,P1,INTC,INTS,DB PIN 1..10;
W4 PIN 13;
“OUTPUT
T1,T2,T3,T4,QD1,QD2,ACT,INTE,QDR PIN 14..22;
CLK1 PIN 23;
T1,T2,T3,T4,QD1,QD2,INTE,QDR ISTYPE ‘REG’;
ACT,CLK1 ISTYPE ‘COM’;
CLK=.C.;
S=[T1,T2,T3,T4,QD1,QD2,INTE,QDR];
EQUATIONS
QD1:=QD;
QD2:=QD1;
ACT=QD1 &! QD2;
QDR:=CLR & QD # CLR & QDR;
T1:=CLR & T4 & ACT # CLR & T4 &!(DP # TJ # DZ & P1 # DB & W4)& QDR;
T2:=CLR & T1;
T3:=CLR & T2;
T4:=! CLR # T3 # T4 &! ACT &(DP # TJ # DZ & P1 #DB & W4 )#! QDR;
INTE:=CLR & INTS # CLR & INTE &! INTC;
CLK1=T1 #! CLR& MF;
S.CLK=MF;
END
硬联线控制器只使用时序信号W1-W4,产生W信号的功能集成在GAL22V10芯片TIMER2(U7)中,该芯片的逻辑功能用ABEL语言实现,其源程序如下:
MODULE TIMER2
TITLE‘CLOCK GGENERATOR W1 W2 W3 W4’
“2000,9
“INPUT
CLK1,INTR,IE,PIN 1..3;
CLR,SKIP PIN 5..6;
“OUTPUT
W1,W2,W3,W4,INTR1 PIN 14..18 ISTYPE‘REG’;
INTQ PIN 20 ISTYPE‘COM’;
CLK=.C.;
EQUATIONS
W1:=CLR & W4;
W2:=CLR & W1 &!SKIP;
W3:=CLR & W2 &!SKIP;
W4:=!CLR # W3 # SKIP & W1 #SKIP & W2;
INTR1:=INTR;
INTQ=IE & INTR1;
[W1,W2,W3,W4,INTR1].CLK=CLK1;
END
TIMER1和TIMER2中还集成了中断逻辑,中断逻辑的介绍见第八节。TIMER1的输入信号中,MF接实验台上晶体震荡器的输出,频率为1MHz。T1至T4的脉冲宽度为1000ns。CLR(注意,实际上是控制台上的CLR#信号,因为ABEL语言的书写关系改为CLR,仍为低有效信号)为复位信号,低有效。实验仪处于任何状态下令CLR#=0,都会使时序发生器和微程序控制器复位(回到初始状态),CLR#=1时,则可以正常运行。复位后时序发生器停在T4、W4状态,微程序地址为000000B。建议每次实验仪加电后,先用CLR#复位一次。控制台上有一个CLR#按钮,按一次,产生一个CLR#负脉冲,实验台印制板上已连好控制台CLR#到时序电路CLR的连线。
TJ(停机)是控制器的输出信号之一。连续运行时,如果控制信号TJ=1,会使机器停机,停止发送时序脉冲T1-T4、W1-W4,时序停在T4。在实验台上为了将时序信号发生器的输入信号TJ和控制存储器产生的TJ信号区分开来,以便于连线操作,在实验台上时序信号发生器的输入信号TJ被命名为TJI,而控制存储器产生的信号TJ仍命名为TJ。QD(启动)是来自启动按钮QD的脉冲信号,在TIMER1中,对QD用MF进行了同步,产生QD1和QD2。ACT表示QD1上升沿,表达式是QD1&!QD2,脉冲宽度为1000ns。QDR是运行标志,QD信号使其为1,CLR信号将其置0。DP(单拍)是来自控制台的DP开关信号,当DP=1时,机器处于单拍运行状态,按一次启动按钮QD,只发送一条微指令周期的时序信号就停机。利用单拍方式,每次只执行一条微指令,因而可以观察微指令代码和当前微指令的执行结果。DZ(单指)信号是针对微程序控制器的,接控制台开关DZ,它和P1信号配合使用。P1是微指令字判断字段中的一个条件信号,从微程序控制器输出。P1信号在微程序中每条机器指令执行结束时为1,用于检测有无中断请求INTQ,而时序发生器用它来实现单条机器指令停机。在DB=0且DP=0的前提下,当DZ=0时,机器连续运行。当DZ=1时,机器处于单指方式,每次只执行一条机器指令。
DB、SKIP、CLK1信号以及W1-W4时序信号都是针对硬联线控制器的。W1-W4是节拍信号,硬联线控制器执行一条机器指令需要一组W1-W4信号。DB(单步)信号就是每次发送一组W信号后停机,可见其功能与DZ类似。执行某些机器指令不需要完整的一组W信号周期,SKIP信号就是用来跳过本指令剩余的W节拍信号的。中断允许标志IE由控制存储器的输出信号INTS将其置1,由控制存储器的输出信号INTC将其置0。在TIMER2内部,控制台产生的中断请求用时钟CLK1进行同步,产生了INTR1。只有在INTE=1时,控制台产生的中断请求脉冲INTR才能起作用,即产生向控制器输出的中断信号INTQ,INTQ=INTE & INTR1。
2.数据通路
微程序控制器是根据数据通路和指令系统来设计的。这里采用的数据通路是在综合前面各实验模块的基础上,又增加程序计数器PC(U18)、地址加法器ALU2(U17)、地址缓冲寄存器R4(U25、U26)和中断地址寄存器IAR(U19),详见第4页的图3。PC和ALU2各采用一片GAL22V10,两者配合使用,可完成程序地址的存储、增1和加偏移量的功能。R4由两片74HC298组成,带二选一输入端。IAR是一片74HC374,用于中断时保存断点地址。有关数据通路总体的详细说明,请参看实验系统介绍。
3.微指令格式与微程序控制器电路
根据给定的12条机器指令功能和数据通路总体图的控制信号,采用微指令格式见图4.2。微指令字长共35位。其中顺序控制部分10位:后继微地址6位,判别字段4位;操作控制字段25位,各位进行直接控制。微指令格式中,信号名带有后缀“#”的信号为低有效信号,不带有后缀“#”的信号为高有效信号。
图4.2 微指令格式
对应微指令格式,微程序控制器的组成见图4.3。控制存储器采用5片EEPROM28C64(U8、U9、U10、U11、U12)。微地址寄存器6位,用一片6D触发器74HC273(U1)组成,带有清零端。两极与门、或门构成微地址转移逻辑,用于产生下一微指令的地址。在每个T1上升沿时刻,新的微指令地址会打入微地址寄存器中,控制存储器随即输出相应的微命令代码。微地址转移逻辑生成下一地址,等下一个T1上升沿时打入微地址寄存器。跳转开关JUMP(J1)是一组6个跳线开关。当用短路子将它们连通时,微地址寄存器μAR从本实验系统提供的微程序地址译码电路得到新的微程序地址μD0-μD5。当它们被断开时,用户提供自己的新微程序地址μD0-μD5。这样用户能够使用自己设计的微程序地址译码电路。5片28C64的地址A6(引脚4)直接与控制台开关SWC连接,当SWC=1时,微地址大于或者等于40H,当SWC=0时,微地址小于40H。SWC主要用于实现读寄存器堆的功能。
图4.3 微程序控制器的组成
微地址转移逻辑的多个输入信号中,INTQ是中断请求,本实验中可以不理会。SWA、SWB是控制台的两个二进制开关信号,实验台上线已接好。C是进位信号,IR7-IR4是机器指令代码,由于本次实验不连接数据通路,这些信号都接到二进制开关K0-K15上。
三、机器指令与微程序
为教学中简单明了,本实验仪使用12条机器指令,均为单字长(8位)指令。指令功能及格式如表4.1所示。指令的高4位提供给微程序控制器,低4位提供给数据通路。
表4.1 指令功能与格式
名 称 | 助 记 符 | 功 能 | 指令格式 | ||
R7 R6 R5 R4 | R3 R2 | R1 R0 | |||
加法 | ADD Rd,Rs | Rd+Rs→Rd | 0 0 0 0 | RS1 RS0 | RD1 RD0 |
减法 | SUB Rd,Rs | Rd-Rs→Rd | 0 0 0 1 | RS1 RS0 | RD1 RD0 |
乘法 | MUL Rd,Rs | Rd*Rs→Rd | 0 0 1 0 | RS1 RS0 | RD1 RD0 |
逻辑与 | AND Rd,Rs | Rd&Rs→Rd | 0 0 1 1 | RS1 RS0 | RD1 RD0 |
存数 | STA Rd,[Rs] | Rd→[Rs] | 0 1 0 0 | RS1 RS0 | RD1 RD0 |
取数 | LDA Rd,[Rs] | [Rs]→Rd | 0 1 0 1 | RS1 RS0 | RD1 RD0 |
无条件转移 | JMP [Rs] | [Rs]→PC | 1 0 0 0 | RS1 RS0 | × × |
条件转移 | JC D | 若C=1则 PC+D→PC | 1 0 0 1 | D3 D2 | D1 D0 |
停机 | STP | 暂停运行 | 0 1 1 0 | × × | × × |
中断返回 | IRET | 返回断点 | 1 0 1 0 | × × | × × |
开中断 | INTS | 允许中断 | 1 0 1 1 | × × | × × |
关中断 | INTC | 禁止中断 | 1 1 0 0 | × × | × × |
应当指出,用以上12条指令来编写实际程序是不够的。好在我们的目的不是程序设计,而主要是为了教学目的,通过CPU执行一些最简单的程序来掌握微程序控制器的工作原理。
上述12条指令的微程序流程设计如图4.4所示。每条微指令可按前述的微指令格式转换成二进制代码,然后写入5个28C64中。
为了向RAM和寄存器堆中装入程序和数据,检查写入是否正确,并能启动程序执行,还设计了以下五个控制台操作微程序:
存储器写操作(KWE):按下复位按钮CLR#后,微地址寄存器状态为全零。此时置SWC=0、SWB=1、SWA=0,按启动按钮后微指令地址转入27H,从而可对RAM连续进行手动写入。
存储器读操作(KRD):按下复位按钮CLR#后,置SWC=O、SWB=0、SWA=1,按启动按钮后微指令地址转入17H,从而可对RAM连续进行读操作。
启动程序(PR):按下复位按钮CLR#后,置SWC=O、SWB=0、SWA=0,用数据开关SW7-SW0设置内存中程序的首地址,按启动按钮后微指令地址转入07H,然后转到“取指”微指令。
写寄存器操作(KLD):按下复位按钮CLR#后,置SWC=O、SWB=1、SWA=1,按启动按钮后微指令地址转入37H,从而可对寄存器堆中的寄存器连续进行写操作。
读寄存器操作(KRR):按下复位按钮CLR#后,置SWC=1、SWB=0、SWA=0,按启动按钮后微指令地址转入47H,从而可对寄存器堆中的寄存器连续进行读操作。
图4.4 微程序流程图
应当着重指出,在微指令格式的设计过程中,对数据通路所需的控制信号进行了归并和化简。细心的同学可能已经发现,微程序控制器输出的控制信号远远少于数据通路所需的控制信号。这里提供的微程序流程图是没有经过归并和化简的。仔细研究一下微程序流程图,就会发现有些信号的出现的位置完全一样,这样的信号用其中一个信号就可以代表。请看信号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这两个信号,在做运算器数据通路实验时,是不能设计成一个信号的。还有一个原因是考虑到实验时易于理解,对某些可以归并的信号也没有予以归并。
四、实验接线
K0接C
K1接IR7
K2接IR6
K3接IR5
K4接IR4
TGI接GND
SKIP接GND
共七根线
五、实验任务
1.观察时序信号。
用双踪示波器观测时序产生器的输入输出信号:MF,W1-W4,T1-T4。比较相位关系,画出其波形,并标注测量所得的脉冲宽度。观察时须将TJI接低电平,DB、DZ、DP开关均置为0状态,然后按QD按钮,则连续产生T1、T2、T3、T4、W1、W2、W3、W4。
了解启停控制信号的功能,并熟练地使用连接这些控制信号的按钮或开关。
2.熟悉微指令格式的定义,按此定义将控制台指令微程序的8条微指令按十六进制编码,列于表4.2。三种控制台指令的功能由SWC、SWB、SWA三个二进制开关的状态来指定(KRD=001B,KWE=010B,PR=000B)。此表必须在预习时完成。
表4.2 微指令编码
微指令地址 | 微指令编码 | 微指令地址 | 微指令编码 |
00H | 00 05C0 0207H | 3CH | 04 05C8 003DH |
07H | 00 0541 2005H | 17H | 00 0544 003FH |
27H | 04 0544 003DH | 3FH | 04 09C0 003EH |
3DH | 00 0140 003CH | 3EH | 00 05C8 003FH |
单拍(DP)方式执行控制台微程序,读出上述八条微指令,用P字段和微地址指示灯跟踪微指令执行情况,并与上表数据对照。
其中判断条件为当程序的下一条微指令为判断语句时,看是什么判断。
微指令格式中并没有写出全部的信号,有一些进行了归并与简化。
微指令地址 | 微指令编码 |
00H | 0000 0000 0000 0101 1100 0000 0000 0010 0000 0111 |
07H | 0000 0000 0000 0101 0100 0001 0010 0000 0000 0101 |
27H | 0000 0100 0000 0101 0100 0100 0000 0000 0011 1101 |
3DH | 0000 0000 0000 0001 0100 0000 0000 0000 0011 1100 |
3CH | 0000 0100 0000 0101 1100 1000 0000 0000 0011 1101 |
17H | 0000 0100 0000 0101 0100 0100 0000 0000 0011 1111 |
3FH | 0000 0100 0000 1001 1100 0000 0000 0000 0011 1110 |
3EH | 0000 0000 0000 0101 1100 1000 0000 0000 0011 1111 |
用连续方式执行KWE和KRD(将TJI接地),画出μA0(28C64的地址A0)信号波形,作出解释。
执行KWE:
假设为单拍执行时:
首先按下CLE清零,然后设置SWC=O、SWB=1、SWA=0,按下QD,程序进入27地址,此时黄灯显示为10 0111,再次按下QD,程序进入3D地址,此时黄灯显示为11 1101,再次按下QD,程序进入3C地址,此时黄灯显示为11 1100,再次按下QD,程序进入3D地址,此时黄灯显示为11 1101,再次按下QD,程序进入3C地址,此时黄灯显示为11 1100,再次按下QD,继续重复,从此可以看出只有最后一位数值在0与1之间交换,并且是瞬间交换的。
所以当时连续执行时,μA0信号波形是0,1交换的方波。
执行KRD:
同样首先假设为单拍执行时:
首先按下CLE清零,然后设置SWC=0、SWB=0、SWA=1,按下QD,程序进入17地址,此时黄灯显示为01 0111,再次按下QD,程序进入3F地址,此时黄灯显示为11 1111,再次按下QD,程序进入3E地址,此时黄灯显示为11 1110,再次按下QD,程序进入3F地址,此时黄灯显示为11 1111,再次按下QD,程序进入3E地址,此时黄灯显示为11 1110,继续重复,与执行KWE时一样
所以当时连续执行时,μA0信号波形是0,1交换的方波。
3.用P3和SWC、SWB、SWA的状态组合,观察验证三种控制台指令KWE、KRD、PR微地址转移逻辑功能的实现。
执行KWE:
首先按下CLE清零,然后设置SWC=O、SWB=1、SWA=0,按下QD,程序进入27地址,此时黄灯显示为10 0111,再次按下QD,程序进入3D地址,此时黄灯显示为11 1101,再次按下QD,程序进入3C地址,此时黄灯显示为11 1100,再次按下QD,程序进入3D地址,此时黄灯显示为11 1101,再次按下QD,程序进入3C地址,此时黄灯显示为11 1100,再次按下QD,继续重复,11 1100与11 1100相互之间交换。
执行KRD:
首先按下CLE清零,然后设置SWC=0、SWB=0、SWA=1,按下QD,程序进入17地址,此时黄灯显示为01 0111,再次按下QD,程序进入3F地址,此时黄灯显示为11 1111,再次按下QD,程序进入3E地址,此时黄灯显示为11 1110,再次按下QD,程序进入3F地址,此时黄灯显示为11 1111,再次按下QD,程序进入3E地址,此时黄灯显示为11 1110,继续重复,11 1111与11 1110相互之间交换。
执行PR:
首先按下CLE清零,然后设置SWC=0、SWB=0、SWA=0,按下QD,程序进 入07地址,此时黄灯显示为00 0111,在此按下QD,程序进入05地址,此 时黄灯显示为00 0101,接下来就是一下实验内容了。
4.熟悉05H,10H两条微令的功能和P2测试的状态条件(IR4-IR7),用二进制开关设置IR7-IR4的不同状态,观察ADD至STP九条机器指令微地址转移逻辑功能的实现。
05H的功能是取地址,
10H的功能就是进行加法运算。
首先按下CLE清零,然后设置SWC=0、SWB=0、SWA=0,按下QD,程序进 入07地址,此时黄灯显示为00 0111,在此按下QD,程序进入05地址,然后设置IR4-IR7的值转跳到不同的程序
ADD:设置IR4-IR7的值为0000,按下QD,观察黄灯显示为01 0000,所以成功的进入ADD程序。
SUB: 设置IR4-IR7的值为0001,按下QD,观察黄灯显示为01 0001,所以成功的进入SUB程序。
MUL: 设置IR4-IR7的值为0010,按下QD,观察黄灯显示为01 0010,所以成功的进入MUL程序。
AND: 设置IR4-IR7的值为0011,按下QD,观察黄灯显示为01 0011,所以成功的进入AND程序。
LDA: 设置IR4-IR7的值为0101,按下QD,观察黄灯显示为01 0101,所以成功的进入LDA程序。
STA: 设置IR4-IR7的值为0100,按下QD,观察黄灯显示为01 0100,所以成功的进入STA程序。
JMP: 设置IR4-IR7的值为1000,按下QD,观察黄灯显示为01 1000,所以成功的进入JMP程序。
JC: 设置IR4-IR7的值为1001,按下QD,观察黄灯显示为01 1001,所以成功的进入JC程序。
STP: 设置IR4-IR7的值为011,按下QD,观察黄灯显示为01 0110,所以成功的进入STP程序。
5.设置IR7-IR4的不同组合,用单拍方式执行ADD至STP九条机器指令微程序,用微地址和P字段指示灯跟踪微程序转移和执行情况。用逻辑笔测试小插座上输出的微命令信号,记录ADD、SUB、LDA、STA四条机器指令的微命令信号,自行设计表格。
首先按下CLE清零,然后设置SWC=0、SWB=0、SWA=0,按下QD,程序进 入07地址,此时黄灯显示为00 0111,在此按下QD,程序进入05地址,然后设置IR4-IR7的值转跳到不同的程序
ADD: 设置IR4-IR7的值为0000,按下QD,观察黄灯显示为01 0000,所以成功的进入ADD程序,再次按下QD,进入下一个10地址,黄灯显示01 0000,再次按下QD,进入下一个3B地址,黄灯显示11 1011,,再次按下QD,进入下一个34地址,黄灯显示11 0010,再次按下QD,程序停止。
SUB: 设置IR4-IR7的值为0001,按下QD,观察黄灯显示为01 0001,所以成功的进入SUB程序,再次按下QD,进入下一个11地址,黄灯显示01 0001,再次按下QD,进入下一个3A地址,黄灯显示11 1010,,再次按下QD,进入下一个34地址,黄灯显示11 0010,再次按下QD,程序停止。
LDA: 设置IR4-IR7的值为0101,按下QD,观察黄灯显示为01 0101,所以成功的进入LDA程序,再次按下QD,进入下一个15地址,黄灯显示01 0101,再次按下QD,进入下一个36地址,黄灯显示11 0110,,再次按下QD,程序停止。
STA:设置IR4-IR7的值为0100,按下QD,观察黄灯显示为01 0100,所以成功的进入STA程序,再次按下QD,进入下一个14地址,黄灯显示01 0100,再次按下QD,进入下一个35地址,黄灯显示11 0101,,再次按下QD,程序停止。
六、实验总结
本次实验深入探讨了常规型微程序控制器的组成原理及其应用,主要围绕以下几个核心环节展开:
1. 时序信号产生器的分析与理解:通过对时序发生器(包括TIMER1和TIMER2)的ABEL语言源程序的解读,掌握了时序信号T1-T4与W1-W4如何被生成和控制,以及这些信号在微程序控制器与硬联线控制器中的作用。特别是学习了如何使用复位信号CLR、启动信号QD、中断逻辑等控制整个系统的运行状态,为后续实验打下了基础。
2. 微指令格式的优化实践:通过研究给出的微指令格式,了解了微指令是如何设计来满足控制需求的,包括顺序控制部分和操作控制字段的安排。特别地,实践了微指令格式的化简和归并过程,比如将功能相似的信号如LDPC与LDR4归并,从而简化了微指令的设计,提升了效率,这一过程要求深入理解控制信号的功能与应用场景。
3. 微程序控制器电路的搭建与验证:基于对数据通路的理解,学习了微程序控制器的硬件组成,包括控制存储器(EEPROM)、微地址寄存器等关键组件的连接与功能。通过实际接线操作,如将K0至K4分别连接到特定控制信号,以及TGI接地、SKIP接地,加深了对硬件接口配置的认识。
4. 实验操作与结果分析:通过一系列具体操作,如观察时序信号波形、验证微指令编码的正确性、以及通过控制台指令(KWE、KRD、PR)的执行来测试微地址转移逻辑,不仅验证了理论知识,还学会了如何使用实验设备进行调试和验证。特别是在单拍模式下跟踪微指令执行,以及连续模式下观察μA0信号波形,这些实践加深了对微程序执行流程和控制逻辑的理解。
5. 指令功能验证与微地址逻辑测试:通过设置不同的IR值来执行特定机器指令(如ADD至STP),观察微地址转移与P字段指示,进一步验证了微指令设计的正确性及数据通路对指令的响应。此外,通过逻辑笔测试输出的微命令信号,更直观地理解了每条指令执行背后的微命令序列,这对于深入掌握微程序控制机制至关重要。
综上所述,本次实验是一个从理论到实践的全面探索过程,涵盖了微程序控制器设计的核心概念与技术细节,通过动手实践,不仅巩固了理论知识,也培养了问题解决和系统分析的能力。