OMAP5910硬件平台采用双核技术来提高操作系统的效率和优化多媒体代码的执行。实时性任务,像实时视频通信等由DPS完成,非实时性任务和系统控制工作,像界面交互等则由ARM核完成。例如,使用者在进行视频通信的时候可以同时使用操作系统上的Word、Excel等应用软件,这样分别发挥了DSP和AMR核的优势。与传统只使用ARM核或者只使用DSP芯片的移动终端相比,OMAP成功地实现了性能与功耗的最佳组合。
OMAP5910芯片的两个关键部分是TI增强型ARM925(TI925T)和TMS320C55x。TMS320C55x的工作主频是200MHz,内部有32Kb双存取DRAM,48Kb单存取SRAM和16Kb ROM。它具有高度的并行处理、32位读写、功能强大的EMIF、双流水线独立操作以及双MAC运算能力,采用了三项关键的革新技术:增大的空闲节电区域、变长指令、扩大的并行机制。此外,TMS320C55x核增加了处理运动估计、离散余弦变换(DCT),离散余弦反变换(IDCT),1/2像素插值的硬件加速器,降低了视频处理的功耗,其结构对于多媒体应用高度优化,适合低功耗的实时语音图像处理。增强型ARM925工作主频为175MHz,有16KB的高速指令缓存、8KB的高速数据缓存和17B的写缓冲。AMR核和DSP都可以访问内部SRAM和外部存储器接口,但是ARM核是平台的核心,它能访问全部16MB的内存空间和DSP 128KB的I/O空间。
OMAP软件架构
OMAP是一个高度集成的硬件和软件应用平台,为无线市场提供了系统解决方案。从一定意义上说,OMAP开放的软件结构对用户更为重要。它支持多种流行的嵌入式操作系统、高级语言编程资源丰富的DSP多媒体组件算法,可通过应用编程接口(API)和第三方开发工具方便地实现各种应用开发。TI独特的DSP/BIOS桥,允许开发者在RISC和DSP之间优化地分配任务,在不增加功耗的前提下获得最优性能。采用算法标准xDAIS,可以实现算法的复用,使己经成熟的DSP算法快速移植到不同系统中。
为了简化软件开发,DSP的软件结构从通用处理器(GPP)的编程环境中抽象出来。在OMAP软件体系结构中,这种抽象通过定义一个接口,使GPP成为系统的主控者来实现。该接口由一系列包括设备驱动接口的API组成,提供一种通信机制,使得GPP应用程序能够完成诸如初始化,控制DSP任务,与DSP交换信息,接收或发送数据流到DSP,状态查询等工作。在GPP端,其支持几乎所有移动终端的操作系统,包括WindowsCE、Symbian、EPOC、palm OS、Linux、Nucleus等,提供类似于Java的开发环境。资源管理器与DSP接口,则是DSP应用程序加载、初始化和运行控制的唯一途径。通过资源管理器接口,GPP应用程序调用DSP的功能函数,就像在本地调用一样。而DSP端支持基于TI的eXPressDSP实时软件技术,包括DSP/BIOS实时内核、用于内部操作与重用的DSP算法标准以及第三方软件模块。已有的为视频和图像任务优化过的算法库,也有助于多媒体模块的开发。开发人员通过容易使用的高级应用程序接口,可以方便地获得DSP加速算法。另外,相同的API集,可以运行于各种OMAP平台上,从而促进代码的重用,能将同样的软件应用到不同的目标市场的设备中。由此可见,这种软件体系结构允许开发人员在GPP的操作系统上使用C语言编程,而不用直接面对底层硬件,并且使开发人员得以容易地使用符合标准的DSP算法,而无须深入了解DSP就可以利用DSP来加速信号处理任务,实现多媒体、语音、安全或其他功能,从而充分发挥OMAP处理器的性能。
该体系结构可以在DSP(TMS320C55x)及GPP(TI-enhaneedARM925)上实现可扩展的非对称多处理技术。其中,GPP操作系统与单独使用RISC处理器时一样,可以达到同样的功能:DSP与GPP相互独立,运行DSP/BIOS实时内核;通过DSP/BIOS桥,RISC处理器可以将信号处理等密集处理的任务,安排给DSP异步运行。凭借优化的底层软件,DSP能以较低功耗执行这些信号处理任务,从而延长电池使用寿命,减小产品体积。
OMAP应用
由于OMAP先进独特的结构,加之芯片运算处理能力强、功耗低,在移动通信和多媒体信号处理方面具有明显优势。如视频处理上,视频软件以15f/s的速度同时编解码QCIF图像时,才使用了DSP运算能力的15%。而剩余的85%仍可用于其他任务,如图形增强、音频播放和语音识别等。
而随着技术的进步,OMAP必将在移动通信与多媒体信号处理方面获得广泛的应用。