计算机组成原理(实验三:mips运算器设计)
1.实验目的
理解算术逻辑运算单元(ALU)的基本构成,掌握 Logisim 中各种运算组件的使用方法,熟悉多路选择器的使用,能利用前述实验完成的 32 位加法器、 Logisim 中的运算组件构造指定规格的 ALU 单元。
2.实验内容
利用前面实验封装好的 32 位加法器以及 logisim 平台中现有运算部件,构建一个 32 位算术逻辑运算单元(禁用 Logisim 系统自带的加法器,减法器),可支持算术加、减、乘、除,逻辑与、或、非、异或运算、逻辑左移、逻辑右移、算术右移运算,支持常用程序状态标志(有符号溢出 OF 、无符号溢出 UOF ,结果相等 Equal ),ALU 功能以及输入输出引脚见后表,在主电路中详细测试自己封装的 ALU ,并分析该运算器的优缺点。
3.模块电路
(1)设计思路
先构造出每一种功能的输出,再根据OP的值来选择输出:
0~2:分别用一个移位器实现,设置对应的属性;
3~4:分别用自带的乘法器、除法器实现;
5:加法,用封装好的32位加法器,OF判断最高位进位和符号位进位是否一致,UOF判断是否有进位(需一个异或门),C0取0;
6:减法,用封装好的32位加法器,Y取反用一个非门实现,无符号数的减法溢出,带加减功能的ALU的进位取反后表示,有符号数的减法溢出,仍然用最高位和符号位是否相等来判断,C0取1;
7~10:分别用与门、非门、异或门、或非门实现;
11:比较器用补码型,结果0拓展;
12:比较器用无符号型,结果0拓展,还需要一个equal信号;
都构造好之后,根据OP的值输出resualt。
(2)电路图
(3)测试结果