高效软件视频编码中使用MIPS SIMD架构

SIMD(单指令多数据流)是现代CPU设计中引入的一类指令,其允许对向量操作进行有效处理以提高并行处理性能。

MSA(MIPS SIMD架构),使开发者更加灵活而有力的访问128-bit SIMD引擎,从而加速多媒体及密集型计算应用。

使用MSA指令的新处理器可支持大范围的应用,且不用过度依赖特定的硬件加速器。而在应用平台中融入这些基于MIPS的处理器则可以更好地适应含尖端需求的新任务。

此外,MIPS SIMD和其它可编程方案(如GPU计算)的灵活性可满足未来嵌入式平台的需求,且对一些异构平台在未来需要处理的未知任务也很适用。

视频处理器便是这样一种应用程序——它契合Imagination公司最新发布的白皮书主题,即关注MIPS军工级CPU如何使用MSA指令加速VP9编码器。

VP9编码器是谷歌公司WebM项目的一部分,其规模只有上一代编码技术的一半,却已以这一半的规模达到了更好的质量。VP9是全高清和4K流媒体视频的理想化方案(如You Tube),并可部署在基于WebRTC的视频会议应用中。

可以使用MSA将多媒体处理中常用的操作向量化,这些常用的操作包括:

• 加/减操作
• 乘法和乘积操作(点积和简单的乘法)
• 逻辑和算术移位操作
• 其它逻辑操作(AND、OR、XOR等)
• 条件筛选和屏蔽
• 加载和存储
• 打包-解包/交叉操作

上述提到的白皮书重点关注创建新SIMD优化软件的能力,即不使用汇编代码便可开发MIPS处理器管线的能力。

白皮书作者认为,内置的数据类型和内联函数为使用MSA的开发人员提供了一些优势:

• 所有的MSA实现都可以用C语言来实现,因此,开发人员便不用担心MIPS CPU在微型架构上的微妙差别。
• 编译器可充分利用SIMD指令,并有效利用可用的向量寄存器数量和指令吞吐量,以生成最佳的汇编码。

白皮书的结论是,使用MSA内置模板和数据类型,开发人员可以减少开发时间,并获得快速运行的便携式代码。白皮书援引的特定案例是:一个典型的VP9解码器工作负载所需的指令数量可减少10倍以上。

若想编写MSA C码,需要下载prpl基础提供的QEMU仿真器Imagination公司免费提供的Codescape SDK。更高级的用户可联系我们,以获得专业版Codescape SDK的访问权限。

原文链接:
http://blog.imgtec.com/multimedia/using-the-mips-simd-architecture-for-h...

--电子创新网--
粤ICP备12070055号