华中科技大学 组成原理实验报告 运算器组成实验

课程名称:      计算机组成原理           

专业班级:  信息安全1003     

    号:  U201014669          

    名:  蒋志斌              

同组成员:  张源信              

报告日期:  20125          

计算机科学与技术学院

目录

一、实验名称............................................................................................................ 3

二、实验目的............................................................................................................ 3

三、实验设备............................................................................................................ 3

四、实验任务............................................................................................................ 3

五、预备知识............................................................................................................ 4

1、运算器的相关知识......................................................................................... 4

2、注意事项:................................................................................................... 5

六、设计思路、电路实现与电路分析说明.................................................................. 5

1、任务分析....................................................................................................... 5

2、设计思路....................................................................................................... 7

3、电路实现与详细分析说明.............................................................................. 8

七、实验结果的记录与分析..................................................................................... 10

八、实验中碰到的问题及解决办法........................................................................... 11

九、收获与体会....................................................................................................... 11

十、参考书目.......................................................................................................... 12

一、实验名称

实验名称:运算器组成实验

二、实验目的

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

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

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

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

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

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

三、实验设备

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

芯片:74LS181运算器芯片         2片

           74LS373 8D锁存器          3片

四、实验任务

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

五、预备知识

1、运算器的相关知识

运算器是对数据进行加工处理的部件,它具体实现数据的算术运算和逻辑运算,所以又称算术逻辑运算部件,简称ALU,它是中央处理器的重要组成部分。计算机中的运算器结构一般都包含如下几个部分:加法器、一组通用寄存器、输入数据选择电路和输出数据控制电路等。74LS181能执行16种算术运算和16种逻辑运算,当工作方式控制端(M)为低电平时执行算术运算,当工作方式控制端(M)为高电平时执行逻辑运算,运算功能由功能选择端(S0-S3)决定。

对74LS181的说明:

引出端符号:

                        运算数输入端(低电平有效)

                        运算器输入端(低电平有效)

                            进位输入端

                          进位输出端

                        运算输出端(低电平有效)

                            工作方式控制

                        功能选择

2、注意事项:

1)74LS181的输入和输出应按顺序,不能接乱或接反。

2)实验中的开关较多,实验时若记不清楚就容易因混乱而发生错误,因此对于用不到的引脚就不用接开关了。

六、设计思路、电路实现与电路分析说明

1、任务分析

方案选择:这个实验既可以自己设计电路,也可以参考老师所给的电路。我们选择了参考老师所给的参考电路。

芯片选择与分析:根据方案的示意图,方案需要用到两片74LS181芯片和三片74LS373芯片。其中74LS181做数据运算器,74LS373做数据锁存器。

各芯片介绍如下:

1)74LS373:74LS373是一个8D锁存器。当三态允许控制端 OE 为低电平时,O0~O7 为正常逻辑状态,可用来驱动负载或总线。当 OE 为高电平时,O0~O7 呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。   当锁存允许端 LE 为高电平时,O 随数据 D 而变。当 LE 为低电平时,O 被锁存在已建立的数据电平。当 LE 端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善 400mV。   

引出端符号:   

D0~D7 数据输入端   

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

LE 锁存允许端   

O0~O7 输出端

                74LS373管脚图

            74LS373真值表

2)74LS181:74LS181是一个四位运算器。实验中要用多个如下图所示的异或门来实现数据的奇偶校验。

                              74LS181 管脚图

2、设计思路

1)将两片74LS181通过373连在一起,通过373的锁存功能实现八位运算

2)溢出检测的设计:

无符号:无符号运算中,若最高位存在进位,则表示有溢出,否则则表示无溢出,所以只需直接将最高进位位(即Cn+4)与灯相接,高电位表示有溢出,低电位表示无溢出(电路图略)

有符号:根据运算过程中最高数据位的进位与符号位的进位位是否一致进行检测,设运算过程中最高数据位的进位产生的进位信号为Cd,符号位产生的进位信号为Cf,当参加运算的两数均为正数时,则Cf = 0且符号位之和为Sf = 0,此时若Cd = 1,则导致运算结果的符号位与参加运算的数的符号位不同,会发生溢出;当参加运算的两数为负数,则Cf = 1,且之和为Sf = 0,此时只有Cd = 1才能使Sf = 1,运算结果的符号位才与参加运算的符号相同,若Cd = 0,则Sf = 0导致运算结果的符号位与参与运算的数的符号位不同,也会发生溢出。综上所述,利用公式即可进行溢出检测。

但上述方案在已有条件下难以实现,经老师建议,改为根据操作数和运算结果的符号是否一致进行溢出检测。设为参加运算数的符号位,为结果的符号位,为溢出标志符,当取1时表示发生一处。基于该方法的公式为:

3、电路实现与详细分析说明

