华科组成原理实验报告存储器.docx
- 文档编号:11591054
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:16
- 大小:340.02KB
华科组成原理实验报告存储器.docx
《华科组成原理实验报告存储器.docx》由会员分享,可在线阅读,更多相关《华科组成原理实验报告存储器.docx(16页珍藏版)》请在冰点文库上搜索。
华科组成原理实验报告存储器
课程实验报告
课程名称:
计算机组成原理——运算器
专业班级:
学号:
姓名:
同组人员:
指导教师:
孙百勇秦磊华__
报告日期:
2013年5月5日___
计算机科学与技术学院
目录
一、实验目的2
二、实验设备2
三、实验任务2
四、芯片说明3
五、实验要求5
六、实验步骤6
七、最终电路检测13
八、实验体会和收获14
九、实验中碰到的问题和解决的方法15
一、实验目的
1、掌握带累加器的运算器实验;
2、掌握溢出检测的原理和实现方法;
3、理解有符号数和无符号数运算的区别;
4、理解基于补码的加/减运算实现原理;
5、熟悉运算器的数据传输通路;
6、利用74LS181和74LS182以及适当的门电路和多路选择器设计一个运算,要求支持有符号数和无符号数运算,支持补码加/减运算,支持有符号数溢出检测等功能。
二、实验设备
实验台:
JZYL—Ⅱ型计算机组成原理实验仪一台;
芯片:
74LSl81:
运算器芯片2片,74LS373:
八D锁存器2片;
其它基本器件若干。
三、实验任务
复习:
掌握前两个实验电路中各个信号的含义和作用,重点是运算与存储器之间的数据通路。
设计:
设计一个电路和利用实验参考电路进行实验,实验要求先将多个运算数据事先存入存储器中,再由地址选中,选择不同的运算指令,进行运算,并将结果显示,还可以进行连续运算和移位,最后将最终结果回写入存储器中。
技术概要:
1、基本运算:
利用74181设计8位运算器;
2、溢出检测:
设计基于单符号位的溢出检测方法和实现电路(要求能支持有符号数和无符号数加法运算的溢出检测。
选择适当的数据验证你所设计的电路的功能);
3、增加功能:
利用373芯片增加累加器功能;
4、集成:
对上述电路进行综合集成,利用多路选择器设计电路,实现对有符号数(用补码进行计算)和无符号数运算、加/减运算的支持。
4、芯片说明
74LS181:
74LS181是一个四位运算器。
实验中要用多个运算方式,如下表4.1所示,以及用到如下图4.1所示的异或门来实现数据的奇偶校验。
表174LS181功能真值表
图4.174LS181引脚图
74LS373:
74LS373芯片为八D锁存器(3S,锁存允许输入有回环特性),具体引脚分布和真值表如下图4.2和表4.2所示。
芯片功能:
当三态允许控制端OE为低电平,O0~O7为正常逻辑状态,可用来驱动负载或总线;
当OE为高电平,O0~O7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响;
当锁存允许端LE为高电平时,O随数据D而变。
当LE为低电平时,O被锁存在已建立的数据电平。
引脚功能:
D0~D7数据输入端;
OE三态允许控制端(低电平有效);
LE锁存允许端;
Dn
LE
OE
On
H
H
L
H
L
H
L
L
X
L
L
Q0
X
X
H
高阻态
O0~O7输出端。
表4.274LS373真值表
图4.274LS373引脚图
五、实验要求
1、作好预习
1)掌握运算器的数据传送通路和74181ALU的功能特性;
2)熟悉ALU并行进位的工作原理和实现方法;
3)掌握溢出检测的原理和实现方法;
4)理解有符号数和无符号数运算;
2、实验实施
1)分功能模块设计各功能单元电路,对设计进行详细的分析与说明;
2)逐步将各功能模块集成;
3)设计特定数据,验证各模块的功能,做好数据的记录工作。
3、实验前的准备
1)复习有关运算器的内容,对数据通路的构成、数据在数据通路中的流动及控制方法有基本的了解;
2)熟悉电路中各部分的关系及信号间的逻辑关系;
3)参考芯片手册,自己设计实验电路,画出芯片间管脚的连线图,标上引脚号,节省时间;
4)对所设计的电路进行检查。
检查重点:
检查能否控制数据在电路中不同部件之间进行正确的传输。
4、设计实验步骤
实验按照自己设计的电路进行。
先完成运算器的数据通路部分,在运算器部分能够正确完成各类运算的基础上,再增加累加器、异常检测和运用求补器进行无符号数减法的功能。
具体步骤如下:
第1步:
至少验证4个算术运算、4个逻辑运算。
第2步:
先增加溢出检测电路并验证;再增加373并验证。
第3步:
加一个373及灯,依次看到373灯的变化。
再将下面一个373的输出代替“00101100”,然后交替使373工作,可以看到累加器的效果。
第4步:
增加求补逻辑——一个开关控制为真传或求补,仅算术加法时才用上求补。
六、实验步骤
第一步:
利用74181设计8位运算器
特别提醒:
在进行每次实验之前,检查芯片、实验台和导线的好坏。
芯片检查:
1、按照如下电路图(图6.1),连接两个74LS181芯片。
将S3-S0置为LLLL,M置高,输入B(10101010),显示11010011,与理论值相符;
2、将S3-S0置为HLLH,M置低,Cn置高,输入B(10101010),显示11010110(A+B),与理论值相符。
结论:
数据验证达到了预期的效果,芯片完好。
图6.1简单运算的逻辑图
具体电路如下所示:
图6.2简单运算的具体逻辑
检验线路正确性:
根据181的真值表进行检测性运算。
八组运算结果如下表6.1所示(0表示L,1表示H):
表6.1181运算真值表
S3S2S1S0
数据K0—K7
运算类型
运算公式
理论值
实际值
0000
10001000
逻辑运算
F=A
11010011
11010011
0000
10001000
算术运算
F=A
00101100
00101100
0001
10001000
逻辑运算
F=A+B
11110111
11110111
0001
10001000
算术运算
F=A+B
00001000
00001000
1001
01010101
逻辑运算
F=A⊕B
10000110
10000110
1001
01010101
算术运算
F=A加B
10000001
10000001
结论:
2条运算,共6中指令,全部吻合,运算器工作正常
第二步:
溢出检测电路、增加373线路
溢出检测电路:
设立一个二路选择器,名为P,是加减运算控制。
(1)令P=1:
有符号数的溢出检测原理:
根据操作数和结果运算结果的符号位是否一致进行检测。
只有两个同符号数相加时才会又可能产生溢出
逻辑表达式:
Yf为A的最高位符号,V为溢出标志位,当V为1时表示发生溢出。
异常状况:
当减法控制器P=1,执行减法运算,如果在执行减法从第二个异或门取符号位Y0,则减法运算溢出检测结果可能出错。
于是,我们采取了第二种方法——根据运算过程中最高数据位的进位和符号位进位位是否一致进行检测。
(2)令P=0:
无符号数的溢出检测原理:
根据最高位是否发生进位来判断。
逻辑表达式:
根据以上原理设计溢出线路图:
图6.3溢出线路图
增加74LS373芯片:
设计好溢出电路之后,按步骤2的图6.3连接好溢出检测电路,根据图6.4连接好电路。
图6.4添加溢出检测的电路
具体电路图如下图:
图6.5增加溢出电路的详细线路图
检验线路:
由于溢出只发生在算术运算中,故下表中的M、Cn只取0、1。
(1)无符号数溢出检测结果如下表6.2(0表示L,1表示H):
表6.2无符号数溢出检测结果
S3S2S1S0
数据K0—K7
MCn
理论值
实际值
溢出灯
1001
11010101
01
00000001
00000001
红,有溢出
1001
01010101
01
10000001
10000001
蓝,无溢出
(2)有符号数溢出检测结果如下表6.3(0表示L,1表示H):
表6.3有符号数溢出检测结果
S3S2S1S0
数据K0—K7
MCn
理论值
实际值
溢出灯
1001
11010101
01
00000001
00000001
蓝,无溢出
1001
01010101
01
10000001
10000001
红,有溢出
结论:
经过有无符号数的不同的检测验证,证明了电路的溢出检测功能正确。
第三步:
利用373芯片增加累加器功能
在这一步进行时既进行了累加功能,根据图6.6连接好累加电路
图6.6累加电路图
具体电路图如图6.7所示:
图6.7累加器详细电路图
检测的步骤:
(1)将K0-K7全部置0,打开373锁存器1;
(2)第一组灯的结果为00101100;
(3)关闭锁存器1,打开锁存器2,得第二组灯的结果为00101100;
(4)关闭锁存器2,将K0—K7置00000010;
(5)打开锁存器1,得灯的结果为00101110;
(6)不断执行(3)(4)(5),发现实现了累加器的功能(每次加2)。
结论:
累加器正常工作。
第四步:
在输入中添加求补器
对电路进行集成,利用多路选择器设计电路,实现对有符号数(用补码进行计算)和无符号数运算、加/减运算的支持;设计求补电路如下图图6.8所示:
图6.8求补电路
求补电路工作原理:
(1)当P=0时,则输入无符号数。
(2)当P=1时,适用于输入负数,对每一个输入的信号与P取异或,将P取反输入到Cn作为初始进位。
即达到了对输入的信号求补的运算。
接入求补电路,如下图图6.9所示:
图6.9接入求补电路后的全局图
具体全局电路图如图6.10所示:
图6.10接入求补电路后的详细全局图
检测线路的正确性:
(1)选择P是有符号还是无符号数的运算,然后将开关K0-K7输入一个数值。
(2)执行相应的运算,判断运算的结果和溢出检测的结果是否正确。
注意:
运算的同时应该进行溢出的判断,以便判断电路整体的正确性。
结论:
执行后,实验的结果在有符号数及无符号数求补及其相应的运算结果都是正确的,则实验是成功的。
综合以上四步电路设计,最终电路图概图如下图6.11所示:
图6.11整体全局图
七、最终电路检测
检测步骤:
1、基本功能:
1)直传5,送AC。
2)AC算术加1100,得结果00010001,送回AC。
3)用181的求反功能将AC求反,得结果11101110,送回AC。
4)AC算术减01000010,得结果10101100,送回AC。
2、加法器实现减法运算:
1)送00110111到AC。
2)将181置为算术加,用外加求补逻辑,实现AC减00010101,得结果00100010。
3、溢出检测:
1)将181置为算术加。
2)送10100110到AC,送10110101到数据开关,得结果01011011,可以观察到无符号数运算时有进位,补码运算时也有进位。
3)送01010110到AC,送01100010到数据开关,得结果10111000,可以观察到无符号数运算时无进位,补码运算时有进位。
结论:
由于我们组将低位进位Cn接在加减控制位P上,所以在进行加减运算的时候,造成了对无符号数运算正确,但对有符号运算溢出无进位的错误。
其他所有功能运行良好。
八、实验体会和收获
1.连接线路要细心,更重要的是对自己连的线路有信心。
不要老想着自己的是错的而去拆线,很有可能是对的而你却错过了。
觉得线路有问题就检查,一步步来,先检查导线、芯片,看能不能用,有没有电。
再看线路连接是否有问题,对症下药。
2.事先要做好预习,这个很重要,特别是要弄清楚老师给我们的资料,看懂了
实验就没问题了。
特别的,不要过于相信别人的报告,它很有可能是错的,到时候就后悔莫及了。
3.每做完一步就检测一次,确保每一步都无误,这样才能保证最后没有错误。
否则做到最后出现错误排查起来就非常麻烦了。
九、实验中碰到的问题和解决的方法
1.开始时我们使用的是完整的最终电路图,直接连接导线到最后一步,很快就完成了。
但是,问题出现了,灯泡完全不是正常发光的。
我们检查开关线路后发现是锁存器开关打开有问题,双开导致信号不断传送,所以灯泡发出介于红蓝的颜色。
我们利用正反脉冲发送器来解决这个问题,又正确又方便。
2.我们连接完之后检查出错,已确认线路无误。
后发现一个灯泡始终不改变颜色。
依次检查芯片发现问题——上373某引脚没电。
进一步检测是线路箱的问题,那个插孔没电。
后换个插座问题解决。
3.最后做溢出检查时老是有点小问题,后发现某个芯片是插在大插座上的,导致有些插孔没电,接上电源后问题解决。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 组成 原理 实验 报告 存储器