美文网首页计算机组成原理
402 - 乘法器的硬件实现

402 - 乘法器的硬件实现

作者: 航航大魔王 | 来源:发表于2017-07-28 23:36 被阅读49次
图1

如图所示,以实现两个4bit的二进制数相乘为例。

需要4个硬件部件(图中已编号):

①:一个8位寄存器,用来保存被乘数(根据机算乘法,每与乘数的一位相乘,就要向前移动一位,所以4位数相乘,要给8位来供被乘数移动);

附加功能:左移,即每与乘数的一位相乘,就向前移动一位供下一轮与乘数的下一位相乘,这一部操作是为了使被乘数能与中间结果正确 。

②:同样的一个8位寄存器,用来保存乘积(中间结果+最终结果,最后一次运算时产生最终结果);

③:一个8位加法运算器,供每一次将中间结果与本次运算结果相加;

④:一个4位寄存器,用来保存乘数。

附加功能:右移,最低位与控制逻辑相连。每与被乘数相乘一次,就向后移动一位供下一轮与乘数的下一位相乘。

⑤:一个控制逻辑部件,用来指挥每个部件的运行。

附加功能:

  • 控制被乘数寄存器的左移
  • 控制乘数寄存器的右移
  • 判断是否进行下一轮计算(当前乘积寄存器中的结果是否为最终结果)

基本运算步骤:

图2

接下来进行一次简单的二进制乘法运算:1000 x 1001

图3

①.判断乘数最低位是否为1,是,进入③;
②.将被乘数左移1位;
③.乘数与被乘数在加法器中相加;
④.加法器结果再与乘积寄存器相加;
⑤.判断是否为第4次循环,是,直接输出结果;否,乘数寄存器右移1位,接着重复步骤①-⑤。

图4 - 步骤②,第一轮过后,被乘数左移(注意看乘积寄存器的值,此时控制逻辑判断为非第四轮相乘,接着进行第二轮) 图5 - 步骤⑤,第一轮过后,乘数右移,此后第二、三、四轮重复之前操作

那么第四轮运算结束之后,乘数寄存器4位数全部置0,被乘数被移动到被乘数寄存器的高4位,乘积寄存器此时保存的是最终结果(如图6)。

图6

相关文章

  • 402 - 乘法器的硬件实现

    如图所示,以实现两个4bit的二进制数相乘为例。 需要4个硬件部件(图中已编号): ①:一个8位寄存器,用来保存被...

  • 第四讲 乘法器和除法器(Multiplier and Divid

    内容要点:乘法运算,乘法器的实现,除法运算,除法器的实现 乘法器的实现 Multiplicand (8-bit,S...

  • 模拟乘法器和除法运算电路

    模拟乘法器可以实现乘法运算,利用模拟乘法器作为集成运放的反馈电路可以实现除法运算。模拟乘法器的表示图与除法运算电路如下:

  • P2P接口Booth乘法器设计

    本文首发于个人博客 描述 Booth乘法器是一种使用移位实现的乘法器,实现过程如下,对于乘法:扩展A的位数为n+1...

  • 算法题--实现乘法器

    0. 链接 题目链接 1. 题目 Given two non-negative integers num1 and...

  • 硬件实现

    1.实时图像处理FPGA实现的一些约束 时序约束 对于非实时图像处理而言,时序约束并不紧张。但是如果涉及到实时图像...

  • [HAL] Android硬件抽象层

    概述 传统的Linux系统把对硬件的支持完全实现在内核空间,即把对硬件的支持完全实现在硬件驱动模块中。Androi...

  • FFT硬件实现

    OFDM系统的一个重要优点就是它的调制和解调可以利用傅立叶正反变换来实现,从而大大降低系统实现的复杂度。 通常采用...

  • 硬件编程语言 vhdl

    title: 硬件编程语言的部分程序实现 tags: 硬件编程语言 编程语言 7人投票表决器 1、利用全加器实现 ...

  • JVM — 操作系统 — 硬件

    操作系统向硬件提供接口,各种硬件的驱动实现了操作系统的接口,操作系统调用这些接口就能管理硬件,让硬件能够正常合理的...

网友评论

    本文标题:402 - 乘法器的硬件实现

    本文链接:https://www.haomeiwen.com/subject/sxpflxtx.html