版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课 程 实 验 报 告课程名称: 计算机组成原理 专业班级: 学 号: 姓 名: 同组成员: 报告日期: 计算机科学与技术学院华中科技大学计算机组成原理实验报告原创性声明本人郑重声明:所呈交的计算机组成原理实验报告是本人及小组成员进行独立实验所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。作者签名: 20 年 月 日目录一 实验名称- 4 -二 实验目的- 4 -三 实验设备- 4 -四 实验设计思路与电路实现- 5 -4.1实验总体方案- 5 -4.2各模块的分析说明- 5 -4.2.1运算
2、部分- 5 -4.2.2 溢出检测部分- 6 -4.2.3 锁存器部分- 8 -4.3 总电路- 8 -五 实验电路检测- 8 -5.1 基本功能检测- 8 -六 实验中遇到的问题及解决方法- 9 -七 收获与体会- 10 -一 实验名称实验名称:以74LSl81运算器芯片为核心设计电路,能够实现多种运算,并能使用历史结果数据进行累计运算,运算结果可以使用LED灯来显示。1、基本功能:支持累加、支持有符号数和无符号数运算、支持补码加/减运算以及支持有符号数溢出检测。2、溢出检测:可以检测有符号加减法溢出、无符号加减发溢出并通过LED灯显示有无溢出.二 实验目的1、掌握带累加器的运算器实验2、掌
3、握溢出检测的原理及实现方法3、理解有符号数和无符号数运算的区别4、理解基于补码的加减运算实现原理5、熟悉运算器的数据传输通路6、利用74181和74182以及适当的门电路和多路选择器设计一个运算,要求支持有符号数和无符号数的运算支持补码加减法运算,支持有符号数溢出检测等功能三 实验设备JZYL型计算机组成原理实验仪一台芯片:74LS181:运算器芯片 2片 74LS373:8D锁存器 2片74LS04:六门反相器 1片74LS10:三输入三与非门 1片 74157:二路选择器 1片其他基本器件若干四 实验设计思路与电路实现4.1实验总体方案自己设计一个电路和利用实验参考电路进行实验,实验要求先
4、将多个运算数据事先存入存储器中,再由地址选中,选择不同的运算指令,进行运算,并将结果显示,还可以进行连续运算和移位,最后将最终结果写入到存储器中。本电路以运算部分为核心,然后借助锁存信息部分实现累加,并观察运算结果是否正确。最后通过溢出检测部分判断是否有溢出。4.2各模块的分析说明4.2.1运算部分电路见图4.2.0,将两块74LS181连接。左边为8位二进制的高位,右边为8位二进制的低位。将低四位的Cn+4接到高四位的Cn,U1和U2共用M、S0、S1、S2、S3 。加法运算时:M=0,Cn =1, S3=1, S2=0, S1=0, S0=1。减法运算时:M=0, Cn=0, S3=0,
5、S2=1, S1=1, S0=0。图4.2 运算器部分电路图4.2.2 溢出检测部分1、 将两片74LS181通过373连在一起,通过373的锁存功能实现八位运算2、溢出检测的设计:无符号:无符号运算中,若最高位存在进位,则表示有溢出,否则则表示无溢出,所以只需直接将最高进位位(即Cn+4)与灯相接,高电位表示有溢出,低电位表示无溢出(电路图略)有符号:显然,只有两个符号相同的数相加时才有可能产生溢出,因此,可根据操作数和运算结果的符号位是否一致进行检测。根据运算过程中最高数据位的进位与符号位的进位位是否一致进行检测,设运算过程中最高数据位的进位产生的进位信号为Cd,符号位产生的进位信号为Cf
6、,当参加运算的两数均为正数时,则Cf = 0且符号位之和为Sf = 0,此时若Cd = 1,则导致运算结果的符号位与参加运算的数的符号位不同,会发生溢出;当参加运算的两数为负数,则Cf = 1,且之和为Sf = 0,此时只有Cd = 1才能使Sf = 1,运算结果的符号位才与参加运算的符号相同,若Cd = 0,则Sf = 0导致运算结果的符号位与参与运算的数的符号位不同,也会发生溢出。综上所述,利用公式即可进行溢出检测。设,为参加运算数的符号位,为结果的符号位,为溢出标志符,当取1时表示发生一处。基于该方法的公式为:推导过程如下:根据操作数和运算结果的符号位是否一致进行检测显然,只有两个符号相
7、同的数相加时才有可能产生溢出,因此,课根据操作数和运算结果的符号位是否一致进行检验。因此可通过上述公式检测。最后,我们使用一个二路选择器,并设置一个开关,用来选择有符号溢出与无符号溢出。图4.3 溢出检测部分电路图4.2.3 锁存器部分我们使用三块74LS373芯片,一片控制运算结果的存储和传递,另外两片分别控制加数或减数的高四位和低四位。4.3 总电路图4.6 总电路图五 实验电路检测5.1 基本功能检测简单检测如下:置于无符号运算态。1、直传12到AC。其操作过程是:先将数据开关拨为10,再设置好181的一个适当的运算方式,然后存入暂存器,最后存入AC。(S3=1,S2=0,S1=1,S0
8、=0,M=1) 实验结果:显示结果的灯输出:0000 1011。2、直传7到送AC。 实验结果:会看到AC的内容由0000 0011直接变成0000 0100。3、AC算术加1100,得结果,送回AC。 实验结果:AC内容为0011 01004、用181的求反功能将AC求反,得结果。送回AC。 实验结果:AC内容为1110 1111,此时S3=0,S2=0,S1=0,S0=0,M=1(3) AC算术减0100 1111,得结果,送回AC。此时S3=0,S2=1,S1=1,S0=0,M=0,Cn=1实验结果:AC内容为1001 01015.2 溢出检测溢出检测灯2个,一个表示无符号溢出灯,一个表
9、示有符号溢出灯。红色表示有溢出。(也可用一个二路选择器将两个灯合为一个)1、送1010 0110到AC,送1011 0101到数据开关,将181置为算术加,得结果0101 1011,观察结果:无符号数运算时有溢出,补码运算时也有溢出。2、送0101 0110到AC,送0110 0010到数据开关,得结果1011 1000,观察结果无符号数运算时无溢出,补码运算时有溢出。S3 S2 S1 S0数据K0K7M Cn理论值实际值1 0 0 111010101 0 100000001000000011 0 0 101010101 0 110000001100000011 1 0 010101010 0
10、 101011000010110001 1 0 111000000 0 10001100000011000六 实验中遇到的问题及解决方法 在设计溢出检测电路时,对于有符号数的减法到底怎么运算,输入的是原码还是补码,我们仔细思考过这些问题。后来,我们明白,运算器的输入全部是原码,运算器内部自己会做求补操作,这对于我们是不透明的。因为对373芯片的功能及引脚等不熟悉,我们也走了一些弯路。比如,实验中,我们把A7A0接到灯泡上,希望能直接观察到A的值,但灯泡不亮。后经实验老师指导,我们知道,373有控制灯泡的引脚,需要将其连上才能使灯亮。而且在实验中,我们碰到了一些实验设备本身的问题。比如,我们的实
11、验台,像接触不太好,做实验时把板子摇一下灯泡的显示就可能改变。我们还遇到过,两次相同的测试,得到的结果却不一样。也有的芯片似乎有些问题。当然,这些问题在我们反复实验中也被一一修正了。七 收获与体会1、这是我们做的第一个组原实验,也是所有组原试验中最为简单的一个,但是事实上我们做起来并不简单,耗时超过12小时。可能该实验原理很简单,也是我们上课讲过的一些知识,但是实际操作其实存在很多问题。比如芯片的检测,因为芯片很可能是坏的或者在将芯片插入的过程中接触不良或者引脚根本没接进去。而这些问题中最为困扰我们的就是电路的检测,在我们终于设计好电路并连接完成时,却发现电路并不能按照我们想象中的那样工作,电
12、路各处都是联通的,但是结果就是不对。由于缺乏经验,我们也不知道如何来检测,找出到底是哪一步出现了错误。只好求助于老师,在老师的细心讲解下,我们终于找出了错误所在,并学会了如何只用一根导线来检查电路。2、在做实验的过程中一定要有一个良好的习惯,无论做什么实验。在这一次实验中可以说我们吃了习惯不好的大亏。因为没怎么注意,我们将S0、S1、S2、S3、A0A7、B0B7的顺序都接的是反的,就是没有按照从低位到高位的顺序。可能这只是一个小问题,起码当时我们是这么觉得的。然后我们就自食其恶果了。电路开始不按照我们设想的那样工作,反复研究排错后发现全部是因为我们将这些显示的顺序接反了,低位当做高位,高位当
13、做低位。最后排完错给老师检查的时候更是被老师给骂的狗血淋头。这次因为习惯不好引起的失误真是让我们吃尽亏。不过我们也从中学到了很多,以后也做实验,无论是什么样的实验中,我们都会时刻注意这些习惯,注意这样看似很小的“小问题”,避免可能因此而引起的大麻烦。2、 方便老师就是方便自己。在最后做好实验给老师的检查的时候又出现了问题,因为我们做的和老师给的要求有一点区别导致老师要反复的检查电路。因为老师得对每个学生负责。这个时候我发现,只要我们按照老师的要求做,会大大方便老师检查,因为虽然我们一组只做一份电路,可是老师要检查我们每个人的电路,工作量也是很大的,方便老师检查也会使我们分数更高,检查更快捷,减
14、轻老师的工作量。一旦我们做的电路和老师要求的不一样,虽然可能我们自己觉得是对的,也知道原理,但是老师不知道,他们也要慢慢摸索才能搞清楚我们千差万别的电路设计。所以,方便老师就是方便自己,按照老师的要求一步一步来才能又快又好!八 思考题为什么要给运算器增加溢出检测电路?答:这个问题可以从两方面来回答。第一个方面,对于无符号数的运算,由于计算机的位数有限,无法进行无限大数的存储和运算所以一定有得一个范围,超出此范围的运算就可能出错。另一个方面,对于有符号数的运算,正因为计算机存储和运算有范围,在进行有符号数的运算,特别是同符号数的相加运算时,可能出现运算结果符号位和参与运算的数的符号位不同,这样就导致了运算错误,所以必须要给运算器增加溢出检测电路。计算机发生溢出后进行的是模运算,这就会使两个正数相加有可能成为负数或者使两个负数相加有可能成为正数,得到错误的结果,但是计算机本身是不会
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 交通事故和解合同范本
- 产品采购合同范本
- 中小企业合同法务服务发展规划定
- 个人商用房抵押贷款合同模板
- 产品销售独家代理合同模板
- 个人向单位租车合同及条款
- 个人向个人创业借款合同范本
- 临时工劳动合同范本(合同仅限劳务派遣使用)
- 个人住宅抵押借款合同简例范本
- 兼职人员劳务合同协议
- 魏宁海超买超卖指标公式
- (正式版)FZ∕T 80014-2024 洁净室服装 通 用技术规范
- 新起点英语二年级下册全册教案
- 【幼儿园户外体育活动材料投放的现状调查报告(定量论文)8700字】
- 剪映专业版:PC端短视频制作(全彩慕课版) 课件 第3章 短视频剪辑快速入门
- 湖南省长沙市开福区青竹湖湘一外国语学校2023-2024学年九年级下学期一模历史试题
- 汉密尔顿抑郁和焦虑量表
- 风电场事故案例分析
- 人教版八年级数学初中数学《平行四边形》单元教材教学分析
- 八年级上册-2024年中考历史总复习核心考点与重难点(部编版)
- 医院科室人才建设规划方案
评论
0/150
提交评论