半導体用語集

マイクロプロセッサのマルチメディア拡張

英語表記:multimedia extensions for microprocessors

"マイクロプロセッサに,マルチメディア処理に特有の演算を補助する,あるいは直接行う命令や,これらの演算を複数のデータに対し一括して行える命令を導入し,これらの命令実行に必要な演算器な.どの資源を追加すること。目的は,マルチメディア処理を,ASIC,DSPおよびメディアプロセッサなどのハードウェアを追加せす,汎用マイクロプロセッサ上のソフトウェアで実用的な速度で実行することにある。
静止画,動画,オ—ディオおよび音声の圧縮伸長,手書き文字や音声の認識,2D,3Dグラフィックスといったマルチメディア処理は演算量が多いため,従来はASIC,DSPあるいはメディアプロセッサをマルチメディア処理専用に用い実現してきた。ところが,これらの処理に用いられるアルゴリズムは多様化,複雑化する一方であり,従来のハードウェアよりの手段は対応しづらくなってきた。そこで,これらの処理に,近年著しく基本性能が向上した汎用マイクロプロセッサにマルチメディア処理向けの命令や機構を追加し,これらを利用するマルチメディア処理ソフトウェアを,高級言語を主体に効率よく開発する方式が一般的になりつつある。
現在,マルチメディア応用向けの命令として,たいていのPCやワークステーション向けマイクロプロセッサはSIMD(Single-Instruction stream Multiple-Data stream)型の演算命令を導入している。これは,マルチメディア処理で扱うデータは,一般的に画像で8ビット精度,オーディオで16ビット精度と短い一方,データ並列性が高いことを利用し,複数のデータをマイクロプロセッサの32~128ビットレジスタ1個に詰め込み,1命令でこれら複数のデータに対し,同一の演算を一括して施し高速化を図る命令である。たとえば,64ピット幅のレジスタに4個の16ビットデータを詰め込み,一括して加算などを行う。これらの命令は分割ALU命令,並列サプワード演算命令とも呼ばれることがある。
SIMD命令が並列に処理する演算の種類としては,既存のマイクロプロセッサが備える整数の加減算,乗算,ピットシフト,比較などに加え,DSPが持っているような固定小数点の乗算,積和演算命令,オーバフロー時の誤差を低減する飽和処理つき演算命令などがある。また通常のデータ型とSIMD演算対象のデータ型を相互変換するための命令が含まれる。さらに,特定のアプリケーションに特化した命令を備える場合もある。例として,MPEG Videoデコーダの動き補償で使う,画素の特殊な平均値処理を行う命令MPEG Videoエンコーダの動き検出で使う画素の差分絶対値和命令があげられる。
最初にマルチメディア処理を高速化する目的で導入されたSIMD命令は,1994年にHewlett-PackardがPA-RISCPA-7100LCに導入した命令セットMAX1である。MAX1では,32ビットレジスタ上で16ビット2並列の加算を行う命令を導入,MPEG1Videoの動き補償を高速化しにリアルタイム再生を実現した。同じく1994年,Sun Micro systemsはUltraSPARC-1に画像処理を主目的としてSIMD乗算命令(8×16ビット)を備える命命セットVISを導入した。
1997年,IntelはX86命令セットを12年ぶりに変更し,16ビット4並列乗算,積和演算など57個の親規命令を含む命令セットMMXを導入したP55Cを発表した。P55C後継のPentiumⅡもMMXに対応しており,400MHZ以上で動作するPentiumⅡを搭載したPCでは,Zoran,Media Matics,NECから商品化されているDVDプレーヤソフトウェアをインストールすれば,デコーダカードを追加しなくても高品位DVD再生が可能である。
その他のマルチメディア拡張として,DECはAlpha向けに1996年に少数の命令からなるMVI命令セットを,MIPS/SGIは1996年に高精度アキュムレータを持つMDMX命令セットを,IBMは1998年にPowerPC向け128ビット命令セットAltgVecを発表している。
PCやワークステーションだけでなく,携帯電話,PDA,TVゲーム機といった民生用の低価格な専用機器でもマルチメディア処理は一般的である。したがって,これらの機器向けの低電力・低価格な組み込みマイクロプロセッサでも,マルチメディア拡張は盛んである。日立は,1992年に発表したSH-2,1994年に発表したSH-3に,32ピット乗算を4クロックで行える乗算器を導入した。NECは1994年に,32ビット乗算が1クロックで行え,整数および固定小数点の乗算,積和演算および飽和演算命令を備える組み込み向け32ビットRISCプロセッサV830を発表した。三菱は1996年,32ビットレジスタ上で16ビット2並列演算が行える32ビットRISCコアD30Vを発表した。
現在注目されているのは,3Dグラフィックスのジオメトリ計算を高速化するための浮動小数点演算SIMD命令である。PC向けプロセッサでは,1998年,AMDは2並列の単精度浮動小数点SIMD命令セット3DNow!を持つK6-2を発表した。一方,Intelは1999年,4並列の単精度浮動小数点SIMD演算が行える命令セッド「ストリーミングSIMD拡張」を持つPentiumⅢを発表した。その結果,互換性のない2種類の浮動小数点SIMD命令セットが存在しており,動向が注目される。組み込みマイクロプロセッサでは,日立が1998年にジオメトリ演算専用命令を備えたSH-4を次世代ゲーム機械向けに発売している。現在,マイクロプロセッサのマルチメディア拡張の問題点として,演算器へのデータ供給と,コンパイラがあげられる。SIMD演算命令の導入により演算性能は向上したが,演算器へのデータ供給能力がこれに追いついていない。したがって,Rambus DRAM,D DRSDRAMなどの高速なメモリインタフェースの導入やキャッシュやデータストリームを明示的に制御する命令や機構の導入が検討されている。さらに,現状,マルチメディア処理ソフトウェアからデータ並列性を自動的に抽出し,SIMD演算命令を自動的に生成するコンバイラが存在しないため,マイクロプロセッサべンダが,SIMD命令を明示的に利用するマクロを用意したり,基本的なアプリケーションについてSIMD命令を利用し,手作業で最適化した関数ライプラリを用意するなどして対処しているが,将来的にはSIMD命令を自動生成するコンパイラの開発が侍たれる。"


関連製品

「マイクロプロセッサのマルチメディア拡張」に関連する製品が存在しません。

関連用語

関連特集

「マイクロプロセッサのマルチメディア拡張」に関連する用語が存在しません。




「マイクロプロセッサのマルチメディア拡張」に関連する特集が存在しません。




会員登録すると会員限定の特集コンテンツにもアクセスできます。