计算机组成原理实验指导书.docx
《计算机组成原理实验指导书.docx》由会员分享,可在线阅读,更多相关《计算机组成原理实验指导书.docx(34页珍藏版)》请在冰豆网上搜索。
计算机组成原理实验指导书
实验一8位算术逻辑运算实验
一、实验目的
1、掌握算术逻辑运算器单元ALU(74LS181)的工作原理。
2、掌握简单运算器的数据传送通路组成原理。
3、验证算术逻辑运算功能发生器74LSl8l的组合功能。
4、按给定数据,完成实验指导书中的算术/逻辑运算。
二、实验内容
1、实验原理
实验中所用的运算器数据通路如图1.1所示。
其中运算器由两片74LS181以并/串形成8位字长的ALU构成。
运算器的输出经过一个三态门74LS245(U33)到ALUO1插座,实验时用8芯排线和内部数据总线BUSD0~D7插座BUSl~6中的任一个相连,内部数据总线通过LZDO~LZD7显示灯显示;运算器的两个数据输入端分别由二个锁存器74LS273(U29、U30)锁存,两个锁存器的输入并联后连至插座ALUBUS,实验时通过8芯排线连至外部数据总线EXD0~D7插座EXJl~EXJ3中的任一个;参与运算的数据来自于8位数据开并KD0~KD7,并经过一三态门74LS245(U51)直接连至外部数据总线EXD0~EXD7,通过数据开关输入的数据由LD0~LD7显示。
图1.1中算术逻辑运算功能发生器74LS18l(U3l、U32)的功能控制信号S3、S2、Sl、S0、CN、M并行相连后连至SJ2插座,实验时通过6芯排线连至6位功能开关插座UJ2,以手动方式用二进制开关S3、S2、S1、S0、CN、M来模拟74LSl8l(U31、U32)的功能控制信号S3、S2、S1、S0、CN、M;其它电平控制信号LDDRl、LDDR2、ALUB’、SWB’以手动方式用二进制开关LDDRl、LDDR2、ALUB、SWB来模拟,这几个信号有自动和手动两种方式产生,通过跳线器切换,其中ALUB’、SWB’为低电平有效,LDDRl、LDDR2为高电平有效。
另有信号T4为脉冲信号,在手动方式下进行实验时,只需将跳线器J23上T4与手动脉冲发生开关的输出端SD相连,按动手动脉冲开关,即可获得实验所需的单脉冲。
2、实验接线
本实验用到4个主要模块:
(1)低8位运算器模块
(2)数据输入并显示模块
(3)数据总线显示模块
(4)功能开关模块(借用微地址输入模块)。
根据实验原理详细接线如下:
(1)ALUBUS连EXJ3;
(2)ALU01连BUSl;
(3)SJ2连UJ2;
(4)跳线器J23上T4连SD;
(5)LDDRl、LDDR2、ALUB、SWB四个跳线器拨在左边(手动方式);
(6)AR跳线器拨在左边,同时开关AR拨在“1”电平。
3、实验步骤
(1)连接线路,仔细查线无误后,接通电源。
(2)用二进制数码开关KD0~KD7向DRl和DR2寄存器置数。
方法:
关闭ALU4输出三态门(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中的数,而置成10101时总线指示灯显示DR2中的数
(4)验证74LSl81的算术运算和逻辑运算功能(采用正逻辑)
在给定DRl=35、DR2=48的情况下,改变算术逻辑运算功能发生器的功能设置,观察运算器的输出,填入实验报告表中,并和理论分析进行比较、验证。
三、实验电路
本实验中使用的运算器数据通路如图1.1所示。
四、74LS181功能表
实验中用到的运算器74LS181功能表如表1.1所示。
表1.1运算器74LS181功能表(正逻辑)
4位ALU
S3S2S1S0
M=0(算数运算)
M=1
(逻辑运算)
Cn=1
无进位
Cn=0
有进位
1000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
F=A
F=A+B
F=A+B
F=减1
F=A加(A*B)
F=(A+B)加(A*B)
F=A减B减1
F=(A*B)减1
F=A加A*B
F=A加B
F=(A+B)加A*B
F=A*B减1
F=A加A
F=(A+B)加A
F=(A+B)加A
F=A减1
F=A加1
F=(A+B)加1
F=(A+B)加1
F=0
F=A加(A*B)加1
F=(A+B)加(A*B)加1
F=A减B
F=(A*B)
F=A加A*B加1
F=A加B加1
F=(A+B)加A*B加1
F=A*B
F=A加A加1
F=(A+B)加A加1
F=(A+B)加A加1
F=A
F=A
F=(A+B)
F=A*B
F=0
F=(A*B)
F=B
F=(A⊕B)
F=(A*B)
F=A+B
F=(A⊕B)
F=B
F=A*B
F=1
F=A+B
F=A+B
F=A
其中:
“+”表示或运算;“*”表示与运算;“⊕”表示异或运算
图1.1运算器数据通路
五、实验数据
1、实验数据记录
加数1
DR1
加数2
DR2
S3 S2 S1 S0
M=0(算术运算)
M=1
(逻辑运算)
Cn=1
无进位
Cn=0
有进位
35
48
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
F=
六、思考题
1、在向DR1和DR2寄存器置数时S3、S2、S1、S0、M、Cn如何设置?
2、DR1置数完成后,如果不关闭控制端,LDDR1会怎样?
3.为什么在读取74LS181的输出结果时要打开输出三态门的控制端ALUB’?
实验二带进位控制8位算术逻辑运算实验
一、实验目的
1、验证带进位控制的算术逻辑运算发生器74LSl8l的功能。
2、按指定数据完成几种指定的算术运算。
二、实验内容
1、实验原理
带进位控制运算器的实验原理如图2.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)~(5)同实验一,详细如下:
(1)ALUBUS~连EXJ3;
(2)ALUO1连BUSl;
(3)SJ2连UJ2;
(4)跳线器J23上T4连SD;
(5)LDDRl、LDDR2、ALUB、SWB四个跳线器拨在左边(手动方式);
(6)AR、299B跳线器拨在左边,同时开关AR拨在“0’’电平,开关299B拨在“1”电平;
(7)J25跳线器拨在右边。
(8)总清开关拨在“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)如果原来有进位,CY=1,进位灯亮,但需要清零进位标志时,具体操作方法如下:
◆AR信号置为“0”电平,DRl寄存器中的数应小于FF。
◆S3、S2、S1、S0、M的状态置为00000。
◆按动手动脉冲发生开关,CY=0,即清进位标志。
注:
进位标志指示灯CY亮时,表示进位标志为“1”,有进位;
进位标志指示灯CY灭时,表示进位位为“0”,无进位。
(5)验证带进位运算及进位锁存功能
这里有两种情况:
●进位标志已清零,即CY=0,进位灯灭。
✧使开关CN=0,再来进行带进位算术运算。
例如步骤
(2)参与运算的两个数为55H和AAH,当S3、S2、S1、S0状态为10010,此时输出数据总线显示灯上显示的数据为DRl加DR2再加初始进位位“1”(因CN=0),相加的结果应为ALU=00,并且产生进位,此时按动手动脉冲开关,则进位标志灯亮,表示有进位。
✧使开关CN=1,当S3、S2、S1、S0状态为10010,则相加的结累ALU=FF,并且不产生进位。
●原来有进位,即CY=1,进位灯亮。
此时不考虑CN的状态,再来进行带进位算术运算。
同样步骤
(2)参与运算的两个数为55H和AAH,当S3、S2、S1、S0、M状态为10010,此时输出数据总线显示灯上显示的数据为DRl加DR2再加当前进位标志CY,相加的结果同样为ALU=00,并且产生进位,此时按动手动脉冲开关,则进位标志灯亮,表示有进位。
三、实验电路
带进位控制运算器的实验原理电路如图2.1所示。
四、验证两种操作下带进位的运算功能的实验数据记录
①Cy=0进位灯灭
DR1
DR2
S3S2S1S0
M=0,CN=0(带进位算术运算)
运算结果
运算后
进位状态
Cy
理论计算
结果
8CH
9FH
0000
0001
0110
1001
1100
1101
②Cy=1进位灯亮
DR1
DR2
S3S2S1S0
M=0,Cy=1(带进位算术运算)
运算结果
运算后
进位状态
Cy
理论计算
结果
8CH
9FH
0000
0001
0110
1001
1100
1101
五、思考题
1、如何在进位运算操作前对进位标志清零?
2、在进行进位运算操作时,在何种情况下要对进位标志清零?
3、分析硬件电路说明在什么条件下,才能锁存8位运算后的进位标志?
图2.1带进位控制运算器的数据通路
实验三16位算术逻辑运算实验
一、实验目的
1、验证算术逻辑运算功能发生器74LS181的16位运算组合功能。
2、掌握16位运算器的数据传送通路组成原理。
3、按要求和给出的数据完成几种指定的算术逻辑运算。
二、实验内容
1、实验原理
16位运算器数据通路如图3.1所示,其中运算器由四片74LS181以并/串形成16位字长的ALU构成。
低8位运算器的输出经过一个三态门74LS245(U33)到ALUO1插座,实验时用8芯排线和内部数据总线BUSD0~D7插座BUS1~6中的任一个相连,低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位(扩展)数据总线显示模块。
根据实验原理详细接线如下(接线①~⑤同实验一):
①ALUBUS连EXJ3;
②ALUO1连BUS1;
③SJ2连UJ2;
④跳线器J23上T4连SD;
⑤LDDR1、LDDR2、ALUB、SWB四个跳线器拨至左侧(手动方式);
⑥AR跳线器拨至左侧,同时开关AR拨至“1”电平;
⑦ALUBUS’连EXJ2;
⑧ALUO1’连KBUS1;
⑨跳线器J19、J25拨至左侧(16位ALU状态);
⑩高8位运算器区跳线器ZI2、CN0、CN4连上短路套。
⑧ALUO1`连KBUS1;
⑨跳线器J19、J25拨至左侧(16位ALU状态);
⑩高8位运算器区跳线器ZI2、CN0、CN4连上短路套。
图3.116位运算器数据通路图
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中,进行比较验证。
注意:
本实验做完后,拔掉连线ALUBUS`和ALUO1`,去掉短路套ZI2、CN0、CN4。
三、设计内容
1、若有两个16位二进制数:
00FFH和2D5AH,要求通过74LS181的运算,计算这两数相与的结果。
(1)实现的方法
(2)实验步骤
(3)实验结果
(4)理论计算结果
2、若有两个16位二进制数:
1234H和A987H,要求通过74LS181的运算,计算这两数之和。
(1)实现的方法
(2)实验结果
(3)理论计算结果
3、若被减数为7C69H和减数为1234H,要求通过74LS181的运算,计算这两数之差。
(1)实现的方法
(2)实验结果
(3)两数之差
4、若被减数为1234H和减数为7C69H,要求通过74LS181的运算,计算这两数之差。
和题4结果比较。
(1)实验步骤
(2)实验结果
(3)实验结果表示的是什么
(4)比较题4和题3结果,并加以说明。
实验四移位运算器实验
一、实验目的
验证移位控制器的组合功能。
二、实验内容
1、实验原理
移位运算实验原理如图4.1所示。
本实验使用了一片74LS299(U34)作为移位发生器,其八位输入/输出端引到8芯排座ALUO2,实验时用8芯排线连至数据总线插座BUS4。
299B`信号由开关299B提供,控制其使能端,T4为其时钟脉冲,手动方式实验时将T4与手动脉发生器输出端SD相连,即J23跳线器上T4连SD。
由信号S0、S1、M控制其功能状态,详细见表4.1。
图4.1移位运算实验原理图
2、实验接线
①ALUO2连BUS4;
②EXJ1连BUS3;
③SJ2连UJ2;
④跳线器ALUB、299B、SWB拨至左侧(手动位置),且开关ALUB拨至“1”电平,299B拨至“0”电平。
⑤跳线器J23的T4连SD;
⑥总清开关拨到“1”位置。
3、实验步骤
①连接实验线路,仔细查线无误后接通电源。
②置数,具体步骤如下:
③移位,参照表4.1改变S0、S1、M、299B的状态,按动手动脉冲开关以产生时钟脉冲T4,观察移位结果。
四、实验数据记录
1、移位寄存器初始数据为:
35H
第1次按动手动脉冲开关,移位寄存器数据为:
第2次按动手动脉冲开关,移位寄存器数据为:
第3次按动手动脉冲开关,移位寄存器数据为:
第4次按动手动脉冲开关,移位寄存器数据为:
2、实验结果记录表
置入移位寄存器数据
进位
Cy
299BS1S0M
移位操作
移位后
结果
理论计
算结果
9AH
0
0010
1
0
0011
1
0
0100
1
0
0101
1
五、思考题
若移位寄存器存放一个8位数,通过怎样的移位运算后可使移位寄存器存放的数据保持不变?
实验五存储器实验
一、实验目的
掌握静态随机存取存储器RAM工作特性及数据的读写方法。
二、实验内容
1、实验原理
主存储器单元电路主要用于存放实验机的机器指令,如图5.1所示,它的数据总线连到外部数据总线EXD0~EXD7上;它的地址总线由地址寄存器单元电路中的地址寄存器74LS273(U37)给出,地址值由8个LED灯LAD0~LAD7显示,高电平点亮,低电平熄灭;在手动方式下,输入数据由8位数据开关KD0~KD7提供,并经一三态门74LS245(U51)连至外部数据总线EXD0~EXD7,实验时将外部数据总线EXD0~EXD7用8芯排线连到内部数据总线BUSD0~BUSD7,分时给出地址和数据。
它的读信号直接接地;它的写信号和片选信号由写入方式确定。
该存储器中机器指令的读写分手动和自动两种方式。
手动方式下,写信号由W/R`提供,片选信号由CE`提供;自动方式下,写信号由控制CPU的P1.2提供,片选信号由控制CPU的P1.1提供。
由于地址寄存器为8位,故接入6264的地址为A0~A7,而高4位A8~A12接地,所以其实际使用容量为256字节。
6264有四个控制线:
CS1为第一片选线、CS2为第二片选线、OE读出使能线及WE写使能线。
其功能如表5.1所示。
CS1片选线由CE`控制(对应开关CE)、OE读出使能线直接接地、WE写使能线由W/R`控制(对应开关WE)、CS2直接接+5V。
图5.1中信号线LDAR由开关LDAR提供,手动方式实验时,跳线器LDAR拨至左侧,脉冲信号T3由实验机上时序电路模块TS3提供,实验时只需将J22跳线器连上即可,T3的脉冲宽度可调。
2、实验接线
①总清开关拨到“1”位置。
②MBUS连BUS2;
③EXJ1连BUS3;
④跳线器J22的T3连TS3;
⑤跳线器J16的SP连H23;
⑥跳线器SWB、CE、WE、LDAR拨至左侧(手动位置)。
图5.1主存储器单元电路
表5.16264功能表
工作
方式
I/O
输入
DI
DO
/OE
/WE
/CS1
非选择
X
HIGH-Z
X
X
H
读出
HIGH-Z
DO
L
H
L
写入
DI
HIGH-Z
H
L
L
写入
DI
HIGH-Z
L
L
L
选择
X
HIGH-Z
H
H
L
3、实验步骤
①连接实验线路,仔细查线无误后接通电源。
②形成时钟脉冲信号T3。
方法如下:
在时序电路模块中有两个二进制开关“运行控制”和“运行方式”。
将“运行控制”开关置为“运行”状态、“运行方式”开关置为“连续”状态时,按动“运行启动”开关,则T3有连续的方波信号输出,此时调节电位器W1,用示波器观察,使T3输出实验要求的脉冲信号;本实验中“运行方式”开关置为“单步”状态,每按动一次“启动运行”开关,则T3输出一个正单脉冲,其脉冲宽度与连续方式相同。
③向存储器的00地址单元中写入数据11,具体操作步骤如下:
如果要对其它地址单元写入内容,方法同上,只是输入的地址和内容不同。
④读出刚才写入00地址单元的内容,观察内容是否与写入的一致。
具体操作步骤如下:
三、实验数据记录
1、根据存储器的读写原理,填写下表。
控制信号
写地址写内容读内容
SWB开关
LDAR 开关
CE开关
WE开关
2、记录向存储器写入数据的操作过程。
按照前面介绍的实验步骤向存储器地址为00H,01H,02H,03H,04H,05H的单元分别写入数据:
55H,33H,44H,66H,08H,F0H。
3、写出读出存储器单元内容的操作过程并记录以下地址单元读出的内容。
地址
内容
地址
内容
00000000
00000100
00000001
00000101
00000010
00001000
00000011
00000100
四、根据电路图分析向存储器置数和从存储器读数的工作原理。
五、思考题
1、存储器的地址是放在哪个芯片中的,为什么在输入地址时,控制开关CE=1、LDAR=1?
2、在读存储器内容时控制信