打印

目前的数据处理到底是DSP快还是PC快?

[复制链接]
7240|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ysdx|  楼主 | 2007-7-9 11:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
xwj| | 2007-7-9 11:53 | 只看该作者

用FPGA等硬件逻辑,想多少组并行就设计多少组

使用特权

评论回复
板凳
wowow| | 2007-7-9 12:13 | 只看该作者

一般来说DSP比同频率CPU快好几倍

一般来说DSP比同频率CPU快好几倍,有些特定的算法可能快几十倍!DSP针对数据处理做了很多优化:
1.有些在通用处理器软件实现的东西在DSP上直接用硬件来实现,
2.DSP的数据总线数量比较多,存取操作数比通用CPU快得多
3.高端DSP一般都有多个并行处理单元。

你可以这样想吧,计算机一般为什么还要配一个性能好的显卡?还不是因为CPU处理不过来嘛。

毕竟两种处理器应用于不同的市场,性能的差异很正常了。你让DSP跑windows或linux,说不定也不怎么样,呵呵。

使用特权

评论回复
地板
ysdx|  楼主 | 2007-7-9 13:01 | 只看该作者

用MATLAB仿真算法的时候发觉比较慢

不清楚是否用双核或者4核的PC是否有较大改进。按照道理,现在的内存读取速度已经很快了,如果每个核是3G主频的话,4个核12G,差不多是一般600MHZ的15~20倍。应该能够和DSP有一拼了。谁在DSP上做过复杂度很高的算法?同时也进行了PC仿真的,谈谈体会就比较有点感性认识了。期待中。。。。

使用特权

评论回复
5
wowow| | 2007-7-9 13:16 | 只看该作者

matlab是比较慢

一是因为matlab不是编译执行,本来就要慢一些,如果最终产口打算在PC上跑的话,可以编译成exe试试快了多少。另外它缺省是用双精度浮点运算,肯定又要慢一些了。

光硬件4个核也没有用啊,必须软件支持并行处理才行的。不过matlab 2007已经说"Multithreaded computation in key MATLAB math functions for
multicore and multiprocessor systems"。可以试试看。

使用特权

评论回复
6
将军令| | 2007-7-9 13:23 | 只看该作者

台式机的CPU也是DSP

听说过MMX and 3D-now吧,media player就用了这些指令集
那就是单指令多数据的加速指令
只要软件写得好,效果不会输给高端的DSP chip

使用特权

评论回复
7
ysdx|  楼主 | 2007-7-9 13:32 | 只看该作者

6楼一语提醒梦中人

使用特权

评论回复
8
wowow| | 2007-7-9 13:43 | 只看该作者

好比把特定算法函数做成了硬件

加速效果还是很不错的。如果做多媒体应用可以好好研究一下。

使用特权

评论回复
9
wowow| | 2007-7-9 13:51 | 只看该作者

要说台式机的CPU也是DSP也不太准确

好比我有把猎枪,但并不算是猎人。处理器之间的界限也不很严格,如果比较处理速度,可以大致认为:专用IC > 专用DSP处理器 > 通用DSP处理器 > 通用CPU

使用特权

评论回复
10
tjsheep| | 2007-7-10 10:54 | 只看该作者

其实很多时候dsp提供的是高的性能功耗比,

换句话说,在6000这样的功耗条件下,比如小于2w,没有哪个cpu能够提供比肩6000的运算性能,dsp更多的时候是提供一种嵌入式的高性能计算能力,而且随着cpu设计的发展,现在这种分界也越来越模糊了,通用cpu也需要高性能的专用指令,在性能上,通用cpu是不会比dsp落后的,但是这是有代价的,我想现在看不到不用散热器的cpu吧,但是dsp用散热器的少之又少吧,但是在极端追求性能的几个方向上,都是不用dsp的,比如并行巨型机,都是用通用cpu搭建的,而高速信号处理,基本都是用asic或者fpga并行计算的。应该说dsp发展是比较受限制的,除非能够有新的突破点

使用特权

评论回复
11
将军令| | 2007-7-10 11:02 | 只看该作者

DSP追求的是简单计算的性能

台式机CPU追求的是综合性能,当然也包含了多媒体加速的数据处理性能

使用特权

评论回复
12
zhaoxinzxzx| | 2007-7-10 22:32 | 只看该作者

用途、结构差别很大,我认为没法比较!

同样是PC,AMD、Intel速度上都没办法严格比较,更何况DSP和CPU了。
CPU、DSP类型种类繁多,不同的应用要选择不同的方案,没有哪个东西一定是最快的啊!

