计算机组成原理实验报告.docx
- 文档编号:29923808
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:22
- 大小:46.32KB
计算机组成原理实验报告.docx
《计算机组成原理实验报告.docx》由会员分享,可在线阅读,更多相关《计算机组成原理实验报告.docx(22页珍藏版)》请在冰豆网上搜索。
计算机组成原理实验报告
计算机学院计算机科学与技术专业02班___组学号3106006475
姓名___协作者___________教师评定_____________
实验题目实验一运算器实验
实验一
实验项目名称:
运算器实验(1.算术逻辑运算器2.进位控制运算器3.移位运算器)
实验项目性质:
验证实验
所属课程名称:
计算机组成原理
实验计划学时:
6学时
1.算术逻辑运算器
一、实验目的:
1.掌握算术逻辑运算器单元ALU(74LS181)的工作原理。
2.掌握简单运算器的数据传送通道。
3.验算由74LS181等组合逻辑电路组成的运算功能发生器运算功能。
4.能够按给定数据,完成实验指针的算术/逻辑运算。
二、实验内容和要求
1实验内容
(1)理解图1-1所示的算术逻辑运算器实验原理。
(2)图1-1算术逻辑运算器实验电路组成说明如下:
1)两片74LS181(每片4位)以并/串联形式构成字长为8位的算术逻辑运算器ALU。
左边的74LS181运算高四位数据,右边的74LS181运算低四位数据,两片181通过进位端进行连接(右边74LS181的高端进位接在左边74LS181的低端进位端上)。
2)A0-A3是4位数据输入端A,B0-B3是4位数据输入端B。
F0-F3是运算结果输出端。
3)运算器ALU的输出经过一个输出双向三态门(74LS245)与数据总线相连。
4)数据寄存器DR1和DR2向运算器ALU提供运算的数据。
D7……D0是数据输入端,Q7……Q0数据的输出端。
DR1数据份两半,数据的高四位输入给左边74LS181的A端,数据的低四位输入给右边74LS181的A端,因此数据寄存器DR1也叫A寄存器,类似的DR2也叫B寄存器。
5)8位数据开关D7-D0(在“INPUTDEVICE”中)用来输入参与运算的数据,并经过一个输入双向三态门(74LS245)与数据总线相连。
6)数据显示灯(BUSUNIT)已与数据总线相连,用来显示数据总线上的内容。
7)S3、S2、S1、S0、M、CN为ALU运算选择控制端,由它们共同决定运算器执行哪一种运算,见表1.1.1.
8)其中S3、S2、S1、S0为工作方式选择短,由它们决定运算器执行哪一行运算(16中算术或逻辑运算)。
图1-1算术逻辑运算器试验原理图。
9)M是算术/逻辑运算选择端,M=0时,执行算术运算,算术运算要考虑进位问题(要受CN影响),M=1时,执行逻辑运算,逻辑运算要考虑进位问题(不要受CN影响)。
10)Cn是算术运算的进位控制端,低电平有效。
Cn=0(低电平),表示有进位,运算时相当于在最低上加进位1,Cn=1(高电平),表示无进位。
逻辑运算Cn与无关。
11)ALU-B是输入三态门的控制端,控制运算器的运算结果是否送到数据总线BUS上。
含义是ALU->B,低电平有效。
12)SW-B是输入三态门的控制端,控制“INPUTDEVICE”中的8位数据开关D7-D0的数据是否送到数据总线BUS上。
含义是SWITCH->BUS,低电平有效。
13)LDDR1是寄存器DR1存数控制信号,LDDR2是七寸其DR2存数控制信号。
它们的含义是LOADDR1和LOADDR2,都是高电平有效。
14)74LS181ALU算术/逻辑运算功能表如表1.1.1所示:
表1.1.1
工作方式选择
S3S2S1S0
正逻辑输入与输出
M=H逻辑运
算(Cn任意)
M=L算术运算
Cn=H无进位
Cn=L有进位
L
L
L
L
A
A加1
L
L
L
H
A+B
(A+B)加1
L
L
H
L
B
A+
(A+
)加1
L
L
L
H
逻辑0
减1
0
L
H
L
L
A加A
A加A
加1
L
H
L
H
(A+B)加A
(A+B)加A
加1
L
H
H
L
A
B
A减B减1
A减B
L
H
H
H
A
A
减1
A
H
L
L
L
+B
A加AB
A加AB加1
H
L
L
H
A加B
A加B加1
H
L
H
L
B
A+
加AB
A+
加AB加1
H
L
H
H
AB
AB减1
AB
H
H
L
L
逻辑1
A加A
A加A加1
H
H
L
H
A+
(A+B)加A
(A+B)加A加1
H
H
H
L
A+B
(A+
)加A
(A+
)加A加1
H
H
H
H
A
A减1
A
(3)试验注意事项:
1、需要连接的控制信号在原理图中用圆圈标明。
2、本实验室用T4单步脉冲信号,实验时将“W/RUNIT”的T4插头接至“STATEUNIT”中的KK2正脉冲插头,按下未动开团KK2,可获得实验所需的但脉冲信号。
3、S3、S2、S1、S0、Cn、M、LDDR1、LDDR2、ALU-B、SW-B均为电平控制信号,与“SWITCHUNIT”中的二进制开关对应详解,用于模拟产生电平控制信号。
开关状态拔上去是高电平,拔下来时低电平。
4、ALU-B、SW-B为低电平有效,LDDR1、LDDR2为高电平有效。
5、凡是控制信号带有-B的,都表示低电平有效。
6、8位数据开关D7-D0(在“INPUTDEVICE”区域中)作为数据输入,拔上去为“1”,拔下来为“0”。
7、用数据开关输入数据是,要打开(SW-B=0),关闭输出(ALU-B=1)。
8、输出运算结果时,要关闭输入三态门(SW-B=1),打开三态门(ALU-B=0)。
9、“A+B”是指逻辑加(或运算),“A加B”是指算术加。
(4)按图1-2在试验仪上连接算术逻辑运算器线路。
2、实验要求
按练习一、练习二、练习三和练习四的要求输入数据和完成相应的操作,将实验结果填入表1.1.2、1.1.3、1.1.4和1.1.5中。
三、实验主要设备和材料
计算机组成原理实验仪一台,实验仪接线若干条。
四、实验方法、步骤及结果测试
(一)实验方法、步骤
1、实验连线
按图1-2在实验仪上接好线后,仔细检查正确与否,无误后才接通电源。
每次实验都要接一些线,请先接线,后打开电源,养成不带电接线的习惯,这样可以避免烧坏实验仪。
2、用二进制数据开关分别向DR1寄存器和DR2寄存器寄数,具体操作步骤如下面例1和例2。
例1:
向DR1寄存器输入二进制数据00110011,其操作步骤是:
(1)设置输入数据开关状态:
将实验仪左下方“INPUTDEVICE”中的8位数据开关D7-D0设置为00110011。
(2)设置有关控制端的开关状态:
在实验仪“SWITCHUNIT”中打开输入三态门控制端,即SW-B=0,关闭输出三态门控制端,即ALU-B=1(对于数据总线,在任一时刻,只能有一个数据向它输出),打开DR1寄存器存数控制信号,即LDDR1=1,关闭DR2寄存器存数控制信号,即LDDR2=0。
此时输入的数据送到数据总线上,通过“BUSUNIT”中数据显示灯B7-B0显示。
(3)与T4脉冲配合可将总线上的数据输入DR1寄存器中:
按下KK2微动开关即可。
(4)关闭DR1寄存器的存数控制信号:
LDDR1=0。
例2:
向DR2寄存器输入二进制数据01100110,其操作步骤是:
(1)设置属数据的开关状态:
将实验仪在下方“INPUT DEVICE”中的8位数据开关D7-D0设置为01100110。
(2)设置有关控制端的开关状态:
实验仪“SWICHUNIT”打开输入三态门控制段,即SW—B=0,挂壁输入三态门控制端,即ALU—B=1,打开DR2寄存器存数控制信号,即LDDR2=1,关闭DR1寄存器控制器存数控制信号,即LDDR1=0,此时输入数据传到数据总线上,通过“BUS UNIT”数据显示灯B7-B0。
(3)与T4脉冲配合可将总线上的数据输入DR2寄存器中:
按下KK2微动开关即可。
(4)关闭寄存器的存数控制信号:
LDDR2=0。
例3:
输入DR1寄存器的内容,操作步骤如下:
(1)关闭输入三态门的控制端:
SW-B=1。
打开输入三态门的控制端:
ALU-B=0。
(2)设置有关控制端的开关状态:
根据查找表1.1.1可知,当S0、S1、S2、S3、M设置为1、1、1、1、1时,总线(“BUSUNIT”)显示灯B7-B0显示DR1寄存器的内容。
所以把实验仪“SWITCHUNIT”中S0、S1、S2、S3、M各开关分别设置1、1、1、1、1。
例4:
输入DR2寄存器的内容,操作步骤如下:
(1)关闭输入三态门的控制端:
SW-B=1。
打开输入三态门的控制端:
ALU-B=0。
(2)设置有关控制端的开关状态:
根据查找表1.1.1可知,当S3、S2、S1、S0、M设置为1、0、1、0、1时,总线(“BUSUNIT”)显示灯B7-B0显示DR2寄存器的内容。
所以把实验仪“SWITCHUNIT”中S0、S1、S2、S3、M各开关分别设置为1、0、1、0、1。
(二)结果测试
练习一:
参考例1、例2、例3、例4的操作过程,完成下面的操作练习:
(1)向DR1寄存器存入数据10101010。
(参考例1操作)
(2)向DR2寄存器存入数据01010101。
(参考例2操作)
(3)要求在总线上分别输入DR1和DR2的内容(参考例3和例4),正确设置实验仪S0、S1、S2、S3、M、Cn各开关状态,然后观察总线显示灯B7-B0显示的结果,按表1.1.2的要求分别填入在输入DR1和DR2内容时ALU-B、SW-B、S0、S1、S2、S3、M、Cn各控制信号的状态以及总线(“BUSUNIT”)显示灯B7-B0输入的结果,验证DR1和DR2输入的结果与输入的结果是否一致。
表1.1.2(表中ALU-B和SW-B填写的是数据输入状态)
操作
ALU-B
SW-B
S0、S1、S2、S3、M、Cn
记录总线上显示灯B7-B0显示的结果
比较输出结果与输入数据是否一致
输入DR1的内容
0
1
11111x
10101010
是
输出DR2的内容
0
1
10100x
01010101
是
练习二:
验证表1.1.1中74LS181的算术和逻辑运算功能(采用正逻辑)。
下面表1.1.3给定了寄存器DR1和DR2的数据(十六进制表示),要求根据这些数据,改变S0、S1、S2、S3、M、Cn的状态,观察实验结果(“BUSUNIT”显示灯B7-B0显示实验结果),然后与表1.1.1中74LS181算术/逻辑功能表所得的理论值进行比较和验证,若实验结果与理论值一致,就把实验结果填入表1.1.3中括号里。
若不一致,要求检查原因。
注意:
(1)表中DR1和DR2的数据是用十六进制表示,输入时要将十六进制数据转为二进制数据输入。
DR1和DR2数据输入操作参考前面例1和例2。
(2)数据输入完成后,置开关SW-B=1,ALU-B=0,按表1.1.3的要求改变实验仪S0、S1、S2、S3、M、Cn的开头状态,通过“BUSUNIT”显示灯B7-B0显示相应运算的实验结果。
表1.1.3
DR1
DR2
S3S2S1S0
逻辑运算(M=1、Cn任意)
算术运算(M=0)
Cn=1(进位)
Cn=0(有进位)
AA
55
0000
F=(01010101)
F=(10101010)
F=(10101011)
AA
55
0001
F=(00000000)
F=(11111111)
F=(00000000)
AA
55
0010
F=(01010101)
F=(10101010)
F=(10101011)
AA
55
0011
F=(00000000)
F=(11111111)
F=(00000000)
65
A7
0100
F=(01011010)
F=(10100101)
F=(10100110)
65
A7
0101
F=(01011000)
F=(00100111)
F=(00101000)
65
A7
0110
F=(11000010)
F=(10111101)
F=(10111110)
65
A7
0111
F=(01000000)
F=(001111111)
F=(01000000)
FF
FF
1000
F=(11111111)
F=(11111110)
F=(11111111)
FF
FF
1001
F=(11111111)
F=(11111110)
F=(11111111)
FF
FF
1010
F=(11111111)
F=(11111110)
F=(11111111)
FF
FF
1011
F=(11111111)
F=(11111110)
F=(11111111)
55
01
1100
F=(11111111)
F=(10101010)
F=(10101011)
55
01
1101
F=(11111111)
F=(10101010)
F=(10101011)
55
01
1110
F=(01010101)
F=(01000100)
F=(01000101)
55
01
1111
F=(01010101)
F=(01010100)
F=(01010101)
练习三:
完成表1.1.4列出几种常用的算术与逻辑运算的操作,要求:
(1)向DR1输入数据66H(十六进制,输入时要转为二进制数据输入,参考例1)。
(2)向DR2输入数据FFH(十六进制,输入时要转为二进制数据输入,参考例2)。
(3)按表中指定的操作,查找表1.1.1中74LS181算术/逻辑功能表以确定控制端S3、S2、S1、S0、M、Cn的状态,把各控制端的状态填入表1.1.4中相应栏里。
(4)改变实验仪S3S2S1S0MCn开关状态,可得出相应运算的实验结果(实验结果在“BUSUNIT”显示灯B7-B0显示),再把实验结果与理论值进行比较和验证,若实验结果与理论值一致,就把实验结果填入括号中。
若实验值与理论值不一致,要检查各控制端的设置正确否或者其它原因的影响。
(5)每做完一次运算操作后,都要求把运算结果存入DR2寄存器。
(具体操作是:
将开关LDDR2置为“1”,然后按一下KK2微动开关即可。
)
(6)后面运算中DR2的数据取自前面运算的结果,不需要重新输入DR2的初值。
(7)表中“传送”这一操作要求先把DR1寄存器的内容通过总线显示出来(参考前面的例3),然后再存入DR2。
(8)表中“加1”、“加法”、“减法”是属于算术运算,要按算术运算的操作老查找各控制端的状态。
表1.1.4(表中ALU-B和SW-B填写的是数据输出状态)
操作
ALU-B
SW-B
S3S2S1S0
M
Cn
DR1
DR2
运算关系及结果显示
逻辑乘
0
1
1011
0
0
66
FF
DR1.DR2---DR2(66)
传送
0
1
1010
1
X
66
66
DR1---DR2(66)
按位加
0
1
0110
0
X
66
66
DR1DR2DR2(00)
逻辑加
0
1
1110
1
X
66
00
DR1+DR2DR2(66)
取返
0
11
0000
1
0
66
66
DR1DR2(99)
加1
0
1
0000
0
0
66
99
DR1加1DR2(67)
加法(算术加)
0
1
1001
0
1
66
67
DR1加1DR2(CD)
减法
0
1
0110
0
0
66
CD
DR1减DR2DR2(99)
练习四:
设计一条求补指令。
令DR1=10101010,DR2=100011001,分别对DR1和DR2的内容进行求补运算,正确选择S3、S2、S、S0、M、Cn,记录实验结果并与理论值进行比较,分析实验值和理论值是否一致?
若实验值和理论值不一致,要检查求补指令及操作是否正确,正确后填写表1.1.5。
表1.1.5
操作
ALU-B
SW-B
S3S2S1S0
M
Cn
DR1
DR2
运算关系及结果显示
对DR1的内容
0
1
0000
1
X
AAH
01010101
求补
0
1
0000
0
0
55H
01010110
对DR2的内容
0
1
0000
1
X
99H
01100110
求补
0
1
0000
0
0
66H
01100111
六、思考题
1,写出本实验中各控制端的作用。
答:
Cn是算术进位的控制端,低电平有效。
ALU-B是输出三态门的控制端,控制运算器的运算结果是否送到数据总线BUS上。
含义是ALU-B低电平有效。
SW-B是输入三态门的控制端,控制八位数据开关的数据是否送到数据总线BUS上。
LDRR1是寄存器DR1存数控制信号,LDRR2是寄存器DR2的存数控制信号,都是高电平有效。
S3、S2、S1、S0、M、Cn为ALU运算器选择控制端由它们共同决定运算器执行哪一种运算。
2,在本实验中哪些控制端高电平有效,哪些控制端低电平有效?
答:
高电平有效:
LDRR1、LDRR2,
低电平有效:
SW-B、ALU-B、CN
3,在实验正常的输入和输出操作中,SW-B和ALU-B为什么不能同时为“0”状态?
答:
同时为0的话SW-B合ALU-B都有效数据同时传到总线上,产生数据冲突。
4,DR1置数完成后,为什么要关闭控制端LDDR1?
DR2置数完成后,为什么要关闭控制端LDD2?
答:
分别关闭LDRR1合LDRR2可以保证寄存在寄存器里面的数据不回受外界的影响.
5,在练习三的表1.1.4中,要求将每一次的运算结果都要存入DR2寄存器,解释该存入操作中为什么不用将SW-B置“0”和ALU-B置“1”。
答:
将SW-B置“0”和ALU-B置“1”是用来控制从数据开关传到寄存器的,而此时是直接从运算结果传到寄存器中的
6,“A+B”和“A加B”这两种运算有什么不同,查找表1.1.1,分别写出这两种运算中S3、S2、S1、S0、M、Cn各控制信号的状态。
答:
“A+B”指的是逻辑运算即或运算,而“A加B”指的是算术运算。
S3
S2
S1
S0
M
CN
“A+B”
0
0
0
1
0
x
“A加B”
1
0
0
1
0
x
7,Cn是进位控制端,在逻辑运算和算数运算中,它与哪种运算有关?
答:
与算数运算有关
8,做减法操作DR1减DR2时,与进位Cn是否有关?
如有关Cn是0还是1?
答:
有关,CN是0
2、进位控制运算器
一、实验目地
1.验证带进位控制的算术运算发生器的功能。
2.按给定的数据完成几种指定的算术运算。
二、实验内容和要求
1.实验内容
1理解进位控制运算器的原理。
2进位控制器运算器实验电路说明如下:
1该实验电路是在算术逻辑运算器实验电路的基础上增加进位控制部分,进位控制部分电路主要由一个74LS74锁存器组成,运算器的高位进位进入74LS74锁存器里。
2AR是74LS74S锁存器的控制信号,低电平有效,与T4脉冲信号配合,可打开锁存器把进位结果存入其内。
3CY是高位进位标志信号,连接一个发光二极管显示进位情况,当高位有进位时灯亮,无进位时灯灭。
⑶实验注意事项
1本实验使用T4单步脉冲信号,实验时将“W/RUNIT”中的T4接至“STATEUNIT”中KK2的正脉冲插头上,按下微动开关KK2,即可获得实验所需的单脉冲信号。
2S3、S2、S1、S0、Cn、M、LDDR1、LDDR2、ALU-B、SW-B、Arj均为电平信号,与“SWITCHUNIT”中的二进制开关对应相接,用于产生模拟信号。
3ALU-B、SW-B、AR为低电平有效,LDDR1、LDDR2为高电平有效。
4试验仪上进位指示灯CY亮时,表示高位有进位,熄灭表示高位无进位。
5试验仪上ZI是判零标志灯,当两片74LS181输出全为“0”时,ZI灯亮,当两片74LS181输出不全为“0”时,ZI灯灭。
6每次做进位操作前,都必须先对进位标志清零。
清零后,注意观看试验仪上进位指示灯CY是否已灭,若清零后CY不灭,要检查原因。
7进位清零操作时,有关控制端的状态是:
S3、S2、S1、S0、M、AR、LDDR1、LDDR2置为000000000,然后按下微动开关KK2即可。
8做清零操作时,DR1寄存器的内容不能为11111111。
2.实验要求
按练习一和练习二的要求输入数据和完成相应的操作,将实验结果填入表1.2.2,1.2.3。
三,实验主要设备和材料
计算机组成原理实验仪一台,排线若干条。
四.实验方法,步骤及结果测试
(一)实验方法与步骤
1.实验连线
按图1-4在实验仪上连接好导线后,仔细检查正确与否,无误后接通电源。
2.验证带进位算术运算的进位锁存功能,详细操作过程如下面例题:
例题:
设DR1=10101010,DR2=01010101,分别完成无进位算术加法(DR1加DR2)和有进位算术加法(DR1加DR2加1)的运算。
其操作过程如下:
(1)参考算术逻辑运算实验的例1和例2,向DR1存入数据10101010,向DR2存入数据01010101。
(2)存数完成后,要对进位标志清零,操作如下:
先将控制端S3,S2,S1,S0,M置为00000,AR置为0,然后按下微动开关KK2。
即可对进位清零。
清零后,实验仪进位灯CY灭。
(清零后如果实验仪上进位灯CY不灭,要检查原因)
(3)无进位算术加法和有进位算术加法运算时各控制端设置,运算结果显示及进位灯状态如表1.2.1。
(Cn=1时,表示无进位,Cn=0时,表示有进位,做算术加法操作时S3,S2,S1,S0,M各控制信号的设置请查看表1.1.174LS181算术/逻辑功能表)
表1.2.1
操作
AR
SW-B
ALU-B
S3S2S1S0MCn
数据总线内容(“BUSUNIT”显示灯B7-B0)
T4脉冲
CY灯
高位有无进位
DR1加DR2
0
1
0
100101
DR1加DR2=10101010加01010101=11111111
按下开关KK2
灭
无
DR1加DR2加1
0
1
0
100100
DR1加DR2加Cn=10101010加01010101加1=00
按下开关KK2
亮
有
从表1.2.1可以看到,若运算结果中高位无进位,CY灯灭,若高位有进位,CY灯亮。
(二)结果测试
练习一:
设DR1=10101010,DR2=00000001,分别完成无进位算术加法(DR1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 实验 报告