华中科技大学组原第一次实验报告运算器.docx

上传人:b****6 文档编号:8322044 上传时间:2023-01-30 格式:DOCX 页数:16 大小:314.45KB
下载 相关 举报
华中科技大学组原第一次实验报告运算器.docx_第1页
第1页 / 共16页
华中科技大学组原第一次实验报告运算器.docx_第2页
第2页 / 共16页
华中科技大学组原第一次实验报告运算器.docx_第3页
第3页 / 共16页
华中科技大学组原第一次实验报告运算器.docx_第4页
第4页 / 共16页
华中科技大学组原第一次实验报告运算器.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

华中科技大学组原第一次实验报告运算器.docx

《华中科技大学组原第一次实验报告运算器.docx》由会员分享,可在线阅读,更多相关《华中科技大学组原第一次实验报告运算器.docx(16页珍藏版)》请在冰豆网上搜索。

华中科技大学组原第一次实验报告运算器.docx

华中科技大学组原第一次实验报告运算器

课程实验报告

课程名称:

计算机组成原理

专业班级:

信息安全1203班

学号:

U201214xxx

姓名:

xxx

同组成员:

xxx

指导教师:

秦磊华

报告日期:

2014年4月

计算机科学与技术学院

原创性声明:

 

本人郑重声明:

本实验的实验报告内容,是由作者本人独立完成的。

有关观点、方法、数据和文献等的引用已在文中指出。

除文中已注明引用的内容外,本报告不包含任何其他个人或集体已经公开发表的作品成果,不存在抄袭行为。

特此声明

作者(签字):

日期:

年月日

目录

1实验名称3

2实验目的3

3实验设备3

4实验任务3

5实验设计方案、电路实现与电路分析4

5.1基本芯片介绍4

5.2设计方案4

5.3电路实现与分析6

6实验结果与分析10

6.1基本运算的实现10

6.2加法器实现减法运算11

6.3溢出检测11

7实验中碰到的问题及解决办法13

8收获与体会13

9思考题14

10参考书目14

1实验名称

实验名称:

运算器组成实验

2实验目的

1、熟悉算术逻辑运算单元74LS181的逻辑功能与基本使用方法

2、掌握有符号数和无符号数的溢出检测原理及实现方法

3、通过实验理解有符号数和无符号数运算的区别

4、理解基于补码的加/减运算实现原理

5、熟悉运算器的数据传输通路

6、锻炼动手能力,和分析解决实际问题的能力

3实验设备

JZYL—Ⅱ型计算机组成原理实验仪一台

芯片:

1:

用作运算器和暂存器部件(第5部分会有相应分析)

74LS181运算器芯片2片

74LS3738D锁存器3片

2:

用作溢出检测部件(第5部分会有相应分析)

74LS04六输入反门1片

74LS86二输入四异或门1片

74LS10三输入三与非门1片

74LS32二输入四或门1片

74LS08二输入四与门1片

4实验任务

自己设计一个电路和利用实验参考电路进行实验,实验要求先将多个运算数据事先存入存储器中,再由地址选中,选择不同的运算指令,进行运算,并将结果显示,还可以进行连续运算和移位,最后将最终结果写入到存储器中。

并且能对输出的结果进行溢出检测。

图1.实验前预习给出的电路图

5实验设计方案、电路实现与电路分析

5.1基本芯片介绍

74LS181和74LS373的介绍(功能简介,管脚图,功能表等)详见参考文献:

...\组成实验(给学生)\整理后常用的芯片资料。

5.2设计方案

(1)主要目的:

熟悉算术逻辑运算单元74LS181的逻辑功能和有、无符号数的溢出检测。

(2)基本思路:

根据实验的主要目的及老师的相关要求,我们知道在实现只有八位数据位输入的情况下要能在181中实现两个八位数据位的相关运算,还要外加电路做溢出检测,所以需要用到两个181芯片作为基本运算部件,还有锁存器部件和溢出检测部件。

设计方案的基本思路如下:

用2片181实现基本运算功能;将181的输出值存入锁存器部件中,锁存器还要实现累加的功能;再外加溢出检测电路实现溢出检测功能。

(3)电路各部件架构:

A基本运算部件:

用两片74LS181串行连接实现数据的基本运算(这两片181的输入为两个8位二进制数,输出为一个8位二进制数);

B锁存器部件:

对于锁存器的选择,我们用74LS373。

因为较其他锁存器而言,373用在本实验中位数兼容(都是八位);操作简单(只有LE和OE两个控制端);基本状态符合本实验对锁存器的要求(有直传,锁存,高阻三种基本状态);故综合考虑选用373作为本实验的锁存器部件。

基本连接如下:

将1片373的输入连到2片181的输出A(有8位)上,这片373的高四位和低四位的值再分别存入两片373中,并通过这2片373的输出端输入到181中再次参与运算,实现累加/减功能;

C溢出检测部件:

无符号:

我们注意到181中有一位输出端是进/借位的反:

,所以我们可以利用这一个输出端求反后就可判断无符号的加/减法是否溢出;

有符号:

有符号加法的溢出检测,利用书上的公式

;当是有符号减法的时候,不能直接用上面的公式,如对于有符号数减法运算x-y,是要将[y]补的最高位求反后带入式中参与运算而不是将[-y]补的最高位代入式中。

因此我们设计一个求补的控制信号P,P与输入的加数/减数的最高位Y异或后作为上式的Yf,P置为高电平是做有符号减法溢出检测,P置为低电平是做有符号数加法溢出检测。

即有符号数的加/减法的溢出检测公式:

再连接一个二路选择器选择有无符号的溢出检测。

(4)电路基本结构图示

图2.电路基本结构图

5.3电路实现与分析

(1)基本运算部件:

由2片181组成。

这两片181分别接入了两个数据的低4位和高4位的输入信号(不妨将接低位的181芯片称为1号181,接高位的181芯片称为2号181,以下均同)。

具体实现如下:

1号181的

分别连接两个数据低4位的输入信号,2号181的

连接这两个数据高4位的输入信号;1号181的

连到连接2号181的

;1号181的

接在加减选择开关上(开关打至1进行减法运算,否则进行加法运算);两片181相应的M端,

端两两连接并接到开关上作为运算控制端,共4个开关;两片181的输出

分别依次接到373的输入端D。

图3.74LS181在实验中的电路连接

(2)锁存器部件:

将1片373的输入连到2片181的输出上(不妨将这片373称为1号373,以下均同);1号373的低四位和高四位的值再分别存入两片373中(将存放低位值的373称为2号373,将存放高位值的373称为3号373,以下均同),并通过这2片373的输出端输入到181中再次参与运算,具体实现如下:

1号373的

接到1号181的

接到2号181的

连接指示灯,OE和LE端作为控制端分别连接开关;2号373的

接到1号373的

,3号373的

接到1号373的

,2号373的

接到1号181的

,3号373的

接到2号181的

,将两个373相应的OE和LE端两两连接并接到开关上作为控制端,此处有两个开关。

图4.74LS373中的电路连接

(3)溢出检测部件:

由5.2设计方案的分析,溢出检测部件需要用到74LS04六输入反门,74LS86二输入四异或门,74LS10三输入三与非门,74LS32二输入四或门,74LS08二输入四与门。

无符号运算直接将2号181芯片的进/借位

经过反门后连接到二路选择器上;有符号运算则需要修正后的公式

,即

均来自2号181,P接开关作为有符号数的加/减法溢出检测选择端),依式子连接电路之后再将结果送入二路选择器中。

此处的二路选择器是将与门和或门的组合来达到二路选择器的效果,其原理公式为

为无符号数溢出检测信号,

为有符号数溢出检测信号,C接开关作为有/无符号数溢出检测信号选择端,当C拨到0时,选择无符号数检测信号,当C拨到1时,选择有符号数检测信号)。

图5.溢出检测部分的电路逻辑图示

图6.溢出检测部分的电路连接

 

图7..总电路图

说明:

