一、 实验目标:
- 实际运用WinMIPS64进行实验,以期更了解WinMIPS64的操作;
- 更加深入地了解MIPS程序的语法;
- 深入地了解在计算机中乘法的实现以及加法与乘法之间的关系。
二、实验内容
按照下面的实验步骤及说明,完成相关操作记录实验过程的截图:
首先,我们使用加法操作设计一个不检测溢出的乘法操作;完成后,我们对此进行优化,以期获得一个可以对溢出进行检测的乘法操作。(100分)
三、实验环境
硬件:桌面PC
软件:Windows,WinMIPS64仿真器
四、实验步骤及说明
本次试验分为两个部分:第一部分、用加法器设计一个不考虑溢出的乘法器;第二部分、用加法器设计一个考虑溢出的乘法器(编程熟练的同学,也可以用除法器、浮点加法器等替代)。
1、忽略溢出的乘法器
首先,我们得了解乘法器如何由加法器设计得到,此处,我们以32位乘法为例。
总共分为4步:
- 测试乘数最低位是否为1,是则给乘积加上被乘数,将结果写入乘积寄存器;
- 被乘数寄存器左移1位;
- 乘数寄存器右移一位;
- 判断是否循环了32次,如果是,则结束,否则返回步骤1。
运行显示运行结果的例子如下,由于我们这里展示的是忽略了溢出的乘法,所以结果有两种:1、小于32位;2、大于32位。
第一种情况截图: