原码一位乘法.pdfVIP

  • 110
  • 0
  • 约6.96千字
  • 约 6页
  • 2021-11-07 发布于湖北
  • 举报
计算机组成原理实验 实验名称:原码一位乘法 实验方式: 1.硬件连线,在实验箱上实现。 2 .设计乘法指令,采用微程序实现。 实验项目: 原码一位乘法 实现方法:硬件连线,在实验箱上实现。 实验目的: 能在实验箱上实现或是在软件环境中模拟实现原码一位乘法,并理解乘法 实现的思想。 实验工具或设备: CP226 计算机组成原理实验仪 基本思想: 原码一位乘法实现原理: 由于原码表示与真值极为相似, 只差一个符号, 而乘积的符号又可通过两数 符号的逻辑异或求得, 因此,运算结果可以直接用于原码一位乘, 只需加上符号 位处理即可。 1 在实际的实验箱中 8 位被乘数放在 R2 中,运算开始时 8 位乘数放在 R1 中, 运算结束时 16 位乘积的高位放在 R0 中,低位放在 R1中,R0和 R1 串联移位。 完成这个定点原码一位乘法的运算规则可以用如下图所示的逻辑流程图表示。 在该乘法过程中, 每次操作是根据乘数的一位进行操作, 对于 8 位数的乘法, 需要循环 8 次完成一个乘法操作,因此称为一位乘法。 下面用原码的乘法方法进行 13 (1101)×11 (1011)的四位乘法演示。 1、在乘法开始之前, R0和 R1 中的初始值为 0000 和 1011,R2 中的值为 1101。 2、在乘法的第一个循环中, 判断 R1的最低位为 1,所以进入步骤 1a,将 R0 的值 0000 加上 R2 的值 1101,结果 1101 送人 R0。 3、判断 R0 的末位是否为 1。如果为 1,将 R0和 R1均右移一位,并将 R1 的 右移结果加上 1000;如果不为 1,R0和 R1直接右移一位(目的是将高位寄存器 R0 中移出的数据存放在低位寄存器 R1,以实现 R0 和 R1 的串联使用)。 其结果为 (0110,1101)。第一次循环过程结束。 第二次循环过程中,判断 R1 的最低位仍为 1,进入步骤 la ,R0 的值 0110 加 1101,结果为 10011。判断 R0 的末位为 1,将 R0、R1均右移,并让 R1 的右 移结果加上 1000。结果为( 1001,1110)。 第三次循环中,因 R1 的最低位为 0,进入步骤 lb ,R0加上 0000 为 1001, 2 判断 R0 的末位为 1,将 R0和 R1均右移一位, 并将 R1的右移结果加上 1000。结 果为( 0100,1111)。 第四次循环时仍因 R1最低位为 1,进入步骤 la ,R1加上 1101 为 10001。判 断 R0 的末位为 1,将 R0和 R1均右移一位, 并将 R1 的右移结果加上 1000。结果 为( 1000,1111)。这就是乘法的结果 143。 流程表见下 : 循环 步骤 乘积( R0,R1) 0 初始值 0000 1011 1 1a:加 1101 1101 1011

文档评论(0)

1亿VIP精品文档

相关文档