本电路图由三部分构成,分别是基本运算部件,锁存器部件和溢出检测部件,可实现算术逻辑运算单元74LS181的逻辑功能和有、无符号数的溢出检测。

6实验结果与分析

6.1基本运算的实现

(1)直传10到AC。

其操作过程是:

先将数据开关拨为10,再设置好181的一个适当的运算方式,然后存入暂存器,最后存入AC:

检测记录表

S3S2S1S0

数据A

数据B

运算结果

M

1010

----------

00001010

00001010

1

------

该记录表明:

锁存器以及逻辑运算结果正确。

(2)直传5到送AC。

其操作过程是:

先将数据开关拨为5,再存入暂存器,最后存入AC,会看到AC的内容由10直接变成5:

检测记录表

S3S2S1S0

数据A

数据B

运算结果

M

1010

00001010

00000101

00000101

1

------

该记录表明:

锁存器以及逻辑运算结果正确。

(3)AC算术加1100,得结果00010001,送回AC:

检测记录表

S3S2S1S0

数据A

数据B

运算结果

M

1001

00000101

00001100

00010001

0

1

该记录表明:

算数运算结果正确。

(4)用181的求反功能将AC求反,得结果11101110,送回AC:

检测记录表

S3S2S1S0

数据A

数据B

运算结果

M

0000

00010001

---------

11101110

1

------

该记录表明:

逻辑运算结果正确。

(5)AC算术减01001111,得结果10011111,送回AC:

检测记录表

S3S2S1S0

数据A

数据B

运算结果

M

0110

11101110

01001111

10011111

0

0

该记录表明:

算数运算结果正确。

6.2加法器实现减法运算

关于加法实现,由于电路没有设置求补器,故此处手动求补。

送00110111到AC,实现AC减00010101,得结果00100010:

检测记录表

S3S2S1S0

数据A

数据B

运算结果

M

1010

--------

00110111

00110111

1

--------

1001(算数加)

00110111

11101011

00100010

0

0

该记录表明:

此处运算结果是正确的,溢出检测也是如此。

6.3溢出检测

(1)加法的检测:

①送10100110到AC,送10110101到数据开关,将181置为算术加,得结果01011011,可以观察到无符号数运算时有溢出,补码运算时也有溢出;

②送01010110到AC,送01100010到数据开关,得结果10111000,可以观察到无符号数运算时无溢出,补码运算时有溢出;

③送10110001到AC,送01101010到数据开关,得结果00011011,可以观察到无符号数运算时有溢出,补码运算时无溢出;

④送01001001到AC,送00100100到数据开关,得结果01101101,可以观察到无符号数运算时无溢出,补码运算时无溢出。

 

检测记录表

项目

S3S2S1S0

数据A

数据B

运算结果

M

有符号溢出

无符号溢出

1010

--------

10100110

10100110

1

---

----

----

1001(算数加)

10100110

10110101

01011011

0

1

1

0

1010

--------

10100110

10100110

1

---

---

---

1001

10100110

01100010

10111000

0

1

1

0

项目

S3S2S1S0

数据A

数据B

运算结果

M

有符号溢出

无符号溢出

1010

--------

01010110

01010110

1

---

---

---

1001

01010110

01101010

00011011

0

1

0

1

1010

--------

01001001

01001001

1

---

---

---

1001

01001001

00100100

01101101

0

1

0

0

注:

将有符号数的加/减法溢出检测选择端P一直置为低电平(即选择加法的检测);当溢出检测电路是检测有符号数时,将有/无符号数溢出检测信号选择端C置为高电平,而溢出检测电路是检测无符号数时,将有/无符号数溢出检测信号选择端C置为低电平。

该记录表明:

除了第一次无符号溢出检测失败,有符号溢出检测成功以外,其余三次均是无符号溢出检测成功,有符号溢出检测成功。

达到预期效果。

(2)减法的检测

由于无符号数的减法不会产生溢出,故此处只讨论有符号数的减法的溢出。

①送01011011到AC,送10010011到数据开关,得结果11001000,可以观察到补码运算时有溢出;

