计算机组成原理实验报告 微程序控制单元实验

西华大学数学与计算机学院实验报告

一、目的

1.熟悉微程序控制器的原理

2.掌握微程序编制、写入并观察运行状态

二、实验原理

(1)微程序控制单元的构成

8位微地址寄存器由2片74LS161组成;3片6264为微程序存储器;24位微程序锁存器由3片74LS374组成。如图 1

图1  微程序控制单元布局图

    (2)微程序控制单元原理

1.由于本系统中指令系统规模不大、功能较简单,微指令可以采用全水平、不编码的方式,每一个微操作信号由1位微代码来表示,24位微代码至少可表示24个不同的微操作控制信号。如要实现更多复杂的操作可通过增加一些译码电路来实现。

2.增量方式来控制微代码的运行顺序,每一条指令的微程序连续存放在微指令存储器连续的单元中。

3.每一指令的微程序的入口地址是通过对指令操作码的编码来形成的。在本系统指令码最长为8位,那么最多可形成256条指令。

4.在微程序存储器的0单元存放取指指令,在启动时微地址寄存器清0,执行取指指令。

5.每一段微程序都以取指指令结束,以取得下一条指令。

6.在本系统内,   MLD为置微地址的控制信号,MCK为工作脉冲。当MLD=0、MCK有上升沿时,把MD0~MD7的值作为微程序的地址,打入微地址寄存器。当MLD=1、MCK有上升沿时,微地址计数器自动加1。

图2  微程序控制单元原理图

三、使用环境

计算机组成原理实验箱

四、实验步骤

(一)准备工作

1.将MD0~MD7、MLD接入二进制开关上,将MCK、MOCK分别接入脉冲单元上的PLS1、PLS2上。请按下表接线

2.启停单元中的停止按钮,置实验机为停机状态。通过键盘把数据写入微程序存储器中,例如微地址0H中输入11H、11H、11H三个字节,在05H中输入55H、55H、55H三个字节,在06H中输入66H、66H、66H三个字节。键盘监控输入方法详情可参见附录一。

3.键盘监控输入方法如下:

a)   按键盘任意键进入键盘监控状态

b)   自主菜单下选择“1”

屏幕上显示:ADDR      MICROCODE

              00       xx xx xx

光标定位在地址处,按“TAB”键在地址与微代码之间切换,在光标所在处,按数字键即可对地址或者微代码进行修改;按“LAST”键,修改后的微指令写入相应单元后,地址减1;按“NEXT”键或者“ENTER”键,修改后的微指令写入相应单元后,地址加1。

c)         此处则应按“TAB”键切换到微代码处,输入11H、11H、11H三个字节,完毕后按“NEXT”键,直到地址为05H,相同方法输入55H、55H、55H三个字节,完毕后按“NEXT”键,在地址06H处输入66H、66H、66H三个字节,完毕后按“ENTER”键。输入完毕。

(二)微地址打入操作

1.按启停单元中的停止按钮,置实验机为停机状态,此时微地址寄存器被请零。

2.按启停单元中的运行按钮,置实验机为运行状态。此时微程序存储器为读状态,微地址寄存器(74LS161)确定了当前微程序存储器的地址,并且输出24位微操作(M0~M23)。

3.按脉冲单元中的PLS2脉冲按键,在MOCK上产生一个上升沿,把当前微程序存储器输出的微指令打入微指令锁存器。可在CPT-B上的微指令指示灯显示出当前微指令,应为11H、11H、11H。

4.置MLD=1,微代码的地址MD0~MD7(对应二进制开关H0~H7)为05H(对应开关如下表)

5.按脉冲单元中的PLS1脉冲按键,在MCK上产生一个上升沿,把MD0~MD7打入74LS161,微地址指示灯MA0~MA7将显示为05H,微程序存储器把05H单元的内容输出。

6.  按脉冲单元中的PLS2脉冲按键,在MOCK上产生一个上升沿的脉冲,把当前微指令打入微指令锁存器。可在CPT-B上的微指令指示灯显示出当前微指令,为55H、55H、55H。

(三)微地址+1操作

1.置MLD=1。

2.按启停单元中的运行按钮,置实验机为运行状态。

3.按脉冲单元中的PLS1脉冲按键,在MCK上产生一个上升沿,微地址寄存器自动+1。若原来微地址为05H,那么当前的微地址指示灯MA0~MA7将显示为06H,同时微程序存储器输出06H单元中的内容。

4. 按脉冲单元中的PLS2脉冲按键,在MOCK上产生一个上升沿,将微程序存储器输出的微指令打入微指令锁存器并输出。在CPT-B上的微指令指示灯应显示66H、66H、66H。

五、总结

   通过本次实验我掌握了微程序控制器的原理,同时也掌握了微程序的编制、写入、观察微程序的运行,学习了指令的执行流程 ,我觉得这次实验的原理比较容易理解,实施起来也不难,但是在实验过程中,不知道是因为接线的问题还是仪器的问题一度不能成功,录入了数据还是跳转不到要去的地方。我们小组以为是输入数据时出错,重新输了好多遍,但是都还是一样的结果。在老师的指导下终于得到了正确的结果。顺利的完成了实验。这次实验使我懂得要认真弄清楚每一步实验的原理和所需要的知识点,这样才可以有速度完成实验,同时也知道做实验需要持之以恒的恒心、信心与耐心。

 

第二篇:计算机组成原理实验报告 进位位控制、通用寄存器判零实验

