运算器实验实验报告计算机组成原理.docx
《运算器实验实验报告计算机组成原理.docx》由会员分享,可在线阅读,更多相关《运算器实验实验报告计算机组成原理.docx(10页珍藏版)》请在冰豆网上搜索。
运算器实验实验报告计算机组成原理
运算器实验实验报告(计算机组成原理)
西安财经学院信息学院
《计算机组成原理》
实验报告
实验名称
运算器实验
实验室
实验楼418
实验日期
第一部分
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芯排线连至外部数据总线E_D0~D7插座E_J1~E_J3中的任一个;参与运算的数据来自于8位数据开并KD0~KD7,并经过一三态门74LS245(U51)直接连至外部数据总线E_D0~E_D7,通过数据开关输入的数据由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个主要模块:
(1)低8位运算器模块;(74LS181芯片2片
74LS273芯片2个,分别存放数据A和B)
(2)数据输入并显示模块;(KD0~KD7)
(3)数据总线显示模块;(LD0~LD7)
(4)功能开关模块(借用微地址输入模块,S0~S3,M,CN)
B.控制方式:
手动控制方式;C.脉冲信号:
T4,将跳线器J23上T4与手动脉冲发生开关的输出端SD相连,按动手动脉冲开关,即可获得实验所需的单脉冲信号。
D.控制信号:
由跳线拨决定,跳线拨在上面为“1”,拨在下面为“0”,电平值由对应的显示灯显示。
E.根据实验原理详细接线如下:
(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)E_J1接BUS3;高有效信号运算器运算方式:
S0~S3,M,CN;锁存器控制:
LDDR1、LDDR2;低有效信号输入控制台:
SWB运算器输出?
制:
ALUB
(11)开关CE、AR
置1;说明:
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,按动输入控制台(KD0~KD7)ALU181ALU181DR1273DR2273A低四位B高四位B低四位A高四位三态门245LD0~LD7
手动脉冲发生按钮,将数据48H置入DR2寄存。
(2)
检验DR1和DR2中存入的数据是否正确。
具体方法:
利用算术逻辑运算功能发生器74LS181的逻辑功能,即M=1。
通过正确的逻辑运算,能够依次读出DR1和DR2的数据。
实现过程为:
关闭数据输入三态门SWB`=1
,打开ALU输出三态门ALUB`=
0
,当置S3、S2、S1、S0、M为
11111
时,总线指示灯显示
DR1
中的数,而置成
01
时,总线指示灯显示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中存入的数据是否正确,利用算术逻辑运算功能发生器74LSl8l的逻辑功能进行验算,即M=1。
具体操作如下:
关闭数据输入三态门SWB��=1,打开ALU输出三态门ALUB��=0,当置S3、S2、S1、S0、M为11111时,总线指示灯显示DR1中的数,而置成01时总线指示灯显示DR2中的数。
(4)验证74LSl81的算术运算和逻辑运算功能(采用正逻辑)
在给定DRl=35H、DR2=48H的情况下,改变算术逻辑运算功能发生器的功数据开关置数开输入三态门数据存入寄存器DR2ALUB=1SWB=0LDDR1=0LDDR2=1T4=
KD7~KD001001000LDDR1=1LDDR2=0T4=
数据开关置数开输入三态门数据存入寄存器DR1ALUB=1SWB=0KD7~KD000101
能设置,观察运算器的输出,填入实验报告表中,并和理论分析进行比较、验证。
(5)以本组同学的学号后两位作为两个输入数据完成第(4)部分要求。
三、实验电路
本实验中使用的运算器数据通路如图1.1所示。
四、174LS181功能表
实验中用到的运算器74LS181功能表如表1.1所示。
表1.1
运算器74LS181功能表(正逻辑)
4位ALUS3S2S1S0M=0(算数运算)
M=1(逻辑运算)
CCn=1无进位CCn=0有进位00
0
00
0
0
10
0
1
00
0
1
10
1
0
00
1
0
10
1
1
00
1
1
11
0
0
01
0
0
11
0
1
01
0
1
11
1
0
01
1
0
11
1
1
01
1
1
1F=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_
B)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、实验数据记录加数1
DR1加数2DR2S3S2
S1S0M=0(算术运算)
M=1(逻辑运算)
Cn=1无进位Cn=0有进位
35
480000000100100011010001010110011110001001101010111100110111101111F=00101F=01111
F=11F=11111111F=01010F=10010F=11100F=00100F=00101F=01111F=11F=11111111F=01010F=10010F=11011F=00100F=00110F=01111110F=11000F=00000000F=01011F=10011F=11F=00101F=00110F=01111110F=11000F=00000000F=01011F=10011F=11100F=00101F=11000F=10000010F=01001000F=00000000F=11111111F=11F=01111F=00101F=11000F=10000010F=01001000F=00000000F=11111111F=11F=01111100F=00101
以学号为作为输入数据
加数1
DR1加数2DR2S3S2
S1S0M=0(算术运算)
M=1(逻辑运算)
Cn=1无进位Cn=0有进位
40
410000000100100011010001010110011110001001101010111100110111101111F=01000000F=01000001
F=11111110F=11111111F=01000000F=01000001F=11111110F=11111111F=10000000F=10000001F=00111110F=00111111F=10000000F=10000001F=00111110F=00111111F=01000001F=01000010F=11111111F=00000000F=01000001F=01000010F=00000000F=00000000F=10000001F=10000010F=00111111F=01000000F=10000001F=10000010F=00111111F=01000000F=11111F=11110F=00000001F=00000000F=11111F=11110F=00000001F=00000000F=11111111F=11111110F=01000001F=01000000F=11111111F=11111110F=01000001F=01000000
六、实验结果分析及总结
通过这一次实验,我明白了算术逻辑运算器单元ALU(74SL181)的实验工作原理,同时因为掌握了简单运算器的数据传送通路组成原理,也验证了算术逻辑运算功能发生器74LS181的组合功能,同时也理解了实验通路中各个模块的作用。
虽然说这一次实验取得了成功,但是我们在这一次的实验过程中也遇到了一些问题。
比如我们在实验开始的时候忘记了实验箱中打开那些开关的先后顺序,导致实验数据开始没有输入进去,数据输入进去后,发现我们进行实验时指示灯不发生变化,后来老师解释了一下是第二次输入的数据把第一次输入的数据覆盖了,让我们重新开始实验。
后来由于粗心,紧张导致实验过程中频繁的将电位置错,我们又只能重新开始实验,终于在第三次实验时实验成功。
在今后的相关实验中我们会更加细心,避免再犯同类的错误。
七、思考题
1、在向DR1和DR2寄存器置数时S3、S2、S1、S0、M、Cn如何设置?
2、DR1置数完成后,如果不关闭控制端,LDDR1会怎样?
3、为什么在读取74LS181的输出结果时要打开输出三态门的控制端ALUB��?
答:
1.
在向DR1、DR2寄存器置数时,不用设置S3、S2、S1、S0、Cn、M这些控制端的状态。
因为S3、S2、SI、S0是运算选择控制端,由它们决定运算器执行哪一种运算;Cn是算术运算的进位控制端,Cn=0时表示有进位,运算时相当于在最低位上加进位1,Cn=1时表示无进位,逻辑运算与进位无关,M是算术/逻辑运算选择,M=0时执行算术运算,M=1时执行逻辑运算。
2.当DR1置数完成后,如果不关闭控制端,当再次输入数据时,数据会将之前已经存入LDDR1中的数据覆盖。
3.因为ALUB`会控制运算器的运算输出结果送到数据总线BUS中。