运算器组成实验.docx

上传人:b****4 文档编号:4114605 上传时间:2022-11-28 格式:DOCX 页数:16 大小:702.84KB
下载 相关 举报
运算器组成实验.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

运算器组成实验

==============================

一、实验目的-----------------------------------------------------------------------------------3

二、实验设备-----------------------------------------------------------------------------------3

三、实验任务-----------------------------------------------------------------------------------3

四、预备知识----------------------------------------------------------------------------------4

五、实验要求----------------------------------------------------------------------------------6

六、实验步骤---------------------------------------------------------------------------------7

七、具体实验电路分析,操作与数据记录----------------------------------------8

八、实验的问题与应对------------------------------------------------------------------16

九、体会与收获--------------------------------------------------------------------------16

 

一、实验目的

1、掌握带累加器的运算器实验。

2、掌握溢出检测的原理和实现方法;

3、理解有符号数和无符号数运算的区别,

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

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

6、利用74181和74182以及适当的门电路和多路选择器设计一个运算,要求支持有符号数和无符号数运算,支持补码加/减运算,支持有符号数溢出检测等功能。

二、实验设备

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

芯片:

74LSl81:

运算器芯片2片

74LS373:

八D锁存器2片

其它基本器件若干。

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

复习前两个实验电路中各个信号的含义和作用,重点是运算与存储器之间的数据通路

三、实验任务

1、利用74181设计8位运算器;

2、设计基于单符号位的溢出检测方法和实现电路

(要求能支持有符号数和无符号数加法运算的溢出检测。

选择适当的数据验证你所设计的电路的功能。

3、利用373芯片增加累加器功能

4、对上述电路进行综合集成,利用多路选择器设计电路,实现对有符号数(用补码进行计算)和无符号数运算、加/减运算的支持;

四、预备知识

1、运算器的相关知识

运算器是对数据进行加工处理的部件,它具体实现数据的算术运算和逻辑运算,所以又称算术逻辑运算部件,简称ALU,它是中央处理器的重要组成部分。

计算机中的运算器结构一般都包含如下几个部分:

加法器、一组通用寄存器、输入数据选择电路和输出数据控制电路等。

SN74181是一个四位的算术逻辑运算单元,它的基本算术逻辑运算单元仍然以FA为基础,通过在FA输入端增加函数发生器改变输入数据的特性,使得这些数据经过FA后能实现更多和更复杂的算术、逻辑运算功能。

1、对74LS181的说明

74LS181是一个四位运算器。

实验中要用多个如下图所示的异或门来实现数据的奇偶校验。

74LS181真值表:

2、对74SL373的说明:

八D锁存器(3S,锁存允许输入有回环特性)

简要说明:

373为三态输出的八D透明锁存器,共有54/74S373和54/74LS373两种线路结构型式,其主要电器特性的典型值如下(不同厂家具体值有差别):

型号

tPd

PD

54S373/74S373

7ns

525mW

54LS373/74LS373

17ns

120mW

373的输出端O0~O7可直接与总线相连。

当三态允许控制端OE为低电平时,O0~O7为正常逻辑状态,可用来驱动负载或总线。

当OE为高电平时,O0~O7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。

当锁存允许端LE为高电平时,O随数据D而变。

当LE为低电平时,O被锁存在已建立的数据电平。

当LE端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善400mV。

引出端符号:

D0~D7数据输入端

OE三态允许控制端(低电平有效)

LE锁存允许端O0~O7输出端:

74LS373真值表

Dn

LE

OE

On

H

H

L

H

L

H

L

L

X

L

L

Q0

X

X

H

高阻态

五、实验要求

1、作好预习

1)掌握运算器的数据传送通路和74181ALU的功能特性。

2)熟悉ALU并行进位的工作原理和实现方法;

3)掌握溢出检测的原理和实现方法;

4)理解有符号数和无符号数运算;

5)在课外利用EDA软件先设计功能电路,并进行功能仿真

2、实验实施

1)分功能模块设计各功能单元电路,对设计进行详细的分析与说明

2)逐步将各功能模块集成

