アーキテクチャの視点でみたARMコアの変遷と動向 ――LSI設計者は「ファミリ」に,ソフト開発者は「アーキテクチャ」に注目
5) ARM11ファミリ
スカラ・プロセッサとしてはARM最高峰となるファミリです.画像,映像のエンコード処理など,ARM9では処理能力が足りないケースで主力として使用されるものと思われます.このファミリから,32ビット幅ながらSIMD(single instruction multiple data)命令が追加されました.メディア拡張命令と呼ばれているとおり,音声や画像の処理によっては高速化できるケースもありますが,ビット幅が狭いため,アルゴリズムしだいとなりそうです.浮動小数点の対応については,ARM10と同じベクタ浮動小数点プロセッサをオプションとして搭載できます.
6) Cortexファミリ
2005年から発表の始まった新ファミリです.Cortexという一つのネーミングを冠していますが,じつはまったくレベルの違うCortex-A,Cortex-R,Cortex-Mの3種類から構成されます.
Cortex-A8はARM11より上位にあるARM社初のスーパスカラ・プロセッサです.600MHz~1GHz程度の速度をターゲットにしているようです.Cortex-M3はシンプルで小さな組み込みコアです.ARM7に相当する,数十MHz~百数十MHz程度の動作周波数の組み込み応用のローエンド領域をカバーするものと思われます.Cortex-Rについては,公開情報がまだあまりありません.Cortex-Aより遅く,数百MHz程度までの条件の厳しいリアルタイム制御向けと考えられます.個人的にはCortex-Aのスカラ版カットダウン(機能や性能を抑えたローエンド版)のようなものになっていくのではないかと推測しています.
3種類のファミリは,V7アーキテクチャの採用によりThumb2対応の命令セットに一新されました.路線的にはそれぞれ異なり,Cortex-AはARM11のさらに上位互換の延長(ARM12的存在)と位置付けられそうです.一方,ローエンドのCortex-Mについては「Thumb2命令のみ」という割り切りで,ARMプロセッサにしては珍しいソフトウェア互換性の断絶が存在します.