使用特权

评论回复
13
iversonma| | 2007-7-10 22:54 | 只看该作者

在信号处理应用中选用RISC行吗


在信号处理应用中选用RISC行吗
Spectrum信号处理公司 雷天石译
 
----在将基于RISC的系统架构与DSP系统架构相比较时,人们必须看到比MOPS、MIPS和MFLOPS这些评测指标更深层次的东西。你必须把处理器性能还有数据操作和存储的性能与算法联系在一起考虑。  
 
-- --MIPS是DSP性能最现实的量度,它代表了基本的DSP算法可达到的性能,因为DSP的全部指令均在一个周期内执行。事实上,这个评测指标非常有效,以至于DSP算法的相关厂商通常都用MIPS来提出其运行要求指标。例如,音频编码使用的G.728算法在商用产品中实现时需要DSP系统架构达到 26MIPS。提出26MIPS作为与其它系统架构进行比较的参照或者作为通用的处理评测指标是不现实的,因为它没有计及内存的使用或外存性能。所以,对于不能加载到内部高速缓存的大数据集,对大多数RISC处理器有效的MIPS分值急剧下降。由于DSP在一个周期内执行一条指令,人们能够精确地确定多任务应用中处理器的负担。同样,在遇到多任务应用时RISC架构是无法预测的,因为对下一个任务的响应时间依赖于数据的位置和执行的阶段。MIPS、 MOPS和MFLOPS忽略了其它一些DSP评测指标:如每周期运算数、数据操作、零开销循环、实时I/O、中断延时、实时开发工具,以及多处理能力。  
 
----针对时钟频率而言,基于RISC的系统架构在性能曲线上处于领先地位。普通的RISC处理器正在达到200至400MHz,而今日的DSP处理器为30至200MHz。基于这样的指标,你可能会相信RISC比DSP更加接近于实时的性能。然而,当我们更仔细地看一看在一个时钟周期内每个处理器究竟做了多少工作时,会发现情况并非如此。RISC是基于较简单的CPU线路,因而可达到较快的时钟频率。DSP为了在一条指令中执行更多的操作包含了更加复杂的CPU。随着处理器的不同会有差异,一般5至10条RISC指令才抵得上一条复杂的DSP指令。  
 
---- 有些RISC处理器有能力执行复杂的指令。PowerPC 604具有乘加(MAC)能力,但是,任何数量的与数据有关的条件会使这个运算增加周期,产生不可预知的反应。这种不可预知性会给实时系统带来严重的问题。DSP提供确定性的实时处理。实际上,DSP的实时处理是可预知的,从一个实例到另一个实例保持一致。RISC不可预知的理由之一是,为了减少对大量高性能存储器的依赖而采用cache的体系结构。问题在于尽管内存访问时间有所改善但是却成为不可预测的。如果数据或程序字在cache中,存取时间则短;如果它们必须从较慢的主存如DRAM 中存取,存取时间则长。  
 
----大部分DSP任务重复性强,其处理通常集中在很少的核心指令,这些指令经常性地重复。每当这些指令集重复时,RISC处理器必须重新加载其流水线,并检查其循环计数器。DSP采用硬件执行循环及流水线加载,使执行这些操作的时间达到最小。DSP具有硬件负责处理的功能,为FFT处理和零开销分枝执行加强定址模式。RISC和CISC总是企图通过循环“unrolling”一类的机制用软件方式来实现。  
 
----由于DSP与现实世界的信号紧密相连,为了能在事件消失之前以确定性的方式对实时外设作出响应,DSP的中断延时很低。大多数RISC处理器如UltraSparc具有可变的中断延时,它们依赖于流水线的状态及当前执行的指令的状态。如果当前执行的指令在完成任务前还有3个操作,那么,清除这条指令要用3个时钟周期,此时结果和余下的流水线被存储着,同时加载中断服务例程。由于DSP通常流水线都较短,其上下文转换时间较快。为了使外部存储器访问时间达到最小,RISC具有大量寄存器文件,这对于多任务系统会产生明显的不利影响。当多任务系统进行寄存器内容交换时,RISC系统架构的不确定因素又增加了长的上下文保存时间。此外,全部RISC代码均由高级语言编译程序产生,编译程序通常都保存全部上下文。  
 
----RISC处理器还有其它非实时的特点,这些特点使它们与硬实时系统不兼容。特别是与数据操作和实时I/O相联系的功能。DSP发送和接收数据采用较高的带宽和多条内存总线,通常为零等待状态。  
 
