针对嵌入式多媒体应用选择一个处理器是一项复杂的工作,涉及到对处理器内核架构以及外设的全面分析,需要完全掌握视频、音频数据在系统中传输方式,以及正确评价在一个可接受的功耗水平下可达到什么样的处理能力。
到最近为止,解决这个问题的标准方法是将其划分成由微控制器(MCU)芯片处理的“控制域”,以及由数字信号处理器(DSP)处理的“计算域”。RISC MCU和DSP传统上适合于媒体丰富的嵌入式应用,然而,它们的用途不可互相替代,更确切地说,它们要协调一致地工作。MCU架构非常适合于高效率的异步控制流,而DSP架构的“生存之道”是同步恒定速度数据流(例如,滤波和变换操作)。
因为在当今的媒体处理应用中,两种功能集都是必需的,工程师通常使用独立的MCU和DSP芯片。这种组合为广泛的多媒体应用提供了很
为减轻这些问题,芯片厂商尝试过不同的解决方案。不同的MCU厂商都集成了某些信号处理功能,例如指令集扩展以及乘法累加(MAC)单元,但是这种努力通常缺乏针对先进信号处理应用所要求的基本架构基础。类似地,DSP生产商已经包含了有限的MCU功能,但是不可避免地在系统控制方面有所妥协。
最近,出现了另外的选择——单内核以及双内核的嵌入式媒体处理器(EMP)架构,这种架构在一个统一的设计中提供了MCU和DSP功能,允许在控制和信号处理需求方面进行灵活地划分。如果应用需要的话,EMP可以作为100%的MCU(代码密度与行业标准一致)、100%的DSP(时钟速度达到DSP技术的前沿)、或两者之间的某种组合。
单内核EMP架构评估
图1显示了一个单内核EMP架构,这个架构融合了一个32位RISC指令集、双16位MAC单元和一个8位视频处理引擎。其可变长指令集扩展到DSP内部环路所使用的64位操作码,但是经过了最优化以便16位的操作码代表最常用的指令。因此,编译后的代码密度可以与行业领先的MCU竞争,而其互锁流水线和代数指令语法能促进在C/C++和汇编两种环境中的开发。
像MCU一样,EMP具有受保护和未受保护的两种操作模式,防止用户访问或影响系统的共享部分。此外,它们提供定义不同应用开发空间的存储器管理功能,同时防止截然不同的代码部分被覆盖。它们还允许异步中断以及同步异常两种功能,以及可编程的中断优先级。因此,EMP非常适合于嵌入式操作系统(此前是MCU的天下)。
在DSP方面,EMP结构使数据的流动有效率且性能非常高,所配备的外设支持高速串行和并行数据搬移。此外,EMP包含先进的电源管理功能,允许系统设计工程师、架构师以最低的动态功耗曲线精心设计。
图1:单内核嵌入式媒体处理器BF533的框图
单内核开发方法
在当今的设计范例中,MCU和DSP程序员通常被分成两个完全独立的组,两方面的交互工作只发生在他们的功能范围相交的“系统边界”层面。这具有一定意义,因为两个开发组都形成了他们自己的设计习惯。例如,信号处理开发工程师可能熟知处理器架构的细节本质,能通过一些实现技巧来提高设计性能。
另一方面,MCU程序员可能更愿意采用这样的模式:只须启动器件控制工程网版权所有,它就能完成所有的工作。这就是为什么EMP支持DMA和缓存存储器控制器来在系统中搬移数据的原因。多个高速DMA通道在外设和存储器系统中往返搬移数据控制工程网版权所有,允许在不耗尽宝贵的内核处理器时钟周期的条件下,对控制进行精细地调整,这正是DSP设计工程师所追求的。相反地CONTROL ENGINEERING China版权所有,片上可编程指令和数据缓存允许对管理代码
和数据采用一种传递方法控制工程网版权所有,这种方式类似于MCU程序员的做法。通常,在系统集成层面,两种方法的组合是最理想的。