计算机组成原理【实验目的】1.熟悉通用寄存器组的读写操作;2.熟悉运算器的数据通路;3.验证运算器的加、减、与、或功能;4.按给定的数据,完成几种指定的算术、逻辑运算功能。【实验仪器】1.清华大学科教仪器厂TEC-6实验箱;2.示波器一台;3.直流万用表1只;4.逻辑测试笔1只。【预习内容】1.请根据实验说明书写出接口技术实验的注意事项;2.请写出74LS181、74LS244芯片的管脚接线图;3.写出74LS181芯片的逻辑功能;4.写出本实验箱寄存器读写的操作方式;5.写出本实验箱置数的操作方法。•【实验原理】•为了进行本实验,首先需要了解TEC-6模型计算机的基本时序。在TEC-6中,执行一条微指令(或者在硬布线控制器中完成1个机器周期)需要连续的3个时序脉冲T1、T2和T3。它们的时序关系如图2-1所示:•对于运算器操作来说,在T1期间,读取微指令,产生控制运算的信号,并将控制信号保持到T3结束;在T2期间,根据控制信号,完成运算功能;在T3的上升沿,保存运算结果。T1T2T3图2-2,运算器实验的电路图。•在TEC-6模型计算机中,寄存器组由4个寄存器R0(U50)、R1(U51)、R2(U45)、R3(U46)以及2个三3输入正与门组成(U33和U38)。4个寄存器R0、R1、R2和R3都是74LS374。R0是累加器,它的输出通过A总线送运算器的A端口;R1、R2和R3是通用寄存器,它们的输出通过B总线送运算器的B端口。R0、R1、R2和R3从数据总线DBUS接收数据。•R0的输出A7—A0直接送A总线,而B总线有3个数据来源R1、R2和R3,因此需要用3个信号RS1#、RS2#和RS3#决定哪一个寄存器的输出送B总线。当信号RS1#、RS2#和RS3#中的任何一个为0时,则将对应的寄存器输出送B总线。U33A、U33B、U33C和U38D完成对各个寄存器的写入功能。信号LDR控制整个寄存器写操作,而信号LDR0、LDR1、LDR2和LDR3控制单个寄存器的写操作。当LDR为1时,如果LDR0、LDR1、LDR2和LDR3中的其中一个为1,则在T3的上升沿将数据总线DBUS上的数据写入对应的寄存器。•数据开关SD7—SD0是8个双位开关。用手拨动这些开关,能够生成需要的SD7—SD0的值。在信号SWBUS#-I为0时,SD7—SD0通过一个8线驱动器74LS244(U11)送往数据总线DBUS。在本实验中,使用数据开关SD7—SD0设置寄存器R0、R1、R2和R3的值。•运算器ALU的作用是对A总线(A7—A0)和B总线(B7—B0)上的2个8位数据进行算术逻辑运算,运算后的数据结果在控制信号ALUBUS#-I为0送数据总线DBUS(D7—D0),运算后的标志结果在T3的上升沿保存进位标志位C-O和结果为0标志位Z-O。运算器由2片算术逻辑单元74LS181(U58和U59)、1片四2输入正与门74LS08(U29)、1片双D触发器74LS74(U52)、1片8线反相驱动器74LS240(U40)、1片8线驱动器74LS244(U39)和1片8输入正与非门74LS30(U47)构成。2片74LS181(U58和U59)完成8位算术运算和逻辑运算。U58进行低4位运算,U59进行高4位运算,U58和U59通过级联方式连接。所谓级联方式,就是将低4位74LS181的进位输出引脚图2-2,原理图TEC-6中运算器操作功能表表2-174LS181正逻辑功能表选择输入S3S2S1S0M=H逻辑功能M=L算术功能=H无进位=L有进位LLLLLLLHLLHLLLHHLHLLLHLHLHHLLHHHHLLLHLLHHLHLHLHHHHLLHHLHHHHLHHHH操作方式选择S3S2S1S0M操作类型功能HLLHLLHHLLHLHHHHHHLHHHHHHHLHLH实验内容【实验内容】1.用逻辑笔测试时序信号T1、T2、T3。2.对下述四组数据进行加、减运算。⑴A=0F0H,B=10H⑵A=10H,B=0F0H⑶A=03H,B=05H⑷A=0AH,B=0AH3.对下述三组数据进行与、或运算⑴A=0FFH,B=0AAH⑵A=55H,B=0AAH⑶A=0C5H,B=61H4.在实验过程中,记录每一步中有关信号的值,并对这些信号的作用予以解释。【实验步骤】1.实验准备⑴将TEC-6实验台上的下列信号连接,以便控制信号能够对寄存器组和运算器进行控制。信号SWBUS#-O和信号SWBUS#-I连接,信号ALUBUS#-O和信号ALUBUS#-I连接,信号RAMBUS#-O和信号RAMBUS#-I连接。⑵将控制器转换开关设置为微程序状态,使用微程序控制器产生的控制信号对寄存器组组和运算器进行控制。⑶打开电源下述实验中,信号指示灯亮代表对应信号为1,信号指示灯灭代表对应信号为0。实验时要对照图2-2察看每一步骤的相应信号的值。2.用逻辑笔测试时序信号T1、T2、T3⑴将逻辑笔的一端插入TEC-6实验台上的“逻辑笔”上面的插孔中,另一端插入“T1”上方的插孔中。⑵将单微指令开关DP拨到向上位置,使TEC-6模型计算机处于单微指令运行方式。⑶按复位按钮CLR,使时序信号发生器复位。⑷按逻辑笔框内的Reset按钮,使逻辑笔上的脉冲计数器复位,2个黄灯D1、D0均灭。⑸按一次启动按钮QD,这时指示灯D1D0的状态应为01B,指示产生了一个T1脉冲;如果再按一次QD按钮,则指示灯D1D0的状态应当为10B,表示又产生了一个T1脉冲;继续按QD按钮,可以看到在单周期运行方式下,每按一次QD按钮,就产生一个T1脉冲。⑹用同样的方法测试T2、T3。【实验步骤】【实验步骤】3.以下是加法、减法实验步骤⑴设置操作模式为加法、减法实验按一次复位按钮CLR,微地址指示灯µA5—µA0显示20H。将操作模式开关设置为SWC=1、SWB=0、SWA=0,准备进入加法、减法实验。按一次QD按钮,产生一组时序信号T1、T2、T3,进入下一步。⑵设置数A微程序地址指示灯µA5—µA0显示22H。信号LR为1,表示将进行寄存器写操作。信号指示灯SEL3为0、SEL2为0指示被写入的寄存器为R0。信号SEL3、SEL2指示被写入的寄存器,对应关系如下:SEL3SEL2对应信号的值对应的寄存器00LR0=1R001LR1=1R110LR2=1R211LR3=1R3在数据开关SD7—SD0上设置数A。在数据总线DBUS指示灯上D7—D0上可以看到数据设置的正确不正确,发现错误需及时改正。设置数据正确后,按一次QD按钮,将SD7—SD0上的数据写入R0,进入下一步。⑶设置数B微程序地址指示灯µA5—µA0显示21H。这时R0已经写入,在A总线指示灯上可以观察到数A的值。信号LR为1,表示将进行寄存器写操作。信号指示灯SEL3为0,SEL2为1,指示被写入的寄存器是R1。在数据开关SD7—SD0上设置数B。设置数据正确后,按一次QD按钮,将SD7—SD0上的数据写入R1,进入下一步。⑷进行加法运算微地址指示灯µA5—µA0显示24H。信号SEL1=0、SEL0=1,将R1中的数据送B总线。信号SEL1、SEL0选择送B总线的寄存器,选择方式如下:SEL1SEL0对应信号的值送B总线的寄存器00无无01RS1#=0R110RS2#=0R211RS3#=0R3信号M=0、S3=1、S2=0、S1=0、S0=1,指示进行加法运算。ALUBUS=1,指示将运算数据结果送数据总线DBUS。信号LDC=1,指示将运算后得到的进位C保存;信号LDZ=1,指示将运算后得到的结果为0标志保存。这时A总线指示灯A7—A0显示被加数A,B总线指示灯显示加数B,数据总线DBUS指示灯D7—D0显示运算结果A+B。按一次QD按钮,进入下一步。⑸进行减法运算微地址指示灯显示26H。这时指示灯C(红色)显示加法运算得到的进位C,指示灯Z(绿色)显示加法运算得到的结果为0信号。信号SEL1=0、SEL0=1,指示将R1中的数据送B总线。信号M=0、S3=0、S2=1、S1=1、S0=0,指示进行减法运算。ALUBUS=1,指示将运算数据结果送数据总线DBUS。信号LDC=1,指示将运算后得到的进位C保存;信号LDZ=1,指示将运算后得到的结果为0标志保存。这时A总线指示灯A7—A0显示被减数A,B总线指示灯显示减数B,数据总线DBUS指示灯D7—D0显示运算结果A-B。按一次QD按钮,进入下一步。⑹微地址指示灯µA5—µA0显示20H。这时指示灯C(红色)显示减法运算得到的进位C,指示灯Z(绿色)显示减法运算得到的结果为0信号。在减法运算中,采用的是补码运算方式,将减数B求反后加1,与被减数A做相加运算。由于这时微地址为20H,因此按⑴的步骤(不需要按复位按钮)继续进行第2组数据的加、减运算。【实验要求】1.记录下每一步的微地址和下述信号的值:M、S3、S2、S1、S0、SEL3、SEL2、SEL1、SEL0、LR、SWBUS、ALUBUS、LDZ、LDC。并解释这些信号的功能是什么,解释在该步骤中这些信号为什么取这样的值而不是取其他的值。2.记录下运算的数据结果和标志结果C、Z。【实验分析】1.为什么在A总线上出现数据A、在B总线上出现数据B后,在数据总线DBUS上能够直接观测运算的数据结果,而标志结果却在下一步才能观测到?