-- --DSP利用有效的直接内存访问(DMA)控制器,它们使用多端口或多存取存储器能够同时进行多个内部的和外部的程序数据存取。使用这种外设允许CPU 无需从存储系统加载而达到最高的性能。现实情况表明,仅仅这些特点本身就使DSP适合于任何需要高速实时处理信息信号的应用,不必虑及算法的特点。  
 
-- --无论处理器变得多么强大,没有多处理的支持,有相当数量的应用需求得不到满足。虽然很多处理器都能在多处理器设计中被采用,有一些厂家作出特别的安排研制多处理系统中的处理器。Pentium Pro(CISC机)和PowerPC为多处理器配置提供外部的存储器接口支持。这种配置允许每一个处理器共享对一公共的或共享的存储器块的访问,这可以被称为一种松耦合的系统;然而,DSP更向前跨了二步,它支持精细任务并发的紧耦合系统。TMS320C40和0T ADSP2106X SHARC DSP提供处理器间多达6个32位的专用链接,从而支持紧耦合系统。SHARC DSP还前进了一步,它支持多处理器对内部SHARC存储器的访问并支持外部的存储器。由于DSP具有这种专用的多处理器支持,可以把算法划分给很多 DSP,建立一个借助专用链接支持实现精细任务并发的处理器阵列。很显然,DSP正在朝着片外“并行性”发展,处理器阵列的规模可以按照应用来确定。  
 
-- --在实时开发工具领域RISC体系结构落在后面。缺乏具有周期精确度的模拟程序和其它观察执行的工具使得实时程序员无法解释在DSP内循环中比预期更长的执行时间。Intel为Pentium(一种具有某些RISC特点的CISC机)提供了一种实时应用开发工具,它企图预测算法的执行时间,分辨出时间耗费在哪里以及建议可能的优化。这对于RISC架构是一个很好的步骤,但是,预测从来也不会象确定性DSP一周期一周期地分析那么精确。DSP加入了基于 JTAG扫描的仿真逻辑,它允许实现非破坏的源码级调试能力。通过JTAG,所有的内部寄存器都得到监控,而不干扰实时代码。例如,对主机调用的监控可以确定任务的状态。JTAG仿真会带来相应的成本增加,但是,由于它是建立在硅芯片内部,因而被分摊到处理器生产的费用中去了。  
 
--- -当人们在DSP和RISC体系结构之间进行选择时,必须分析系统性能而不是评测性能指标。DSP系统性能要容易估计得多,因为它是可重复的和确定性的。内部及外部零等待状态存储器、保证减少CPU加载的智能存储器管理、实时用户接口以及每周期一条指令这样一些特点使得DSP成为确定性的。对RISC和 CISC设计唯一可靠的性能量测是通过对一个包含了占整个执行时间80%至90%的几种核心算法在内的特定应用问题进行测试。  
 
--- -上述概要随着时间的推移将会有所变化,因为新器件的出现将会使DSP架构与RISC架构之间的界限出现模糊。两个阵营将会借用对方的技术,以及朝着一些共同的设计技术发展。TI是第一家传统的DSP公司,它在研制TMS320C6x时混合了两个阵营中最好的优点。′C6x采用了VLIW(甚长指令字)架构。VLIW就象一个4项超标量RISC,它在数据准备好时无需一大堆逻辑去调度指令。VLIW利用编译程序而不是CPU去调度指令,因此,冲突和数据依赖性由编译程序处理。  
相关链接:http://www.61ic.com/Article/FAQ/yingjian/200409/405.html

使用特权

评论回复
14
li_mu| | 2007-7-10 22:58 | 只看该作者

各位说得都有理

关键功耗功能比
君不见,现在飞思卡尔的74系列、86系列都做并行DSP用
赛灵思FPGA也支持MATLAB仿真

CPU和DSP的界限逐渐模糊
FPGA和CPU界限也在模糊
在自己的系统中只有最合适,没有最快(开发速度与开发难度必需要均衡)

使用特权

评论回复
15
yxwsz| | 2007-7-13 11:36 | 只看该作者

re

DSP的结构是专门对数据处理做了优化的,其编译器也是针对DSP结构的,针对某些算法的效率很高;

PC上如果没有使用专用指令集(MMX, SSE, 3D-NOW)进行优化,而只是使用它的加减乘除功能,那根本没法和DSP比。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

338

主题

1055

帖子

21

粉丝