通用处理器(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入门教程

helloDSP论坛 前言:此资料也是来源于网络,并不是我们原创,但是希望这些资料能够给初学DSP的朋友们一点帮助,也希望你们能够把这里当成是你们学习DSP技术的一个家园,让我们携手共建,为更多的朋...
  • hushup
  • hushup
  • 2014年03月25日 15:12
  • 3130

DSP入门应该懂得57个问题

一.DSP的C语言同主机C语言的主要区别? 1)DSP的C语言是标准的ANSI C,它不包括同外设联系的扩展部分,如屏幕绘图等。但在CCS中,为了方便调试,可以将数据通过prinf命令虚拟输出到主机...

DSP处理器与普通单片机的区别

  • 2014年08月21日 12:12
  • 36KB
  • 下载

MFR4200与MFR4310与处理器连接区别

  • 2015年09月14日 16:26
  • 424KB
  • 下载

TI首席科学家展望2020年处理器架构和DSP的发展

TI首席科学家展望2020年处理器架构和DSP的发展 TI首席科学家展望2020年处理器架构和DSP的发展 作者:德州仪器首席科学家 Gene Frantz 我现在得出了...
  • robberM
  • robberM
  • 2013年01月03日 15:15
  • 1253

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

本部分介绍了ADI Blackfin DSP上的C编程的基本概念,嵌入式平台的可移植性和基本的编程规范;下一部分主要介绍用于DSP kernel的基本的优化方式。 Part 1. DSP的C编程基本...
  • yuyin86
  • yuyin86
  • 2012年05月07日 13:59
  • 1646

TI的C66x-DSP处理器优化技巧

  • 2017年03月14日 21:58
  • 2.08MB
  • 下载

TI双核处理器ARM+DSP如何实现协同工作

  针对当前应用的复杂性,SOC芯片更好能能满足应用和媒体的需求,集成众多接口,用ARM做为应用处理器进行多样化的应用开发和用户界面和接口,利用DSP进行算法加速,特别是媒体的编解码算法加速,既能够保...
  • wen_hua
  • wen_hua
  • 2011年06月28日 10:25
  • 3555

德州仪器增强Jacinto信息娱乐处理器系列的DSP和视觉处理以提高数字化驾驶舱集成

 日前,德州仪器(TI)宣布将信号处理功能添加到其全新的DRA75x处理器,以便帮助客户增强信息娱乐系统并为信息高级驾驶员辅助系统(ADAS)功能配对。这两者的完美结合将帮助客户生产具有极高数字...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:通用处理器(GPP)与DSP处理器的区别
举报原因:
原因补充:

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