计算机组成原理实验一实验报告.docx
- 文档编号:20150203
- 上传时间:2023-04-25
- 格式:DOCX
- 页数:23
- 大小:57.90KB
计算机组成原理实验一实验报告.docx
《计算机组成原理实验一实验报告.docx》由会员分享,可在线阅读,更多相关《计算机组成原理实验一实验报告.docx(23页珍藏版)》请在冰豆网上搜索。
计算机组成原理实验一实验报告
实验一运算器实验
(一)算术逻辑运算器
一、实验目的:
1.掌握算术逻辑运算器单元ALU(74LS181)的工作原理
2.掌握简单运算器的数据传送通道
3.验算由74LS181等组合逻辑电路组成的运算功能发生器运算功能
4.按给定数据,完成实验指定的算术/逻辑运算
二、实验设备
计算机组成原理实验仪一台,排线若干条。
三、实验原理
实验中所用的运算器数据通道电路如图1-1所示。
数据显示灯
CN
B7…………B0
74LS245
A7…………A0
ALU_B
F3…F0CN
CN+4ALU(181)
MA3…A0B3…B0
CN+4F3……F0
ALU(181)
MA3…A0B3…B0
Q7…Q4Q3…Q0
DR2(273)
D7………D0
Q7…Q4Q3…Q0
DR1(273)
D7………D0
…………
……
三态门245
数据开关
……
运算器实验电路说明:
(1)两片74LS181(每片4位)以并/串联形式构成字长为8位的运算器。
(2)8位运算器的输出经过一个输入双向三态门(74LS245)与数据总线相连,运算器的两个数据输入端分别与两个8位寄存器(74LS273)DR1和DR2的输出端相连,DR1和DR2寄存器是用于保存参加运算的数据和运算的结果.寄存器的输入端与数据总线相连。
(3)8位数据开关D7~D0(在“INPUTDEVICE”中)用来产生参与运算的数据,经过一个输出三态门(74LS245)与数据总线相连,数据显示灯(BUSUNIT)已与数据总线相连,用来显示数据总线上的内容。
(4)S3、S2、S1、S0是运算选择控制端,有它们决定运算器执行哪一种运算(16种算术运算或16种逻辑运算)。
(5)M是算术/逻辑运算选择,M=0时,执行算术运算,M=1时,执行逻辑运算。
(6)Cn是算术运算的进位控制端,Cn=0(低电平),表示有进位,运算时相当于在最低位上加进位1,Cn=1(高电平),表示无进位。
逻辑运算与进位无关。
(7)ALU-B是输出三态门的控制端,控制运算器的运算结果是否送到数据总线BUS上。
低电平有效。
(8)SW-B是输入三态门的控制端,控制“INPUTDEVICE”中的8位数据开关D7~D0的数据是否送到数据总线BUS上。
低电平有效。
(9)LDDR1是寄存器DR1存数控制信号,LDDR2是寄存器DR2存数控制信号。
它们都是高电平有效。
(10)A0~A3是4位数据输入通道A,B0~B3是4位数据输入通道B。
(11)F0-F3是运算结果输出端。
(12)74LS181ALU算术/逻辑运算功能表如表1.1.1所示:
表1.1.1
工作方式选择输入
S3S2S1S0
正逻辑输入与输出
M=H
逻辑运算
M=L算术运算
Cn=H无进位
Cn=L有进位
LLLL
﹁A
A
A加1
LLLH
﹁(A+B)
A+B
(A+B)加1
LLHL
﹁AB
A+﹁B
(A+﹁B)加1
LLHH
逻辑0
减1
0
LHLL
﹁(AB)
A加A(﹁B)
A加A(﹁B)加1
LHLH
﹁B
(A+B)加A(﹁B)
(A+B)加A﹁B加1
LHHL
A⊕B
A减B减1
A减B
LHHH
A(﹁B)
A(﹁B)减1
A(﹁B)
HLLL
﹁A+B
A加AB
A加AB加1
HLLH
﹁(A⊕B)
A加B
A加B加1
HLHL
B
A+﹁B加AB
A+﹁B加AB加1
HLHH
AB
AB减1
AB
HHLL
逻辑1
A加A
A加A加1
HHLH
A+﹁B
(A+B)加A
(A+B)加A加1
HHHL
A+B
(A+﹁B)加A
(A+﹁B)加A加1
HHHH
A
A减1
A
四.实验注意事项
(1)需要连接的控制信号在原理图中用圆圈标明.
(2)本实验使用T4单步脉冲信号,实验时将“W/RUNIT”的T4插头接至“STATEUNIT”中的kk2正脉冲插头,按下微动开关KK2,即可获得实验所的单脉冲信号。
(3)S3,S2,S1,S0,Cn,M,LDDR1,LDDR2,ALU-B,,SW-B均为电平信号,与“SWITHUNIT”中的二进制开关对应相接,用于模拟产生电平控制信号。
开关状态打上去是高电平,打下来是低电平。
(4)ALU-B,SW-B为低电平有效,LDDR1,LDDR2为高电平有效。
(5)凡是控制信号带有“-B”的,都表示低电平有效。
(6)8位数据开关D7~D0(在“INPUTDEVICE”中)作为数据输入,打上去是“1”,打下来是“0”。
(7)用数据开关输入数据时,要打开SW-B(SW-B=0),关闭ALU-B(ALU-B=1)。
(8)输入运算结果时,要关闭SW-B(SW-B=1),打开ALU-B(ALU-B=0)。
(9)“A+B”是指逻辑加(或运算),“A加B”是指算术加。
五实验内容以及步骤
1实验连线
按图1-2在实验仪上接好后,仔细检查正确与否,无误后接通电源。
ALU-UNIT
AUJ3
299-BALU-BS3S2S1S0MCnLDDR1LDDR2
图1-2算术逻辑运算实验连线图
2.用二进制数据开关分别向DR1寄存器和DR2寄存器置数。
例1:
向DR1寄存器输入二进制数据00110011,其操作步骤是:
(1)设置输入数据的开关状态:
将试验仪左下方“INPUTDEVICE”中的8位数据开关D7~D0设置为00110011。
(2)设置有关控制端的开关状态:
在试验仪“SWITCHUNIT”中打开输入三态门控制端,即SW-B=0,关闭输出三态门控制端,即ALU-B=1,打开DR1寄存器存数控制信号,即LDDR1=1,关闭DR2寄存器存数控制信号,即LDD2=0。
此时输入的数据送到数据总线上,通过“BUSUNIT”中数据显示灯B7~B0显示。
(3)与T4脉冲配合可将总线上的数据输入DR1寄存器中:
按下KK2微动开关即可。
(4)关闭DR1寄存器的存数控制信号:
LDDR1=0。
例2:
向DR2寄存器输入二进制数据01100110,其操作步骤是:
(1)设置输入数据的开关状态:
将试验仪左下方“INPUTDEVICE”中的8位数据开关D7~D0设置为0110110。
(2)设置有关控制端的开关状态:
在试验仪“SWITCHUNIT”中打开输入三态门控制端,即SW-B=0,关闭输出三态门控制端,即ALU-B=1,打开DR2寄存器存数控制信号,即LDDR2=1,关闭DR1寄存器存数控制信号,即LDDR1=0,此时输入数据送到数据总线上,通过“BUSUNIT”数据显示灯B7~B0显示。
(3)与T4脉冲配合可将总线上的数据输入DR2寄存器中:
按下KK2微动开关即可。
(4)关闭DR2寄存器的存数控制信号:
LDDR2=0。
3.通过总线输出寄存器DR1和DR2的内容。
例3:
输出DR1寄存器的内容,其操作步骤如下:
(1)关闭输入三态门的控制端:
SW-B=1。
打开输出三态门的控制端:
ALU-B=0。
(2)设置有关控制端的开关状态:
根据查找表1.1.1可知,当S3、S2、S1、S0、M设置为1、1、1、1、1时,总线(“BUSUNIT”)显示灯B7~B0显示DR1寄存器的内容。
所以把试验仪“SWITCHUNIT”中的S3、S2、S1、S0、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”中的S3、S2、S1、S0、M各开关设置为1、0、1、0、1即可。
4.操作练习:
练习一:
参考例1、例2、例3、例4的操作过程,完成下面的操作练习:
(1)向DR1寄存器输入数据10101010。
(参考例1)
(2)向DR2寄存器输入数据01010101。
(参考例2)
(3)要求在总线上分别输出DR1和DR2的内容(参考例3和例4),正确设置试验仪S3、S2、S1、S0、M、Cn各开关的状态,然后观察总线显示灯B7~B0显示的结果,按表1.1.2的要求分别填入在输出DR1和DR2内容时ALU-B、SW-B、S3、S2、S1、S0、M、Cn各控制信号的状态以及总线(“BUSUNIT”)上显示灯B7~B0输出的结果,验证DR1和DR2输出的结果与输入的数据是否一致。
表1.1.2(表中ALU-B和SW-B填写的是数据输出状态)
操作
ALU-B
SW-B
S3S2S1S0MCn
总线上显示灯B7~B0显示输出的结果
输出的结果与输入数据一致否
输出DR1的内容
输出DR2的内容
练习二:
验证表1.1.1中74LS181的算术和逻辑运算功能(采用正逻辑)。
下面表1.1.3给定了寄存器DR1和DR2的数据(十六进制表示),要求根据这些数据,改变S3、S2、S1、S0、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的要求改变实验仪S3S2S1S0MCn的开关状态,然后通过“BUSUNIT”显示灯B7~B0显示相应运算的实验结果,并把实验结果填入表1.1.3的括号里。
表1.1.3
DR1数据
DR2数据
S3S2S1S0
逻辑运算
(M=1)
算术运算(M=0)
Cn=1(无进位)
Cn=0(有进位)
AA
55
0000
F=()
F=()
F=()
AA
55
0001
F=()
F=()
F=()
AA
55
0010
F=()
F=()
F=()
AA
55
0011
F=()
F=()
F=()
65
A7
0100
F=()
F=()
F=()
65
A7
0101
F=()
F=()
F=()
65
A7
0110
F=()
F=()
F=()
65
A7
0111
F=()
F=()
F=()
FF
FF
1000
F=()
F=()
F=()
FF
FF
1001
F=()
F=()
F=()
FF
FF
1010
F=()
F=()
F=()
FF
FF
1011
F=()
F=()
F=()
55
01
1100
F=()
F=()
F=()
55
01
1101
F=()
F=()
F=()
55
01
1110
F=()
F=()
F=()
55
01
1111
F=()
F=()
F=()
练习三:
完成表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
S
S
S
S
M
Cn
DR1
DR2
运算关系及结果显示
逻辑乘
66
FF
DR1
DR2
DR2()
传送
DR1
DR2()
按位加
DR1
DR2
DR2()
取反
DR2()
加1
DR1加1DR2
DR2()
加法
DR1加DR2
DR2()
减法
DR1减DR2
DR2()
练习四:
分别对寄存器DR1和DR2的内容做求补操作。
(1)向DR1寄存器存入数据66H(十六进制),然后对DR1寄存器的内容做求补操作,结果送DR1。
将做每一步操作时ALU-B、SW-B、S
、S
、S
、S
、M、Cn
各控制端的状态填入表1.1.5相应的栏里。
(提示:
DR1求补操作是:
先取反再加1,即
加1,分两步完成,
①对DR1内容取反后送DR1,即
DR1,②DR1内容加1,即DR1加1。
)
表1.1.5(表中ALU-B和SW-B填写的是数据输出状态)
操作
ALU-B
SW-B
S
S
S
S
M
Cn
DR1
运算关系及结果显示
对DR1的内容求补
66
DR1()
DR1加1
DR1()
(2)向DR2寄存器存入数据99H(十六进制),然后对DR2寄存器的内容做求补操作,结果送DR2。
将做每一步操作时ALU-B、SW-B、S
、S
、S
、S
、M、Cn
各控制端的状态填入表1.1.6相应的栏里。
(提示:
DR2求补操作是:
先取反再加1,即
加1,分两步完成,
①对DR2内容取反后送DR1,即
DR1,②DR1内容加1,即DR1加1。
)
表1.1.6(表中ALU-B和SW-B填写的是数据输出状态)
操作
ALU-B
SW-B
S
S
S
S
M
Cn
DR2
运算关系及结果显示
对DR2的内容求补
99
DR1()
DR1加1
DR2()
5.思考并回答下面问题:
(1)写出本实验中各控制端的作用。
(2)在本实验中哪些控制端高电平有效,哪些控制端低电平有效?
(3)在实验正常的输入和输出操作中,SW-B和ALU-B为什么不能同时为“0”状态?
(4)DR1置数完成后,为什么要关闭控制端LDDR1?
DR2置数完成后,为什么要关闭控制端LDDR2?
(5)在练习三的表1.1.4中,要求将每一次的运算结果都要存入DR2寄存器,解释该存入操作中为什么不用将SW-B置为“0”和ALU-B置为“1”。
(6)“A+B”和“A加B”这两种运算有什么不同,查找表1.1.1,分别写出这两种运算中S3、S2、S1、S0、M、Cn各控制信号的状态。
(7)Cn是进位控制器,在逻辑运算和算术运算中,它与哪种运算有关?
(8)做减法操作DR1减DR2时,与进位Cn是否有关?
如有关Cn是0还是1?
(9)在本实验练习四第
(2)小题中,DR2内容取反后结果为什么不送DR2,而是送DR1。
实验一运算器实验
(二)进位控制实验
一、实验目的:
1.验证带进位控制的算术运算发生器的功能
2.按给定数据,完成实验几种指定的算术运算
二、实验设备
计算机组成原理实验仪一台,排线若干条。
三、实验原理
实验中所用的运算器数据通道电路如图1-3所示。
数据显示灯
74LS74
B7…………B0
74LS245
A7…………A0
F3…F0CN
CN+4ALU(181)
MA3…A0B3…B0
CN+4F3……F0
ALU(181)
MA3…A0B3…B0
Q7…Q4Q3…Q0
DR2(273)
D7………D0
Q7…Q4Q3…Q0
DR1(273)
D7………D0
…………
……
三态门245
数据开关
……
进位控制运算器实验电路说明:
(1)在算术逻辑运算实验的基础上增加进位控制部分,进位控制部分电路主要由一个74LS74锁存器里.
(2)AR是74LS74琐存器的控制信号,低电平有效,与T4脉冲信号配合,可打开琐存器把进位结果存入其内.
(3)CY是高位进位标志信号,连接一个发光二极光显示进位情况,当进位时灯亮,无进位时灯灭.
四.实验注意事项.
(1)本实验使用T4脉冲信号,实验时将”W/RNUIT”中的T4接至”STATEUNIT”中kk2的正脉冲冲插头上,按下微动开关KK2,即可获得实验所需的单脉冲信号.
(2)S3.S2.S1.S0.Cn.M.LDDR1.LDDR2.AUL-B.SW-B,AR均为电平信号,与”SWITCHUNIT”中的二进制开关对应相接,用于产生模拟信号.
(3)ALU-B.SW-B.AR为低电平有效,LDDR1,LDDR2为高电平有效.
(4)实验仪上进位指示灯CY亮时,表示高位有进位,灭表示高位无进位
(5)实验仪上ZI是判零标志灯,当两片74LS181输出全为”0”时,ZI灯亮,当两片74LS181输出不全为”0”时,ZI灯灭.
(6)每次做进位操作前,都必须先对进位标志清零.清零后,注意观看实验仪上进位指示灯CY是否已灭,若清零后CY不灭,要检查原因.
(7)进位清零操作时,有关控制端的状态是:
S3,S2,S1S0,M,AR,LDDR1,LDDR2置为00000000,然后按下微动开关KK2即可.
(8)做清零操作时,DR1寄存器的内容不能为11111111.
五,实验内容及步骤
1.实验连线
按接线图1-4连接实验电路,接线完成后,检查无误,可接通电源
SW-B299-BALU-BS3-CnLDDR1LDDR2AR
SWJTCHUNIT
2.验证带进位算术运算的进位锁存功能。
例题:
设DR1=10101010,DR2=01010101,分别完成无位算术加法运算(DR1+DR2)和有进位算术加法(DR1+DR2)的运算。
其操作过程如下:
(1)参考算术逻辑运算实验的例1和例2,向DR1和DR2分别输入10101010和01010101。
(2)存数完成后,要对进位标志清零。
操作如下:
先将控制端S3S2S1S0M的状态置为0000,AR状态置为0,然后按下微动开关KK2。
即可对进位清零。
清零后,实验仪进位灯CY熄灭。
(清零后如果灯CY不灭,请检查原因。
)
(3)无进位算术运算加法和有进位加法运算时各控制设置为0、运算结果显示及进位灯状态表1.2.1:
(Cn=1时S3S2S1S0M各控制信号的设置请查看表1.1.174LS181算术/逻辑功能表)
表1.2.1
操作
AR
SW-B
ALU-B
S3S2S1S0MCn
数据总线内容("BUSUNIT"显示灯B7----B0
T4脉冲
CY灯
进位否
DR1加DR2
0
1
0
100101
11111111
按下开关KK2
灭
无
DR1加DR2加1
0
1
0
100100
00000000
按下开关KK2
亮
有
从表1.2.1可以看到,如果运算结果中高位无进位,CY灯灭,若高位有进位,CY灯亮.
3.操作练习
练习一:
设DR1=10101010,DR2=00000001,分别完成无进位算术加法(DR1+DR2)和有进位的算术加法(DR1+DR2)的运算.参考运算.参考例题,正确设置S3S2S1S0MCn各控制信号的状态,观察总线(“BUSUNIT”)显示灯B7-----B0显示的结果以及CY灯的状态填入表1.2.2相应的栏中.根据CY灯的显示分析该项运算,的结果高位有进否.
表1.2.2(注意:
操作前要先对进位标志清零.)
操作
AR
S3S2S1S0MCn
实验结果
T4脉冲
CY灯状态
进位否
DR1加DR2
按下开关KK2
DR1加DR2加1
按下开关KK2
练习二:
设DR1=11110000,DR2=00001111,分别完成列进位算术运算加法(DR1+DR2)和有进位加法(DR1+DR2),的运算.参考例题,正确设置S3S2S1S0MCn各控制号的状态,观察总线显示灯B7------B0的结果以及CY灯的状态,验证输出结果正确否.并将AR、S3S2S1S0M Cn的各控制信号灯的状态和总线(“BUSUNIT”)显示灯B7-----B0输出的实验结果及灯的状态填入表1.2.3相应栏中.根椐CY灯的显示的分析结果高位有进位否.
表1.2.3(注意:
操作前要先对进位标志清零)
操作
AR
S3S2S1S0MCn
实验结果(“BUSUNIT”中B7~B0显示实验结果)
T4
脉冲
CY灯状态(亮/灭)
进位否
DR1加DR2
0
100101
11111111
按下开关KK2
灭
无
DR1加DR2加1
0
100100
00000000
按下开关KK2
亮
有
4.思考并回答下面问题:
(1)为什么进位运算操作前要前对进位标志清零?
(2)CY灯是高位进位标志信号,用于表示高位有没有进位,那么它所表示的进位与进位控制端Cn所表示的进位有什么不同?
(3)表1.2.2中DR1加DR2加1的操作时,CY灯会亮吗?
为什么?
(4)表1.2.3中
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 实验 报告