西华大学数学与计算机学院实验报告

一、目的

1.熟悉带进位位控制的算术逻辑运算器的组成和硬件电路

2.用进位寄存器来实现带进位的左移、右移

3.熟悉判零线路

二、实验原理

(1)进位和判零电路的实验构成

  进位和判零电路由1片GAL、74LS74和两个LED(CY、ZD)发光管组成。当有进位时CY发光管亮,ZD发光管亮表示当前通用寄存器的内容为0。

(2)进位控制的原理

   1.进位电路与通用寄存器、ALU有着非常紧密的关系,算术逻辑单元的进位输出和通用寄存器带进位移动都会影响进位寄存器的结果。

   2.若实验者在做算术逻辑实验时,选择了算术运算方式,当ALU的计算结果输出至总线时,在CCK上来一个上升沿,将把74LS181的进位输出位(CN+4)上的值(为了统一进位标识,1表示有进位,0表示无进位),打入进位寄存器(74LS74)中,并且有进位时CY(LED)发光。

   3.在进行通用寄存器的数据移位实验时,把CCK和通用寄存器的工作脉冲接在一起,当选择带进位左移时,在工作脉冲下,通用寄存器的最高位将移入进位寄存器中,进位寄存器中的值将移入通用寄存器的最低位。当进位寄存器中的值为1时,CY(LED)发光,若进位寄存器中的值为0时,CY(LED)灭。同样在带进位右移时,也会产生这样的结果。

4.通过把通用寄存器中的每一位做“或”运算,当寄存器的每一位为0时,ZD输出0,ZD(LED)发光

图1  进位控制原理图

三、使用环境

计算机组成原理实验箱

四、实验步骤

(一)算术逻辑运算单元带进位位的加法运算实验

1.把RA-IN(8芯的盒型插座)与CPT-B板上二进制开关单元中的J1插座相连(对应二进制开关H16~H23),把RA-OUT(8芯的盒型插座)与数据总线上的DJ2相连。

2.把D1CK、D2CK、CCK用连线连到脉冲单元的PLS1上,把EDR1、EDR2、ALU-O、S0、S1、S2、S3、CN、M接入二进制拨动开关(请按下表接线)。

3.按启停单元中的停止按钮,实验机停机并且把进位寄存器CY清零(CY灯灭),在本实验中使用算术逻辑单元作为进位发生器,按运行键,实验即进入运行状态。

4.二进制开关H16~H23作为数据输入,置65H(对应开关如下表)

置各控制信号如下:

5.按脉冲单元中的PLS1脉冲按键,在D1CK上产生一个上升沿,把65H打入DR1数据锁存器。通过逻辑笔来测量确定DR1寄存器(74LS374)的输出端,检验数据是否进入DR1中。

6.二进制开关H16~H23作为数据输入,置A7H(对应开关如下表)

置各控制信号如下:

7.按脉冲单元中的PLS1脉冲按键,在D2CK上产生一个上升沿,把A7H打入DR2数据锁存器。通过逻辑笔来测量确定DR2寄存器(74LS374)的输出端,检验数据是否进入DR2中。

8.再置各控制信号如下:

9.按脉冲单元中的PLS1脉冲按键,在CCK上产生一个上升沿,把74LS181的进位打入进位寄存器中,在有进位的情况下,CY指示灯亮,并且ALU-O为0,把计算结果输出到数据总线。

$ 经过74LS181的计算将产生进位,即CN+4输出0,当把计算结果输出到总线时,数据总线上的LED指示灯IDB0~IDB7显示结果为0CH。

(二)带进位移位

1.按启停单元中的停止按钮,实验机停机并且把进位寄存器CY清零(CY灯灭),在本实验中使用通用寄存器作为进位发生器,按运行键,实验即进入运行状态。

2.把RA-IN(8芯的盒型插座)与CPT-B板上二进制开关单元中的J1插座相连(对应二进制开关H16~H23),把RA-OUT(8芯的盒型插座)与数据总线上的DJ6相连。

3.把CCK、RACK连到脉冲单元的PLS1,把ERA、X0、X1、RA-0、M接入二进制拨动开关。请按下表接线。

4.二进制开关H16~H23作为数据输入,置81H(对应开关如下表)

置各控制信号如下:

5.按脉冲单元中的PLS1脉冲按键,在RACK上产生一个上升沿,把81H打入通用寄存器。

6.此时数据总线上的LED指示灯IDB0~IDB7显示为81H。由于通用寄存器内容不为0,所以ZD(LED)灯灭。

置各控制信号如下:

7.按脉冲单元中的PLS1脉冲按键,在RACK上产生一个上升沿,使通用寄存器中的值左移。因进位寄存器CY的初始值为0,在RACK脉冲作用下将CY打入通用寄存器的最低位Q0。同时在RACK脉冲作用下把通用寄存器的最高位Q7(为1)打入进位寄存器CY,使CY灯亮,这样就实现了带进位的左移功能。

8.同样置各控制信号如下,并且按脉冲单元中的PLS1脉冲按键,可实现带进位的右移功能。

           

五、总结

通过这次实验,我了解了通用寄存器的判零电路,实现了用进位寄存器来实现带进位的左移、右移,熟悉了带进位位控制算术逻辑运算器的组成和硬件电路。实验过程中遇到了一些问题,在老师和同学的帮助下得到了解决,成功的完成了本次实验。

相关推荐