考虑一个数字信号处理的实例,比如有限冲击响应滤波器(FIR)。用数学语言来说,FIR滤波器是做一系列的点积。取一个输入量和一个序数向量,在系数和输入样本的滑动窗口间作乘法,然后将所有的乘积加起来,形成一个输出样本。
类似的运算在数字信号处理过程中大量地重复发生,使得为此设计的器件必须提供专门的支持,促成了了DSP器件与通用处理器(GPP)的分流:
1 对密集的乘法运算的支持
GPP不是设计来做密集乘法任务的,即使是一些现代的GPP,也要求多个指令周期来做一次乘法。而DSP处理器使用专门的硬件来实现单周期乘法。DSP处理器还增加了累加器寄存器来处理多个乘积的和。累加器寄存器通常比其他寄存器宽,增加称为结果bits的额外bits来避免溢出。同时,为了充分体现专门的乘法-累加硬件的好处,几乎所有的DSP的指令集都包含有显式的MAC指令。
2 存储器结构
传统上,GPP使用冯.诺依曼存储器结构。这种结构中,只有一个存储器空间通过一组总线(一个地址总线和一个数据总线)连接到处理器核。通常,做一次乘法会发生4次存储器访问,用掉至少四个指令周期。
大多数DSP采用了哈佛结构,将存储器空间划分成两个,分别存储程序和数据。它们有两组总线连接到处理器核,允许同时对它们进行访问。这种安排将处理器存贮器的带宽加倍,更重要的是同时为处理器核提供数据与指令。在这种布局下,DSP得以实现单周期的MAC指令。
还有一个问题,即现在典型的高性能GPP实际上已包含两个片内高速缓存,一个是数据,一个是指令,它们直接连接到处理器核,以加快运行时的访问速度。从物理上说,这种片内的双存储器和总线的结构几乎与哈佛结构的一样了。然而从逻辑上说,两者还是有重要的区别。
GPP使用控制逻辑来决定哪些数据和指令字存储在片内的高速缓存里,其程序员并不加以指定(也可能根本不知道)。与此相反,DSP使用多个片内存储器和多组总线来保证每个指令周期内存储器的多次访问。在使用DSP时,程序员要明确地控制哪些数据和指令要存储在片内存储器中。程序员在写程序时,必须保证处理器能够有效地使用其双总线。
此外,DSP处理器几乎都不具备数据高速缓存。这是因为DSP的典型数据是数据流。也就是说,DSP处理器对每个数据样本做计算后,就丢弃了,几乎不再重复使用。
3 零开销循环
如果了解到DSP算法的一个共同的特点,即大多数的处理时间是花在执行较小的循环上,也就容易理解,为什么大多数的DSP都有专门的硬件,用于零开销循环。所谓零开销循环是指处理器在执行循环时,不用花时间去检查循环计数器的值、条件转移到循环的顶部、将循环计数器减1。
与此相反,GPP的循环使用软件来实现。某些高性能的GPP使用转移预报硬件,几乎达到与硬件支持的零开销循环同样的效果。
4 定点计算
大多数DSP使用定点计算,而不是使用浮点。虽然DSP的应用必须十分注意数字的精确,用浮点来做应该容易的多,但是对DSP来说,廉价也是非常重要的。定点机器比起相应的浮点机器来要便宜(而且更快)。为了不使用浮点机器而又保证数字的准确,DSP处理器在指令集和硬件方面都支持饱和计算、舍入和移位。
转自电子工程师
http://club.topsage.com/forum-593-1.html
分享到:
相关推荐
### DSP与普通MCU的区别详解 #### 一、引言 随着信息技术的飞速发展,数字信号处理(Digital Signal Processing, DSP)技术在通信、音频处理、图像处理等多个领域发挥着重要作用。DSP技术的核心在于利用专门设计的...
在嵌入式系统设计中,数字信号处理器(DSP)和微控制器(MCU)常常扮演着互补的角色。传统的做法是让MCU作为系统的主体控制器,负责处理系统层面的任务,如人机交互和整体协调,而将复杂的信号处理任务交给专门的DSP...
标题中提到的“一种基于DSP和MCU的双CPU数据处理系统设计”指的是采用数字信号处理器(DSP)和微控制器单元(MCU)协同工作的数据处理系统设计。这种设计方法充分利用了DSP在高速数据运算和处理方面的优势以及MCU在控制...
**一、DSP与MCU的区别** 1. **处理速度和主频**:DSP通常拥有更高的主频,这意味着它能执行计算任务更快。MCU虽然也有各种不同主频的型号,但总体来说,它们的主频通常低于同等价位的DSP。 2. **指令集优化**:DSP...
高速工业缝纫机系统中DSP与MCU并行通信的实现
在现代工业控制系统中,为了提升系统实时性与适应性,DSP(数字信号处理器)通常被用于执行核心算法和控制任务,而MCU(微控制器单元)则负责用户交互界面的管理,确保实时控制功能的实现。两者的高效数据交换对于...
【基于DSP-MCU的HPI口通信】是一种嵌入式系统设计方法,它结合了数字信号处理器(DSP)和微控制器(MCU)的优势。在传统的单片机系统中,控制功能可能相对有限,而DSP则擅长处理复杂的计算任务。通过这种组合,MCU...
【CPU、MCU、DSP的区别与应用】 CPU(中央处理器)是计算机系统的核心,负责执行指令和处理数据。它通常包含一个或多个内核,处理复杂的逻辑运算和控制任务。CPU的设计强调通用性和高效的数据处理能力,适用于各种...
本资料集“参考资料-基于dsp及mcu的谷物含水率准动态检测技术探讨”深入研究了利用数字信号处理器(DSP)和微控制器单元(MCU)实现谷物含水率的高效、精确检测方法。 首先,我们要理解DSP和MCU在系统中的角色。DSP...
该文档总结了软件编程过程中滤波算法的基本用法,特别对DSP及MCU的应用有一些帮助。
在电子技术领域,CPU(中央处理器)、MCU(微控制器)和DSP(数字信号处理器)是三种关键的处理单元,广泛应用于各种电子设备和系统中。它们各自具有独特的特性和应用范围,理解它们的区别和联系对于设计高效、优化...
结合DSP和MCU的谷物含水率检测技术为在线动态测量提供了新的解决方案。它不仅提高了测量速度,还显著提升了测量精度,减少了频率对测量结果的限制。这种技术的应用有望推动粮食水分检测领域的进步,提高粮食质量和...
本文提出的基于数字信号处理器(DSP)、微控制器(MCU)和现场可编程门阵列(FPGA)的APF控制系统设计,旨在克服传统单片DSP实现时控制周期延长、系统性能受限的问题。 首先,DSP技术的成熟和日益广泛的应用为有源...
标题中的“DSP/MCU/CPU (2).pdf”表明这是一个关于数字信号处理器(DSP)、微控制器单元(MCU)和中央处理器(CPU)的深入讨论。这些是电子工程和计算机科学中的关键组件,用于处理各种计算任务。文档可能包含了这...
在电子设备设计中,处理器是核心组件之一,包括CPU(中央处理器)、MCU(微控制器)和DSP(数字信号处理器)。这些芯片各自扮演着不同的角色,以满足不同应用的需求。 CPU,全称为Central Processing Unit,是...
在探讨变流器数字控制系统中基于IP软核的DSP、MCU和FPGA芯片间数据通信技术前,必须首先对这些术语和技术有所了解。DSP(数字信号处理器)是一种专门的微处理器,能够快速高效地处理数字信号;MCU(微控制器单元)是...
**DSP(Digital Signal Processor)与MCU(Microcontroller Unit)的区别在于它们的设计目的和优化方向。在数字信号处理领域,如有限冲击响应滤波器(FIR)的应用中,需要频繁进行乘法和累加操作。** 1. **密集乘法...
DSP2000系列是德州仪器(TI)推出的一系列高性能、高集成度的微控制器(MCU),旨在为用户提供全面的技术支持和服务。该系列MCU广泛应用于各种工业控制系统和其他需要实时处理的应用场景中。本文将详细介绍DSP2000...
MCU深入生活应用是不容易质疑的趋势,尤其是MCU在功能优化或市场区隔目的下,进行DSP(Digital Signal Processor)数字信号处理器或FPU(Floating Point Unit)浮点运算单元功能整合,使得MCU的可应用场域大幅扩展。