通用处理器(GPP)与DSP处理器的区别

原创 2012年03月30日 16:22:06

首先从最明显的差别说起:
GPP是通用的处理器,而DSP是专用处理器,专门处理高密集型重复型数据而设置的。

    (1)处理器的架构:
      传统上,GPP采用冯.诺依曼存储器结构,程序与数据共用一个存储器空间,通用一组总线(一个地址总线和一个数据总线)链接到处理器核。虽然现在典型的高性能GPP都包含两个片内高速缓存(一个数据,一个指令)直接连到处理器核,以加快运行时的访问速度。(这种结构有点像哈佛结构了,但还是有很大的区别)。
而DSP采用的是改善的哈佛结构,数据存储器跟程序存储器是分开的(为了能同时访问到更多的信息,片内ROM,RAM分成若干块),而且有多条总线链接到处理器核,允许同时对他们进行访问。

    (2)硬件乘法器MAC
       通用的处理器,乘法运算是利用软件实现的,一次乘法往往需要多个机器周期才能完成,效率较低,为了提高DSP处理器的运算速度,主流的DSP都毫不例外的设置了硬件乘累加器(MAC)。

    (3)独立的直接存储器访问DMA(direct memory access)
       信号的高速处理,必须有高速的数据访问和传输与之配合,DSP处理器都为DMA单独设置了完全独立的总线和控制器,进行数据传输的时候不影响CPU及其总线的工作,这是与通用CPU很不一样的地方。

    (4)多个独立的执行单元:MAC,地址发生器DAG,移位器等
       在通用CPU中,数据地址的产生跟数据的处理都是由算术逻辑单元ALU完成的。而在DSP中往往设置专门的数据地址发生器(DAG),移位器等,甚至设置多个,可以高效的实现复杂的寻址,数据处理。数据地址的产生于CPU是同时工作的,从而节省了CPU的时间,提高了信号处理的速度。

    (5)GPP 使用控制逻辑来决定哪些数据和指令字存储在片内的高速缓存里,其程序员并不加以指定(也可能根本不知道)。与此相反,DSP 使用多个片内存储器和多组总线来保证每个指令周期内存储器的多次访问。在使用DSP 时,程序员要明确地控制哪些数据和指令要存储在片内存储器中。程序员在写程序时,必须保证处理器能够有效地使用其双总线。
      此外,DSP 处理器几乎都不具备数据高速缓存。这是因为DSP 的典型数据是数据流。也就是说,DSP 处理器对每个数据样本做计算后,就丢弃了,几乎不再重复使用。

    (6)零开销循环:
      DSP算法的一个共同的特点即大多数的处理时间是花在执行较小的循环上,所以大多数的DSP都有专门的硬件,用于零开销循环。所谓零开销循环是指处理器在执行循环时,不用花时间去检查循环计数器的值、条件转移到循环的顶部、将循环计数器减1。
      与此相反,GPP的循环使用软件来实现。某些高性能的GPP使用转移预报硬件,几乎达到与硬件支持的零开销循环同样的效果。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

DSP和通用处理器在结构上有什么不同?

■请简要画出你熟悉的一种DSP结构图

Intel面试题

再加一些: 1、你认为一个好的Project leader应该具备那些特点 2、你认为自己有哪些自豪的地方适合Intel,技术的或者非技术的 3、PCI总线上的设备发现与资源分配的过程 ...

嵌入式经典面试题

这些题实在太经典了! 预处理器(Preprocessor) 1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)       #define SECONDS_...

dsp,嵌入式面试题

dsp,嵌入式面试题 1、请用方框图描述一个你熟悉的实用数字信号处理系统,并做简要的分析;如果没有,也可以自己设计一个简单的数字信号处理系统,并描述其功能及用途。(仕兰微面试题目) ...
  • xlhcgd
  • xlhcgd
  • 2015-12-03 15:28
  • 1314

关键字static的作用

这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用: 1)在函数体内,一个被声明为静态的变量在这一函数被调用过程中维持其值不变(该变量存放在静态变量区)。 2) 在模...

基于ADI Blackfin系列DSP处理器的C语言编程与优化——C编程规则

本部分介绍了ADI Blackfin DSP上的C编程的基本概念,嵌入式平台的可移植性和基本的编程规范;下一部分主要介绍用于DSP kernel的基本的优化方式。 Part 1. DSP的C编程基本...

ARM+DSP双核处理器应用程序攻略

RM+DSP双核处理器应用程序攻略 摘要:曾经,会单片机的工程师牛的一塌糊涂。如今,ARM开始崭露头角,看到单片机工程师的牛气,ARM工程师笑了。本文,就是希望以实例的形式,讲述开发ARM+DSP双...

TI DSP处理器中CMD 文件的那些事儿

如果从事 TI DSP 处理器开发,CMD 文件一定是不可忽略的重要文件。当然,CMD 文件也并不是 DSP 处理器的专利,开发 TI ARM(不运行 HLOS 高阶操作系统),MCU 等处理器也都会...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)