PR

 今回は、ARMのビジネスについて解説する。ARMは、後述するように、CPUのアーキテクチャーや設計をライセンスしてビジネスを行っている。このため、アーキテクチャー上の改良などがはっきりするように、アーキテクチャーにバージョンを付けて管理している。新しいアーキテクチャーが出たからといって前のアーキテクチャーが使われなくなるわけではない。半導体メーカーは、ライセンスを取得すれば最新のアーキテクチャーでなくても製造は可能だ。

 「ARMv7」からは、プロセッサの用途別にA/R/Mの3種類の「プロファイル」ごとにアーキテクチャーが定義されるようになった。「ARMv6」以前は、基本となるアーキテクチャーに対して、いくつかの拡張があり、それをバージョン番号に続く文字で表していた。

 プロセッサのプロファイルは表1の3つだ。「アプリケーションプロセッサ」は、スマートフォンやタブレットのプロセッサとして使われることが多い。高性能な組み込みプロセッサとして、家電製品などにも利用されている。メモリー管理ユニット(MMU)や仮想マシン支援機能などを備える。

表1●ARMのプロセッサの用途とブランド名
種類プロファイル製品ブランド
アプリケーションプロセッサACortex-A
リアルタイムプロセッサRCortex-R
組み込みプロセッサMCortex-M

 「リアルタイムプロセッサ」は、主に高性能コントローラーとして様々な制御に使われる組み込みプロセッサ。自動車のエンジンの制御や車載機器などが用途として想定されているが、最も使われているのはHDDのコントローラーなどだ。機器の制御では、一定の動作時間内に演算を完了して制御する必要がある。そのため、動作上のオーバーヘッドとなるMMUは内蔵していない。

 「組み込みプロセッサ」は、汎用的に機器の中に組み込まれる「コントローラー」となるプロセッサ。32ビットのARM命令を簡略化して、命令サイズを小さくしたThumb(サム)と呼ばれる命令セットのみが使える。プログラムサイズを小さくできる。

 こうした3つのプロファイルに対して、ARMv6アーキテクチャーを基本にして「ARMv7-A」「ARMv7-R」「ARMv7-M」の3つのアーキテクチャが作られた(図1、図2)。なお、ARMv6-Mは、ARMv7-Mから作られた簡易版のアーキテクチャーで、ARMv6とは別のアーキテクチャ-になる。

図1●ARMv7/v8-A/Rのアーキテクチャは、ARMv6にSIMD演算、セキュリティ(TrustZone)、縮小命令セットThumb-2を追加したもの
図1●ARMv7/v8-A/Rのアーキテクチャは、ARMv6にSIMD演算、セキュリティ(TrustZone)、縮小命令セットThumb-2を追加したもの
(出所:ARMのWebサイト「ARMプロセッサ アーキテクチャ」、https://www.arm.com/ja/products/processors/instruction-set-architectures/)
[画像のクリックで拡大表示]
図2●ARMv7-Mは、ARMv6をベースにThumb-2命令セットのみを実行するように作られた。さらにセキュリティ機能が利用可能なARMv8-Mも2015年に発表されている
図2●ARMv7-Mは、ARMv6をベースにThumb-2命令セットのみを実行するように作られた。さらにセキュリティ機能が利用可能なARMv8-Mも2015年に発表されている
(出所:ARMのWebサイト「ARMv8-M Architecture」、https://www.arm.com/ja/products/processors/instruction-set-architectures/armv8-m-architecture.php)
[画像のクリックで拡大表示]