共5页
西安财经学院信息学院计算机组成原理实验报告实验名称运算器实验实验室实验楼418实验日期第一部分8位算术逻辑运算实验
一、实验目的
1、掌握算术逻辑运算器单元ALU(74LS181)的工作原理。
2、掌握简单运算器的数据传送通路组成原理。
3、验证算术逻辑运算功能发生器74LS181的组合功能。
4、按给定数据,完成实验指导书中的算术/逻辑运算。
二、实验内容
1、实验原理实验中所用的运算器数据通路如图所示。其中运算器由两片74LS181以并/串形成8位字长的ALU构成。运算器的输出经过一个三态门74LS245(U33)到内部数据总线BUSD0LZD7显示灯显示;运算器的两个数据输入端分别由二个锁存器74LS273(U
9、U30)锁存,两个锁存器的输入并联后连至内部总线BUS,实验时通过8芯排线连至外部数据总线E_DOD7插座E_J1E_J3中的任一个;参与运算的数据来自于8位数据开并KD0KD7开关输入数据3511,按动手动脉冲发生按钮,将数据35H置入DR1寄存;令LDDR1=0,LDDR2=1,通过KD0KD7向DR1和DR2寄存器置数。方法ALU输出三态门(ALUB。=1),开启输入三态门(SWB。=0),输入脉冲T4按手动脉冲发生按钮产生。设置数据开关具体操作步骤图示如下:说明:LDDR
1、LDDR
2、ALUB、SMB四个信号电平由对应的开关LDDR
1、LDDR
2、ALUB、SWB给出,拨在上面为“1”,拨在下面为“0”,电平值由对应的显示灯显示,T4由手动脉冲开关给出。
(3)检验DR1和DR2中存入的数据是否正确,利用算术逻辑运算功能发生器74LS181的逻辑功能进行验算,即M=lo具体操作如下数据输入三态门SWB=1,打开ALU输出三态门ALUB=0,当置S
3、S
2、S、SO、M为11111时,总线指示灯显示DR1中的数,而置成01时总线指示灯显示DR2中的数。
(4)验证74LS181的算术运算和逻辑运算功能(采用正逻辑)在给定DR1=35H、DR2=48的情况下,改变算术逻辑运算功能发生器的功数据开关置数开输入三态门数据存入寄存器DR2ALUB=1SWB=0LDDR1=OLDDR2=1T4=KD7KDO010XXXX1000LDDR1=1LDDR2=0T4=数据开关置数开输入三态门数据存入寄存器DR1ALUB=1SWB=0KD7KDO00101能设置,观察运算器的输出,填入实验报告表中,并和理论分析进行比较、验证。
(5)以本组同学的学号后两位作为两个输入数据完成第
(4)部分要求。
三、实验电路本实验中使用的运算器数据通路如图1.1所示。
四、174LS181功能表实验中用到的运算器74LS181功能表如表1.1所示。表1.1运算器74LS181功能表(正逻辑)4位ALUS3S2SSOM=0(算数运算)M=1(逻辑运算)CCn=l无进位CCn=0有进位000000010XXXX100011XXXXXX1111F=AF=A BF=A BF=减1F=A加(A_B)F=(A B)力口(A_B)F二A减B减1F=(A_B)减1F=A加A_BF=A加BF=(A B)加A_BF=A_B减1F=A加AF=(A B)加AF=(A B)加AF=A减1F=A加1F=(A B)加1F=(A B)加1F=0F=A力口(A_B)加1F=(A B)加(A_B)力口1F=A减BF=(A_B)F=A力口A_B力口1F=A力口B力口1F=(A B)加A_B加1F=A_BF=A加A加1F=(A B)加A加1F=(A B)加A加1F=AF=AF=(A B)F=A_BF=0F=(A_B)F=BF=(Aoplus;B)F=(A_8)F=A BF=(Aoplus;B)F=BF=A_BF=1F=A BF=A BF=A其中:表中“ ”表示逻辑或,“oplus;”表示逻辑异或,表示逻辑非,“AB”表示逻辑与。加法运算时,CY=1表示运算结果有进位,CY=0表示运算结果无进位;减法运算时,CY=1表示运算结果无借位,CY=0表示运算结果有借位。
五、实验数据图1.1运算器数据通路
1、实验数据记录加数1DR1加数2DR2S3S2SSOM=0(算术运算)M=1(逻辑运算)Cn=l无进位Cn=0有进位35480XXXXXX0XXX111XXXX1111F=00101F=01111F=llF=01010F=10010F=11100F=00100F=00101F=01111F=llF=llllllllF=01010F=10010F=11011F=00100F=00110F=011XXXX1110F=11000F=000XXXX0000F=01011F=10011F=llF=00101F=00110F=011XXXX1110F=11000F=000XXXX0000F=01011F=10011F=11100F=00101F=11000F=100XXXX0010F=010XXXX1000F=000XXXX0000F=llllllllF=11F=01111F=00101F=11000F=100XXXX0010F=010XXXX1000F=000XXXX0000F=llllllllF=llF=011XXXX1100F=00101以学号为作为输入数据加数1DR1加数2DR2S3S2SSOM=0(算术运算)M=1(逻辑运算)Cn=l无进位Cn=0有进位40410XXXXXX0XXX111XXXX1111F=010XXXX0000F=010XXXX0001F=111XXXX1110F=111XXXX1111F=010XXXX0000F=010XXXX0001F=111XXXX1110F=111XXXX1111F=100XXXX0000F=100XXXX0001F=001XXXX1110F=001XXXX1110F=111XXXX1111F=000XXXX0000F=001XXXX1111F=001XXXX1111F=001XXXX1111F=000XXXX0000F=000XXXX0000F=010XXXX0000F=100XXXX0000F=01000001F=010XXXX0001F=100XXXX0001F=100XXXX0001F=100XXXX0001F=010XXXX0010F=010XXXX0010F=100XXXX0010F=100XXXX0010F=001XXXX1111F=010XXXX0000F=11111F=11110F=000XXXX0001F=000XXXX0000F=11111F=11110F=000XXXX0001F=000XXXX0000F=111XXXX1111F=111XXXX1110F=010XXXX0001F=010XXXX0000F=111XXXX1111F=111XXXX1110F=010XXXX0001F=010XXXX0000
六、实验结果分析及总结通过这一次实验,我明白了算术逻辑运算器单元ALU(74SL181)的实验工作原理,同时因为掌握了简单运算器的数据传送通路组成原理,也验证了算术逻辑运算功能发生器74LS181的组合功能,同时也理解了实验通路中各个模块的作用。虽然说这一次实验取得了成功,但是我们在这一次的实验过程中也遇到了一些问题。比如我们在实验开始的时候忘记了实验箱中打开那些开关的先后顺序,导致实验数据开始没有输入进去,数据输入进去后,发现我们进行实验时指示灯不发生变化,后来老师解释了一下是第二次输入的数据把第一次输入的数据覆盖了,让我们重新开始实验。后来由于粗心,紧张导致实验过程中频繁的将电位置错,我们又只能重新开始实验,终于在第三次实验时实验成功。在今后的相关实验中我们会更加细心,避免再犯同类的错误。
七、思考题
1、在向DR1和DR2寄存器置数时S
3、S
2、S、SO、M、Cn如何设置?
2、DR1置数完成后,如果不于控制端,LDDR1会怎样?
3、为什么在读取74LS181的输出结果时要打开输出三态门的控制端ALUB?答:1.在向DR
1、DR2寄存器置数时,不用设置S
3、S
2、S、SO、Cn、M这些控制端的状态。因为S
3、S
2、S、SO是运算选择控制端,由它们决定运算器执行哪一种运算;Cn是算术运算的进位控制端,Cn二0时表示有进位,运算时相当于在最低位上加进位1,Cn=l时表示无进位,逻辑运算与进位无关,M是算术/逻辑运算选择,M=0时执行算术运算,M=1时执行逻辑运算。2.当DR1置数完成后,如果不于控制端,当再次输入数据时,数据会将之前已经存入LDDR1中的数据覆盖。3.因为ALUB会控制运算器的运算输出结果送到数据总线BUS中。
举报
