实验一运算器组成实验一、实验目的1.熟悉双端口通用寄存器堆(组)的读写操作。
2.熟悉简单运算器的数据传送通路。
3.验证运算器74LS181的算术逻辑功能。
4.按给定数据,完成指定的算术、逻辑运算。
二、实验原理上图是本实验所用的运算器数据通路图。
参与运算的数据首先通过实验台操作板上的八个二进制数据开关SW7-SW0来设置,然后输入到双端口通用寄存器堆RF中。
RF由一个ispLSI1016实现,功能上相当于四个8位通用寄存器,用于保存参与运算的数据,运算后的结果也要送到RF中保存。
双端口寄存器堆模块的控制信号中,RS1、RS0用于选择从B端口(右端口)读出的通用寄存器,RD1、RD0用于选取从A端口(左端口)读出的通用寄存器。
而WR1、WR0用于选择写入的通用寄存器。
LDRi是写入控制信号,当LDRi=1时,数据总线DBUS上的数据在T3写入由WR1、WR0指定的通用寄存器。
RF的A、B端口分别与操作数暂存器DR1、DR2相连:另外,RF的B端口通过一个三态门连接到数据总线DBUS上,因而RF 中的数据可以直接通过B端口送到DBUS上。
DR1和DR2各由1片74LS273构成,用于暂存参与运算的数据。
DR1接ALU 的A输入端口,DR2接ALU的B端口。
ALU由两片74LS181构成,ALU的输出通过一个三态门(74LS244)发送到数据总线DBUS上。
图中尾巴上带粗短线标记的信号都是控制信号,其中S3,S2,Sl,S0,M,Cn#,LDDR2,LDDRl, ALU-BUS#,SW-BUS#、LDRi、RS1、RS0、RD1、RD0、WR1、WR0等是电位信号,用电平开关K0—Kl5来模拟。
T2、T3是脉冲信号,印制板上已连接到实验台的时序电路上。
#为低电平有效。
K0—K15是一组用于模拟各控制电平信号的开关,开关向上时为1,开关向下时为0,每个开关无固定用途,可根据实验具体情况选用。
实验中进行单拍操作,每次只产生一组Tl,T2,T3,T4脉冲,需将实验台上的DP,DB开关进行正确设置。
将DP开关置l,将DB开关置0,每按一次QD 按钮,则顺序产生Tl、T2、T3、T4各一个单脉冲。
三、实验任务1.按图要求,将运算器模块与实验台操作板上的线路进行连接。
置DP=1,DB=0,编程开关拨到正常位置.2.用开关SW7-SW0向通用寄存器堆RF内的R0-R3寄存器置数34H、21H、52H、65H。
然后读出R0-R3的内容,在数据总线DBUS上显示出来。
3.令DR1=55H、DR2=0AAH、Cn#=1,验证ALU的正逻辑算术、逻辑运算功能。
四、实验要求1.做好实验预习。
掌握运算器的数据传送通路和ALU的功能特性,并熟悉本实验中所用的控制台开关的作用和使用方法。
2.认真细致完成实验,填写实验一表1、实验一表2。
3.写出实验报告,分析实验结果并简述心得体会。
实验二双端口存储器原理实验一、实验目的1.了解双端口静态随机存储器IDT7132的工作特性及使用方法。
2.了解半导体存储器怎样存储和读出数据。
3.了解双端口存储器怎样并行读写,并分析冲突产生的情况。
二、实验原理图示双端口存储器的实验电路图。
这里使用了一片IDT7132(2048×8位),两个端口的地址输入A8—Al0引脚接地,因此实际使用存储容量为256字节。
左端口的数据部分连接数据总线DBUS7-DBUS0,右端口的数据部分连接指令总线INS7-INS0。
存储器IDT7132有6个控制引脚:CEL#、LR/W#、OEL#、CER#、RR/W#、OER#。
CEL#、LR/W#、OEL#控制左端口读、写操作;CER#、RR/W#、OER#控制右端口读、写操作。
CEL#为左端口选择引脚,低电平有效。
当CER#=1时,禁止左端口读、写操作;当CER#=0时,允许左端口读、写操作。
当LR/W#为高时,左端口进行读操作;当LR/W#为低时,左端口进行写操作。
当OER#为低时,将左端口读出的数据放到数据总线DBUS上;当OER#为高时,禁止左端口读出的数据放到数据总线DBUS上。
CER#、RR/W#、OER#控制右端口读、写操作的方式与CEL#、LR/W#、OER#控制左端口读、写操作的方式类似,当CEL#=0且LR/W#=l时,左端口进行读操作,同时将读出的数据放到数据总线DBUS上(以后将OEL#称为RAM_BUS#)。
有两点需要说明:(1)右端口读出的数据(更确切的说法是指令)放到指令总线IBUS上而不是数据总线DBUS上。
(2)所有数据/指令的写入都使用左端口,右端口作为指令端口处理成一个只读端口(实验台上OER#已固定接地,RR/W#固定接高电平)。
存储器左端口的地址寄存器AR和右端口的地址寄存器PC都使用2片74LS163,具有地址递增的功能。
同时,PC在以后的实验当中也起到程序计数器的作用。
左右端口的数据和左右端口的地址都有特定的显示灯显示,存储器得知和写入数据都由实验台操作板上的二进制开关分时给出。
当LDAR#=0时,AR在T2时从DBUS接收来自SW7-SW0的地址;当AR+1=1时,在T2存储器地址加1。
LDAR#和AR+1不能同时有效。
在下一个时钟周期,令CEL#=0、LR/W#=0,则在T2的上升沿开始进行写操作,将SW7-SW0设置的数据经DBUS写入存储器。
三、实验任务1.按电路图要求,将有关控制信号和二进制开关对应接好,反复检查后接通电源。
编程开关拨到正常位置;置DP=1,DB=0;AR+1和PC+1两个信号接地。
2.将二进制数码开关SW7-SW0(SW0为最低位)设置为00H,将其他作为存储器地址置入AR;然后将二进制开关的00H作为数据写入RAM中,用这个方法向存储器的10H、20H、30H、40H单元依次写入10H、20H、30H、40H。
3.使用存储器的左端口,依次将第2步存入的5个数据读出,观察各单元中存入的数据是否正确。
记录数据。
注意:禁止两个或两个以上的数据源同时向数据总线上发送数据!在本实验中,当存储器进行读出操作时,务必将SW_BUS#的三态门关闭。
而当向AR送入数据时,双端口存储器也不能被选中。
4.通过存储器的右端口,将第2步存入的5个数据读出,观察结果是否与第3步结果相同。
记录数据。
5.双端口存储器的并行读写和访问冲突将CEL#、CER#同时置为0,使存储器的左右端口同时被选中。
当AR和PC的地址不相同时,由于都是读操作,也不会冲突。
如果左右端口地址相同,且一个进行读操作,一个进行写操作,就会发生冲突。
检测冲突的方法:观察两个端口的"忙"信号输出指示灯BUSYL#和BUSYR#。
BUSYL#/BUSYR#灯亮(为0)时,不一定发生冲突,但发生冲突时,BUSYL#/BUSYR#必定亮。
四、实验要求l.做好实验预习,掌握IDT7132双端口存储器的功能特性和使用方法。
2.完成实验任务2、3、4,分别填写实验二表1、实验二表2、实验二表3。
3.试验双端口存储器的并行读写和访问冲突,并分析原理。
4.写出实验报告,分析实验结果并简述心得体会。
实验三数据通路组成实验(选作)一、实验目的1.进一步熟悉计算机的数据通路2.将双端口通用寄存器堆和双端口存储器模块连接,构成新的数据通路3.掌握数字逻辑电路中的一般规律,以及排除故障的一般原则和方法4.锻炼分析问题和解决问题的能力,在出线故障的情况下,独立分析故障现象,并排除故障二、实验原理图示出了数据通路实验电路图,它是将双端口存储器实验模块和一个双端口通用寄存器堆模块(RF)连接在一起形成的。
双端口存储器的指令端口不参与本次实验。
通用寄存器堆连接运算器模块,本实验涉及其中的操作数寄存器DR1。
由于双端口存储器RAM是三态输出,因而可以将它直接连接到数据总线DBUS 上。
此外,DBUS上还连接着双端口通用寄存器堆。
这样,写入存储器的数据可由通用寄存器提供,而从存储器RAM读出的数据也可送到通用寄存器堆保存。
三、实验任务1.将实验电路与控制台的有关信号进行连接。
2.用8位数据开关SW7-SW0向R F中的四个通用寄存器分别置入以下数据:R0=OFH,R1=0F0H,R2=55H,R3=0AAH。
3.用8位数据开关向AR送入地址0FH,然后将R0中的数据0FH写入双端口存储器中。
用同样的方法,依次将R1、R2、R3中的数据分别置入RAM的0F0H、55H、0AAH单元。
4.分别将RAM的0AAH单元数据写入R0,55H单元数据写入R1,0F0H单元数据写入R2,0FH单元数据写入R3。
然后将R0-R3中的数据读出,验证数据的正确性,并记录数据。
5.校验结果。
四、实验要求1.做好实验预习和准备工作,掌握实验电路的数据通路特点和通用寄存器堆的功能特性。
2.完成实验任务,填写实验三表1、2、3。
3.写出实验报告,分析实验结果并简述心得体会。
实验四常规型微程序控制器组成实验一、实验目的1.掌握时序发生器的组成原理2.掌握微程序控制器的组成原理二、实验原理1.时序发生器TEC-5计算机组成原理实验系统的时序电路如图所示。
电路采用500K晶振、2片GAL22VlO、一片74LS390(分频器),可产生两级等间隔时序信号Tl—T4和Wl—W3,其中一个W由一轮Tl—T4循环组成,它相当于一个微指令周期或硬联线控制器的一拍,而一轮Wl—W3循环可供硬联线控制器执行一条机器指令。
本次实验不涉及硬联线控制器,因此时序产生器中的相关内容也可根据需要放到硬联线控制器实验中进行。
微程序控制器只使用时序信号TI—T4,产生T信号的功能集成在左边GAL22VlO芯片中,另外它还产生节拍信号W1、W2、W3的控制时钟CLK1。
硬联线控制器只使用时序信号Wl—W3,产生W信号的功能集成在右边GAL22VlO芯片中。
左边GAL22VlO芯片的输入信号MF是实验台上晶体振荡器的输出,频率为500KHz。
Tl至T4的脉冲宽度为2μS。
CLR#为复位信号,低有效。
实验台处于任何状态下令CLR#=0,都会使时序发生器和微程序控制器复位(回到初始状态),复位后时序发生器停在T4、W3状态,微程序地址为000000B。
建议每次实验仪加电后,先用CLR#复位一次。
控制台上有一个CLR#按钮,实验台印制板上已连好控制台CLR#到时序电路的连线。
TJ(停机)是控制器的输出信号之一。
连续运行时,如果控制信号TJ=l,会使机器停机,停止发送时序脉冲Tl—T4、Wl—W3,时序停在T4。
注意区分在实验台上时序信号发生器的输入信号TJ和控制存储器产生的TJ信号。
QD(启动)是来自启动按钮QD的脉冲信号,在GAL22VlO芯片中,对QD用MF进行了同步,产生QDl和QD2。