1) 74LS181模块:第一个cn接开关,第一个的cn+4接第二个的cn;第二个181的cn+4接入溢出检测模块;连个的M接在一起,接到开关上;S3至S0依次接到控制开关上;A0至A3分别依次接到两个373的输出端Q上;B0至B3分别依次和开关相连;F3至F0分别依次接到373的输入端D,同时接到指示灯上。

74LS181在实验中的电路连接

2)74LS373:373(U1)的8D至1D依次接到两个181的F3至F0上;U2和U3的8Q至5Q依次接到181的A0至A3上;373(U1)的8Q至1Q依次接到两个373的输入端D上;

74LS373(U2、U3)中的电路连接

3)溢出检测模块:运算数的符号位与求反后的运算结果符号位相与,与运算数符号位求反并与运算结果符号位相与的结果求或,结果输出至溢出检测灯。

            溢出检测部分的电路连接

总电路图:

七、实验结果的记录与分析

1、实验过程1构造八位运算器检测记录:

构造八位运算器检测记录表

该记录表明:8位运算器构造成功

2、实验过程2添加溢出检测检测记录

添加溢出检测检测记录表

该记录表明:溢出检测添加失败,没有达到预期效果

3、实验过程3添加373芯片后检测记录

添加373芯片后检测记录表

该记录表明:可实现累计和数据传送

4、实验过程4添加求补电路后检测记录

添加求补电路后检测记录表

该记录表明:可实现求补功能并完成负数运算和减法运算

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

本实验过程中遇到的最大问题是溢出检测的实现问题,最初采用的检测方案即为实验过程第2步所述方案,但连接后发现不能达到预期效果,经过向老师请教,发觉上述溢出检测设计方案中难以取出最高有效数据位,而且在只用两片LS74181芯片的前提下也难以实现符号位的相加,所以也难以取出符号位的进位。所以决定换一种溢出检测方案,改为根据操作数和运算结果的符号位是否一致来进行溢出检测。

只有两个符号相同的数相加才有可能产生溢出检测,因此,可根据操作数和运算结果的符号位是否一致进行检测。设Xf,Yf为参加运算数的符号位,Sf为结果的符号位,V为溢出标识符,则该方法可用公式来实现。

九、收获与体会

这是计算机组成原理的第一次实验,因为之前做过数字逻辑的实验,而且老师也对实验台进行了介绍,所以虽然是第一次接触该实验台,但是对仪器还是相对熟悉的,了解各芯片的基本原理及使用方法。这次实验老师在讲解的过程中给出了整个实验的思路并将实验分为了四块,每块递进处理,所以上手还是比较快的,按照老师给出的思路,很快完成了第一步,做出了8位计算器,并且进行算数运算与逻辑运算测试均得到了预期效果。然后开始进行第二步,为该运算器添加溢出检测,经过商议,决定采用课本上给出的第二种溢出检测方法,即根据运算过程中最高数据为的进位与符号位的进位是否一致来进行溢出检测,在草稿纸上画出简单的电路图后开始连线,连线完毕后进行检测却出现了错误,在没有溢出时却出现了有溢出标志,仔细检查电路连线没有发现错误,后来通过向老师请教和与同伴商量,发觉该方案存在一些问题:难以取出最高有效数据位,而且在只用两片LS74181芯片的前提下也难以实现符号位的相加,所以也难以取出符号位的进位,所以该方案不适合在本实验中使用。按照老师的建议,可以采用课本上给出的第一种方案,即根据操作数和运算结果的符号位是否一致来进行检测,但由于前面已花费了大量的时间,决定更改方案时以接近实验的结束时间,所以本实验最终没有完成全部任务,在溢出检测模块还存在一些问题。接下来是添加LS74373芯片和增加求补电路,因为老师已经进行了讲解而且给出了实验思路,所以实验比较顺利,并达到了预期目的。

本次实验花费了大量的时间,而且最终没有达到理想效果,总结其原因有一下几点:(1)没有在实验前仔细地检查实验设备,虽然也进行了一些检查,但不够仔细,所以在实验过程中多次因为接触不良而纠结;(2)实验过程中不够冷静,没有认真思考,例如在溢出检测方案的选择问题上,没有经过冷静分析便盲目动手,造成了本实验中最大的失误;(3)对基础知识的掌握不够牢固,在实验过程中分析错误时存在困难,从而造成因为181芯片输入的错误而花费了很多时间检查线路。

虽然这样,通过本次实验,依然加深了对运算器基本原理的了解,学会了如何利用4位运算器来构造8位运算器并实现累加,实验过程中也再次培养了认真仔细负责的实验品质,为以后的学习奠定了基础。

十、参考书目

《计算机组成原理实验指导书》 王晓兰 周建国 吴秀敏 管军  编著

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

 

第二篇:组成原理实验报告(运算器、通用寄存器、移位寄存器)

西安财经学院 信息学院

  《计算机组成原理》    实验报告

实验名称         运算器实验、通用寄存器实验、移位寄存器实验       

实验室   实验楼418  实验日期    2011/11/292011/12/22011/12/6     

相关推荐