アーム、“NEONテクノロジー”に関する説明会を開催――64/128bit SIMD命令をサポートにより、ビデオエンコードや3Dグラフィクス処理が可能に
2004年10月14日 18時01分更新
マイクロプロセッサーの開発・設計を行なうアーム(株)は14日、報道関係者向けに“NEONテクノロジー”についての説明会を開催した。NEONテクノロジーとは、英アーム(ARM)社が10月5日に発表したARMプロセッサー向けの新しい拡張機能であり、64/128bitのSIMD(Single Instruction Multiple Data)演算を可能にする。これによって、ARMプロセッサーによるビデオデコード/エンコードや3Dグラフィックス、音声合成処理などが可能になる。同社のプロセッサーはPDAやスマートフォン、携帯ゲーム機やデジタル家電などに、幅広く採用されている。
英アーム(ARM)社モバイル・セグメント・マーケティング・ディレクターのオリバー・グナセカラ氏 |
英アーム社モバイル・セグメント・マーケティング・ディレクターのオリバー・グナセカラ(Oliver Gunasekara)氏によるプレゼンテーションでは、NEONテクノロジーの概要が説明された。グナセカラ氏はまず、1995年以降のARM命令セットアーキテクチャーの拡張の歴史について触れ、「2002年の“ARMv6”で、初めてSIMD命令を搭載した。新しいNEONテクノロジーは、第2世代のSIMD命令に当たる」と語った。ちなみにARMv6はARM11ファミリーのプロセッサーコア『ARM1136J(F)-S』からサポートされていて、採用した機器は来年には登場するとのことだ。
ARMアーキテクチャーの拡張の歴史。NEONテクノロジーは新しいARMv7アーキテクチャーに位置している |
NEONテクノロジーはARMv6で採用されたSIMD命令の拡張版で、新しい“ARMv7”アーキテクチャーで使われる。主な特徴は以下のとおり。
- 8、16、32、64bit整数、単精度浮動小数点データのSIMD演算をサポート
- 256byteの専用レジスターファイルを備え、32個の64bitレジスターや16個の128bitレジスターとして使用可能な柔軟性
- C言語でプログラミング可能。Cコンパイラーは同社が用意。標準化団体“Khronos group”が策定する“OpenMAX”APIにも対応予定
NEONテクノロジーのSIMD命令対応についての簡単な解説 | NEONテクノロジーでは256byteの専用レジスターファイルを、64bitや128bitずつに区分けて使える。それぞれを使う命令をプログラム中で混在することも可能 |
レジスターにセットされた複数のデータに対して一度に演算を行なえるSIMD命令は、ビデオ/オーディオデータのエンコード/デコードや3Dグラフィックス処理を高速に行なえる。パソコン用のCPUでは、Pentium 4やPentium Mが搭載する“SSE/2/3”がそれに当たる。NEONテクノロジーを搭載したプロセッサーでは、SIMD命令を備えないARMv5アーキテクチャを使ったプロセッサー(ARM926)に比べて、MPEG-4のエンコードで4倍、スピーチコーデックの処理で3倍、MP3のデコードで2.5倍も高速な処理が可能になるという。しかもMPEG-4エンコード時のクロック周波数は225MHz、MP3デコード時ではわずか9.4MHzという低周波数=低消費電力で動作する。
ARMv5、v6世代のプロセッサーとNEON対応プロセッサーによるパフォーマンス比較 |
NEONテクノロジーを活用したソフトウェア開発には、C言語を利用できる。組み込み機器向けDSPでよくある、アセンブラを使った開発は必要ない。Cコンパイラーは同社が提供し、すでにプロトタイプが用意されているという。同社の『RealView 開発ツール』も、将来のバージョンでNEONテクノロジーに直接対応する。
またNEONテクノロジーは、組み込み機器向けグラフィックスAPI“OpenGL ES”の規格策定を行なう業界団体“Khronos group(クロノスグループ)”が策定した、コンピュートプリミティブ用API“OpenMAX”にも将来は対応の予定だ。このAPIを使ってソフトウェアを開発することで、他ベンダーのDSPやコーデックを使って、NEON対応プロセッサーに最適化されたソフトウェアを開発できるようになる。異なる世代のARMプロセッサー向けに開発されたソフトウェアを、NEON対応プロセッサーで活用することも可能になる。
NEONテクノロジーを搭載したプロセッサーコアは、来年に発表される予定である。
ARMの将来プロセッサーロードマップ。複数のコアやDSPを1チップに統合する方向に進化するようだ。“Tiger”や“Eagle”は将来のプロセッサコアのコードネームだろうか |