3)设计特定数据,验证各模块的功能,做好数据的记录工作

六、实验步骤

1、实验前的准备

1)复习有关运算器的内容,对数据通路的构成、数据在数据通路中的流动及控制方法有基本的了解。

2)熟悉电路中各部分的关系及信号间的逻辑关系

3)参考芯片手册,自己设计实验电路,画出芯片间管脚的连线图,标上引脚号,节省实验的时间。

4)对所设计的电路进行检查,重点是检查能否控制数据在电路中不同部件之间的传输。

2、实验步骤

实验可按照自己设计的电路或参考电路按照搭积木的方式进行。

先完成运算器的数据通路部分,在运算器部分能够正确完成各类运算的基础上,再增加累加器、异常检测和运用求补器进行无符号数减法的功能。

其它补充:

第1步完成:

至少验证4个算术运算、4个逻辑运算。

第2步完成:

先增加溢出检测电路并验证

再增加373并验证

第3步完成:

1、再加一个373及灯,依次看到373灯的变化。

2、将下面一个373的输出代替“00101100”,然后交替使373工作,

可以看到累加器的效果。

第4步完成:

增加求补逻辑

一个开关控制为真传或求补。

仅算术加法时才用上求补。

七、具体实验电路分析,操作与数据记录分析

第一步:

利用74181设计8位运算器

在进行第一步实验之前,检查芯片的好坏和导线的好坏。

在检查74LS181时根据如下的功能图(图3)进行了两组数据验证,达到了预期的效果,芯片完好。

验证结果如下表3(0表示L,1表示H)

S3S2S1S0

数据A

数据B

运算类型

理论值

实际值

0000

10101010

01010101

算术运算

10101010

10101010

0101

11111111

00010001

逻辑运算

11101110

11101110

表3

74LS181的功能表3:

验证后按照如下电路图(图4)连接两个74LS181芯片,连接后根据功能图3进行了如下的八组运算,如表4所示:

图4

具体电路如下所示:

八组运算结果如下表4所示,全部吻合(0表示L,1表示H):

S3S2S1S0

数据K0—K7

运算类型

理论值

实际值

0000

10001000

逻辑运算M=H

11010011

11010011

0000

10001001

算术运算M=L,Cn=L

00101100

00101100

0001

10001000

逻辑运算M=H

11110111

11110111

0001

10001000

算术运算M=L,Cn=L

00001000

00001000

1001

01010101

逻辑运算M=H

10000110

10000110

1001

01010101

算术运算M=L,Cn=L

10000001

10000001

1111

01101001

逻辑运算M=H

00101100

00101100

1111

01101001

算术运算M=L,Cn=L

00101011

00101011

表4

第二步:

设计基于单符号位的溢出检测方法和实现电路

溢出检测电路如图5所示:

溢出检测电路的实现规则:

设立一个二路选择器,当P=1时选择有符号数的运算,即如上图的溢出检测的结果为信号指示灯。

(1)P=1

有符号数的溢出检测原理:

根据操作数和结果运算结果的符号位是否一致进行检测。

因为只有两个同符号数相加时才会又可能产生溢出

设Xf,Yf未参加运算数的符号位,Sf为结果的符号位,V为溢出标志位,取V为1时表示发生溢出。

则可得实现溢出检测的逻辑表达式

即取最高位的XY与S比较。

(2)P=0无符号数的溢出检测原理:

根据最高位是否发生进位来判断。

即实现溢出检测的逻辑表达式:

设计好溢出电路之后,按步骤2的图5连接好溢出检测电路,根据图6连接好电路。

图6

具体电路图:

 

由于溢出只发生在算术运算中,故下表中的MCn只取01.

(1)无符号数溢出检测结果如下表5:

(0表示L,1表示H)

S3S2S1S0

数据K0—K7

MCn

理论值

实际值

溢出灯

1001

11010101

01

00000001

00000001

红,有溢出

1001

01010101

01

10000001

10000001

蓝,无溢出

1100

10101010

01

01011000

01011000

蓝,无溢出

1101

11000000

01

00011000

