矩阵乘法包含大量的a+b*c类运算,因此常在运算中将乘法器和加法器合成一个计算单元,进程乘法累加操作,这个单元被称为MACs(multiply and accumulate operations.MAC).乘法运算是数学中重要的基本算术运算,乘法累加操作在数字信号处理中被广泛应用,比如,FFT,DFT,卷积计算,甚至是微控制器的ALU中的通用计算单元都能见到它的身影。在DSP应用中,比通用处理器更加侧重MACs的设计,MACs的逻辑实现通常是数字电路设计中Critical path的主要贡献方,设计的好坏决定了PPA,本文试图从软件视角搞清楚MACs是什么以及如何工作的。

设计原理

MACs顶层实现方框图如下,其中的operand_1 和 operand_2是32位输入操作数,MACs操作的结果通过64位的Result pin输出,内部的64位加法器将乘法器的输出作为第一个操作数,与存储在内部的第二个加法操作数相加,第二个操作数的来源一般是上一个周期的Result结果,得到Result输出和进位信号Carry,这里的32x32表示两32位输入的MAC,并非是乘法,也并非代表个数,如果N个这样的MAC,一般表示为N*32x32MAC.

MAC内部结构:

解析计算机体系结构中的MACs实现相关推荐

  1. 计算机系统结构专业是软件还是硬件,计算机体系结构中软硬件和架构设计有哪些机会?...

    软件和硬件的架构设计 在编程的时候可以通过程序提高系统的运行效率.当前最为流行的编程方法是运用现代高级语言和脚本语言,如Java.Python等.它们采用解释型执行,支持动态类型,并具有很高的灵活性来 ...

  2. 计算机组织与体系结构_计算机体系结构中的内存组织

    计算机组织与体系结构 A memory unit is the collection of storage units or devices together. The memory unit sto ...

  3. 计算机算法创新点,创新计算机体系结构设计的FMM算法分析.pdf

    创新计算机体系结构设计的FMM算法分析.pdf 创新计算机体系结构设计的FMM 算法分析 创新计算机体系结构设计的FMM 算法分析 摘要 为了设计专注于高性能计算的新型计算机体系结构,需要研究典型应用 ...

  4. 计算机体系复习(三)

    计算机体系结构试题库 填空题 (100题) 当代计算机体系结构的概念包括(指令集结构).(计算机组成)和(计算机实现)三个方面的内容. 计算机部件的平均出售价是(部件开销).(直接开销)和(毛利)三者 ...

  5. Microbiome:利用Nanopore高通量测序技术解析污水处理体系可移动抗性基因组(一作解读)

    文章目录 Microbiome:利用Nanopore高通量测序技术解析污水处理体系可移动抗性基因组 背景解读 结果分析 一.携带抗性基因的质粒和整合性结合元件在污水处理体系抗性组中占主导地位 二.快速 ...

  6. 专家谈计算机体系架构研究获“图灵奖”

    来源:科学网   作者:王佳雯 韩扬眉 近日,有着"计算机界的诺贝尔奖"之称的"图灵奖"揭开面纱.国际计算机协会宣布,美国科学家约翰·轩尼诗和大卫·帕特森获得2 ...

  7. Android 的简介和体系结构中每个层的功能。

    Android 的简介和体系结构中每个层的功能. 1.简介 Android是由Google公司和开放手机联盟领导并开发的一种基于Linux的自由且开放源代码的操作系统,主要使用于移动设备. Andro ...

  8. 计算机英语阅读路线,高考英语阅读理解真题解析·计算机运用

    说明:引用此文请注明出处,并务请保留后面的有效链接地址,谢谢! 高考英语阅读理解真题解析·计算机运用 Computer people talk a lot about the need for oth ...

  9. 计算机垃圾回收的过程,计算机体系 – 垃圾收集器

    原标题:计算机体系 – 垃圾收集器 来源:MRRiddler , blog.mrriddler.com/2017/05/01/计算机体系-垃圾收集器/ 继上篇讲述了栈和堆以后,程序已经可以" ...

最新文章

  1. 【译】OpenDaylight控制器:YANG Schema和Model
  2. 弱电工程计算机网络系统基础知识
  3. yolov2移植到android,darknet(yolov2)移植到caffe框架
  4. python 类中定义列表_Python-从类定义中的列表理解访问类变量
  5. 版本字符串比较工具接口常用接口函数
  6. thinkphp用来做什么项目_thinkphp第1课:使用thinkphp创建一个项目
  7. java爬虫代码示例_那些让你代码思维和能力有较大的提升Java源码
  8. 同步、异步、阻塞、非阻塞IO
  9. CSS学习总结(4)——盒模型/背景属性
  10. 科技创新全球资本财富盛会暨联盟系统2.0启动大会圆满举行
  11. adf4351 锁相环相关硬件设计
  12. 最小二乘法的矩阵推导
  13. onlyoffice pdf 乱码
  14. 【统计建模与R软件】第二章 R软件的使用 上机练习4 猴子吃桃 鸡兔同笼
  15. Python3 Mac剪切板存取内容-xerox
  16. 判断点在多边形内的算法(Winding Number详解)
  17. RFID标签的安全机制——LCAP协议的C++代码实现
  18. 主机如何连接到URSim中的客户端接口
  19. 交联型金属卟啉基聚酰亚胺PPBPI-H)PPBP-Mn;PBP-Fe;PPBPI-Fe-CR;PPBPI-Mn-CR产品-齐岳供应
  20. rk3288 添加系统广播

热门文章

  1. ipset基本用法和保存配置
  2. April Fools Contest 2018[cf 愚人节专场题解]
  3. MATLAB--数字图像处理 图像的灰度变换与直方图修正
  4. sdc基本概念-set_clock_groups
  5. 基于SSH的通讯网络电子计费系统 毕业论文+任务书+开题报告+文献综述+外文翻译及原文+答辩PPT+代码清单+项目源码及数据库文件
  6. strong man
  7. 中国的支付清算体系是怎么玩的
  8. Python跟我说0.1+0.2!=0.3,难道这么多年的数学白学了?
  9. 求二叉树所有结点数据的和
  10. “拳打”飞利浦,“脚踢”欧乐B,欧可林的牙刷有那么好?