Armadilloに搭載されたARMプロセッサたち
Armadilloはどの製品もARMプロセッサを搭載していますが、具体的な種類についてはそれぞれ違いがあります。初代Armadillo(HT1070)とArmadillo-Jは「ARM7搭載」、Armadillo-9/200シリーズやArmadillo-300、そしてArmadillo-400シリーズは「ARM9搭載」…のような言い方もできますが、ここではARMプロセッサの各コアについて、もう少し具体的な解説をしておきましょう。
先ほどの「ARM7」や「ARM9」は、ARMコアの世界において「ファミリ」という概念に基づく呼称で、大まかにいってベースにしているコア設計の違いを表すものです。「ARM9TDMI」と「ARM9E」のように、さらに細分化されることもあります。違うファミリでは基本設計が異なりますので、クロックあたりの処理性能や消費電力などに差が出ます。
ARMプロセッサにはもう1つ、「アーキテクチャ」という概念があります。こちらはインストラクションセットや機能の違いを表します。Armadillo-9/200シリーズであれば「v4T」アーキテクチャ、Armadillo-400シリーズであれば「v5TEJ」アーキテクチャを持つコアが搭載されています。違うアーキテクチャでは使用できる命令や機能が異なりますので、ソフトウェアの互換性に影響が出ます。
Armadilloに搭載されたARMプロセッサについて、ファミリ・アーキテクチャとコアの対応をまとめると、下表のようになります。
ファミリ | アーキテクチャ | コア | SoC例(搭載Armadillo) |
---|---|---|---|
ARM7TDMI | NS7520(Armadillo-J) | ||
v4T | ARM720T | CS89712/EP7312(Armadillo) | |
ARM9TDMI | ARM920T | EP9315(Armadillo-9)/ EP9307(Armadillo-200シリーズ) | |
ARM9E | v5TEJ | ARM926EJ-S | NS9750(Armadillo-300)/i.MX257(Armadillo-400シリーズ) |
ARM11 | v6 | ARM1136JF-S | i.MX31/i.MX31L(Armadillo-500/500 FX) |
Cortex-A | v7-A | Cortex-A9 | R-Mobile A1(Armadillo-800 EVA) |
ARMは常に複数世代のコアを並行して展開しており、各コアの開発時期とファミリの発表順は必ずしも一致していません。ここまでで取り上げたArmadilloはすべてARM9世代までのARMプロセッサを搭載していましたが、その次に当たる「ARM11ファミリが発表されたのはいつ?」というと、実は2002年のゴールデンウィーク頃。アットマークテクノとしては最初のArmadillo(ARM7TDMIコア搭載)を発売した直後という、今から考えてもかなり早期だった印象です。
手元の記録によると、ArmadilloにARM11を採用しようと検討し始めたのは2005年の春あたりだったようです。Armadillo-9で初めてARM9を採用した半年後には調査を開始していたことになりますが、このARM11搭載Armadillo、結果的にもっとも長い開発期間をかけた苦難の末の製品となりました。
著者:花田政弘
アットマークテクノ
開発部マネージャー