论文部分内容阅读
随着视频应用对处理器性能要求的不断提高,面向视频编解码的专用指令集处理器(Application Specific Instruction-set Processor,ASIP)设计已成为了目前的研究热点之一。本文围绕面向视频编解码应用的ASIP设计及其VLSI实现从以下三方面展开了研究工作:1.比特流处理器设计针对视频解码应用中的比特流解析、变长熵解码等串行操作,提出了一种高效的比特流处理器结构。通过分析比特流处理的计算核心及速度瓶颈,针对频繁出现的共性操作,如showbits、getbits、flushbits等,提出了7条变长解码专用指令及其硬件实现结构。实验结果表明,结合LNZ分组解码算法,该比特流处理器在150MHz工作频率下可以满足高清1080i格式的H.264/AVC实时解码性能要求。并且其硬件实现开销和设计复杂度等都很小。该结构已经成功应用于自主研发设计的Spock处理器中的变长编解码(Variable Leng Coding/Decoding,VLX)特殊功能执行单元。这使得Spock在视频编解码应用中的性能得到了大大提高,能够胜任流处理器的角色。2.并行存储结构设计针对SIMD(Single Instruction Multiple Data)处理器在视频编解码中内存读写操作带来的大量额外非计算开销,提出了一种高效的2维并行存储结构。结合视频编解码主要算法,分析所需的数据存取格式,提出了两种数据交织存储方案A-scheme和S-scheme。它们分别为视频应用中的两种数据类型(8bit像素和16bit变换系数)提供2维空间行列方向上数据的连续并行访问和间隔步长为2~1的并行访问。实验结果表明,在H.264实时解码中,该并行存储器结构比字节寻址存储结构性能平均提高了1.28倍。同时,提出的硬件实现结构简单,并易于在不同数据总线宽度的处理器平台上扩展。随着数据带宽的增加,其优势更为明显。3.Shubert处理器设计针对传统SIMD指令集体系中严格要求的操作数格式所带来大量的数据重新组织开销,提出了一种显示数据组织SIMD(Explicit Data Organization,EDO-SIMD)指令集体系结构。它显性地将数据置换信息声明在指令中,将数据组织与数据运算操作合并在一起执行,由在寄存器文件和SIMD计算单元之间增加的数据置换网络提供灵活的操作数格式,从而有效提高SIMD处理器的并行性能。我们自主研发了支持EDO-SIMD指令体系的Schubert视频处理器。它是基于非耦合的存取/执行体系结构设计的,并结合主要视频编解码算法扩展了EDO-SIMD视频专用指令集。仿真结果显示,扩展指令有效提高了Schubert处理器在多种视频标准应用中的性能。Schubert分别在11.4MHz和49.1MHz的工作频率下可完成QCIF、CIF分辨率并且速率为30帧/秒的H.264实时解码应用。