西安财经学院信息学院
《计算机组成原理》 实验报告
实验名称 运算器实验 实验室 实验楼418
实验日期 2018.11. 8;11,13;11.20
第一部分 8位算术逻辑运算实验 一、实验目的 1、掌握算术逻辑运算器单元ALU(74LS181)的工作原理。 2、掌握简单运算器的数据传送通路组成原理。 3、验证算术逻辑运算功能发生器74LSl8l的组合功能。 4、按给定数据,完成实验指导书中的算术/逻辑运算。 二、实验内容 1、实验原理 实验中所用的运算器数据通路如图1-1所示。其中运算器由两片74LS181以并/串形成8位字长的ALU构成。运算器的输出经过一个三态门74LS245(U33)到内部数据总线BUSD0~D7插座BUS1~2中的任一个(跳线器JA3为高阻时为不接通),内部数据总线通过LZD0~LZD7显示灯显示;运算器的两个数据输入端分别由二个锁存器74LS273(U29、U30)锁存,两个锁存器的输入并联后连至内部总线BUS,实验时通过8芯排线连至外部数据总线EXD0~D7插座EXJ1~EXJ3中的任一个;参与运算的数据来自于8位数据开并KD0~KD7,并经过一三态门74LS245(U51)直接连至外部数据总线EXD0~EXD7,通过数据开关输入的数据由LD0~LD7显示。 图1-1中算术逻辑运算功能发生器 74LS181(U31、U32)的功能控制信号S3、S2、S1、S0、CN、M并行相连后连至6位功能开关,以手动方式用二进制开关S3、S2、S1、S0、CN、M来模拟74LS181(U31、U32)的功能控制信号S3、S2、S1、S0、CN、M;其它电平控制信号LDDR1、LDDR2、ALUB`、SWB`以手动方式用二进制开关LDDR1、LDDR2、ALUB、SWB来模拟,这几个信号有自动和手动两种方式产生,通过跳线器切换,其中ALUB`、SWB`为低电平有效,LDDR1、LDDR2为高电平有效。 另有信号T4为脉冲信号,在手动方式下进行实验时,只需将跳线器J23上T4与手动脉冲发生开关的输出端SD相连,按动手动脉冲开关,即可获得实验所需的单脉冲。 2、实验接线 A.本实验用到4个主要模块:
(2)数据输入并显示模块;(KD0~KD7) (3)数据总线显示模块;(LD0~LD7) (4)功能开关模块(借用微地址输入模块,S0~S3,M,CN) B.控制方式:手动控制方式; C.脉冲信号:T4,将跳线器J23上T4与手动脉冲发生开关的输出端SD相连,按动手动脉冲开关,即可获得实验所需的单脉冲信号。 D.控制信号:由跳线拨决定,跳线拨在上面为"1",拨在下面为"0",电平值由对应的显示灯显示。
E.根据实验原理详细接线如下:
说明:LDDR1、LDDR2、ALUB`、SWB`四个信号电平由对应的开关LDDR1、LDDR2、ALUB、SWB给出, T4由手动脉冲开关给出。 AR为算术运算时是否影响进位及判零标志控制位,低电平有效。 F.实验原理图
3、实验预习 (1)用二进制数码开关KD0—KD7向DR1和DR2寄存器置数。 ALU输出三态门(ALUB`置 1),目的是关闭输出三态门; SW输入三态门(SWB置 0),目的是开启输入三态门; 令LDDR1= 1 ,LDDR2= 0 ,通过KD0-KD7开关输入数据35H,按动手动脉冲发生按钮,将数据35H置入DR1寄存; 令LDDR1= 0 ,LDDR2= 1 ,通过KD0-KD7开关输入数据48H,按动手动脉冲发生按钮,将数据48H置入DR2寄存。 (2) 检验DR1和DR2中存入的数据是否正确。 具体方法:利用算术逻辑运算功能发生器 74LS181的逻辑功能,即M=1 。通过正确的逻辑运算,能够依次读出DR1和DR2的数据。 实现过程为:关闭数据输入三态门SWB`= 1 ,打开ALU输出三态门ALUB`= 0 ,当置S3、S2、S1、S0、M为 11111 时,总线指示灯显示 DR1 中的数,而置成 10101 时,总线指示灯显示DR2中的数。 4、实验步骤 (1)连接线路,仔细查线无误后,接通电源。 (2)用二进制数码开关KD0~KD7向DRl和DR2寄存器置数。 方法:关闭ALU输出三态门(ALUB’=1),开启输入三态门(SWB’=0),输入脉冲T4按手动脉冲发生按钮产生。设置数据开关具体操作步骤图示如下:
说明:LDDRl、LDDR2、ALUB’、SWB’四个信号电平由对应的开关LDDRl、 LDDR2、ALUB、SWB给出,拨在上面为“1”,拨在下面为“0”,电平值由对应的显示灯显示,T4由手动脉冲开关给出。 (3)检验DRl和DR2中存入的数据是否正确,利用算术逻辑运算功能发生器74LSl 8l的逻辑功能进行验算,即M=1。具体操作如下:关闭数据输入三态门SWB’=1,打开ALU输出三态门ALUB’=0,当置S3、S2、S1、S0、M为11111时,总线指示灯显示DR1中的数,而置成10101时总线指示灯显示DR2中的数。 (4)验证74LSl81的算术运算和逻辑运算功能(采用正逻辑) 在给定DRl=35H、DR2=48H的情况下,改变算术逻辑运算功能发生器的功能设置,观察运算器的输出,填入实验报告表中,并和理论分析进行比较、验证。 (5)以本组同学的学号后两位作为两个输入数据完成第(4)部分要求。 三、实验电路 本实验中使用的运算器数据通路如图1.1所示。 四、74LS181功能表 实验中用到的运算器74LS181功能表如表1.1所示。
表1.1 运算器74LS181功能表(正逻辑)
其中:①表中“+”表示逻辑或,“⊕”表示逻辑异或,“/”表示逻辑非,“AB”表示逻辑与。 ②加法运算时,CY=1表示运算结果有进位,CY=0表示运算结果无进位; 减法运算时,CY=1表示运算结果无借位,CY=0表示运算结果有借位。
五、实验数据 1、实验数据记录
以学号为作为输入数据
在此次实验的过程中出现了很多细节问题,比如在连线时ALU01和BUSI相连时有6个接口,连接时注意对齐; 写入数据时注意调至写入开关等, 通过这次实验,对算术逻辑运算器单元ALU(74LS181)的工作原理有了一定的认识,对接下来的学习和实验起到了很好的引导作用。 七、思考题 1、在向DR1和DR2寄存器置数时S3、S2、S1、S0、M、Cn如何设置? 2、DR1置数完成后,如果不关闭控制端,LDDR1会怎样? 3、为什么在读取74LS181的输出结果时要打开输出三态门的控制端ALUB’ ? 答:1、控制端S3、S2、S1、S0、M都是用来控制ALU的状态的,Cn是算术运算的进位控制端,它们都与DR1,DR2寄存器无关。因此不用设置这些控制端的状态。通过总线输出寄存器DR1和DR2的内容,设置有关控制端的开关状态,通过查找实验指导书表1.1.1得出,S3、S2、S1、S0、M设置为1、1、1、1、1时,数据总线显示灯显示DR1寄存器的内容,S3、S2、S1、S0、M、CN设置为1、0、1、0、1时数据总线显示灯显示DR2寄存器的内容。 2、LDDRl是寄存器DRl存数控制信号。高电平有效。LDDR2是寄存器DR2存数控制信号。高电平有效。如果不关闭控制端,则数据可能会丢失。 3、ALUB是ALU输出三态门的控制端,低电平有效,只有打开了才能将74LS181的数据输出。
第二部分 带进位控制8位算术逻辑运算实验 一、实验目的 1、验证带进位控制的算术逻辑运算发生器74LSl8l的功能。 2、按指定数据完成几种指定的算术运算。 二、实验内容 1、实验原理 带进位控制运算器的实验原理如图2.1所示,在实验1的基础上增加进位控制部分,其中高位74LS181(U31)的进位CN4通过门UN4E、UN2C、UN3B进入UN5B的输入端D,其写入脉冲由T4和AR信号控制,T4是脉冲信号,在手动方式下进行实验时,只需将跳线器J23上T4与手动脉冲发生开关的输出端SD相连,按动手动脉冲开关,即可获得实验所需的单脉冲。AR是电平控制信号(低电平有效),可用于实现带进位控制实验。从图中可以看出,AR必须为“0”电平,D型触发器74LS74(UN5B)的时钟端CLK才有脉冲信号输入。才可以将本次运算的进位结果CY锁存到进位锁存器74LS74(UN5B)中。 2、实验接线 实验连线详细如下: (1)J20,J21,J22,接上短路片, (2)J24,J25,J26接左边; (3)J27,J28 右边; (4)J23 置右边T4选“ SD” (5)JA5 置“接通”; (6)JA6 置“手动”; (7)JA3 置“接通”; (8)JA1,JA2,JA4置“高阻”; (9)JA8 置上面“微地址” (10)EXJ1接BUS3 (11)CE、299B 置“1”,AR置“0”; (12)总清开关拨在“1”电平。若总清开关拨在“0”电平,Cy清零。 3、实验步骤 (1)仔细查线无误后,接通电源。 (2)用二进制数码开关KDO~KD7向DRl和DR2 寄存器置数。 方法:关闭ALU输出三态门ALUB=1,开启输入三态门SWB=0,输入脉冲T4按手动脉冲发生按钮产生。如果选择参与操作的两个数据分别为55H、AAH,将这两个数存入DR1和DR2的具体操作步骤如下:
(3)开关ALUB=0,开启输出三态门,开关SWB=1,关闭输入三态门,同时让LDDR1=0,LDDR2=0。 (4)验证带进位运算及进位锁存功能 这里有两种情况:
此时不考虑CN的状态,再来进行带进位算术运算。同样步骤(2)参与运算的两个数为55H和AAH,当S3、S2、S1、S0、M状态为10010,此时输出数据总线显示灯上显示的数据为DRl加DR2再加当前进位标志CY,相加的结果同样为ALU=00,并且产生进位,此时按动手动脉冲开关,则进位标志灯亮,表示有进位。 (5)如果原来有进位,CY=1,进位灯亮,但需要清零进位标志时,具体操作方法如下:
注:进位标志指示灯CY亮时,表示进位标志为“1”,有进位; 进位标志指示灯CY灭时,表示进位位为“0”,无进位。 三、实验电路 带进位控制运算器的实验原理电路如图2.1所示。
图2.1 带进位控制运算器的数据通路
四、验证两种操作下带进位的运算功能的实验数据记录 ① Cy=0 进位灯灭
② Cy=1 进位灯亮
五、实验结果分析及总结 在做这个实验中由于有了实验一(一)的教训和经验,我们较顺利地完成了这个实验,当然也有一点疏忽就是存数完成后忘了对进位标志清零。但是总的来说,我验证了带进位控制的算术运算功能发生器的功能,掌握了进位控制的算术运算。本次试验我懂得了用进位控制运算器进行简单的算术运算,掌握了进位控制运算器的工作特性及使用方法。由于在对逻辑运算器实验的时间的把握不是很好和对实验的仪器的不熟悉,从而导致进位控制运算器的实验要在很短的时间内完成,虽然时间仓促,经过努力还是进本完成了实验的要求。 六、思考题 1、如何在进位运算操作前对进位标志清零? 2、在进行进位运算操作时,在何种情况下要对进位标志清零? 3、分析硬件电路说明在什么条件下,才能锁存8位运算后的进位标志? 答:1、将总清开关置零可以对进位标志清零。 2、产生进位时,但又不希望产生的进位对下一步操作造成影响就需要对进位标志清零。 3、AR必须为“0”电平,D型触发器74LS74(UN5B)的时钟端CLK才有脉冲信号输入。才可以将本次运算的进位结果CY锁存到进位锁存器74LS74(UN5B)中。 实验三 16位算术逻辑运算实验 一、实验目的 1、验证算术逻辑运算功能发生器 74LS181的16位运算组合功能。 2、掌握16位运算器的数据传送通路组成原理。 3、按要求和给出的数据完成几种指定的算术逻辑运算。 二、实验内容 1、实验原理 实验中所用16位运算器数据通路如图3.1所示。其中运算器由四片74LS181以并/串形成16位字长的ALU构成。低8位运算器的输出经过一个三态门74LS245(U33)到内部总线,低8位数据总线通过LZD0~LZD7显示灯显示;高8位运算器的输出经过一个三态门74LS245(U33`)到ALUO1`插座,实验时用8芯排线和高8位数据总线BUSD8~D15插座KBUS1或KBUS2相连,高8位数据总线通过LZD8~LZD15显示灯显示;参与运算的四个数据输入端分别由四个锁存器74LS273(U29、U30、U29`、U30、)锁存,实验时四个锁存器的输入并联连至内部数据总线再用8芯线连接到外部数据总线EXD0~D7插座EXJ1~EXJ3中的任一个;参与运算的数据源来自于8位数据开并KD0~KD7,并经过一三态门74LS245(U51)直接连至外部数据总线EXD0~EXD7,输入的数据通过LD0~LD7显示。 2、实验接线 本实验需用到6个主要模块:① 低8位运算器模块;② 数据输入并显示模块;③ 数据总线显示模块;④ 功能开关模块(借用微地址输入模块);⑤ 高8位运算器模;⑥ 高8位(扩展)数据总线显示模块。 根据实验原理详细接线如下(接线①~⑤同实验一): (1)J20,J21,J22,接上短路片, (2)J24,J25,J26接左边; (3)J27,J28 左边 (4)J23 置右边T4选“ SD” (5)JA5 置“接通”; (6)JA6 置“手动”; (7)JA3 置“接通”; (8)JA1,JA2,JA4置“高阻”; (9)JA8 置上面“微地址” (10)EXJ1接BUS3 (11)ALO1'接KBUS1 (12)开关CE 、AR 置1 (13)0ZI2,CN4,CN0接上短路片
3、实验步骤 (1)连接线路,仔细查线无误后,接通电源。 (2)用二进制数码开关KD7~KD0向DR1、DR2、DR3、DR4寄存器置数。方法:关闭ALU输出三态门应使ALUB`=1(即开关ALUB=1),开启输入三态门应使SWB`=0(即开关SWB=0),选通哪一个寄存器用对应开关LDDR1~LDDR4(高电平有效),其中LDDR3、LDDR4开关在高8位运算器上部,输入脉冲T4按手动脉冲发生按钮。设置数据开关具体操作步骤图示如下:
说明:LDDR1、LDDR2、ALUB`、SWB`、LDDR3、LDDR4六个信号电平由对应的开关LDDR1、LDDR2、ALUB、SWB、LDDR3、LDDR4给出,拨至上面为“1”,拨至下面为“0”,电平值由对应显示灯显示;T4由手动脉冲开关给出。 (3)验证74LS181的16位算术运算和逻辑运算功能(采用正逻辑)。 ·开关SWB=1,关闭输入三态门; ·开关ALUB=0,打开输出三态门; ·LDDR1~LDDR4四个开关全拨至“0”电平。 说明:如果要实现16位带进位控制算术逻辑运算,只需在实验二的基础上将开关AR=1置成AR=0即可。 ·根据表3.1所示内容,置功能开关S3、S2、S1、S0、M、CN改变74LS181的算术运算和逻辑运算功能设置,观察运算器输出,将观察结果填入表3.1中,并将理论计算结果写入表3.2中,进行比较验证。
表3.1 实验结果
注意:本实验做完后,拔掉连线ALUBUS`和ALUO1`,去掉短路套ZI2、CN0、CN4。 三、设计内容 1、 若有两个16位二进制数 :00FFH和2D5AH, 要求通过74LS181的运算,计算这两数相与的结果。 (1)实现的方法 参照74LS181功能表1.1将S3,S2,S1,S0置为1011,M置0、Cn置0。 (2)实验步骤 a.连接线路,仔细查线无误后,接通电源。 b.用二进制数码开关KD7~KD0向DR1、DR2、DR3、DR4寄存器置数。 方法:关闭ALU输出三态门应使ALUB`=1(即开关ALUB=1),开启输入三 态门应使SWB`=0(即开关SWB=0),选通哪一个寄存器用对应开关LDDR1 ~LDDR4(高电平有效),其中LDDR3、LDDR4开关在高8位运算器上部, 输入脉冲T4按手动脉冲发生按钮。 (3)实验结果 D25A (4)理论计算结果 D25A
2、 若有两个16位二进制数 :1234H和A987H, 要求通过74LS181的运算,计算这两数之和。 (1)实现的方法 将S3,S2,S1,S0置为1001,M置0、Cn置1。 (2)实验结果 BBBB (3)理论计算结果 BBBB 3、若被减数为7C69H和减数为1234H, 要求通过74LS181的运算,计算这两数之差。 (1)实现的方法
将S3,S2,S1,S0置为0110,M置0、Cn置0。 (2)实验结果 6A35 (3)两数之差 6A35 4、若被减数为1234 H和减数为7C69H, 要求通过74LS181的运算,计算这两数之差。和题4结果比较。 (1)实验步骤 a.连接线路,仔细查线无误后,接通电源。 b.用二进制数码开关KD7~KD0向DR1、DR2、DR3、DR4寄存器置数。 方法:关闭ALU输出三态门应使ALUB`=1(即开关ALUB=1),开启输入三 态门应使SWB`=0(即开关SWB=0),选通哪一个寄存器用对应开关LDDR1 ~LDDR4(高电平有效),其中LDDR3、LDDR4开关在高8位运算器上部, 输入脉冲T4按手动脉冲发生按钮。 (2)实验结果 95CB (3)实验结果表示的是什么 答:实验结果表示1234H和7C69H的差。 (4)比较题4和题3结果,并加以说明。 答:题四和题三结果分别是6A35和95CB,两者和为0000,所以互为相反数。
前面的实验都是按照实验指导书上的步骤一步一步做的,错误无非就是线没接好,或者是哪一步操作有问题,而本次实验是要自己设计实验步骤来完成实验,因此难度也更大了,通过本次实验我充分掌握了,16位算术逻辑运算数据的传送通路组成原理。进一步验证算术逻辑运算功能发生器 74LS181的组合功能。在这次实验过程中,我发现动手才能更加深刻理解和掌握计算机组成原理的知识。 |