拝啓 半導体エンジニアさま(33) ―― 人目につきやすい兄と弟の間で,地味に細く長く生きているARM Cortex 3兄弟の次男坊

ジョゼフ半月

tag: 半導体

コラム 2012年1月30日

 いまさらながらに思いますが,ARMプロセッサの採用例は,枚挙にいとまがありません.スマートフォンやタブレット端末といった目立つアプリケーションをみると,メーカ各社のプロセッサがしのぎを削っているものの,そのコアの多くは同じARM社のCortex-Aシリーズです.また,組み込み向けをみると,いろいろな用途の専用プロセッサや汎用のマイクロコントローラのコアとして,Cortex-Mシリーズが採用されています.

 

●ミッドレンジに位置するCortex-Rに注目

 専用プロセッサの場合は,出来上がったプログラムが書き込まれているので,自分ではプログラムを書かずに機器に組み込めるものも多く,ARMプロセッサだと意識しないケースもあるかもしれません.このごろではFPGAに組み込まれているARMコアもあるので,少量個でもARMコアを内蔵する専用プロセッサを設計できるようになりました.

 その上,ついに64ビット化された新しいアーキテクチャも発表されたようなので,ARMベースのサーバ機などの企画まで発表されています.そうしてARMプロセッサの使われる領域は,ますます広がるのではないかと思っています.

 そんな中,かなり前からちょっと気になっているシリーズがあります.話はARM社が「ARM 7/9/11」(このごろ,同社は「Classicプロセッサ」と呼んでいるようだ)に代えてCortexシリーズを発表したころにさかのぼります.ARM社はハイエンドからローエンドに向かって,"A","R","M"と会社名の3文字を冠した三つのCortexファミリを一度に発表しましたが,その中の"R"を冠する真ん中のシリーズが気になっています.

 Cortex-Aシリーズのように一般消費者向けの製品のプロセッサとしてメディアなどに広く露出しているわけではなく,またCortex-Mシリーズのようにエンジニアリングの世界のあちこちでお目にかかるような「はびこりよう」でもありません.実をいうと,筆者はCortex-Rシリーズをコアとしたプロセッサというものに,まだお目にかかったことがありません.上(Cortex-A)と下(Cortex-M)に挟まれてCortex-Rはどうなっているのだろう? と,人ごとながらちょっと心配になっていたわけです.

 

●ハイエンドは高性能,ローエンドは低コスト,ミッドレンジは?

 だいたいどこの会社でもそうですが,同種の製品で3種類もシリーズがあると,それらのポジションが被らないようにするだけでもコントロールが大変です.上のほうの品種はどんどん高い性能を追い求めていけばよいし,下のほうの品種は性能よりもコスト,というような割り切りで済みます.しかし中に挟まれてしまうと,上に行っても下に行っても自社の中でバッティングしそうで,立ち位置が難しいと想像します.

 ARM社のCortexシリーズの場合,その仕様から見ると,Cortex-Aシリーズはマルチコアでキャッシュも積んで回路規模もそれなり,クロックはGHz以上と速いものが多く,アプリケーション・プログラムを走らせるプロセッサとしての味付けがハッキリしています.これに対してCortex-Mシリーズの場合,かのベストセラー「ARM 7」の後継として,8ビット,16ビットのような低いところ,そして組み込み機器を広くカバーするように開発されているようです.

 ARM 7に対する優位性としては,プロセス技術への依存度が少なく,すぐにチップに組み込める点,そしてソフトウェア開発のしやすさでしょうか.ともかく軽量で使いやすいプロセッサを目指しているようです.それでいて,最新の製造プロセスを使えば100MHz以上のクロックで動作し,性能もそこそこです.シングルチップのマイクロコントローラ,あるいは専用プロセッサなど,たいていの用途ではこれで十分のように思われます.

 これに対してCortex-Rシリーズというのは,なかなか微妙なところを突いているように思われます.シングル・コアではあるけれど,スーパスカラでコア性能が高く,1GHzといった高いクロック周波数でも動作します.Cortex-Mシリーズではカバーできない処理能力が必要なのだけれど,かといってCortex-Aシリーズのようなアプリケーション・プロセッサ的なマルチコア構成は不要な用途,といったところでしょうか.

 

●組み込みらしい用途,あるいはARM 9/11の後釜として

 ご存知のとおり,組み込みでマルチコアを使う場合,なにも各コアを共通のメモリ空間の中で対称に使う「汎用コンピュータ」的な構成にする必要はありません.ある特定の仕事に1個,別の仕事にまた1個という具合に,非対称の構成のほうが向く場合が多いと思います.実際,軽量のCortex-Mシリーズのコアを複数個使って,1個は通信専用,もう1個はコントローラとして働く,といった構成の専用チップをときどき見かけます.すると,Cortex-Aシリーズのように決め打ちで対称なマルチコアとして出来上がっているものよりも,シングル・コアで,組み合わせがいろいろと考えられるCortex-Rシリーズのほうが組み込みには向いているように思われます.

 また,Cortex-Rシリーズの仕様からは,ARM 9やARM 11の後継という意図もくみ取れます.有名な話ですが,かつてARM社には奇数番号のシリーズがヒットする,というジンクス(?)がありました.ARM 8(StrongARM)やARM 10というものもあったのですが,世の中に広まったのはARM 7,ARM 9,ARM 11といったシリーズでした.スマートフォン時代以前には,アプリケーション・プロセッサとしても活躍していたARM 9やARM 11の後釜として,軽量のCortex-Mシリーズではちょっと追いつかず,かといってCortex-Aシリーズだとちょっとギャップが大きすぎる感じで,「ちょうど良い」あたりにCortex-Rシリーズがあるように見えます.

 あまり人目につかない(!?)のは,このあたりのクラスの高度な組み込みアプリケーションとなるとクローズドなシステムが多く,汎用コントローラなどとして外販するといったことがないからのように思われます.想像するに,使っていても自社内で設計して自社内の製品に組み込む,といった使い方になっているのではないでしょうか.

 人目につきやすい兄と弟の間で,地味に細く長く生きているという感じを受けます.しかし,Cortex-Rシリーズがないとラインナップにすき間が空いてしまい,誰かにつけこまれないとも限らないでしょう.こういう死角を作らないのがARM社の強さの源のように思います.

 

ジョゼフ・はんげつ

 

 

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日