拡張命令を自由に選べる柔軟な構造
話が前後するが、あらためてロードマップ図の見方を説明しよう。ここまでに何度か書いたとおり、ARMのアーキテクチャーは複数のバージョンが存在する。広く使われるようになったのはARM6/ARM7の「ARM v3」からで、その後「ARM v4/v5/v6」を経て、最新バージョンは「ARM v7」となっている。
基本的には、バージョンが進むに従って新命令や新しいメカニズムなどが追加されていくが、後方互換性は完全に保たれており、またある程度の新命令は拡張命令という形でオプション扱いされる。最初のオプション命令は、ARM v4で登場したThumb命令で、これは命令フォーマットを縮めることで、16bit命令と同等のサイズで32bit命令が実行できるという「縮小命令」だ。特にプログラムサイズに厳しいマイコン用途で多用されている。
「DSP命令」はCPUコアにDSP風命令を利用できるようにしたものである(DSPそのものは実装していない)。実はARMは2004年に、「OptimoDE」と呼ばれるVLIWベースのDSPコアの提供を開始していた。だが、2007年あたりからOptimoDEの名前を聞かなくなったことからすると、あまりうまくいかなかったようだ。最近になってCortex-M4コアにDSPを統合しているが、これはOptimoDEとは別で、既存のDSP命令と互換性のある機能の模様だ。
これに続いて登場したのが「Jazelle」で、これは「Java命令」(Java VM)を高速に実行するための命令拡張である。最後に登場したのは「SIMD命令」で、当初は64bit幅の「SIMD」(インテルのMMXと同レベルのものだが、当然命令に互換性はない)がサポートされ、ついで「NEON」という64/128bitのSIMD演算命令がサポートされた。
また上述のとおり、このほかにもFPU命令(VFP命令)や「TrustZone命令」といった拡張命令が、オプションで提供される。前者はベクタ型浮動小数点演算、後者はセキュアなアドレス空間を提供するというものである。
これらの拡張命令は、搭載する/しないを任意に選ぶことができる。例えばARM9Eの場合、ARMのこのページでは「ARM926EJ-S」「ARM946E-S」「ARM968E-S」の3つのコアが掲載されている。数字の後ろの「E」はDSP拡張、「J」はJazelleを示している。つまり、この3つのコアはいずれもDSP拡張命令を搭載しているが、Jazelleが使えるのはARM926EJ-Sのみ、というわけだ。
どんな拡張命令を搭載するか、内部の機能/キャッシュ容量や、構成/TCM※2の有無/デバッグ機能/etc...を選ぶかは、ARMからプロセッサーライセンスを受けたメーカーが実際にこのコアを使った製品を作るときに、自由に選べるようになっている。
※2 Tightly-Coupled Memory:密結合メモリ。プロセッサー内に置く高速アクセス可能なメモリー。キャッシュとは用法が異なる。
全部の機能をてんこ盛りにすれば、性能は上がるが消費電力も増えるし、ダイサイズが増えるので原価も上がる。一方で、最小限にすれば消費電力もダイサイズも減り、原価も下がるが性能や使い勝手に難が出る。各社は使い方を睨みながら、自社製品に搭載するARMコアの構成を決めている、というわけだ。
この連載の記事
-
第768回
PC
AIアクセラレーター「Gaudi 3」の性能は前世代の2~4倍 インテル CPUロードマップ -
第767回
PC
Lunar LakeはWindows 12の要件である40TOPSを超えるNPU性能 インテル CPUロードマップ -
第766回
デジタル
Instinct MI300のI/OダイはXCDとCCDのどちらにも搭載できる驚きの構造 AMD GPUロードマップ -
第765回
PC
GB200 Grace Blackwell SuperchipのTDPは1200W NVIDIA GPUロードマップ -
第764回
PC
B100は1ダイあたりの性能がH100を下回るがAI性能はH100の5倍 NVIDIA GPUロードマップ -
第763回
PC
FDD/HDDをつなぐため急速に普及したSASI 消え去ったI/F史 -
第762回
PC
測定器やFDDなどどんな機器も接続できたGPIB 消え去ったI/F史 -
第761回
PC
Intel 14Aの量産は2年遅れの2028年? 半導体生産2位を目指すインテル インテル CPUロードマップ -
第760回
PC
14nmを再構築したIntel 12が2027年に登場すればおもしろいことになりそう インテル CPUロードマップ -
第759回
PC
プリンター接続で業界標準になったセントロニクスI/F 消え去ったI/F史 -
第758回
PC
モデムをつなぐのに必要だったRS-232-CというシリアルI/F 消え去ったI/F史 - この連載の一覧へ