计算机组成原理实验报告实验一寄存器实验一、实验目的(1)了解模型机中A,W寄存器结构、工作原理及其控制方法。(2)了解模型机中寄存器组R0..R3结构、工作原理及其控制方法。二、实验要求(1)A、W寄存器:利用COP2000实验仪上的K16..K23开关做为DBUS的数据,其它开关做为控制信号,将数据写入寄存器A,W。(2)R0、R1、R2、R3寄存器实验:利用COP2000实验仪上的K16..K23开关做为DBUS的数据,其它开关做为控制信号,对数据寄存器组R0..R3进行读写。三、实验说明寄存器的作用是用于保存数据的,因为我们的模型机是8位的,因此在本模型机中大部寄存器是8位的,标志位寄存器(Cy,Z)是二位的。COP2000用74HC574来构成寄存器。74HC574的功能如下:注意:1.在CLK的上升沿将输入端的数据打入到8个触发器中2.当OC=1时触发器的输出被关闭,当OC=0时触发器的输出数据OCCLKQ7..Q0注释1XZZZZZZZZOC为1时触发器的输出被关闭00Q7..Q0当OC=0时触发器的输出数据01Q7..Q0当时钟为高时,触发器保持数据不变XD7..D0在CLK的上升沿将输入端的数据打入到触发器中74HC574工作波形图四、实验原理实验1:A,W寄存器实验(1)原理图寄存器A原理图寄存器W原理图(2)工作波形图寄存器A,W写工作波形图(3)连接线表连接信号孔接入孔作用有效电平1J1座J3座将K23-K16接入DBUS[7:0]2AENK3选通A低电平有效3WENK4选通W低电平有效4ALUCKCLOCKALU工作脉冲上升沿打入(4)实验数据a.)将31H写入A寄存器二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据31H。K23K22K21K20K19K18K17K1600110001置控制信号为:K4(WEN)K3(AEN)10按住CLOCK脉冲键,CLOCK由高变低,这时寄存器A的黄色选择指示灯亮,表明选择A寄存器。放开CLOCK键,CLOCK由低变高,产生一个上升沿,数据31H被写入A寄存器。b)将61H写入W寄存器二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据61H。K23K22K21K20K19K18K17K1601100001置控制信号为:K4(WEN)K3(AEN)01按住CLOCK脉冲键,CLOCK由高变低,这时寄存器A的黄色选择指示灯亮,表明选择A寄存器。放开CLOCK键,CLOCK由低变高,产生一个上升沿,数据61H被写入A寄存器。实验2:R0,R1,R2,R3寄存器实验(1)原理图寄存器R0,R1,R2,R3原理图寄存器R写工作波形图(3)连接线表连接信号孔接入孔作用有效电平1J1座J3座将K23-K16接入DBUS[7:0]2RRDK11寄存器组读使能低电平有效3RWRK10寄存器组写使能低电平有效4SBK1寄存器选择B5SAK0寄存器选择A6RCKCLOCK寄存器工作脉冲上升沿打入(4)实验数据注意观察:1.数据是在放开CLOCK键后改变的,也就是CLOCK的上升沿数据被打入。2.K1(SB),K0(SA)用于选择寄存器。K1(SB)K0(SA)选择00R001R110R211R3将数据分别写入R0,R1,R2,R3寄存器:a.)将31H写入R0寄存器二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据31HK23K22K21K20K19K18K17K1600110001置控制信号为:K11(RRD)K10(RWR)K1(SB)K0(SA)1000b.)将41H写入R1寄存器二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据41HK23K22K21K20K19K18K17K1601000001置控制信号为:K11(RRD)K10(RWR)K1(SB)K0(SA)1001c.)将51H写入R2寄存器二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据51HK23K22K21K20K19K18K17K1601010001置控制信号为:K11(RRD)K10(RWR)K1(SB)K0(SA)1010d.)将61H写入R3寄存器二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据61HK23K22K21K20K19K18K17K1601100001置控制信号为:K11(RRD)K10(RWR)K1(SB)K0(SA)1011将R0,R1,R2,R3寄存器数据读出五、实验感想第一次试验不得不说是怀着好奇心去的,从来没有接触过实验仪的我有了这次操作,我觉得计算机组成原理这门课给我带来了乐趣,不再拘泥于书本上的知识,用自己的操作得出实验的结果,一张张图片我都很用心的。希望自己再接再厉,加油!实验二运算器的实验一、实验目的了解模型机中算术、逻辑运算单元的控制方法。二、实验要求利用COP2000实验仪的K16..K23开关做为DBUS数据,其它开关做为控制信号,将数据写累加器A和工作寄存器W,并用开关控制ALU的运算方式,实现运算器的功能。三、实验说明COP2000中的运算器由一片可编程芯片EPLD实现。有8种运算,通过S2,S1,S0来选择。运算数据由寄存器A及寄存器W给出,运算结果输出到哪里?(在哪里显示的)。根据不同的S2S1S0实现8种运算加减或与带进位加带进位减A取反输出A注意:是否需要时钟?四、实验过程(1)连接线表连接信号孔接入孔作用有效电平1J1座J3座将K23-K16接入DBUS[7:0]2S0K0运算器功能选择3S1K1运算器功能选择4S2K2运算器功能选择5AENK3选通A低电平有效6WENK4选通W低电平有效7CyINK5运算器进位输入8ALUCKCLOCKALU工作脉冲上升沿打入(2)实验数据将55H写入A寄存器二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据55HK23K22K21K20K19K18K17K1601010101置控制信号为:K5(CyIN)K4(WEN)K3(AEN)K2(S2)K1(S1)K0(S0)01000按住CLOCK脉冲键,CLOCK由高变低,这时寄存器A的黄色选择指示灯亮,表明选择A寄存器。放开CLOCK键,CLOCK由低变高,产生一个上升沿,数据55H被写入A寄存器。将33H写入W寄存器二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据33HK23K22K21K20K19K18K17K1600110011置控制信号为:K5(CyIN)K4(WEN)K3(AEN)K2(S2)K1(S1)K0(S0)001000按住CLOCK脉冲键,CLOCK由高变低,这时寄存器W的黄色选择指示灯亮,表明选择W寄存器。放开CLOCK键,CLOCK由低变高,产生一个上升沿,数据33H被写入W寄存器。当A31W69时置下表的控制信号,检验运算器的运算结果K5(CyIN)K2(S2)K1(S1)K0(S0)结果(直通门D)注释X0009A加运算X001C8减运算X01099或运算X01121与运算01009A带进位加运算11009B带进位加运算0101C8带进位减运算1101C8带进位减运算X110CE取反运算X11131输出A读数据:五、实验感想通过实验,让我了解到M是算术与逻辑运算的选择端决定了ALU进行哪一类的运算,S0,S1,S2是功能选择控制器,决定了是做加减、逻辑与、逻辑或、逻辑异或等运算。通过灵活运用S0,S1,S2的不同组合可以实现许多其他的功能。而且这次实验还涉及到数据总线,它的三个性质为公共性、驱动性和三态性,在数据输入时利用控制开关来控制三态,有效时输出数据,无效时数据输入缓冲器呈现高阻(相当于断开)与数据总线隔离;公共性是总线最根本的属性,所有传输的数据都通过共享数据线分时完成的,何时完成靠控制信号来区分。有收获,我很开心.实验三数据输出实验/移位门实验一、实验目的(1)了解模型机中数据输出的控制方法。(2)了解模型机中数据移位的过程。二、实验要求(1)利用COP2000实验仪的X0、X1、X2作为控制信号,将相应的寄存器内容输出到DBUS上。(2)理解并掌握数据移位的原理。三、实验说明COP2000中有7个寄存器可以向数据总线输出数据,但在某一特定时刻只能有一个寄存器输出数据。由X2,X1,X0决定那一个寄存器输出数据。数据输出选择器原理图X2X1X0输出寄存器000IN-OE外部输入门001IA-OE中断向量010ST-OE堆栈寄存器011PC-OEPC寄存器100D-OE直通门101R-OE右移门110L-OE左移门111没有输出四、实验过程连接线表连接信号孔接入孔作用有效电平1J1座J3座将K23-K16接入DBUS[7:0]2X0K5寄存器输出选择3X1K6寄存器输出选择4X2K7寄存器输出选择5AENK3选通A低电平有效6CNK9移位是否带进位0:不带进位1:带进位7CyINK8移位进位输入8S2K2运算器功能选择9S1K1运算器功能选择10S0K0运算器功能选择11ALUCKCLOCKALU工作脉冲上升沿打入实验1:数据输出实验置下表的控制信号,检验输出结果X2X1X0指示灯(红色)液晶显示(数据总线值)000IN指示输入门(K23-16)001IA指示中断向量010ST指示堆栈寄存器011PC指示PC寄存器100D直通门指示D直通门101R右移门指示R右移门110L左移门指示L左移门111没有输出实验2:移位实验(1)原理图ALU直接输出和零标志位产生原理图直通门将运算器的结果不移位送总线。当X2X1X0=100时运算器结果通过直通门送到数据总线。同时,直通门上还有判0电路,当运算器的结果为全0时,Z=1右移门将运算器的结果右移一位送总线。当X2X1X0=101时运算器结果通过右通门送到数据总线。具体连线是:Cy与CNDBUS7ALU7DBUS6ALU6DBUS5ALU5DBUS4ALU4DBUS3ALU3DBUS2ALU2DBUS1ALU1DBUS0Cy与CNDBUS7当不带进位移位时(CN=0):0DBUS7当带进位移位时(CN=1):CyDBUS7左移门将运算器的结果左移一位送总线。当X2X1X0=110时运算器结果通过左ALU左移输出原理图ALU右移输出原理图通门送到数据总线。具体连线是:ALU6DBUS7ALU5DBUS6ALU4DBUS5ALU3DBUS4ALU2DBUS3ALU1DBUS2ALU0DBUS1当不带进位移位时(CN=0):0DBUS0当带进位移位时(CN=1):CyDBUS0将31H写入A寄存器二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据31HK23K22K21K20K19K18K17K1600110001置控制信号为:K4(WEN)K3(AEN)10按住CLOCK脉冲键,CLOCK由高变低,这时寄存器A的黄色选择指示灯亮,表明选择A寄存器。放开CLOCK键,CLOCK由低变高,产生一个上升沿,数据31H被写入A寄存器。将79H写入W寄存器二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据79HK23K22K21K20K19K18K17K1601111001置控制信号为:K4(WEN)K3(AEN)01A-W:K2K1K0001S2S1S0=001时运算器结果为寄存器A内容S2S1S0L(十六进制、二进制)DR00130984C注意观察:移位与输出门是否打开无关,无论运算器结果如何,移位门都会给出移位结果。但究竟把那一个结果送数据总线由X2X1X0输出选择决定。五、实验感想通过这次数据输出实验/移位门实验,我知道了数据输出的控制方法、数据移位的过程。这次实验是四次实验中最简单、最容易懂的一次实验。这次实验包括了前几次实验的内容,比如寄存器、运算器。移位与输出门是否打开无关,无论运算器结果如何,移位门都会给出移位结果。但究竟是进行那种运算结果送入到那个寄存器是有X2、X1、X0输出选择决定的,这