1、南通大学计算机科学与技术学院上机实验报告课程名称:计算机组成原理 年级: 上机日期:2014姓名: 学号: 班级:实验名称:实验二运算器组成实验 教师: 成绩:一、目的及要求一、实验目的1.掌握算术逻辑运算单元(ALU)的工作原理。2.熟悉简单运算器的数据传送通路。3.掌握 8 位补码加/减法运算器的设计方法。4.掌握运算器电路的仿真测试方法。实验要求:1.做好实验预习,掌握运算器的数据传送通路和 ALU 的功能特性。2. 实验完毕,写出实验报告.二、环境(软、硬件平台)软件平台:Quartus 硬件平台::现行的 XP,WIN7,64 位机都可以使用三、内容及步骤(包括程序流程及说明)实验参
2、考电路如下图所示,下图(a)是 1 位全加器的电路原理图,图(b )是由 1 位全加器采用行波进位方法设计的多位补码加/ 减法运算器。1.设计一个 8 位补码加/减法运算器(1)参考图 1,在 QUARTUS II 里输入原理图,设计一个 8 位补码加/减法运算器。一位二进制的加减法器电路图为:建立波形文件,设置数值进行测试封装为芯片,设计 8 位二进制的加减法器,电路图如下创建波形文件,对该 8 位补码加/减法运算器进行功能仿真测试测试通过后,封装成一个芯片。2. 设计 8 位运算器通路电路参考下图 2,利用实验任务 1 设计的 8 位补码加/减法运算器芯片建立运算器通路。实验电路图如下:3
3、利用仿真波形,测试数据通路的正确性。设定各控制信号的状态,完成下列操作,要求记录各控制信号的值及时序关系。(1)在输入数据 IN7IN0 上输入数据后,开启输入缓冲三态门,检查总线BUS7BUS0 上的值与 IN0IN7 端输入的数据是否一致。开启缓冲三态门,波形如下:时序关系表为:序号nsw-busnR0-BUS LDR0 LDR1 LDR2 mnalu-bus IN7IN0 BUS7BUS01 0 1 0 0 0 0 1 00H 00H2 0 1 0 0 0 0 1 01H 01H3 0 1 0 0 0 0 1 02H 02H(2)给 DR1 存入 55H,检查数据是否存入,请说明检查方法
4、。检查方法,在 DR1 中存入 55H,同时在 DR2 中存入 00H,检测总线输出的数即为存入的数据,波形图如下:时序关系表为:序号nsw-busnR0-BUS LDR1 LDR2 LDR3 mnalu-bus IN7IN0 BUS7BUS01 0 1 上升 沿 0 0 0 1 55H 55H2 1 1 0 上升 沿 0 0 1 00H ZZH3 0 0 上升 沿 0 0 0 1 00H 00H4 1 0 0 0 上升 沿 0 1 55H ZZH5 1 0 0 0 0 0 0 55H 55H(3)给 DR2 存入 AAH,检查数据是否存入,请说明检查方法。方法与上相同,在 DR1 中存入 5
5、5H,同时在 DR2 中存入 00H,检测总线输出的数即为存入的数据,波形图如下:时序关系表为:序号nsw-busnR0-BUS LDR1 LDR2 LDR3 mnalu-bus IN7IN0 BUS7BUS01 0 1 上升 沿 0 0 0 1 AAH AAH2 1 1 0 上升 沿 0 0 1 00H ZZH3 0 0 上升 沿 0 0 0 1 00H 00H4 1 0 0 0 上升 沿 0 1 00H ZZH5 1 0 0 0 0 0 0 55H AAH(4)完成加法运算,求 55H+AAH,检查运算结果是否正确,请说明检查方法。波形图如下:时序图为:序号 nsw-bus nR0-BUS
6、 LDR0 LDR1 LDR2 m nalu-bus IN7IN0 BUS7BUS01 0 0 上升 沿 0 1 552 1 0 上升 沿 0 13 0 0 上升 沿 0 1 AA4 1 0 上升 沿 0 15 1 0 0 0 FF(5)完成减法运算,分别求 55H-AAH 和 AAH-55H,检查运算结果是否正确,请说明检查方法。计算 AA-55,波形图如下:时序图如下:序号 nsw-bus nR0-BUS LDR0 LDR1 LDR2 m nalu-bus IN7IN0 BUS7BUS01 0 0 上升 沿 1 1 552 1 0 上升 沿 1 13 0 0 上升 沿 1 1 AA4 1
7、0 上升 沿 1 15 1 0 1 0 AB计算 55-AA,波形图,时序图为:(6)求 12H+34H-56H,将结果存入寄存器 R0,检查运算结果是否正确,同时检查数据是否存入,请说明检查方法。首先计算结果,波形图,时序图如下:检查结果的保存,则把结果存入 LDR1,把 00H 存入 LDR2,通过与 0 的相加,输出结果就可确定数据已存入。序号 nsw-bus nR0-BUS LDR0 LDR1 LDR2 m nalu-bus IN7IN0 BUS7BUS01 0 0 上升 沿 1 1 552 1 0 上升 沿 1 13 0 0 上升 沿 1 1 AA4 1 0 上升 沿 1 15 1
8、0 1 0 AB序号 nsw-bus nR0-BUS LDR0 LDR1 LDR2 m nalu-bus IN7IN0 BUS7BUS01 0 0 上升 沿 0 1 552 1 0 0 上升 沿 0 13 0 0 上升 沿 0 1 AA4 1 0 0 上升 沿 0 15 1 0 上升 0 0 46沿6 1 0 0 上升 沿 1 17 0 0 上升 沿 1 18 1 0 0 上升 沿 1 19 1 0 0 1 0 F0五、问题及心得这次实验,自己动手设计了 8 位的二进制加减法器,而且定义封装成芯片。虽然已经知道 74138、74244b 和 74273b 的功能,但是在芯片的输入输出中,使用总线方式更加方便简洁,学会了把缓存器,寄存器,ALU 合理的串接为 8 位运算器通路。时序的波形设计对我来说有一定的难度,在每个时钟周期里,各个部件的工作状态都不相同,必须要仔细分析每个阶段的各个部件的状态。只有多动手才会更加熟练,操作实践能力才会提高,这是计算机行业的人所必备的专业能力,我以后会多多上机实践操作,锻炼自己的能力。