每年一次在美国举行的微处理器论坛(Micro-Processor Forum),它将宣告即将来临的微处理器的流行样式。1995年主要围绕着下一代CPU的问题,而1996年论坛的热点论题转到为多媒体而优化的专门的微处理器上,它表明1996年流行的将是针对多媒体用途的微处理器。为了更有效地实时处理模拟音响、视象的数字化数据流,这些多媒体处理器都采用了数字信号处理器(DSP-Digital Signal Processor)中采用的一些技术。实际上它们通常很象CPU/DSP的混合物,更好的方法将是CISC、RISC和DSP、Array Processor结构的融合。随着PC从处理简单的数字和文字走向处理更复杂的数据类型,老的处理数字的方法已不完全适用,今后新一代的PC处理音响和视象将和今天PC处理文字和表格一样平常。
1996年世界上很多厂商推出了多媒体处理器(Multimedia Processors),其中佼佼者是Chromatic Research公司的Mpact、Philips公司的Trimedia、MicroUnity的Media Processor(由MediaProcessor、Media Codec及MediaBridge三件组成)以及Nvidia NVI高度集成的多媒体加速器,它们引起世界舆论界普遍的关注,人们认为它将会成为多媒体时代多媒体计算机的协处理器。Microsoft公司总裁Bill Gates曾预测,未来的个人计算机只有三个主要元件,即存贮模块、CPU及一个执行复杂I/O的处理芯片,多媒体处理器便是一枚可独立执行I/O处理的高速专用芯片。
  1996年2月位于美国桑尼维尔的ChromaticResearch公司开发的Mpact媒体处理器一经问世,就立即引起轰动,受到各种宣传媒体的普通关注:华尔街邮报、今日美国、Byte杂志等数十家都刊登了一系列的评论。有人认为:"媒体处理器--多媒体时代的计算机芯片"。除了Chromatic公司,还有IBM、MicroUnity、Mitsubishi、NEC、Philips、Samsung和SGS-Thomson等众多有影响的大公司正在推出自己的媒体处理器。在下面两小节将重点介绍Mpact和Trimedia芯片、板卡及其软件。IBM公司Mfast,它与上述两个产品不同的地方是增加了MPEG-Ⅱ的编码功能,对于需要高质量的MPEG-Ⅱ视频创作的用户而言,它可能是最好的选择。
  5.4.2.1 Mpact多媒体处理及其PCI总线评价卡
  美国Chromatic Research公司是一家不生产半导体芯片的芯片设计和软件开发商,它采用了一种全新的商业模式,它负责Mpact多媒体处理器芯片的设计及软件开发,而芯片和评价卡的生产交给合作伙伴(东芝、LG、SGS-Thomson等半导体厂商)去做,这样Chromatic Research公司就可以充分利用半导厂家的现有资源,而不要在生产设备上投入巨额资金,而将资金用于设计和研究中。
  1.Mpact芯片的功能和工作原理
  由Chromatic Research公司设计,LG Semicon、Toshiba公司设计制造的Mpact芯片现有三种型号:
  M1:Mpact/3000; M1 R75MHz:Mpact R/3600; M2:Mpact 2/6000
  其中3000、3600、6000描述了芯片的速度,速度单位是MOPS-Millions of Operation Per Second,M1在LG公司的产品型号为GM90DC701Q,在Toshiba公司的型号为:TC 80301F。
   5-14 Mpact媒体处理器功能图
 
  (1) Mpact芯片的功能
  Mpact芯片的主要功能如图5-14所示。这是Mpact芯片目前设计的已形成的七种多媒体功能,同时芯片设计采用了微码引擎(Microcode Engine),如果想增加新的功能,可采用软件升级的方式而不必更换硬件,这样可以有效地保护用户投资。具体功能如下:
  ① 视频
  ·PEG-1实时编码、30帧/秒,家庭视频编辑,数字VCR(视频捕捉+MPEG格式回放)。
  ·MPEG-1解码(全屏幕、30帧/秒、18位彩色),VCD播放、专利的动态影像处理技术达到最佳回放效果。
  ·MPEG-2解码(全屏幕、30帧/秒)、DVD播放。
  ② 二维图像
  ·Windows GUI加速。
  ·SVGA、VGA兼容。
  ·1280×1024×18,60Hz;
  1024×768×18,60-85Hz;
  1024×768×24,60Hz;
  800×600×24,60-120Hz;
  640×480×24,60-144Hz。
  ·符合娱乐PC 97规范,具有多制式电视功能。
  ③ 三维图形
  ·Windows 95 应用程序接口。
  ·Z缓存,双缓存的动态显示;折光、反射映照和阴影、线框图、实体模型。
  ·透视纠正,纹理映射。
  ·支持点、线、三角形等图案元素。
  ·400万像素/秒,80万三角形/秒
  ④ 音频
  ·MPEG音频
  ·Dolby AC-3音频。
  ·波表合成。
  ·波导合成。
  ·三维声音和效果。
  ·通用MIDI。
  ·FM合成。
   5-15 Mpact结构原理图
    

  ·声霸卡兼容。
  ⑤ 传真/调制解调器
  ·V.34bis 33.6K数据传输,V.17一、二两级传真。
  ·V.80在异步接口上同步数据传输,V.14异步同步转换,支持RS 2 3 2接口。
  ⑥ 电话
  ·免提式电话。
  ·呼叫识别。
  ·自动应答。
  ·语音信箱。
  ⑦ 视频会议
  ·H.320(ISDN)综合业务数字网。
  ·H.323(LAN)局域网。
  ·H.324(POTS)普通电话系统。
  (2) Mpact多媒体处理器的结构原理
  Mpact核心芯片使用0.5mm三层CMOS工艺,由约1.5兆个晶体管组成。Mpact芯片工作电压为3.3V,它也能在5.0V电压下正常工作。Mpact芯片工作频率为62.5MHz,芯片为240管脚的FQFQ封装芯片。
  Mpact芯片能处理各项多媒体功能,其内部的CPU指令形式为"超长指令字格式"(Very Long Instruction Word,VLIW)。指令的执行方式属于"单指令多数据"(Single Instruction   Multiple Data,SIMD)方式,"单指令多数据"的指令执行逻辑更加适合于多媒体功能的处理。这是因为多媒体功能处理运算的特点是:运算量大,运算种类单一,精度要求低,速度要求高。SIMD技术正适合多媒体功能的运算,指令的处理在Mpact芯片内还采用了流水线(Pipeline)技术。在流水线中,指令的执行分成四步:取指、解码、执行、回写。流水线技术的使用也提高了Mpact的运算能力。
  Mpact芯片内部结构如图5-15所示。它是由五个接口控制器,一个多通道SRAM和CPU组成。五个接口控制器为:存贮器接口、PCI总线接口、视频接口、显示接口及外设I/O接口。五个接口与SRAM通过总线和FIFO相连。多通道的SRAM作为主CPU的存贮器,其功能类似于Cache。4K Byte的SRAM有八个读写通道,SRAM通过八个读写通道可同时支持各接口和CPU之间的数据交换。另外Mpact芯片中还有792 bit的称为Crossbar的内部连通线,Crossbar连通芯片内的各功能部件,使芯片内数据传输率可达9.0GB/s。
  ① Mpact的CPU及指令处理单元
  Mpact的CPU(Center Processing Units)由四个ALU(Arithmatic/Logic Unit)组和一个运动估计(Motion Estimation)单元以及指令解码控制器组成。
  Mpact芯片最小处理单元为72bit。Mpact内每Byte由9Bit组成,72bit为8Byte。在Mpact中,称8Byte为双字长。每一个双字长内可有一或两条指令。一般的指令为3-5Byte长。对于可执行向量运算和块移动操作的指令来说,一条指令可以使4个ALU同时工作,使Mpact芯片的最高运算处理能力达到3.0BOPS(Billions of Operation Per Second)。
  四个ALU组的功能如下:
  ALU1:ALU1是Shift/align ALU组。
  ALU2:ALU2是通用ALU组。
  ALU3&4:ALU3和ALU4联合用于处理多媒体的一些特殊运算。
  运动估计单元由大约400个算术单元组成,在MPEG-1或MPEG-2的运动估计运算中提供了20BOPS运算能力。
  Mpact芯片的指令有三字,四字,五字指令。典型的四字指令为一字操作码,二字源操作字,一字目标操作字,而三字指令为一字操作码,一字源操作字和一字目标操作字。五字指令提供了四个操作字,这样允许执行向量运算。
  Mpact在执行时,一般由两个指令组成一个"指令对"(Instruction Pair)。"指令对"长度为一个双字长,除非指令之间有资源冲突,两个指令可以同时执行,一旦冲突发生,则两条指令均单独执行。
  ② 多通道静态随机存贮器
  4K的SRAM被划分为512个双字长,执行软件将SRAM划分为"指令段"和"数据段","指令段"可以为256,512或1K大小,"指令段"内的指令顺序是由地址顺序决定的。"数据段"内地址空间则是自处理的。由于Mpact不提供保护模式,因而划分和管理"指令段"和"数据段"的工作由程序员完成。
  SRAM上有八个通道,其中四个为写通道,另外四个为读通道,这八个通道均可以同时操作。一个写通道被RDRAM专用,另一个写通道为DMA专用,另外两个写通道则为通用通道。
  ③ Mpact的RDRAM接口
  Mpact卡上有一组RDRAM芯片作为板卡存贮器。RDRAM能够提供高达500M/S的数据传输率,远远超过其他DRAM的数据传输率,Mpact卡的RDRAM组的大小可在2M-8MB之间自由选择。
  RDRAM的控制器RAC(Rambus Auers Controllor)位于Mpact芯片的内部。RAC提供了对RDRAM的管理,控制器能够直接读写SRAM和显示FIFO,地址转换也在RAC内部完成。另外,RAC还提供了内存刷新和RDRAM的初始化设置。
  Mpact的最小RDRAM要求为2MB(每Byte为9bit,2MB=18Mb)。最大可安装至8MB,RDRAM的大小设置与显示分辨率的关系如表5-1所示。
   表5-1 RDRAM容量与显示分辨率的关系
