| 一、引言
随着多媒体编码技术的发展,视频压缩标准在很多领域都得到了成功应用,如VCD(MPEG-1)、视频会议(H.263)、DVD(MPEG-2)、机顶盒(MPEG-2)等等。
而网络带宽的不断提升(ADSL接入从以前的512kbit/s提升到现在的1Mbit/s,不久还将升到2Mbit/s,甚至更高)和高效视频压缩技术的发展使得人们逐渐把关注的焦点转移到了宽带网络数字电视(IPTV)、流媒体等基于传输的业务上来。带宽的增加为流式媒体的发展铺平了道路,而高效的视频压缩标准的出台则是流媒体技术发展的关键。
H.264是ISO/IEC MPEG联合ITU-T VCEG成立的联合视频组(JVT)制定的一个全新的标准。相对于H.263+和MPEG-4(Simple Profile),H.264的码率平均降低了50%,以700kbit/s的码流速率提供了接近DVD的画面质量。
H.264能面向各种应用场合(从低比特率到高比特率),其算法本身也包含了丰富的基于压缩和网络传输的各种编码选项。可编程处理器固有的灵活性决定其为H.264的理想实现平台。众所周知,H.264的高效性是建立在其实现的高复杂度基础上的,就其Baseline而言,解码器复杂度将是H.263解码器的3倍左右,而编码器的复杂度更是高达10多倍。近年来,处理器芯片性能在不断地提高,其中包括越来越高的处理器主频,强大的运算功能以及丰富的外设。但是与当今日新月异的半导体技术、工艺相比,由于片上系统(SoC)的需求不断提高,处理器的体系结构仍具有极大的发展空间。特别是H.264作为一个前景广阔而又具有挑战性的新生“事物”,必将带动新一轮处理器架构的革新。而算法和架构的互动将会成为这一轮革新的强有力的驱动。
二、应用:处理器架构革新的驱动力
事实上,处理器架构一直是在应用的驱动下发展、进步的。
1. DSP在数字信号处理算法驱动下的产生、发展
在过去的几十年中,随着半导体工艺与集成电路设计技术的逐渐发展,微处理器逐渐在工业控制等领域得到应用,简单的智能控制与少量计算任务的实现,都是由我们通常所谓的单片机来完成的。单片机虽然集成了CPU、RAM、ROM(EPROM或EEPROM)、时钟、定时/计数器、多种功能的串行和并行I/O口等部件,但是其面向的应用场合主要是工业控制中各种事件的管理调度等,运算处理能力不足一直是它的缺陷。
特别是随着信息化的进程和信号处理理论与算法等的迅速发展,需要处理的数据量越来越大,对实时性和精度的要求越来越高,单片机越来越难以满足不断上升的要求,DSP应运而生。
DSP的产生背景决定了其架构的重点更多的是对特定的数字信号处理算法的强化支持。典型的数字信号处理算法,例如在有限长冲击响应滤波器(FIR)的实现中,需要在系数和输入样本的滑动窗口间作乘法,然后将所有的乘积进行累加。类似的运算在数字信号处理过程中大量地重复发生,使得为此设计的器件必须提供专门的支持。通常DSP处理器使用专门的硬件来实现单周期乘法,并且还增加了特殊的累加器寄存器来处理多个乘积的和。为了充分体现专门的乘法累加硬件的好处,几乎所有的DSP的指令集都包含有显式的MAC指令。另外,为了提高特定算法的实现效率,一些DSP处理器有专门的硬件来实现特殊的寻址模式,例如,模块(循环)寻址(对实现数字滤波器延时线很有用)、位倒序寻址(对FFT很有用)。这些特殊的寻址模式如果用软件来实现,则会大大降低系统的性能。
为了提高每个指令周期内数据(与指令)的吞吐量,大多数DSP采用了改进的哈佛结构,并且使用了多个片内存储器和多组总线。此外,DSP处理器几乎都不具备数据高速缓存,这是因为DSP的典型数据是数据流。也就是说,DSP处理器对每个数据样本做计算后就丢弃了,几乎不再重复使用。另外, |