CPU与DSP区别

从表面上来看,DSP与标准微处理器有许多共同的地方:一个以ALU为核心的处理器、地址和数据总线、RAM、ROM以及I/O端口,从广义上讲,DSP、微处理器和微控制器(单片机)等都属于处理器,可以说DSP是一种CPU。但DSP和一般的CPU又不同:

首先是体系结构:CPU是冯.诺伊曼结构的,而DSP有分开的代码和数据总线即“哈佛结构”,这样在同一个时钟周期内可以进行多次存储器访问—— 这是因为数据总线也往往有好几组。有了这种体系结构,DSP就可以在单个时钟周期内取出一条指令和一个或者两个(或者更多)的操作数。

标准化和通用性:CPU的标准化和通用性做得很好,支持操作系统,所以以CPU为核心的系统方便人机交互以及和标准接口设备通信,非常方便而且不需要硬件开发了;但这也使得CPU外设接口电路比较复杂,DSP主要还是用来开发嵌入式的信号处理系统了,不强调人机交互,一般不需要很多通信接口,因此结构也较为简单,便于开发。如果只是着眼于嵌入式应用的话,嵌入式CPU和DSP的区别应该只在于一个偏重控制一个偏重运算了。

流水线结构:大多数DSP都拥有流水结构,即每条指令都由片内多个功能单元分别完成取指、译码、取数、执行等步骤,这样可以大大提高系统的执行效率。但流水线的采用也增加了软件设计的难度,要求设计者在程序设计中考虑流水的需要。

快速乘法器:信号处理算法往往大量用到乘加(multiply-accumulate,MAC)运算。DSP有专用的硬件乘法器,它可以在一个时钟周期内完成MAC运算。硬件乘法器占用了DSP芯片面积的很大一部分。(与之相反,通用CPU采用一种较慢的、迭代的乘法技术,它可以在多个时钟周期内完成一次乘法运算,但是占用了较少了硅片资源)。

地址发生器:DSP有专用的硬件地址发生单元,这样它可以支持许多信号处理算法所要求的特定数据地址模式。这包括前(后)增(减)、环状数据缓冲的模地址以及FFT的比特倒置地址。地址发生器单元与主ALU和乘法器并行工作,这就进一步增加了DSP可以在一个时钟周期内可以完成的工作量。

硬件辅助循环:信号处理算法常常需要执行紧密的指令循环。对硬件辅助循环的支持,可以让DSP高效的循环执行代码块而无需让流水线停转或者让软件来测试循环终止条件。

低功耗:DSP的功耗较小,通常在0.5W到4W,采用低功耗的DSP甚至只有0.05W,可用电池供电,很适合嵌入式系统;而CPU的功耗通常在20W以上。

DSP与CPU的区别相关推荐

  1. 深入了解DSP与ARM的区别与联系

    这些天正准备找工作的事,对于一些理论上的,或者说表面上的知识需要梳理下,所以有空整理了这篇简陋的比较,权当从另一个侧面理解下这两款主流处理器的特点了吧! DSP: DSP(digital singna ...

  2. 单片机、ARM、DSP与CPU之间的关系大揭秘

    你知道单片机.ARM.DSP都是CPU吗,它们之间又有什么不同,小编进行了整理和编辑. CPU:中央处理器 CPU 包括运算逻辑部件.寄存器部件和控制部件等,其本质就是一个集成电路,实现的功能就是从一 ...

  3. ARM、DSP、FPGA的区别

    https://blog.csdn.net/godloveyuxu/article/details/80027501 DSP: DSP(digital singnal processor)是一种独特的 ...

  4. DSP与单片机的区别

    以前刚学习单片机时,经过一订的编程,能实现很多不同的功能,当时就觉得单片机真的是神通广大.后来接触到DSP,发现DSP处理数字在通信上,更加方便.于是我就很好奇的问自己,DSP和单片机,究竟有什么区别 ...

  5. GPU和CPU芯片区别:为何要用GPU挖矿?

    CPU和GPU之所以大不相同,是由于其设计目标的不同,它们分别针对了两种不同的应用场景.CPU需要很强的通用性来处理各种不同的数据类型,同时又要逻辑判断又会引入大量的分支跳转和中断的处理.这些都使得C ...

  6. vs项目属性中目标平台x86,x64,any cpu的区别

    一.Any CPU平台下 编译出来的exe(可执行文件)或dll(动态链接库)是兼容的,取决于当前的操作系统,若操作系统是32位的,则编译出来的程序会以32位的软件模式运行,而在64位操作系统下则会以 ...

  7. 多核与多个CPU啥区别

    处理器如今已经成为影响人们购买IT产品的重要因素,无论是PC.手机还是服务器市场,处理器的型号直接影响到产品的出售情况.对于手机和PC等消费产品来说,用户可以从CPU频率.核心数等要素分辨出处理器性能 ...

  8. 深入了解超线程、双核CPU、双CPU与单CPU的区别

    深入了解超线程.双核CPU.双CPU与单CPU的区别 目前服务器市场可以说是新产品新技术层出不穷,光是服务器的核心CPU除了主频等参数外,最让人不明白的就是所谓的双核,电视报纸广告上也是频繁刊登双核服 ...

  9. 多核与多个CPU啥区别?

    多核与多个CPU啥区别呢?我们首先来了解下二者: 何为多核CPU?简单理解就是,我们将多个核心装载一个封装里,让用户理解成这是一个处理器.这样好处就是原本运行在单机上跑的程序基本不需要更改就能够获得非 ...

最新文章

  1. CMB标量功率谱第一个谱指数跑动项n(1)跑动带来的影响
  2. vim——打开多个文件、同时显示多个文件、在文件之间切换
  3. Bitcoin比特币与BlockChain区块链技术
  4. 学习Java: Queue
  5. 明明一样的程序为啥有的系统就报错有的就正常运行呢_SurfaceGo Android系统折腾笔记...
  6. mysql使用手册_mysql使用手册
  7. python insert_Python列表| 带示例的insert()方法
  8. @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}) 注解的作用
  9. 联想回文字符串的编程题
  10. 编程解决素数环问题Java_回溯法解决素数环问题java实现
  11. React.js 小书 Lesson10 - 组件的 state 和 setState
  12. 编程语言新宠儿——Julia诞生记(转)
  13. ut-890/485-usb驱动 FOR Linux
  14. 2020下半年软考中级网工答案
  15. Linux配置ip地址
  16. Linux基础命令(2)
  17. 2022-2028年中国农作物行业投资战略分析及发展前景研究报告
  18. 图像处理中像素和毫米的换算
  19. 什么是复制和交换成语?
  20. 机柜系统:数据和业务的幕后英雄

热门文章

  1. 学生综合测评c语言程序设计,C语言程序设计 综合测评系统.doc
  2. 获取淘宝商品快递费用API接口
  3. 网件WNDR4300变砖的恢复过程
  4. Long-Tail(长尾)问题的解决方案
  5. “在未来10年,超过一半的职业会被取代。”2019下半年的风口!
  6. 【新大陆物联网竞赛】mysql5.7连接navicat
  7. 【翻译篇】❀ 01. 概述 ❀ 透明模式 ❀ FortiOS 手册 6.0.6
  8. 交流与直流电机 调速方法 分类 原理 优缺点 应用
  9. 递归函数内部的原理????不要跟我讲自己调用自己这样的话,我一分也不给你的zz
  10. 【对讲机的那点事】三招教你如何选购对讲机