实验四 32 位 ALU 设计实验

一、实验预习要求

  1. 预习《计算机组成原理》慕课附录 3.4 节、《计算机硬件系统设计》慕课 4.3
    节。
    二、实验目的
  2. 掌握定点数加减法溢出检测方法。
  3. 理解算术逻辑运算单元 ALU 的基本构成。
  4. 掌握 Logisim 中各种运算组件的使用方法:
  1. 逻辑运算:与、或、非、异或
  2. 算术运算:乘法器、除法器、求补器、比较器
  3. 移位器
  1. 熟练掌握多路选择器的使用方法。
  2. 能利用前述实验完成的 32 位加法器(禁止使用 Logisim 自带的加法器/减法
    器组件)和 Logisim 的运算组件构造指定规格的 ALU 单元。

三、实验内容
使用 Logisim 软件打开实验电路图“alu.circ”完成算术逻辑运算单元 ALU
子电路的设计,并在 ALU 自动测试电路中进行测试。
7. 算术逻辑运算单元 ALU 子电路设计。
8. ALU 自动测试。

先上电路图:
在这里插入图片描述
实验原理分析:
ALU 运算操作码定义 如下:
在这里插入图片描述

根据OP进行操作的原理

使用数据选择器,将op(这里的s)所有取值的对应运算功能实现,最后根据op的值来进行数据选择。

0,1,2操作

这三个操作类似,我们可以一起说。需要实现的运算功能,我们都可以直接在logisim中直接找到。
实验很明显的说到,
Y取低五位,因为x的数据位宽就是32位,所以最多只能被移动5位(2^5=32),取Y低五位我们可以用分线器实现。
在这里插入图片描述

3操作

实现乘法使用乘法器即可,由于相乘可能出现溢出,R2对应端口连接高进位。

4操作

将x和y连接触发器,将商和余数连接对应端口即可。

5,6操作

加法直接连接加法器输入端即可,减法我们可以看成x+(-y),使用一个求补器将y的补码送进加法器。
有符号加减法溢出,我们将最高位和符号位进位异或(下面有图片)。
无符号加法溢出很好理解,如果最高的两位相加,产生了进位,那么肯定就是溢出了!
无符号减法,因为我们求补码多加了一个模,按理说就应该会产生一个进位,所以当进位为1是,其实并未溢出。进位为0,说明1(应该进的)+1(溢出的)=>0,此时是真正溢出了!所以我们要取反!

引用一张ppt吧,嘿嘿,挺简明的。
这里是引用

7,8,9,10操作

根据需要实现的逻辑功能,连接对应即可。

11,12操作

我们可以使用现成的比较器进行比较,同时注意比较器中有 无符号和有符号的 选项,注意选择。
此外,由于比较结果数据位宽为1位,而选择器数据位宽为32位,这里需要使用位扩展器
在这里插入图片描述
在这里插入图片描述
[外链图片转存中…(img-luESZXLn-1618490852793)]

其他细节

1) 由于不能有引脚悬空,所以不输入的都要接地
2)result2只在X和Y进行乘除操作才会有数值,其他时候都是0,这同样可以使用一个 数据选择器实现
3)同样的,UOF和OF只在X和Y进行加减操作才会有数值,其他时候都是0,同样可以使用一个 数据选择器实现
4)Equal可以在比较器的 ‘=’ 那里直接连接

  • 45
    点赞
  • 333
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
计算机组成原理是计算机科学与技术领域的一门基础课程,它研究计算机硬件如何组成和工作的原理与方法。其中的32位ALU设计实验是该课程的实践环节,旨在通过设计和实现32位ALU来加深对计算机原理的理解。 华中科技大学的32位ALU设计实验通常包括以下几个步骤: 首先,需要对ALU进行功能分析与设计。根据计算机原理的知识和需求,确定该ALU需要具备的基本运算功能,如加法、减法、与、或等。然后,根据需求设计ALU的逻辑电路图,明确控制信号和数据输入、输出的数。 接下来,需要使用计算机辅助工具(如EDA软件)进行电路仿真与验证。通过仿真,可以验证设计的正确性与有效性,发现并解决可能存在的问题。 然后,进行实际的电路布线与制造。根据设计的电路图,进行电路的布线布道,将逻辑电路转化为物理电路。这一步需要严谨的操作和精确的测量技术。 最后,进行ALU的功能测试与调试。通过编写测试程序,验证ALU的运算结果是否正确。根据测试结果,修复可能存在的错误与问题,以确保ALU的稳定和可靠。 在整个设计实验的过程中,需要充分理解和运用计算机原理的相关知识,如数字电路设计、布线与制造技术等。同时,需要具备一定的实际操作能力和团队协作精神。 通过参与该实验,学生能够深入理解计算机系统的组成原理,加深对数字电路和逻辑设计的理解,并提高实践操作与问题解决的能力。这对于培养学生的计算机科学与技术素养具有重要的意义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值