查看完整版本: 在信号处理应用中选用RISC行吗

liyf 发表于 2014-10-5 14:07:09

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

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

----在将基于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去调度指令,因此,冲突和数据依赖性由编译程序处理。

李小路 发表于 2021-7-11 20:21:33

谢谢分享!:D
页: [1]
查看完整版本: 在信号处理应用中选用RISC行吗