00011000

红,有溢出

表5

(2)有符号数溢出检测结果如下表6:

(0表示L,1表示H)

S3S2S1S0

数据K0—K7

MCn

理论值

实际值

溢出灯

1001

11010101

01

00000001

00000001

蓝,无溢出

1001

01010101

01

10000001

10000001

红,有溢出

1100

10101010

01

01011000

01011000

蓝,无溢出

1101

11000000

01

00011000

00011000

蓝,无溢出

表6

经过以上两种不同的检测验证,证明了电路的溢出检测功能正确。

第三步:

利用373芯片增加累加器功能

在这一步进行时既进行了累加功能,根据图7连接好累加电路

图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)。

实验中将初始数据存入第一个373锁存器,然后将数据再送入第二个锁存器,第二个373再将数据送入和K0—K7的数相加,结果送入第一个373,并显示。

再把加的结果循环送入第二个373锁存来进行下一步的加法,即相当于实现了累加,每次累加的值为K0-K7所表示的数。

经过这一步的实验圆满完成了这一步的累加功能。

第四步:

对上述电路进行综合集成,利用多路选择器设计电路,实现对有符号数(用补码进行计算)和无符号数运算、加/减运算的支持;

设计求补电路如下图图8所示:

图8

求补电路工作原理:

(1)当P=0时,则相当与输入无符号数。

(2)当输入负数时,取P=1,对每一个输入的信号与P取异或,将P取反输入到Cn作为初始进位。

即达到了对输入的信号求补的运算。

在累加的基础上,接入求补电路,如下图图9所示,连接起电路图。

 

具体电路图:

实验检测步骤:

(1)选择P是有符号还是无符号数的运算,然后将开关K0-K7输入一个数值。

(2)执行相应的运算,判断运算的结果是否正确,同时判断溢出检测的结果是否正确。

执行有符号数和无符号数加减,对有符号数和无符号数的求补选择,同时进行溢出的判断。

并输出结果。

执行后实验的结果在有符号数及无符号数求补及其相应的运算结果都是正确的,则实验是成功的。

 

综合以上四步电路设计及其分析,我们得到总体的电路图如下:

 

八、实验中碰到的问题和解决的方法

1)实验台上开关,灯泡问题

由于坏的很多,所以要一个一个的检验所有的开关,将坏掉的开关做上标记,并充分利用未坏掉的开关来满足实验对电路开关的要求;对于灯泡也可以这样,进行标记和处理。

2)经常出现导线和芯片坏掉的问题

解决的方法:

每一根导线必须进行测试,以保证其可用性。

而芯片使用前也要进行测试。

不然可能会影响到整个实验。

3)连好线后,进行各种测试和实验时,发现与预计实验结果不符。

这个与实验的电路连接和导线,芯片,开关,灯泡的可用性都有关系,一旦出现问题,个人感觉就十分复杂了,返回一步一步的检查是很难的检查出来的,有时候老师也不一定能解决问题。

如果能检查出来是哪一步出了问题最好,如果实在不行,那么只有拆了,然后重组。

九、实验体会和收获

这是计算机组成原理的第一个实验,虽然还有点陌生,但是有着数字逻辑的实验操作基础,而且本次实验电路图由老师直接提供,我们只需要按照电路图连接就可以了,但是就是如此,仍然遇到许多问题,就像老师所说,实验想要成功,必须要天时地利人和。

有时候就一根断的导线,一个芯片引脚的问题导致全盘实验的失败。

而返回检查电路很困难,有时候不得不重新拆线进而重新组装电路。

所以要注重细节,一步一个脚印。

这些往往成为实验成败的关键。

基本熟悉了整个实验系统的基本结构,了解了该实验装置按功能分成几大区,学会何时操作各种开关、按键。

最重要的是通过实验掌握了运算器工作原理,熟悉了算术/逻辑运算的运算过程以及控制这种运算的方法,了解了进位对算术与逻辑运算结果的影响。

相信以后随着实验的增多,会更加深入理解组成原理。

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

当前位置:首页 > 农林牧渔 > 林学

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

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