课 程 实 验 报 告
课程名称: 计算机组成原理——运算器
专业班级:
学 号:
姓 名:
同组人员:
指导教师:
孙百勇 秦磊华__
报告日期: 2013 年 5 月 5 日___
计算机科学与技术学院
目录
一、实验目的 .................................................................................................................... 2
二、实验设备 .................................................................................................................... 2
三、实验任务 .................................................................................................................... 2
四、 芯片说明 .................................................................................................................. 3
五、实验要求 .................................................................................................................... 5
六、实验步骤 .................................................................................................................... 6
七、最终电路检测 ..........................................................................................................13
八、实验体会和收获......................................................................................................14
九、实验中碰到的问题和解决的方法 ..........................................................................15
第 1 页
一、实验目的
1、掌握带累加器的运算器实验;
2、掌握溢出检测的原理和实现方法;
3、理解有符号数和无符号数运算的区别;
4、理解基于补码的加/减运算实现原理;
5、熟悉运算器的数据传输通路;
6、利用 74LS181 和 74LS182 以及适当的门电路和多路选择器设计一个运算,要求
支持有符号数和无符号数运算,支持补码加/减运算,支持有符号数溢出检测等功
能。
二、实验设备
实验台:JZYL—Ⅱ型计算机组成原理实验仪一台;
芯片:74LSl81:运算器芯片 2 片,74LS373:八 D 锁存器 2 片;
其它基本器件若干。
三、实验任务
复习:掌握前两个实验电路中各个信号的含义和作用,重点是运算与存储器
之间的数据通路。
设计:设计一个电路和利用实验参考电路进行实验,实验要求先将多个运算
数据事先存入存储器中,再由地址选中,选择不同的运算指令,进行运算,并将
结果显示,还可以进行连续运算和移位,最后将最终结果回写入存储器中。
技术概要:
1、基本运算:利用 74181 设计 8 位运算器;
2、溢出检测:设计基于单符号位的溢出检测方法和实现电路(要求能支持有符
第 2 页
号数和无符号数加法运算的溢出检测。选择适当的数据验证你所设计的电路的功
能);
3、增加功能:利用 373 芯片增加累加器功能;
4、集成:对上述电路进行综合集成,利用多路选择器设计电路,实现对有符号数
(用补码进行计算)和无符号数运算、加/减运算的支持。
四、芯片说明
74LS181:
74LS181 是一个四位运算器。实验中要用多个运算方式,如下表 4.1 所示,以及用
到如下图 4.1 所示的异或门来实现数据的奇偶校验。
表 1 74LS181 功能真值表
第 3 页
74LS373:
图 4.1 74LS181 引脚图
74LS373芯片为八D 锁存器(3S,锁存允许输入有回环特性) ,具体引脚分布和真
值表如下图4.2和表4.2所示。
芯片功能:
当三态允许控制端 OE 为低电平,O0~O7 为正常逻辑状态,可用来驱动负载
或总线;
当OE 为高电平,O0~O7 呈高阻态,即不驱动总线,也不为总线的负载,但
锁存器内部的逻辑操作不受影响;
当锁存允许端 LE 为高电平时,O 随数据D 而变。当LE 为低电平时,O 被
锁存在已建立的数据电平。
引脚功能:D0~D7 数据输入端 ;
OE 三态允许控制端(低电平有效) ;
表4.2 74LS373真值表
Dn
LE
OE
H
L
X
X
H
H
L
X
L
L
L
H
On
H
L
Q0
高阻态
LE 锁存允许端 ;
O0~O7 输出端 。
图 4.2 74LS373 引脚图
第 4 页
五、实验要求
1、作好预习
1) 掌握运算器的数据传送通路和 74181ALU 的功能特性;
2) 熟悉 ALU 并行进位的工作原理和实现方法;
3) 掌握溢出检测的原理和实现方法;
4) 理解有符号数和无符号数运算;
2、实验实施
1) 分功能模块设计各功能单元电路,对设计进行详细的分析与说明;
2) 逐步将各功能模块集成;
3) 设计特定数据,验证各模块的功能,做好数据的记录工作。
3、实验前的准备
1) 复习有关运算器的内容,对数据通路的构成、数据在数据通路中的流动
及控制方法有基本的了解;
2) 熟悉电路中各部分的关系及信号间的逻辑关系;
3) 参考芯片手册,自己设计实验电路,画出芯片间管脚的连线图,标上引
脚号,节省时间;
4) 对所设计的电路进行检查。
检查重点:检查能否控制数据在电路中不同部件之间进行正确的传输。
4、设计实验步骤
实验按照自己设计的电路进行。先完成运算器的数据通路部分,在运算器部
分能够正确完成各类运算的基础上,再增加累加器、异常检测和运用求补器进行
无符号数减法的功能。
具体步骤如下:
第 1 步:至少验证 4 个算术运算、4 个逻辑运算。
第 2 步:先增加溢出检测电路并验证;再增加 373 并验证。
第 3 步:加一个 373 及灯,依次看到 373 灯的变化。再将下面一个 373 的输出代
替“00101100”,然后交替使 373 工作,可以看到累加器的效果。
第 4 步:增加求补逻辑——一个开关控制为真传或求补,仅算术加法时才用上求
补。
第 5 页
六、实验步骤
第一步:利用 74181 设计 8 位运算器
特别提醒:在进行每次实验之前,检查芯片、实验台和导线的好坏。
芯片检查:1、按照如下电路图(图 6.1),连接两个 74LS181 芯片。将 S3-S0
置为 LLLL,M 置高,输入 B(10101010),显示 11010011,与理论值相符;
2、将 S3-S0 置为 HLLH,M 置低,Cn 置高,输入 B(10101010),
显示 11010110(A+B),与理论值相符。
结论:数据验证达到了预期的效果,芯片完好。
具体电路如下所示:
图 6.1 简单运算的逻辑图
图 6.2 简单运算的具体逻辑
第 6 页
检验线路正确性:
根据 181 的真值表进行检测性运算。八组运算结果如下表 6.1 所示(0 表示
L,1 表示 H):
表 6.1 181 运算真值表
S3 S2 S1 S0 数据 K0—K7 运算类型
运算公式
理论值
实际值
0
0
0
0
1
1
0 0
0 0
0 0
0 0
0 0
0 0
0
0
1
1
1
1
10001000
逻辑运算
10001000
算术运算
10001000
逻辑运算
10001000
算术运算
F=A
F=A
F=A+B
F=A+B
11010011
11010011
00101100
00101100
11110111
11110111
00001000
00001000
01010101
逻辑运算
F=A⊕B
10000110
10000110
01010101
算术运算
F=A 加 B
10000001
10000001
结论:2 条运算,共 6 中指令,全部吻合 ,运算器工作正常
第二步:溢出检测电路、增加 373 线路
溢出检测电路:
设立一个二路选择器,名为 P,是加减运算控制。
(1)令 P=1:
有符号数的溢出检测原理:根据操作数和结果运算结果的符号位是否一致进
行检测。只有两个同符号数相加时才会又可能产生溢出
逻辑表达式:
Yf 为 A 的最高位符号 , V 为溢出标志位,当 V 为 1 时表示发生溢出。
异常状况:当减法控制器 P=1,执行减法运算,如果在执行减法从第二个异或门
取符号位 Y0,则减法运算溢出检测结果可能出错。于是,我们采取了第二种方
法——根据运算过程中最高数据位的进位和符号位进位位是否一致进行检测。
(2)令 P=0:
无符号数的溢出检测原理:根据最高位是否发生进位来判断。
第 7 页