目录

  • 前言
  • 乘法器
  • 优化乘法器
  • 除法器
  • 优化除法器
  • 浮点加法器(重要⚠)
    • 对阶阶段
    • 加法阶段
    • 规格化阶段
    • 舍入阶段
    • 浮点加法小结

前言

zsbd Orz

乘法器

普通乘法器模拟竖式乘法的计算过程。

每一行竖式都有如下操作:取 乘数(multiplier) 最低位,和 被乘数(multiplicand) 相乘。

不断将被乘数左移,乘数右移,每一行的的竖式乘法结果进行累加:

注:
其思想是二进制拆分,比如计算:

6∗5=306*5=30 6∗5=30

那么 6 可以被二进制分解为 4 + 2,即

30=4∗5+2∗5=22∗5+21∗530 = 4*5+2*5=2^2*5+2^1*5 30=4∗5+2∗5=22∗5+21∗5

所以最终的 结果(product) 可以表示为 被乘数(multiplicand) 的移位的累加和。

乘法器的硬件结构如下。因为 被乘数(multiplicand) 不断被移位,32 bit 的乘法器需要 64 bit 的 ALU 进行加法运算。

普通乘法器工作流程直接模拟竖式乘法即可:

  1. 判断 multiplier 末位是否为 1
  2. product += multiplicand 或者不操作(对应 1,0)
  3. multiplier 右移
  4. multiplicand 左移
  5. 重复 1 直到 multiplier 移完为止

该乘法器的工作原理如下:以 3 bit 乘法器 6 x 5 为例:


接上图:

因为 被乘数(multiplicand) 不断右移,其有效位逐渐变多。32 bit 的乘法,需要 64 bit 的存储器来存储被乘数。

乘数(multiplier) 不断左移,有效位减少,故不需要额外的 bit 进行存储。

优化乘法器

普通的 32 bit 乘法器需要 64 bit 的 ALU 和 64 bit 的存储器来存被乘数,这是比较浪费的。优化乘法器利用一些特性,对普通乘法进行优化。

注意到普通乘法中,有两个移位:

  1. 被乘数(multiplicand)不断右移,每次移位,导致结果(product)有效位多 1 bit
  2. 乘数(multiplier)不断左移,每次移位,有效位少 1 bit

这意味着两者的有效位 此消彼长

计组复习(一):乘法器,除法器与浮点加法器相关推荐

  1. 计组复习(二):单周期数据通路与控制信号

    目录 前言 单周期数据通路 算数逻辑指令(R 型指令) 取指令阶段 译码阶段 执行阶段 内存访问阶段 写回阶段 下一条指令 内存访问指令 分支跳转指令 总结(重要⚠) 前言 昨天复(yu)习了:计组复 ...

  2. 计组复习(四):cache,虚拟内存,页表与TLB

    目录 前言 cache高速缓存 直接映射 全相连映射 组相连映射 多级 cache 的 CPI 计算 指令缓存与数据缓存 虚拟内存(重要⚠) 页表 缺页 替换 TLB 例题(重要⚠) FastMath ...

  3. 计组复习-cache

    Cache的复习 Cache,又名高速缓存器,是为了协调CPU和主存的速度而出现的一种高速的,小的存储器. Cache主要由两部分组成,一部分是一个存储器,另一部分是一个地址变换与映射表,这个映射表完 ...

  4. 【计组复习(二)指令】

    考点概述:1.指令设计原则:2.RISC.CISC:3.寻址方式(重点):4.子函数调用:5.链接. 存储程序概念:多种类型的指令和数据均以数字形式存储于存储器中. 硬件设计四条基本原则 1.简单源于 ...

  5. 计组之数据运算:13、加法器优化

    13.加法器优化 思维导图 串行进位的并行加法器 组内并行.组间串行进位的加法器 如何更快的产生进位 组内并行.组间并行进位的加法器 思维导图 串行进位的并行加法器 组内并行.组间串行进位的加法器 如 ...

  6. 计组之数据运算:12、加法器设计

    12.加法器设计 思维导图 ALU 门电路实现奇偶校验 一位加法器 串行加法器 串行进位的并行加法器 问题: 思维导图 ALU 门电路实现奇偶校验 对于异或运算来说: 1的个数为奇数个,异或的结果为1 ...

  7. 计组期末复习---个人版

    (一)计算机系统概论 1.1计算机分类与发展历史 分类:电子模拟计算机和电子数字计算机 电子模拟计算机:数值由连续量来表示,运算过程是连续的 电子数字计算机:按位运算,并且不是连续地跳动运算 专用计算 ...

  8. 计组期末复习之例题与解析

    计组例题与解析 第一章:概论 无 第二章:运算方法和运算器 例2-1 求补码 对于正数,不变 对于负数,符号位不变,数值位取反加一 例2-2 数轴形式表示原码.反码.补码范围 第一位符号位,后面是数值 ...

  9. 计组期末复习之第七章:输入输出系统

    计组第七章:输入输出系统 输入输出设备 完成输入输出的设备 作为外部存储器的设备 7.1 输入输出控制方式 程序查询方式 CPU与外围设备的数据交换完全依赖于计算机的程序控制 信息交换之前 CPU要设 ...

最新文章

  1. 使用 PyTorch 时,最常见的 4 个错误
  2. 源码阅读:AFNetworking(八)——AFAutoPurgingImageCache
  3. OpenGL坐标系转化之投影坐标系
  4. TcpClient和TcpListener 类的使用-编写一个点对点聊天工具(初级入门篇)
  5. [CodeForces1070C]Cloud Computing(2018-2019 ICPC, NEERC, Southern Subregional Contest )
  6. windows下eclipse远程连接hadoop集群开发mapreduce
  7. java学习笔记11 (构造方法 this深探)
  8. imx6 android快速启动,freescale imx6 开机启动速度优化之Bootchart工具的使用问题
  9. linux 基础学习入门 5 inode 总结 tr tee 等小命令
  10. C语言中指针与数组的区别,C语言 指针与数组的详解及区别
  11. python是什么专业学的-当我们学Python时,我们学什么?
  12. python转行符-python实现readline去掉换行符 等特殊字符
  13. (转)注意力机制(Attention Mechanism)在自然语言处理中的应用
  14. Java 实现MD5
  15. opencv中 idft与 mathlab中 ifft2结果不对应的解决方案
  16. LeetCode 热题100答案
  17. DataGrip离线安装驱动
  18. violate原理和用法
  19. 立根铸魂 崛起数智时代 欧拉部署超300万套
  20. FG-301A型综合大气采样器介绍

热门文章

  1. 微信公众号抢现金红包活动的核心代码分析(asp.net C#)
  2. Solaris是免费的吗?
  3. 抖音返利小程序功能开发介绍
  4. 多视图聚类与子空间聚类
  5. org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.xxxx.phb.mappe
  6. 阿里iDST视觉计算负责人华先胜:算法和数据并非AI公司成功的全部
  7. 百度霸屏怎么引流?适合百度霸屏平台有哪些?百度霸屏引流推广
  8. PIC单片机静态库文件生成
  9. 西麦燕麦销量第一表现抢眼,全产业链联盟战略再提速
  10. 牛逼!Chrome 最强插件,离线开放下载!