消费类音频应用的解决方案
图2 MIPS音频解码的应用实例
除了上述的特性之外,该软件还利用其他技术得到尽可能最高的性能:
⊙MIPS32汇编工具具备加强关键运算计算的人工编码能力;
⊙建立在内核到内核基础上的人工时序可以最大限度地减少加载使用(在指令需要的数据开始执行之后,来自高速缓存/存储器系统的加载指令数据到达-直到数据可供使用之前,处理器都不会运行)的瓶颈;
⊙循环展开和软件流水线操作可用于最佳的代码时序。
为了提供最大限度的灵活性,可在软件中执行MIPS消费音频平台的所有算法。不过,SOC设计者还是可以通过CorExtend的特性使用MIPS内核指令集来满足新出现的音频标准。用户定义的指令(UDI)或CorExtend可为应用加速增加新的指令和状态。这种定制能力为SOC厂商提供了改进性能和产品个性化的功能。
迁徙途径
MIPS科技不断开发越来越先进的内核设计,并实现架构方面的进展,在持续改善性能方面积累了丰富的经验。在内核领域,MIPS科技已在产品中增加了一个8段流水线,从而改进了时钟速度性能。在架构方面,MIPS科技已通过增加第二版架构(Release 2 Architecture)改善了IPC性能。
MIPS科技继续承诺改进性能,最近又为多线程(Multi-Threading,MT)发布了ASE MIPS处理器。这种产品与音频市场有着特殊的关系。MIPS MT ASE利用来自另一个可用线程的有用的工作填充流水线固定位置的方法,改善了整个系统的性能。但是,MT ASE在音频方面更为显著的特性是其提供了服务质量(QoS)时序机制。
MT ASE采用了一个可以共享一条单流水线的多重虚拟处理元素(Virtual Processing Elements,VPE)的概念。在一个音频环境中,可以使用两个VPE:一个运行OS(操作系统),另一个运行音频应用。MT ASE可以利用时序政策,保证使特定任务的处理器带宽分配最小。此外,它还可提供服务质量特性。这两个特性的结合可以在不跳过任何音频帧的情况下保证音频应用的实时执行,同时也维护了所有其他的实时任务,以及适时方式的OS。
QoS特性根本上消除了OS中断对音频功能表现的影响。通常,中断服务可在"发生"异常的线程执行时间方面引起相当大的可变性。MT ASE可提供一个机制,它可使任何异步异常得到延缓,直到OS线程(非豁免线程)被预定。这增加了在一种有限的和受控的方式下OS任务的中断等待时间,同时保持了音频任务的执行。如果中断处理程序的执行仅仅是发生在输出时隙未分配豁免实时QoS线程期间,那么,中断服务对这样的实时代码执行时间没有直接的影响。
MIPS音频解码器应用实例
音频解码器通常作为驱动器应用进行存取。驱动器的作用是从适当的输入设备提取引入的位流,并将经过解码的位流发送到音频输出设备,如图2所显示的那样。它也可以执行其他后处理功能,例如在发送到输出设备之前,对经过解码的音频位流进行低音控制。驱动器通过一个标准接口机制访问MIPS的音频产品,也就是MIPS的软音频接口(Soft Audio Interface,SAI)。这个通用接口可使各种来自MIPS科技的音频解码器易于与主应用进行连接。
MIPS SAI可提供解码器和主程序,或高级控制和运算监控解码器RTOS之间的接口功能和结构。这种接口为访问控制解码器运算和访问状态和差错信息参数提供了机会。该接口可执行三个基本功能:一个是对解码器进行初始化,第二个是阅读帧标题,第三个实际上是进行解码处理。所有的解码器都具有与特定解码器有关的预确认字段数据结构。解码器对所有的帧进行阅读和结构更新。在帧开始或结束时,主程序可访问数据结构,阅读状态或改变控制参数。参考下面的代码实例,它说明了驱动程序的运行情况。MIPS SAI的功能用粗体字表示。
int main(void)
{
decoder_specific_struct dec_ptr;
//Initialize the decoder.
mips_sai_dec_init(&dec_ptr);
//Open the bitstream input device.
open_input();
//Open the audio output device.
open_output();
//Allocate buffers for decoder operation.
allocate_buffers(&dec_ptr);
while(not-end-of-input-bitstream)
//Read the input bitstream.
read_input(&dec_ptr);
//Read the frame header for encoded stream parameters.
mips_sai_dec_readheader(&dec_ptr);
//Set up params for decoder operation.
setup_params(&dec_ptr);
//Decode the frame
mips_sai_dec_process(&dec_ptr);
//write the decoder output to the device driver.
write_output(&dec_ptr);
end-while
//Close the input and output devices.
close_input();
close_output();
return 0;
}
结语
MIPS处理器可供使用的各种特性为实现消费音频算法提供了一系列的优势。这些优势包括单一的可编程架构、更低的系统成本和缩短上市时间。这使MIPS处理器成为从电池供电的移动音频播放器到高性能DVD刻录设备等消费电子产品音频应用的一种可行和具有吸引力的解决方案。
- LCoS(硅基液晶)显示屏设计与应用(08-27)
- 系统级芯片发展之路依然任重道远!(11-13)
- 在SoC中集成FlexRay网络控制器的设计策略(01-08)
- 用于便携式多媒体SoC的视频处理方案 (02-09)
- H.264音视频编解码SoC芯片Hi3510的原理和应用 (02-22)
- 数字视频系统设计中的集成新概念 (07-22)