显示分辨率
bits/像素颜色
最小的容量
1600′1200
8
4MB
1360′1024
8
4MB
1280′1024
18
4MB
1280′1024
8
2 MB
1152′870
18
2 MB
1152′870
8
2 MB
1024′768
24
4MB
1024′768
8,18
2 MB
800′600
8,18,24
2 MB
640′480
8,18,24
2 MB
  ④PCI总线接口
  PCI Controllor与其三个FIFO部件控制了Mpact芯片和主机X86的交互处理,这种PCI的接口与PCI局部总线技术规范2.0版本完全兼容,PCI接口支持3.3V或5V的电源信号,32bit的PCI峰值传输速率为132MB/s。
  Mpact芯片通过PCI接口可与X86或其子系统以33MHz的同步频率进行主或从的操作。当进行DMA操作时,Mpact芯片作为主,而当对Mpact卡进行读写操作时,Mpact芯片作为从。
  PCI接口的三个FIFO分别为DMA FIFO、读FIFO、写FIFO。DMA FIFO长为8字,而另两个FIFO长为1字,如图5-15所示。
  从主机角度讲,PCI在地址空间占据三个部分:128M的内存,128K的扩展ROM和特殊设备的地址。见图5-16 PCI的地址空间分配图,PCI系统结构空间为PCI的设置空间。这段空间内有PCI的ROM空间和内存空间基址,指示了ROM和内存空间的位置。传统硬件寄存器和BIOS为ROM和基于PCI板的模拟显示卡和声卡的功能寄存器,PCI的128K ROM空间指的就是这个区域。PCI地址区域的顶部为128M的RAM地址空间。这里地址空间分配给帧缓存、多通道SRAM、扩展的ROM和内部寄存器。在实际情况中,128K的ROM空间和128M的RAM空间均有很大的空闲。如128M的RAM空间,最多只能占用10M左右。
   5-16 PCI的地址空间分配表
  
  ⑤ Mpact视频接口
  视频控制器与32Byte的视频FIFO相连,在16bit的视频接口上传送YUV格式的视频数据。视频接口是可编程的双向接口,但是传输只能工作在半双工的状态下。工业标准的NTSC和PAL的编码器、解码器均可在全速率扫描模式下,提供模拟信号或S-Video信号。
  ⑥ Mpact的显示接口
  显示控制器与512Byte的显示FIFO相连,它为显示提供连续的RGB信号。显示控制器控制全部的数据,并产生同步信号和时种信号,提供给RAMDAC或显示编码。显示控制器支持8位的索引色(Index Color)或24位的真彩色(True Color)模式,也支持NTSC或PAL的RGB编码器。
  控制显示,RAMDAC的信号是Mpact S erial总线或外设I/O总线(Peripheral I/O Interface)提供的。
  显示数据可以一字、双字或三字格式存贮,以支持8位,15位、16位、18位或24位色。Mpact的特殊格式Chro-Color为18bit色,正好占用两个字节。
  显示数据从内存格式到RAMDAC格式的转换是在显示控制器内完成的。
  显示的功能逻辑由显示FIFO,显示前端(front end),显示后端(back end)和时钟发生器完成,如图5-17所示。
  显示FIFO将数据由RDRAM帧缓冲区移至显示后端。
  显示前端为RAC提供帧存的地址,光标的地址及格式。
  显示后端将RGB信息送入RAM DAC并提供Zoom控制。
  时钟发生器提供同步时钟脉冲。
   5-17 Mpact显示接口原理图
 
  Mpact支持的分辨率如表5-2所示。
   表5-2 Mpact的外设I/O接口
