实验一运算器[实验目的]1.掌握算术逻辑运算加、减、乘、与的工作原理;2.熟悉简单运算器的数据传送通路;3.验证实验台运算器的8位加、减、与、直通功能;4.验证实验台4位乘4位功能。[接线]功能开关:DB=0DZ=0DP=1IR/DBUS=DBUS接线:LRW:GND(接地)IAR-BUS#、M1、M2、RS-BUS#:接+5V控制开关:K0:SW-BUS#K1:ALU-BUSK2:S0K3:S1K4:S2K5:LDDR1K6:LDDR2[实验步骤]一、(81)H与(82)H运算1.K0=0:SW开关与数据总线接通K1=0:ALU输出与数据总线断开2.开电源,按CLR#复位3.置数(81)H:在SW7—SW0输入10000001→LDDR2=1,LDDR1=0→按QD:数据送DR2置数(82)H:在SW7—SW0输入10000010→LDDR2=0,LDDR1=1→按QD:数据送DR14.K0=1:SW开关与数据总线断开K1=1:ALU输出与数据总线接通5.S2S1S0=010:运算器做加法(观察结果在显示灯的显示与进位结果C的显示)6.改变S2S1S0的值,对同一组数做不同的运算,观察显示灯的结果。二、乘法、减法、直通等运算1.K0K1=002.按CLR#复位3.分别给DR1和DR2置数4.K0K1=115.S2S1S0取不同的值,执行不同的运算[思考]M1、M2控制信号的作用是什么?运算器运算类型选择表选择操作S2S1S0000A&B001A&A(直通)010A+B011A-B100A(低位)ΧB(低位)完成以下表格ALU-BUSSW-BUS#存储器内容S2S1S0DBUSC输入时:计算时:DR1:01100011DR2:10110100(与)DR1:10110100DR2:01100011(直通)DR1:01100011DR2:01100011(加)DR1:01001100DR2:10110011(减)DR1:11111111DR2:11111111(乘)实验二双端口存储器[实验目的]1.了解双端口存储器的读写;2.了解双端口存储器的读写并行读写及产生冲突的情况。[接线]功能开关:DB=0DZ=0DP=1IR/DBUS=DBUSAR1/AR2=AR1接线:IAR_BUS#←→+5V:禁止IAR输出RS_BUS#←→+5V:禁止寄存器堆RF输出M3←→+5V:ALU_BUS←→GND(接地):禁止运算器输出AR1_INC←→GND(接地):禁止AR1自动+1控制开关:K0:CEL#K1:LRWK2:CERK3:LDAR1K4:LDAR2K5:SW-BUS#K6:LDIRCEL#=0:选中左端口LRW=0:左端口读1:禁止左端口1:左端口写注意:①SW-BUS#、CEL#不能同时为0。②使用左端口向某一存储单元写入,将地址写入AR1后,应置LDAR1(K4)=0,避免写数时数据同时进入AR1。[实验内容及步骤]一、向左端口写数并读出1.写数IR/DBUS=DBUSAR1/AR2=AR1K0-6=1101000SW7-0=00H,按QD:将00地址写入AR1K0K1K3=000SW7-0=80H,按QD:将数据80写入00单元重复在10H、20H、30H、40H单元分别写入数据81H、82H、83H、84H2.读数K0-6=1101000SW7-0=00H,按QD:将00地址写入AR1K5=1,K3=0,K0=0,K1=1:读出00地址的数据重复读出10H、20H、30H、40H单元的数据,记录DBUS和AR1的灯显示。二、在右端口读数(将00H、10H、20H、30H、40H单元的数据从右端口读出,写入IR)IR/DBUS=IRAR1/AR2=AR2K0-6=1100100SW7-0=00H,按QD:将00地址写入AR2K4=0,K2=1,K6=1,按QD:读出00地址的数据,并写入IR重复读出10H、20H、30H、40H单元的数据,记录IR和AR2的灯显示。三、并行读写,访问冲突1.AR1/AR2=AR1K0-6=1101000SW7-0=38H,按QD:将38地址写入左边AR1/AR2=AR2K3=0,K4=1,K5=0SW7-0=38H,按QD:将38地址写入右边2.K2=1K0=1测BUSYLK2=1K0=0测BUSYL先选中右边再选中左边K2=1K0=1测BUSYL3.K0=0K2=0测BUSYRK0=0K2=1测BUSYR先选中左边再选中右边K0=0K2=0测BUSYR完成以下表格00H10H20H30H40H1.左端口读数AR1DBUS2.右端口读数AR2IRBUSYLBUSYRK2=1K0=1K0=0K2=0K2=1K0=0K0=0K2=1K2=1K0=1K0=0K2=0实验三数据通路[实验目的]1.将双端口通用存储器堆和双端口存储器模块联机;2.进一步熟悉计算机的数据通路;3.锻炼分析问题与解决问题的能力,培养独立分析故障现象,并解除故障的能力。与总线相连的数据源有5个,任一时刻只能有一个有效。数据源1:运算器ALU:ALU_BUS数据源2:寄存器堆RF:RS_BUS#数据源3:数据开关SW7-0:SW_BUS#数据源4:双端口存储器RAM:CEL#、LRW数据源5:中断寄存器:IAR_BUS#RF寄存器堆有R0,R1,R2,R3四个寄存器,带一个写入端和两个读出端。RD0、RD1控制A端,RS0、RS1控制B端。WRD=1将(ER)写入WR0,WR1选中的寄存器WRD=0读双端口存储器(左端口控制信号)CEL#=1禁止左端口CEL#=0允许左端口,(LRW=0左端口写,LRW=1左端口读)[接线]功能开关:DB=0DZ=0DP=1接线:IAR_BUS#←→+5V:禁止IAR输出CER←→GND(接地):禁止双端口存储器右端口输出AR1_INC←→GND(接地):禁止AR1自动+1M2←→GND(接地):DR2选择RF作数据源S2S1S0=001:直通运算控制开关:K0:SW-BUS#K1:RS_BUS#K2:ALU-BUSK3:CEL#K4:LRWK5:LDAR1K6:LDDR2K7:LDERK8:RS0K9:RS1K10:RD0K11:RD1K12:WR0K13:WR1K14:WRD[实验内容及步骤]一、向RF中的四个通用寄存器分别置数:R0=(0F)HR1=(F0)HR2=(55)HR3=(AA)H(1)将0F送入R0K0-14=010110000000000K0K7=01,开关置数0F,按QD:0F送入ERK7K14=01,K12K13=00,按QD:(ER)送入R0(2)将F0送入R1(3)将55送入R2(4)将AA送入R3二、将寄存器R0至R3的数据读入DR2寄存器和DBUS。1.将寄存器R0至R3的数据读入DBUS(1)将R0送入DBUSIR/DBUS=DBUSK0=1,K2-7=011000K10-14=00000K1=0,K8K9=00,记录DBUS灯显示的值(2)将F0送入DBUS(3)将55送入DBUS(4)将AA送入DBUS2.将寄存器R0至R3的数据读入DR2寄存器再到DBUS(1)将寄存器R0的数据读入DR2寄存器再到DBUSK01=11K3-5=110K7-9=000K12-14=000K2=1K10,11,6=001按QD,记录DBUS灯显示的值(2)将寄存器R1的数据读入DR2寄存器再到DBUS(3)将寄存器R2的数据读入DR2寄存器再到DBUS(4)将寄存器R3的数据读入DR2寄存器再到DBUS三、将寄存器R0至R3的数据分别送入存储器0FH、F0H、55H、AAH单元。(1)将寄存器R0的数据写入存储器0FH单元AR1/AR2=AR1K2=0K5-7=000K10-14=00000K1=1K0=0K5=1K3=1开关置数0F,按QD:输入内存地址0FK0=1K1=0K5=0K8,9=00K3,4=00,按QD:R0数值存入0F单元(2)将寄存器R1的数据写入存储器F0H单元(3)将寄存器R2的数据写入存储器55H单元(4)将寄存器R3的数据写入存储器AAH单元四、将存储器AAH、55H、F0H、0FH单元的值依次送入寄存器R0至R3。1.存储器AAH、55H、F0H、0FH单元的值送入寄存器R0至R3(1)将存储器AAH单元的数据写入寄存器R0K1=1K2=0K6=0K8-11=0000K0=0K5=1K3=1K14=0开关置数AA,按QD:输入地址AAK14=0K0=1K3=0K4=1K5=0K7=1,按QD:(AA)H→ERK0=1K5=0K7=0K3=1K14=1K12,13=00,按QD:ER→R0(2)将存储器55H单元的数据写入寄存器R1(3)将存储器F0H单元的数据写入寄存器R2(4)将存储器0FH单元的数据写入寄存器R32.寄存器R0至R3的值送入DBUS(1)R0的值送入DBUSIR/DBUS=DBUSK0=1K2-7=011000K10-14=00000K1=0K8,9=00记录DBUS灯显示的值(2)R1的值送入DBUS(3)R2的值送入DBUS(4)R3的值送入DBUS完成以下表格步骤DBUS(1)DBUS(2)DBUS(3)DBUS(4)二、1二、2四、2实验四常规型微程序控制器组成[实验目的]1.掌握微程序控制器的组成原理;2.掌握微指令的格式及微程序流程。[接线]功能开关:DB=0DZ=0DP=1接线:SKIP←→GNDC←→K0IR7~IR4←→K1~K4TJI←→K5控制器控制台方式开关SWC、SWB、SWASWC=0、SWB=0、SWA=0(PR,启运程序)SWC=0、SWB=0、SWA=1(KRD读双端口存储器)SWC=0、SWB=1、SWA=0(KWE写双端口存储器)在按CLR#复位后,根据SWC、SWB、SWA状态来选择工作方式。(1)PR,启运程序:首先在SW7-SW0指定启动地址,按启动按钮QD后,启动程序运行。(2)KRD读双端口存储器:①首先在SW7-SW0输入存储器地址,按QD,将地址打入地址寄存器AR1,读出存储器内容到数据总线;②按QD,地址寄存器AR1加1,读出新地址存储器内容到数据总线;③重复,直到按复位按钮CLR#为止。(3)KWE写双端口存储器:①首先在SW7-SW0输入存储器地址,按QD,将地址打入地址寄存器AR1;②在SW7-SW0输入数据,按QD,写数据到AR1指定的存储单元,地址寄存器AR1加1;③返回②,重复,直到按复位按钮CLR#为止。[实验内容]一、实验前完成下面的表格微指令地址微指令编码微指令地址微指令编码00H(0005C00207)H3CH07H17H27H3FH3DH3EH三种控制台指令的功能由SWC、SWB、SWA三个二进制开关的状态来指定(KRD=001B,KWE=010B,PR=000B)。以单拍(DP)方式执行控制台微程序,读出上述八条微指令,用P字段和微地址指示灯跟踪微指令的执行情况,并与上表数据对照。步骤:1.K5(TJI)=0DP=1DZ=0DB=0SWC=0、SWB=0、SWA=1(KRD读双端口存储器)按CLR#,微地址显示为00H,用逻辑笔测试有关信号的电平,记下微指令编码→按QD后,微地址显示为17H,用逻辑笔测试有关信号的电平,记下微指令编码→按QD后,微地址显示为3FH,用逻辑笔测试有关信号的电平,记下微指令编码→按QD后,微地址显示为3EH,用逻辑笔测试有关信号的电平,记下微指令编码→按QD后,微地址显示为3FH→按QD后,微地址显示为3EH……2.SWC=0、SWB=1、SWA=0(KWE写双端口存储器)按CLR#→00H→27H→3DH→3CH3.SWC=0、SWB=0、SWA=0(PR启运程序)按CLR#→00H→07H→05H二、熟悉05H,10H两条微指令的功能和P2测试的状态条件(IR4~IR7),用二进制开关设置IR7~IR4的不同状态,观察ADD至STP九条机器指令微地址转移逻辑功能的实现(用逻辑笔测试有关信号的电平)。完