据指示灯上,应为80H。照此方法,可依次读出存储器单元l0H、20H、30H、40H的数据 。
(3)读出存储器的数据,写入IR。
令K0(CEL#)=l,K1(LRW)=l,K2(CER)=0,K3(LDAR1)=0,K4(LDAR2)=1,K5 (SW_BUS#)=0,K6(LDIR)=0。将IR/DBUS开关拨到IR位置,将ARl/AR2开关拨到AR2位置。置SW7-SW0=01H,按一次QD按钮,将01H写入AR2,绿色的地址指示灯应显示01H。令K4(LDAR2)=0,K2(CER)=l,K6(LDIR)=1,按一次QD按钮,则从右端口读出存储器的01H单元的数据,读出的数据写入指令寄存器IR,显示在IR数据指示灯上,应为80H。照此方法,可从右端口依次读出存储器单元l0H、20H、30H、40H的数据,写入指令寄存器IR。
(4)双端口存储器的并行读写和访问冲突测试
1.令K0(CEL#)=l,K1(LRW)=l,K2(CER)=0,K3(LDAR1)=l,K4(LDAR2)=0,K5 (SW_BUS#)=0,K6(LDIR)=0。将ARl/AR2开关拨到AR1位置。置SW7-SW0=38H,按一次QD按钮,将38H写入AR1,绿色的地址指示灯应显示38H。令K3(LDAR1)=0,K4(LDAR2)= l,K5(SW_BUS#)=0将ARl/AR2开关拨到AR2位置。置SW7-SW0=38H,按一次QD按钮,将38H写入AR2,绿色的地址指示灯应显示38H。
2. 先令K2(CER)=1,K0(CEL#)=1,用示波器探头(或逻辑笔)测试BUSYL插孔,BUSYL应为高电平。保持K2(CER)不变,将K0(CEL#)拨动到0位置,示波器上(逻辑笔)的BUSYL信号从高电平变为低电平; 再将K0(CEL#)拨到1位置,BUSYL信号从低电平变为高电平。
20
3. 先令K0(CEL#)=0,K2(CER)=0,用示波器探头(逻辑笔)测试BUSYR插孔,BUSYR应为高电平。保持K0(CEL#)不变,将K2(CER)拨动到1位置,示波器上(逻辑笔)的BUSYR信号也从高电平变为低电平; 再将K2(CER)拨到0位置,BUSYL信号也从低电平变为高电平。
21
实验二 运算器组成实验
一、实验目的
(1)掌握算术逻辑运算加、减、乘、与的工作原理。 (2)熟悉简单运算器的数据传送通路。
(3)验证实验台运算器的8位加、减、与、直通功能。 (4)验证实验台的4位乘4位功能。
(5)按给定数据,完成几种指定的算术和逻辑运算。
二、实验电路
图5 运算器数据通路实验电路图
22
图5示出了本实验所用的运算器数据通路图。ALU由l片ispLSI1024构成。四片4位的二选一输入寄存器74HC298构成两个操作数寄存器DR1和DR2,保存参与运算的数据。DR1接ALU的B数据输入端口,DR2接ALU的A数据输入端口,ALU的输出在ispLSI1024内通过三态门发送到数据总线DBUS7-DBUS0上,进位信号C保存在ispLSIl024内的一个寄存器中。当实验台下部的IR/DBUS开关拨到DBUS位置时,8个红色发光二极管指示灯接在数据总线DBUS上,可显示运算结果或输入数据。另有一个指示灯C显示运算器进位信号状态。由ispLSI1024构成的8位运算器的运算类型由选择端S2、S1、S0选择,功能如表3所示。
表3 运算器运算类型选择表 选 择 S2 S1 S0 0 0 0 0 1
进位C只在加法运算和减法运算时产生,与、乘、直通操作不影响进位C的状态,即进位C保持不变。减法运算采用加减数的反码再加以1实现。在加法运算中,C代表进位;在减法运算中,C代表借位。运算产生的进位在T4的上升沿送入ispLSIl024内的C寄存器保存。
0 0 1 1 0
0 1 0 1
A & B A & A(直通) A + B A - B 操 作
0 A(低4位) X B(低4位)
23
在SW-BUS#信号为0时,参与运算的数据通过一个三态门74HC244(SW_BUS)送到DBUS总线上,进而送至DR1或DR2操作数寄存器。输入数据可由实验台上的8个二进制数据开关SW0_SW7来设置,其中SW0是最低位,SW7是最高位。开关向上时为l,开关向下时为0。
图中尾巴上带粗短线标记的信号都是控制信号,控制信号均为电位信号。T3、T4是脉冲信号,印制板上已连接到实验台的时序电路产生的T3、T4信号上。S2、S1、S0、ALU_BUS、LDDR2、LDDR1、M1、M2、SW_BUS#各电位控制信号用电平开关K0—K15来模拟。K0—K15是一组用于模拟各控制电平信号的开关,开关向上时为1,开关向下时为0,每个开关无固定用途,可根据实验具体情况选用。S2、S1、S0、ALU_BUS、LDDR2、LDDR1为高电平有效,SW_BUS#为低电平有效。M1 = 1时,DR1选择D1—A1作为数据输入端;M1 = 0时,DR1选择D0—A0作为数据输入端。当LDDR1 = 1时,在T3的下降沿,选中的数据被打入DR1寄存器。M2 = 1时,DR2选择Dl—A1作为数据输入端;M2 = 0时,DR2选择D0—A0作为数据输入端。当LDDR2 = 1时,在T3的下降沿,选中的数据被打入DR2寄存器。
数据总线DBUS有5个数据来源:运算器ALU,寄存器堆RF,控制台开关SW0—SW7,双端口存储器IDT7132和中断地址寄存器IAR。在任何时刻,都不允许2个或者2个以上的数据源同时向数据总线DBUS输送数据,只允许1个(或者没有)数据源向数据总线DBUS输送数据。在本实验中,为了保证数据的正确设置和观察,请令RS_BUS# = 1,LRW = 0,IAR_BUS# = 1。
为了在实验中,每次只产生一组T1、T2、T3、T4脉冲,需将实
24