显示分辨率
像素时钟频率MHz
最大刷新速率
最大的像素彩色位数
1600′1200
220
75
8
1360′1024
135
75
8
1280′1024
125
75
18
1152′870
100
85
18
1024′768
80
85
18
800′600
50
85
24
640′480
32
85
24
NTSC: 720′480
12.27
85
24
PAL: 720′576
14.75
30
24
  ⑦Mpact的外设I/O接口
  Mpact的外设I/O接口(Peripheral I/O Interface)可以分为三个部分:一个8位双向并口,四个双向串口,以及三个特殊功能总线。
  Mpact的外设I/O接口提供最高传输率为5MB/s的数据吞吐能力。
  Mpact的串口共四个,每个串口由PSD[i] 、PSDO[i] 、PSCLK[i]及PSSYN[i]四根控制线,数据线(i =0ê3) ,四个串口中的口C连接ROM,口C的硬件编码设计支持24bit的地址的寻址,读取ROM内的数据。口A、B、D为通用口。
  Mpact的并口为8位宽,19位信号/数据线,并口连接了外设I/O接口的控制逻辑,用以扩展并口功能。在Mpact的设计中,并口通过与Mpact系统集成ASIC(MSIA)相连,将8位数据并口线扩展为80位的信号、数据并口线。
  80位的信号、数据并口线为24位地址线、24位输入信号线、16位输出信号线、8位数据I/O线以及8位的Joystick/MIDI信号输入线。
  24位的输入信号线又被分为两个部分:12位为中断请求信号线,另外12位为DMA请求信号线。
  16位的输出信号线也被分为两个部分:8位为片选信号线,另外8位为通用输出控制。
  外设I/O并行总线的功能可归纳为两点:
  ·为并口外设提供高速的传输,如Audio Codec、Telephone、MIDI VART等。
  ·控制Mpact视频、Mpact显示等有设置和控制参数的设备的特殊接口,如:
  a. Mpact的串行总线2位,MSB1与MSB2。双向数据传输,控制信号传输位。
  b. 可编程位(PB):2位,单向输出,用于与外设进行通信,由外设的可编程控制器来Set和Clear。
  c. 系统标识ROM位:1位。双向数据传输,它与Mpact卡上的设备标识PROM相连,用于写入或读出每块板卡唯一的标识码。

  2.Mpact PCI总线评价卡
  为了评价测试Mpact芯片的功能,同时也为了给使用Mpact芯片提供设计的参考文献资料,Chromatic Research公司于1997年1月15日推出了基于Mpact芯片的PCI卡(Mpact-Based PCI Card),版本为6.5.1,它是目前推出的功能最全、"最大"(MAX)的设计参考资料。为了不同的应用,它还给出了最大的参考设计的子集,它们是:
  ·Ref-PRO
  ·Ref-AGV
  ·Ref-AGN
   5-18 Mpact PCI总线评价卡EVB-101工作原理图
  
  它们分别包括下述特性:
  Ref-PRO:2D/3D Direct X W/4M Byte;波表合成;MIDI/操纵杆通道;同步键盘4 MByte样板库;33.6K V.34bps/14.4 V.17调制解调器;DOS、VGA、SVGA兼容;30帧/秒MPEG-1;现有的DVD;FM PC音频。
  Ref-AGV:2D/3D Direct X W/4MByte;波表合成;MIDI/操纵杆通道;同步键盘4MByte样板库;DOS、VGA、SVGA兼容;30帧/秒MPEG-1;现有的DVD;FMPC音频。
  Ref-AGN:2D/3D Direct X W/4MByte;波表合成;MIDI/操纵杆通道;同步键盘4MByte样本板库;C-Video和S-Video输出;DOS、VGA、SVGA兼容;30帧/秒MPEG-1;现有的DVD;FMPC音频;S/P DIF输出。
  Mpact PCI总线评价卡EVB-101(Mpact PCI Evaluation Board),板卡的工作原理如图5-18所示。EVB 101主板有25cm长,卡上主要的核心部件是Mpact媒体处理器,此外还有视频控制接口部件、外设接口控制部件、显示接口控制部件、存贮器接口控制部件及PCI总线接口驱动器件。Mpact媒体处理器已在上面作了较详细的介绍,下面将重点介绍Mpact产品的专用ASIC芯片及其接口器件以及高速存贮器RDRAM原理和应用。

  3.Mpact的支撑软件Mediaware
  Chromatic Research公司推出的Mpact支撑软件Mediaware到目前为止已有V 0.9、V1.0、V1.4、V1.6和V2.0。上述各版本基本结构模块是一样,只是功能有比较大的改进。1997年5月30日推出的V2.0版本,与低版本比较增加了下述特性:
  ·Mpact实时核(MRK)和Mpact资源器
  ·支持Mpact芯片所有功能;
  支持MpactⅡ(Mpact 2/6000芯片);
  支持MMX优化程序(基本的MMX设置);
  对于大于24路语音波表可以降低使用CPU资源。
  ·2维和3维图形
  MpactⅡ支持Intel的AGP;
  MpactⅡ支持3维特性40 Mpixel/sec、1Mtris/sec;
  加速YUV转换、缩放、剪截及硬件游标。
  ·音频
  支持Dolby AC-3 DVD 5.1通道解码;
  32位语音波表;
  Karacel利用麦克风的混合。
  ·视频
  实时DVD的解码(MPEG-Ⅱ加上Dolby AC-3);
  V-CD;
  ·Fax/Modem
  V.34 bit Modem;
  V.8 bit多功能Modem。
  ·电话
  免提电话音质的改进。
  ·视频会议
  支持H.324在电话线上召开视频会议。
  Chromatic Research公司设计的Mpact支撑软件Mediaware的模块结构如图5-19所示。Mediaware设计成模块结构,每个模块可以方便地安装和拆除,从图5-19中可见可以把Mediaware分成六层:下面三层和Mpact芯片硬件关系比较密切;上面三层和Windows关系密切。
  (1). 最下层是MRK-Mpact实时核(Mpact Real-Time Kernel),最下层是多媒体硬件的I/O通道,正象Mpact芯片结构所述,可以把它们分成五个通道:视频输入输出使用视频通道;2维和3维图像使用显示通道;电话、视频会议和Fax/Modem使用电话通道;操纵杆和MIDI及辅助功能使用通用通道。MRK主要功能是I/O任务动态调度和监控,其调度和抛弃的原则是最近最后期限原则。当一个任务的时间期限到达时,Mpact采用抢占式方法调度新任务。
  (2). 下数第二层是Mpact音频处理管理器MAPM(Mpact Audio Processing Manager),Mpact的音频任务由MRK子任务管理器MAPM管理。之所以对音频管理采用单独管理方式,是因为人的听觉系统比视觉系统更加敏感。为了保证音频的同步播放,Mpact的Mediaware专门设计了MAPM支持音频的实时快速处理。
  (3). 再上层是Mpact的资源管理器MRM(Mpact Resource Manager),MRM管理Mpact EVB-101卡和主机上各种资源。MRM依照可用资源的状态,动态实时的连接和装载资源,并且提供适当的下载方式。
  上面三层是和Windows有关的应用层(Application),应用编程接口层(API-Application Programming Interface)及设备驱动器层(Device Drivers)。
   设备驱动器层是低层的API、HAL(Hardware Abstract Layer硬件抽象层)及虚拟硬件窗口(VHV-Virtual Hardware Views)。它包括DOS环境下的VHV、VGA及声霸卡,Windows环境下的驱动器,低层的API和HAL。
  应用编程接口层:Video的软件功能包括:MPEG-1的解码和MPEG-2的解码,这些功能可以通过Direct Video、MCI及Active Movie的API来调用。2维和3维图形处理功能,对VGA及SVGA的支持,对硬件光标的支持都可通过对Direct Draw API的调用来实现。
  最上层是应用层,它可以在Window 95环境上开发应用软件,也可以在DOS环境下开发应用软件。
   5-19 Mediaware的模块结构5-19 Mediaware的模块结构