论文部分内容阅读
基于SIMD技术的媒体处理器在多媒体处理领域凭借着其良好的可编程性和高性能而备受关注。但是其性能的进一步提高却受制于一些非运算的因素,也就是通常所说的数据存储与组织。这主要是由多媒体处理的数据访问的灵活性和SIMD技术对算法的规整性的高度依赖性所导致。为了进一步的开发基于SIMD技术的媒体处理器的性能,本文分别从数据组织和存储两个方面来对其进行体系结构的优化。首先,在数据组织方面,本文提出了一种基于显式数据置换的EDO-SIMD指令集体系结构。它将数据置换信息显式地声明在了指令字当中,同时将数据置换操作与数据计算和存储操作结合起来,通过这样的方法来降低由数据组织指令所带来的非计算开销。本文还给出了在一个baseline SIMD媒体处理器的基础上实现EDO-SIMD指令集体系结构的方法。基于H.264/AVC实时解码器的Benchmark实验结果表明,在仅仅只在硬件面积上增加了0.49%的情况下,所提出的EDO-SIMD可以达到1.34~1.40的性能加速比以及减少17.7%的代码长度。然后,本文分别从两个方向上探讨了SIMD媒体处理器的片上存储系统的优化方案。其一是研究如何能将流访问与面向二维逻辑数据空间的并行存储器结合起来,在这个方面,本文提出了一个基于地址交织的二维流存储系统。该存储系统完成了二维逻辑空间到物理空间上并行存储器模块的映射。数据在物理存储器上进行了交织存放以支持行阵列和列阵列的同时访问。该交织算法在之前的交织算法基础上做了面向流访问的改进。基于H.264/AVC实时解码器的Benchmark实验结果表明,所述的二维流存储系统可以减少平均约32.0%的存储器访问率以及25.4%的实时处理中所需的时钟周期数。在另一方面,本文致力于研究如何改进传统的基于线性偏差的地址交织策略来解决其存储器冗余和无法支持模寻址的问题。本文提出了一种优化的基于线性偏差的交织策略,它采用了2pq(pq表示并行的数据通路路数)个存储器模块。为了克服在这种情况下带来的存储器模块冲突,所提出的交织策略在二维逻辑数据空间的水平方向上采用了线性的地址偏差,而在垂直方向上采用了非线性的地址偏差。实验结果表明,与之前的线性偏差交织策略相比,在pq=4或8的情况下,这里所提出的优化交织策略可以减少平均13.6%的片上存储器面积;在运动估计的Bechmark的测试下,可以减少平均35.5%的片外存储器的带宽。