②送01001001到AC,送00100100到数据开关,得结果00100101,可以观察到补码运算时无溢出。

检测记录表

项目

S3S2S1S0

数据A

数据B

运算结果

M

有符号溢出

1010

--------

01011011

01011011

1

---

---

0110(算数减)

01011011

10010011

11001000

0

0

1

1010

--------

01001001

01001001

1

---

---

0110

01001001

00100100

00100101

0

0

0

注:

将有符号数的加/减法溢出检测选择端P一直置为高电平(即选择减法的检测);将有/无符号数溢出检测信号选择端C一直置为高电平(即选择有符号的检测)。

该记录表明:

无符号溢出检测成功,有符号溢出检测成功。

达到预期效果。

7实验中碰到的问题及解决办法

由于本次实验是组成原理的第一次实验,所以遇到了很多的问题。

具体如下:

1.无符号数溢出检测的原理:

我们最开始选取的《计算机组成原理》上67页的有符号数的溢出检测公式:

但我们注意到此公式只适用于加法。

于是我们就开始推算有符号数减法的溢出检测公式,但都不宜实现。

受此页书图3.1的启发,我们设计了一个对减数的最高位

与加/减法检测选择端P的异或电路,与原电路整合后即得

,这样通过加/减法溢出选择选择端就可以直接对两种计算进行检测,无需针对加法和减法各自设计一个检测电路;

2.二路选择器的实现:

在设计溢出检测电路的最后,要用到二路选择器。

但是当时找不到二路选择器。

我们注意到只需要再增加一个74LS08二输入四与门,并使用公式

就可以实现与二路选择器一样的功能,C接开关作为有/无符号数溢出检测信号选择端;

3.实验前的预习和准备工作不够,并且对试验台的了解不够,因此在展开实验的前期,对试验台和181,373芯片的连接和使用耗费了一段时间;

4.无符号的溢出检测出现了问题,检测结果时而对时而错。

我们在对电路测试,检查了多次以后仍然如此,最后没有能解决这个问题,留下了一个很大的遗憾。

8收获与体会

1.这次试验虽然说是第一次实验,但是老师给了我们充分的时间去做准备,而我们的预习工作还没有做到位,以至于试验中浪费了一定时间,下次应该做好充分的准备;

2.我们的电路是按照几大部件的顺序来连接的,在每一个模块完成以后我们都对电路进行了简单的检测,这是一个好的方法,下次一定要保持好模块设计的思路;在具体连接电路时,我们注意到每一个芯片插座总是少了两个引脚,后来才发现是少了Vcc和GND端,对此连接芯片时也要做相应的调整;

3.其实2号和3号373芯片的功能只用一个373就可以完全实现,只是老师给的基本电路是如此,所以我们没怎么考虑就一起用了三片373,以后应该在保证功能的前提下尽量简化电路;

4.有一次检测溢出检测电路时,结果总是不对,我们后来请来了实验室老师帮我们检查,才发现是一根导线坏了,当时我们是每一根导线都检查过了才用在电路上,可能是由于没有认真检查的原因,下一次对于细小的地方我们也应该认真对待。

总结:

本次实验有很多收获,也有很多不足。

不足之处总结来说,就是对电路的整体把握不够,对细节不够认真,还不会静下心来认真思考问题所在。

有了不足,我们才知道自己错在哪儿,反思自己的不足,我们才能更好地在实验中积累经验。

通过这一次的实验,我学会了很多,吸取了很多经验教训。

在下一次的实验之前一定做好充分的准备,为实验的成功奠定坚实的基础!

9思考题

问:

为什么要在电路中增加溢出检测部分?

答:

因为溢出检测部分是作为181和373组成的基本运算部件的必要补充部分,有了这个部分,从小的方面来看,可以检查出基本运算部件的每一次有/无符号数的加/减法运算结果是否正确;从大的方面来看,提高了整个电路的健全性和适用范围。

10参考书目

《计算机组成原理》秦磊华吴非莫正坤编著

《计算机组成原理实验及课程设计》秦磊华王小兰编著

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 营销活动策划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1