ARM編第1回の前回で、おおまかなロードマップと製品の特徴は説明した。今回はもう少し細かく、アーキテクチャーの特徴などを説明していきたい。
といっても、ARMプロセッサーは何しろ種類が多い。そこで話をアプリケーションプロセッサーに限り、「ARM11」以降の話をしよう。
大きな改良とともに登場した ARM11
ARM11のベースとなる「ARM v6」アーキテクチャーが発表されたのは、2001年10月に開催された半導体業界イベント「Micro Processor Forum(MPF) 2001」でのことだ。当時の発表資料を見ると、ARM v5からの改善事項として以下の項目が挙げられている。
- キャッシュアーキテクチャーの改善
- SIMDの搭載
- 命令セットの改善
- SoC/マルチプロセッサー向けの改良
(同期メカニズムの搭載や新メモリーモデルのサポート)
具体的にはバイエンディアンのサポート※1や、「Unaligned Memory Access」の対応※2、1次キャッシュのサポート(ARM v5までキャッシュは1階層)、「VMSA(Virtual Memory System Architecture) v6」の搭載などの項目が並んでいる。
※1 それまでのARMはリトルエンディアンのみサポートしていたが、ARM v6からLリトルエンディアン/ビッグエンディアンの両方をサポートするようになった。
※2 ARM v5までは、メモリーアクセスは必ず4byte単位だったが、v6から2/1byte単位のアクセスも可能になった。
もっとも、2001年に発表されたのはあくまでも命令セットであるARM v6のみ。これを実装した最初のARM11コアである「ARM1136J-S」「ARM1136JF-S」の発表は、2002年10月に開催された「MPF2002」となった。
ARM1136J-Sの内部構造は、図1のようになっている。CPUコアについては後述するが、その両側に命令/データの1次キャッシュと「TCM」がそれぞれ配されている。TCMとは「Tightly Coupled Memory」の略で、簡単に言えばCPUから極めて高速(ほぼ1次キャッシュと同じレイテンシ/バンド幅)でアクセスできるメモリーである。
「それならキャッシュでいいだろう?」という声が聞こえそうだが、キャッシュの場合、基本的にはハードウェアが勝手にFill/Retireをしてしまう(プリフェッチ命令などを使い、ある程度明示的に制御することも不可能ではないが)。そのため、例えばリアルタイム制御における割り込みハンドラのような、「キャッシュミスを起こすとそれだけで処理がタイムアウトする」ような性能に厳しい処理の場合、キャッシュに頼らずに確実にプログラムのロード(フェッチ)ができる方法が必要になる。
こうしたケースで役に立つのが、キャッシュ並みに高速なメモリーである。サイズそのものは小さいから(構成によるが、後述の例では16KB)、大きな処理ロジックを載せるには不向きだが、割り込み処理ルーチンくらいなら楽に搭載できる。これはデータ側のTCMも同じだ。例えば周辺機器と高速にデータ入出力を行なう必要がある場合、通常のメモリー経由では余分にレイテンシが掛かってしまう(メモリーから一度キャッシュを経由するため)。しかし、外部からTCMにそのままDMA転送でアクセスすれば、キャッシュを経由しない分少ないレイテンシーでアクセスできるわけだ。
TCMに類するものは、例えばMIPS系であれば「ScratchPad」と呼ばれるメモリーが利用できる。PowerPC系にはTCM/ScratchPadはないものの、「Cache Stashing」(CPU外部から直接キャッシュの内容を書き換える)という機構を持ったものがあり、これでData TCMの代替が可能である。
こうした特長は、当時はまだARM11がアプリケーションプロセッサーよりもコントローラー的な用途に使われるケースが多いと、想定されていたことに起因すると考えていいだろう。ほかにも、図1左上には割り込みコントローラ(Interrupt Vector Port)、右上にはコプロセッサー用のインターフェースが用意されている。単にCPUだけではなく、さまざまなコプロセッサーと組み合わせて使うことを当初から想定してあるあたりは、単なるアプリケーションプロセッサーとは大分異なる。
もっとも、搭載するのはあくまでもキャッシュとTCMだけで、肝心のメモリーやメモリーコントローラーを内蔵しないあたりは、コントローラーというよりもプロセッサー向けの構造といえる。
この連載の記事
-
第799回
PC
世界最速に躍り出たスパコンEl Capitanはどうやって性能を改善したのか? 周波数は変えずにあるものを落とす -
第798回
PC
日本が開発したAIプロセッサーMN-Core 2 Hot Chips 2024で注目を浴びたオモシロCPU -
第797回
PC
わずか2年で完成させた韓国FuriosaAIのAIアクセラレーターRNGD Hot Chips 2024で注目を浴びたオモシロCPU -
第796回
PC
Metaが自社開発したAI推論用アクセラレーターMTIA v2 Hot Chips 2024で注目を浴びたオモシロCPU -
第795回
デジタル
AI性能を引き上げるInstinct MI325XとPensando Salina 400/Pollara 400がサーバーにインパクトをもたらす AMD CPUロードマップ -
第794回
デジタル
第5世代EPYCはMRDIMMをサポートしている? AMD CPUロードマップ -
第793回
PC
5nmの限界に早くもたどり着いてしまったWSE-3 Hot Chips 2024で注目を浴びたオモシロCPU -
第792回
PC
大型言語モデルに全振りしたSambaNovaのAIプロセッサーSC40L Hot Chips 2024で注目を浴びたオモシロCPU -
第791回
PC
妙に性能のバランスが悪いマイクロソフトのAI特化型チップMaia 100 Hot Chips 2024で注目を浴びたオモシロCPU -
第790回
PC
AI推論用アクセラレーターを搭載するIBMのTelum II Hot Chips 2024で注目を浴びたオモシロCPU -
第789回
PC
切り捨てられた部門が再始動して作り上げたAmpereOne Hot Chips 2024で注目を浴びたオモシロCPU - この連載の一覧へ