开篇:润墨网以专业的文秘视角,为您筛选了一篇采用集成DSP与微处理器内核的嵌入式应用范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
嵌入式应用包括信号处理算法与控制算法,在多种实时嵌入式系统中,这两种算法共同执行必需的功能,因此我们应了解控制算法与数字信号处理器(DSP)算法是如何实现互操作性的。在手机和MP3播放器等应用中,要解决上述互操作性问题,传统做法是分别用RISC处理器和DSP来处理控制算法与信号处理算法。例如,在手机中,信号处理功能负责处理音视频应用中的回声消除与编解码工作。由于DSP架构是专门设计用于执行信号处理算法的,因此信号处理算法在DSP上的运行效率很高;而手机中的控制软件则负责执行状态机,即控制用户界面、键盘及其它非信号处理功能。
开发包括信号处理与控制算法且要求这两种算法间实现互操作性的嵌入式应用时,我们要面临几大挑战。举例来说,当我们将桌面应用或其它复杂应用连接到嵌入式设备上时,让该嵌入式设备的DSP/RISC内核实时工作并适当地进行代码分组(code partition-ing)会相当困难,因为要这两种不同内核实现同步操作需要进行大量的工作。视频或协议处理等众多高级嵌入式应用会增加多内核上代码分组的难度,而且大多数代码分组工作都要由编程人员完成。以采用德州仪器(TI)TMS320C55x DSP与ARM RISC处理器的双内核架构为例来说,DSP执行信号处理任务,而ARM 9则执行控制功能。
另一种方法是在单个设备中集成dsp与微处理器,我们可向RISC内核添加类似于DSP的指令(如乘法或累加指令)或向DSP内核添加类似的控制指令(如执行特定寻址任务的指令),从而实现上述目的。凭借相关工具的支持,这种“集成化”技术具有一定的优势,如在操作系统上仅运行唯一的原生应用,这样就能简化设计方案,便于集成,并加快产品上市进程。
在传统嵌入式应用中,分别采用通用微处理器(或微控制器)和DSP内核来执行通用功能与信号处理算法。上述方法的合理性在于:
・DSP内核专门运行信号处理算法,效率较高;
・DSP架构共享一系列常见功能,如并行计算与移动、快速乘法累加(MAC)运算以及Harvard架构等,支持多个运算的同时存取;
・DSP处理器通常不采用RISC设计原理;
・DSP架构是在电信及多媒体领域的视频、影像与语音处理等应用以及数据压缩与解压缩功能的驱动下应运而生的;
・DSP指令集以存储器为导向,并针对过滤与转换等信号处理算法的执行进行了精心优化。为了支持上述运算,DSP采用专用寄存器、地址单元、乘法累加单元及片上存储器等。
系统应用分组的最大挑战在于,每个内核都需要自己的外部存储器子系统,这会增加功耗。除了控制独立存储器子系统所需的功耗之外,通常每个内核还要控制自己的一套外设,以实现处理内核数据的存取,这也会增加功耗,而且还会加大整体系统通信开销。
向RISC内核添加DSP指令
在RISC架构中集成DSP单元不仅能够实现更多并行操作,而且还更有效地共享资源(如外设及存储器等)。因此,采用速度更快的RISC架构,DSP算法的执行速度也相应地提高了。
不过,RISC架构采用负载/存储原理,指令集的通用性较强,因此会对性能造成负面影响。有关设备的高速缓存技术比较复杂且大量使用管线处理,从而需要较高的时钟频率。基于RISC的微处理器添加增强型DSP功能与特性后,可支持乘法累加指令等DSP算法,也能支持图像或影像处理等专门单元。
由于带RISC/DSP双内核的处理器能够完成两个单核处理器的工作,因此不存在处理器间通信的问题。利用集成内核,我们可在DSP与控制器上动态进行代码分组,以适应系统要求或环境的变化。这种模式不仅能够加快环境转换,而且由于无需两套外设或存储器,因此进一步降低了资源占用。此外,这种方法还提高了系统的集成度,这不仅有助于降低功耗,而且还能通过在单个设备上集成更多功能而实现成本降低、性能提高及芯片尺寸缩减等其它多种优势。
如前所述,现代DSP处理器本身具备一些通用特性,如配置用于DSP运算的专用数据路径、以DSP为中心的运算所需的专用指令集、满足多个时序存储器存取所需的多个存储体与总线,以及DSP的专用外设等。
另一方面,通用处理器也在自身内核中集成了类似DSP的功能。我们可采用多种方法来为通用处理器添加DSP功能。设计人员可添加专用的单指令、多数据指令以及诸如多媒体扩展指令集(MMX)指令等,也可为多个取操作数在现有CPU内核(如瑞萨SH-DSP)上集成类似于定点DSP处理器的数据路径及其它相关资源。与ARM公司的NEON架构类似,我们还可向CPU添加DSP协处理器。设计人员也可创建三内核处理器等混合架构。
带有集成DSP功能与特性的架构
NEON SIMD指令能并行处理16个元件,这加速了媒体及DSP应用。有关指令与内核密切配合(如图2所示),这种集成技术使我们能统一查看与ARM内核共享的存储器的情况,从而能使用统一的指令流,明确统一的平台目标,进而加速整体应用开发进程。
这种架构对3G手机等特定应用而言非常适用。就这种应用来说,DSP数据引擎可用于视频编码等专门的处理工作,而集成了NEON DSP功能的ARM内核则可用于音视频解码,RISC处理引擎则可用于用户界面及协议栈处理等。
三内核架构将类似于MCUI的RISC负载/存储型架构与类似DSP的Harvard存储器架构结合在一起,地址总线均为32位宽。程序与数据存储器总线为64位宽。内核本身不包含任何存储器,不过可由设计人员定制。超标量架构包括32位定点数据通路、负载/存储单元及程序控制单元等。该设备每个循环能执行多达三个指令(数据通路指令、负载/存储指令以及指定回路的指令),这适合高性能DSP应用的需求。
有关设备还支持各种DSP寻址模式,其中包括带前后增量的寄存器间接寻址、索引寻址、循环(自动模数)寻址及位翻转寻址等。位翻转技术对译出FFT算法的输入输出很有用,这是常见的DSP操作。此外还支持零开销硬件循环。
总之,采用集成RISC/DSP处理器支持实时嵌入式系统的优势在于:
・在不影响DSP与微控制器性能的条件下,单个架构完美集成了DSP与微控制器的功能与特性;
・快速任务切换功能使集成内核能像虚拟处理器一样工作,并在DSP与微控制器任务间实现快速切换,有时仅需几个时钟周期;
・较大的片上存储器块(RAM与ROM)有助于提高系统性能并降低功耗;
・集成架构无需额外的粘接逻辑便可直接控制片上外设。