发布网友 发布时间:2022-04-22 10:53
共1个回答
热心网友 时间:2023-08-24 22:50
实验中所用的运算器数据通路图如图3.1-1.图中所示的是由两片74LS181 芯片以并/串形式构成的8 位字长的运算器.右方为低4 位运算芯片,左方为高4 位运算芯片.低位芯片的进位输出端Cn+4 与高位芯片的进位输入端Cn 相连,使低4 位运算产生的进位送进高4位运算中.低位芯片的进位输入端Cn 可与外来进位相连,高位芯片的进位输出引至外部.两个芯片的控制端S0~S3 和M 各自相连.为进行双操作数运算,运算器的两个数据输入端分别由两个数据暂存器DR1、DR2(用锁存器74LS273 实现)来锁存数据.要将内总线上的数据锁存到DR1 或DR2 中,则锁存器74LS273 的控制端LDDR1 或LDDR2 须为高电平.当T4 脉冲来到的时候,总线上的数据就被锁存进DR1 或DR2 中了.为控制运算器向内总线上输出运算结果,在其输出端连接了一个三态门(用74LS245 实现).若要将运算结果输出到总线上,则要将三态门74LS245 的控制端ALU-B 置低电平.否则输出高阻态.数据输入单元(实验板上印有INPUT DEVICE)用以给出参与运算的数据.其中,输入开关经过一个三态门(74LS245)和内总线相连,该三态门的控制信号为SW-B,取低电平时,开关上的数据则通过三态门而送入内总线中.总线数据显示灯(在BUS UNIT 单元中)已与内总线相连,用来显示内总线上的数据.控制信号中除T4 为脉冲信号,其它均为电平信号.由于实验电路中的时序信号均已连至“W/R UNIT”单元中的相应时序信号引出端,因此,需要将“W/R UNIT”单元中的T4 接至“STATE UNIT”单元中的微动开关KK2 的输出端.在进行实验时,按动微动开关,即可获得实验所需的单脉冲.图3.1-1 运算器通路图 S3、S2、 S1、S0 、Cn、M、LDDR1、LDDR2、ALU-B、SW-B 各电平控制信号则使用“SWITCH UNIT”单元中的二进制数据开关来模拟,其中Cn、ALU-B、SW-B 为低电平有效,LDDR1、LDDR2 为高电平有效.对于单总线数据通路,作实验时就要分时控制总线,即当向DR1、DR2 工作暂存器打入数据时,数据开关三态门打开,这时应保证运算器输出三态门关闭;同样,当运算器输出结果至总线时也应保证数据输入三态门是在关闭状态.四、实验步骤(1)按图2.6-2 连接实验电路并检查无误.图中将用户需要连接的信号线用小圆圈标明(其它实验相同,不再说明).(2)开电源开关.(3)用输入开关向暂存器DR1 置数.①拨动输入开关形成二进制数01100101(或其它数值).(数据显示灯亮为0,灭为1).②使SWITCH UNIT 单元中的开关SW-B=0(打开数据输入三态门)、ALU-B=1(关闭 ALU 输出三态门)、LDDR1=1、LDDR2=0.③按动微动开关KK2,则将二进制数01100101 置入DR1 中.(4)用输入开关向暂存器DR2 置数.①拨动输入开关形成二进制数10100111(或其它数值).②SW-B=0、ALU-B=1 保持不变,改变LDDR1、LDDR2,使LDDR1=0、LDDR2=1.③按动微动开关KK2,则将二进制数10100111 置入DR2 中.(5)检验DR1 和DR2 中存的数是否正确.①关闭数据输入三态门(SW-B=1),打开ALU 输出三态门(ALU-B=0),并使LDDR1=0、LDDR2=0,关闭寄存器.②置S3、S2、 S1、S0 、M 为1 1 1 1 1,总线显示灯则显示DR1 中的数.③置S3、S2、 S1、S0 、M 为1 0 1 0 1,总线显示灯则显示DR2 中的数.(6)改变运算器的功能设置,观察运算器的输出.①SW-B=1、ALU-B=0 保持不变.②按表2-2 置S3、S2、 S1、S0 、M、Cn 的数值,并观察总线显示灯显示的结果.例如:置S3、S2、 S1、S0 、M、Cn 为1 0 0 1 0 1,运算器作加法运算.置S3、S2、 S1、S0 、M、Cn 为0 1 1 0 0 0,运算器作减法运算.(7)验证74LS181 的算术运算和逻辑运算功能(采用正逻辑)在给定DR1=65、DR2=A7 的情况下,改变运算器的功能设置,观察运算器的输出,填入下表中,并和理论分析进行比较、验证.图3.1-2 算术逻辑实验连线这个是2片181组成8位的ALU