您的当前位置:首页正文

组成原理实验报告_运算器组成实验

来源:帮我找美食网


课 程 实 验 报 告

课程名称: 计算机组成原理 计算机科学与技术学院

1

一、实验名称

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

二、实验目的

1、掌握带累加器的运算器实验 2、掌握溢出检测的原理及实现方法 3、理解有符号数和无符号数运算的区别4、理解基于补码的加\\减运算实现原理

2

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

三、实验设备

JZYL—Ⅱ型计算机组成原理实验仪一台 芯片:74LS181运算器芯片 2片 74LS373 8D锁存器 3片

四、实验任务

自己设计一个电路和利用实验参考电路进行实验,实验要求先将多个运算数据事先存入存储器中,再由地址选中,选择不同的运算指令,进行运算,并将结

果显示,还可以进行连续运算和移位,最后将最终结果写入到存储器中。

参考电路:

技术要点

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

2) 设计基于单符号位的溢出检测方法和实现电路。要求能支持有符号数

和无符号数加法运算的溢出检测。选择适当的数据验证你所设计的电路的功能。

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

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

3

五、设计实验

4

5

74LS373管脚图

74LS373真值表 Dn H L X X LE H H L X OE L L L H On H L Q0 高阻态 2)74LS181:74LS181是一个四位运算器。实验中要用多个如下图所示的异或门来实现数据的奇偶校验。

6

74LS181 管脚图

74LS181 功能表

2、设计思路

1)将两片74LS181通过373连在一起,通过373的锁存功能实现八位运算 2)溢出检测的设计:

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

有符号:根据运算过程中最高数据位的进位与符号位的进位位是否一致

7

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

但上述方案在已有条件下难以实现,经老师建议,改为根据操作数和运

Yf为参加运算数的符号位,Sf算结果的符号是否一致进行溢出检测。设Xf,

为结果的符号位,V为溢出标志符,当V取1时表示发生一处。基于该方法的公式为:VXfYfSfXfYfSf

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

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

构造八位运算器检测记录表 S3 S2 S1 S0 数据A 数据B 1001 00000001 00000001 1001 00000010 00000001 1001 00000001 00000010 1001 10000000 10000000 1110 00000001 00000001 1110 00000001 00000000 1110 00000000 00000001 1110 10101010 01010101 该记录表明:8位运算器构造成功

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

运算结果 00000010 00000011 00000011 00000000 00000000 00000001 00000001 11111111 M 0 0 0 0 0 0 0 0 Cn 1 1 1 1 添加溢出检测检测记录表 S3 S2 S1 S0 数据A 数据B 运算结果 1001 011111111 00000000 01111111 该记录表明:溢出检测添加失败,没有达到预期效果

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

添加373芯片后检测记录表

M 0 Cn 1 溢出 1 脉冲A 脉冲B S3S2S1S0 数据 结果A 结果B M 1 0 1001 00000001 00000001 00000000 0 0 1 1001 00000001 00000001 00000001 0

Cn 1 1 8

1 0 1001 00000001 00000010 0 1 1001 00000001 00000010 1 0 1001 00000010 00000100 0 1 1001 00000010 00000100 1 0 1001 00000010 00000110 0 1 1001 00000010 00000110 该记录表明:可实现累计和数据传送

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

添加求补电路后检测记录表 00000001 00000010 00000010 00000100 00000100 00000110 0 0 0 0 0 0 1 1 1 1 1 1 脉冲A 脉冲B S3S2S1S0 数据 结果A 结果B 1 0 1001 00000101 00000101 00000000 0 1 1001 00000101 00000101 00000101 0 0 1001 10000011 00000101 00000101 1 0 1001 10000011 00000010 00000101 该记录表明:可实现求补功能并完成负数运算和减法运算

M 0 0 0 0 Cn 1 1 0 0 0/1 1 1 0 0 七、收获与体会

这次实验是第一次组成原理实验,上学期做数字逻辑实验室用过这样的试验台,所以还不算什么都不清楚的状况。其实看老师给出了很多的连线图,本来觉得会容易很多吧,可能不需要3个时间单元。结果,跟我们想象中的完全不一样。虽然自己要设计的东西很少,但是在实验过程中却是不那么顺利。实验第一步很简单,按照给的图连线,在进行验证,结果完全正确。这时我们觉得这个实验应该不会太难。但是做到第二步的增加溢出检测电路并验证的时候就出现问题了,实验结果并不是完全正确,有时候不该溢出时却溢出了。为了完成这一项,我们花费了很多时间,检查连线,检查芯片好坏,检查设计是否出错,等等。这时候我们终于意识到为什么老师说以前的学生做实验搞到很晚是为什么。第三步也很简单,只是简单地连线而已。到第四步又来了一个难点,求补运算,一开始求反后不知道怎么加1。这个问题也困扰了我们很长一段时间。最开始想再用181进行加1运算,但是觉得这样线路太复杂,简单的方法一时想不到,浪费了大量时间。后来想到可以用进位的方法,求补开关打开时后有一个进位,这就解决了这个问题。总之这次实验虽然出来了不少问题,但是我们在解决问题中学到的更多。

9

10

因篇幅问题不能全部显示,请点此查看更多更全内容

Top