由于半导体技术的不断进步和多媒体数据应用领域的不断扩大,像素帧巨大的图像处理应用的计算机体系结构,在嵌入式应用环境的体积与功耗的限制下,目前正面临着三个要解决的关键问题。一是要解决千亿次量级的运算速度;二是由于现代的半导体技术的集成度已经很高了,例如,中芯国际0.18mm的CMOS工艺在1cm2的芯片面积上可以集成40,000,000支晶体管,但由于芯片引出头数目的增加是有限的,因此,必须解决引出头的数目受限制的关键问题;三是由于多媒体数据处理几乎没有时间和空间局部性,一幅图像中的每个像素通常只是被访问一次,因而不仅要解决运算量大的问题,而且要解决处理器与存储器之间的数据带宽问题。
国内的处理器设计现在还主要处于功能仿制阶段,有单位正在研制具有MMX指令的奔腾芯片,以及具有数据并行处理能力的TMS 320C6711等芯片。就数据并行性计算来说,高性能奔腾处理器是通过57条MMX指令来支持数据并行性计算的,但其数据并行计算的程度是很低的
针对上述三个关键问题,近十多年来,国外对新一代多媒体处理器体系结构进行了广泛的研究,有专用多媒体处理器、可编程多媒体处理器、向量处理器以及流处理器等体系结构。
专用多媒体处理器
针对三维图形应用,SGI公司研制了名为InfiniteReality的专用多媒体处理器系统(1997年公布)。它由4个专用的几何引擎(Geometry Engine)和80〜320个专用的图像引擎(Image Engine)构成,能提供每秒11,000,000次三角函数计算和每秒830,000,000个像素的处理。它是以存储容量的冗余为代价来提高存储器带宽的。最近,NVIDIA公司研制了名为GeForce256的专用单芯片图形处理器。该处理器能提供每秒15,000,000次峰值运算和每秒480,000,000个像素处理。这些专用多媒体处理器的缺点是只要算法稍有变化,性能就会急剧下降。
可编程多媒体处理器
Chromatic公司研制了名为Mpact的多媒体处理器(1996年公布),Philip公司研制了名为TriMedia(1996年公布)和VSP(1994年公布)的多媒体处理器。它们比专用图形处理系统要灵活得多。Mpact多媒体处理器有一个4KB的全局寄存器文件(Register file),并且利用了高带宽的Rambus DRAM来满足3-D图形处理对带宽的需求。这个相当大的全局寄存器文件,在很大程度上减小了图形处理中对工作页面进行显式缓存所需的带宽量,进而减少了对存储器的访问次数。在奔腾等高性能处理器中,通过MMX,MAX-2,和VIS,增加了多媒体扩展,也就是增加了来自存储器的预取流数据,并利用这些处理器中可以得到的数据带宽,增加了浮点数据类型SIMD操作,以支持数据并行性。
向量处理器 流处理器 &
向量处理器是通过向量操作来支持数据并行性的处理器。为了有效地利用向量计算中的数据并行性,向量处理器的结构通常包括向量寄存器文件、深度流水的ALU和一维的SIMD组织形式的多种组合。向量寄存器文件存储的是数据向量,而不是单个的数据字,它们是在对向量进行操作时,顺序地进行传送的。不仅图像处理采用向量处理器技术,当前世界上处理速度最快的超级计算机——日本NEC的《地球仿真测试系统》,也是以0.15mm工艺实现的向量处理器为基础,由5120个向量处理器(共有640个节点,每个节点有8个向量处理器)组成的。
流处理器是直接将多媒体的图形数据流映射到流处理器上进行处理的,有可编程和不可编程两种。1995年公布的名为Cheops中的流处理器,是针对某一个特定的视频处理功能而设计的一种不可编程的流处理器。但为了得到一定的灵活性,系统中也包含一个通用的可编程处理器。