1实验报告专业班级姓名机器号:学号E-mail分步成绩实验表现实验报告总成绩实验一寄存器及数据输出实验一、实验目的1、掌握寄存器器件的工作原理,了解COP2000模型机所用主要寄存器的位置、作用、数据通路及控制信号;2、掌握寄存器组的工作原理;3、了解计算机中多个寄存器不能同时向内部数据总线送出数据的事实——COP2000实验仪选择某个寄存器(允许其向DBUS上输出数据)的方法。二、实验原理(一)寄存器COP2000用74HC574来构成寄存器,74HC574的功能如下:1,在CLK的上升沿将输入端的数据打入到8个触发器中。2,当OC=1时触发器的输出被关闭,当OC=0时触发器输出数据。74HC574工作波形图1、累加器A、暂存器W实验计算机组成原理机器号___________________22、地址寄存器MAR、堆栈寄存器ST、输出寄存器OUT实验寄存器MAR原理图寄存器ST原理图3寄存器OUT原理图(二)寄存器组寄存器组R原理图74HC139含有两个独立的2—4译码器,其引脚与内部逻辑、功能表见实验指导书。(三)数据输出实验COP2000实验仪中有7个寄存器可以向DBUS输出数据,但在某一特定时刻只能有一个寄存器输出数据。由X0、X1、X2控制信号决定那一个寄存器向数据总线输出数据,而这三个控制信号为74HC138译码器的三个选择输入端。74HC138用于选片。数据输出选择器原理图4X2X1X0输出寄存器000IN-OE外部中断001IA-OE中断向量010ST-OE堆栈寄存器011PC-OEPC寄存器100D-OE直通门101R-OE右移门110L-OE左移门111没有输出三、实验内容1、A、W的写入按下表连线连接信号孔接入孔1J1座J3座2AENK03WENK14ALUCKCLOCK(1)将数据写入A寄存器用手动开关K23—K16进行DBUS[7:0]的数据输入K23K22K21K20K19K18K17K1601010101置控制信号:K0(AEN)K1(WEN)01给CLOCK跳变信号:按住CLOCK脉冲键,注意哪个寄存器的黄色指示灯亮起,就是你所选的要写入的寄存器。放开CLOCK键,一个上升沿即产生,观察寄存器写入的值。(2)将数据写入W寄存器置数据:K23K22K21K20K19K18K17K1601010101置控制信号:K0(AEN)K1(WEN)10给CLOCK跳变信号,观察寄存器写入的值。2、R?的写入与读出按下表连接线连接信号孔接入孔1J1座J3座2RRDK113RWRK104SBK15SAK06RCKCLOCK5(1)R?的写入写入R0:置数据:K23K22K21K20K19K18K17K1601010101置控制信号:K11(RRD)K10(RWR)K1(SB)K0(SA)1000给出CLOCK脉冲上升沿。写入R1:置数据:K23K22K21K20K19K18K17K1601010101置控制信号:K11(RRD)K10(RWR)K1(SB)K0(SA)1001给出CLOCK脉冲上升沿。写入R2:置数据:K23K22K21K20K19K18K17K1601010101置控制信号:K11(RRD)K10(RWR)K1(SB)K0(SA)1010给出CLOCK脉冲上升沿。写入R3:置数据:K23K22K21K20K19K18K17K1601010101置控制信号:K11(RRD)K10(RWR)K1(SB)K0(SA)1011给出CLOCK脉冲上升沿。(2)R?的读出自己设置RRD、RWR、SB及SA信号,观察R?的红色指示灯及液晶显示内容。读R0:置控制信号:K11(RRD)K10(RWR)K1(SB)K0(SA)0100液晶显示为:DBUS:55010101016读R1:置控制信号:K11(RRD)K10(RWR)K1(SB)K0(SA)0101液晶显示为:DBUS:5501010101读R2:置控制信号:K11(RRD)K10(RWR)K1(SB)K0(SA)0110液晶显示为:DBUS:5501010101读R3:置控制信号:K11(RRD)K10(RWR)K1(SB)K0(SA)0111液晶显示为:DBUS:55010101013、MAR、ST、OUT寄存器实验按下表连接线连接信号孔接入孔1J2座J3座2MAROEK143MARENK154STENK125OUTENK136MARCKCLOCK(1)MAR的写入置数据:K23K22K21K20K19K18K17K1601010101置控制信号:K14(MAROE)K15(MAREN)K12(STEN)K13(OUTEN)0011给出CLOCK脉冲上升沿。(2)ST的写入置数据:K23K22K21K20K19K18K17K1601010101置控制信号:K14(MAROE)K15(MAREN)K12(STEN)K13(OUTEN)11017给出CLOCK脉冲上升沿。(3)OUT置数据:K23K22K21K20K19K18K17K1601010101置控制信号:K14(MAROE)K15(MAREN)K12(STEN)K13(OUTEN)1110给出CLOCK脉冲上升沿。4、数据输出实验按下表连线连接信号孔接入孔1J1座J3座2X0K03X1K14X2K2置下表的控制信号,写出指示灯的状态:X2X1X0指示灯液晶显示(数据总线值)000IN红灯输入门(K23—K16)001IA红灯中断向量(由拨动开关给出)010ST红灯堆栈寄存器011PC红灯PC寄存器100D红灯D直通门101R红灯R右移门110L红灯L左移门111无没有输出8实验二计数器实验一、实验目的1、掌握程序计数器PC和微程序计数器µPC的工作原理;2、掌握COP2000中需要对PC进行置数的条件;二、实验原理(一)微程序计数器µPCCOP2000实验仪中,微程序计数器uPC由2片74HC161组成的。指令总线IBUS[7:0]的高六位被接到µPC预置输入的高六位,µPC预置的低两位被置为0。两片161的连接为同步连接。低片161的CEP、CET已置为有效,而其进位输出端TC接至高片161的CEP、CET。µPC原理图当RES=0时,µPC被清0;当IREN=0时,在CK的上升沿,预置数据被打入µPC。指令总线(IBUS)上的数据可来自一片74HC245。当IREN=1时,在CK的上升沿,µPC加1。(二)程序计数器PC程序计数器PC由2片74HC161组成,能完成加1和预置数功能。程序计数器的输出由74HC245保存,74HC245与74HC161的输出相连,74HC245(2)的输出连接地址总线,74HC245(1)的输出接到数据总线(当LDPC=0时)。9程序计数器原理图当指令正常执行时,程序计数器完成加1操作;当执行转移指令时,74HC161用预置数功能,从数据总线接收要跳转的地址。当RES=0时,PC计数器被清0。当PC+1=1时,在CK的上升沿,PC计数器加一;当LDPC=0时,在CK的上升沿,预置数据被打入PC计数器;当PCOE=0时,PC值送地址总线。在COP2000中,计数允许控制端PC+1由PCOE取反产生。PC跳转控制电路原理:在COP2000中,虚拟一片74HC151器件(做在控制芯片CPLD95108中)来决定PC是否被预置。74HC151为八选一数据选择器,其真值表及工作原理如下图所示。PC预置控制原理图当ELP=1时,LDPC=1,不允许PC被预置;当ELP=0,IR3=0,IR2=0时,且Cy=1时,LDPC=非Cy,当PC被预置;当ELP=0,IR3=0,IR2=1时,且Z=1时,LDPC=非Z,当PC被预置;当ELP=0,IR3=1,IR2=X时,LDPC=0,PC被预置。10三、实验内容(一)PC实验1、PC加一实验连接线表连接信号孔接入孔作用有效电平1J2座J3座将K23—K16接入DBUS[7:0]2JRCK0C标志输入3JRZK1Z标志输入4PCOEK2PC输出到地址总线低电平有效5JIR2K3预置选择6JIR3K4预置选择7ELPK5预置允许低电平有效8PCCKCLOCKPC工作脉冲上升沿打入置控制信号为:K2(PCOE)K5(ELP)11按一次CLOCK脉冲键,CLOCK产生一个上升沿,数据PC被加一。2、PC预置实验二进制开关K23—K16置入数据:K23K22K21K20K19K18K17K1601010101置控制信号为:ELP(K5)IR3(K4)IR2(K3)JRZ(K1)JRC(K0)LDPCPC预置指示灯状态1XXXX1灭000X01灭000X10亮0010X1灭0011X0亮01XXX0亮每置控制信号后,按一下CLOCK键,观察PC的变化。注意:X表示为任意值(二)µPC实验按下表所示连线连接信号孔接入孔作用有效电平1J2座J3座将K23┈K16接入DBUS[7┈0]2IRENK0预置μPC低电平有效3EMENK1EM存储器工作使能低电平有效4EMWRK2EM存储器写能低电平有效5EMRDK3EM存储器读能低电平有效6IRCKCLOCKµPC工作脉冲上升沿打入111、µPC加一实验设置控制信号为:K3(EMRD)K2(EMWR)K1(EMEN)K0(IREN)1111按一次CLOCK一次,CLOCK产生一个上升沿,µPC的输出数据被加一。2、µPC预置数据实验用二进制开关K23~K16将数据送到数据总线(DBUS),置数据??HK23K22K21K20K19K18K17K1601010101设置控制信号为:K3(EMRD)K2(EMWR)K1(EMEN)K0(IREN)0000按住CLOCK键,CLOCK由高变低,这时µPC的黄色预置指示灯亮,表明µPC被预置数。放开CLOCK键,CLOCK产生下降沿,数据54H被写入µPC寄存器。四、思考题寄存器1、AEN、WEN同时为高电平或同时为低电平时,给出CLOCK上升沿,会有什么结果?并解释之答:AEN、WEN同为低电平,A、W寄存器同时写入数据;AEN、WEN同时为高电平时,A、W寄存器都不写入数据。由图可知AEN、WEN分别与CK相连进行或运算,运算结果作为寄存器CLK端的输入,因此若AEN、WEN原本为低电平,则CLK一直为低电平,而当CLOCK上升沿到来时,CLK变为高电平,数据被打入触发器中。2、寄存器组的数据读出与CLOCK脉冲是否有关系?由此说明寄存器的数据打入与读出在控制上的差别。答:无关。寄存器组由4个寄存器组成,读操作和写操作都通过74HC139(2-4译码器)对寄存器进行片选,而读操作的译码器的使能端信号由读信号RRD提供,而写操作的译码器的使能端信号由写信号RWR和始终CK的或结果提供。因此寄存器的数据读出不需要CLOCK脉冲,仅需要RRD为低电平;而数据打入需要CLOCK脉冲和RWR为低电平。3、总结寄存器部分实验有多少个控制信号,并写出其作用。答:AEN、WEN为寄存器A、W写入控制信号,低有效。RRD为寄存器组读出控制信号,低有效;RWR为寄存器组的写入控制信号,低有效。SB、SA为寄存器组选定信号,00--R0、01--R1、10--R2、11--R3。MAROE和MAREN、STEN、OUTEN为MAR、ST、OUT寄存器控制信号。MAROE:控制MAR内容是否输出到ABUS。MAREN:控制DBUS中数据是否写入MAR,低有效。STEN:控制DBUS中数据是否写入ST,低有效。OUTEN:控制DBUS中数据是否写入OUT,低有效。计数器1、请叙述程序计数器PC、微程序计数器µPC工作原理,两者在预置条件上有何区别?答:程序计数器PC工作原理如下:程序计数器是包含当前正在执行的指令的地址,当某个指令被获取,程序计数器的存储地址加一,指向顺序中的下一个指令。在程序开始执行前,必须将它的起始地址,即第一条指令所在的内存单元地址送入程序计数器。当执行指令时,处理器将自动修改PC的内容,即每执行一条指令PC增加一个量,这个量等于指令所