ITmedia NEWS >
ニュース
» 2020年07月29日 14時05分 公開

新連載「Apple Siliconがやってくる」:ArmのApplication Core、その変遷 (1/3)

Appleにとって3度目のプロセッサ転換を、シリコン側から見るとどうなるか。大原雄介さんの新連載。

[大原雄介,ITmedia]

 RISCプロセッサの歴史を執筆中の大原雄介さんがタイムリーな短期集中連載をスタート。テーマは今最も熱いRISCプロセッサ、“Apple Silicon”だ。まずはそのベースとなっている、Armアプリケーションプロセッサの変遷について。


 WWDC 2020でAppleが将来のMacプラットフォームをApple Silicon、要するにArmベースの自社プロセッサに切り替えるという話についてはこちらをはじめ、さまざまな記事が上がっている。ぶっちゃけ筆者はApple派の人ではない(なんせメインで使ってたのはグラフィックスカードVimage SE/30を突っ込んだMacintosh SE/30 16MB+漢字Talk 6.0.7あたりまで。漢字Talk 7には移行せずに、WFW(Windows for Workgroups) 3.11+Win/Vに切り替え、以後Windows NT 4.0→Windows XP→Windows 7→Windows 10)ので、このニュースも「ま、さもありなん」程度でしかなかったのだが、(編集担当の)松尾さんよりArm Macに絡んでArmの話を系統立てて、という記事のご要望をいただいた。

photo Apple Silicon

 ということで、まず今回はそもそもArmとは、という話をしたい。ちなみに別連載の記事では古い表記の“ARM”を使ったが、今回の内容は現時点のものも混じってくるので、“Arm”表記とさせていただく。

 Armの生い立ちそのものはRISC連載の記事で触れたので繰り返さない。こちらの記事の最後で、Unified Architectureを3つの異なるアーキテクチャに分離するあたりから話はスタートする。2004年、Armは“Armv7 Architecture Manual”を公開した。ちなみにこのマニュアルはその後大きく改訂された関係で、現在入手できるものは2006年とか2007年初版のものしかない。

 さて、Armv6まで命令セットは1種類しかなかったが、このArmv7では、

  • Armv7-A "Application"
  • Armv7-R "Real-Time"
  • Armv7-M "Microcontroller"

の3つに分化した。「これってArmのもじり?」とArmの人に聞くと、ニヤニヤしながら「いやいや、偶然だよ」と口調だけ真面目に言うあたりはそういうことなのだと想像できるが、命名はともかくとしてArmv7-Aは文字通りアプリケーションプロセッサである。

 Armは2002年にArmv6と、これを実装したArm11をリリースするが、8ステージのパイプラインと言いつつも、基本的にはIn-OrderのSingle Issueで、処理性能は1.1 D(Dhrystone)MIPS/MHz程度。携帯電話(notスマートフォン)のアプリケーションプロセッサとしては十分高速ながら、(PowerPCとかMIPS、x86ベースの)一般的なアプリケーションプロセッサに比べるとまだ非力であった。Armv7では初めてマルチプロセッサ対応が入ったものの、実際にはArm11のマルチプロセッサ化には旧NECエレクトロニクスの協力が必要だったほどで、いろいろ足りていなかった。

 これはApplication向けだけでなく制御(Realtime)向けも同じである。ここで言うRealtimeというのは、例えば以前の記事で冒頭に触れた米AdaptecのPhaseEngineみたいな用途だ。プロトコル処理向けだから高い処理性能が要求されるし、ハードウェア制御だから割込み応答時間も短い方が好ましい。その一方で、仮想記憶をサポートするOSを載せるメリットは薄いので、MPU(Memory Protection Unit)は必須でも、MMU(Memory Management Unit)は要らない。こうした用途向けに、既存のArmコアは不十分であった。

 またMCU(Microcontroller)向けには、逆にArm11はリッチ過ぎた。それもあってArm7だのArm9だのが引き続きMCU向けには利用されていたのだが、さすがにこちらは命令セットなどの点からちょっと見劣りするようになってきた。要するに、1種類のアーキテクチャで異なる用途向けにコアを作り分けるのは無理、ということになった。

 ここからそれぞれのアーキテクチャ別に進化していく訳だが、本稿ではこのうちApplication向けのCortex-Aに焦点を当ててみたい。

       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.