検索
ニュース

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

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

Share
Tweet
LINE
Hatena

 まず図1は、初代というかArmv7-Aに所属する製品をまとめたものである。2005年、ArmはTigerことCortex-A8を発表する(図1)。In-Orderながら2命令のSuperScalarを実装、DMIPS値で2000と大幅に引き上げた性能を実現した(図2)。

 ラフに言えばこのCortex-A8が2 DMIPS/MHz程度のIPC(Instructions Per Cycle)となっている。このCortex-A9をOut-of-Order化するとともに、最大4コアまでのマルチプロセッサ対応にしたのがCortex-A9で、性能もやや上がっている。2011年にはついに3命令/Cycleに内部を強化したCortex-A15がリリースされる。

photo
図1:Fall Processor Forum 2005におけるArmの“ARM's First Low-Power. Superscalar Processor”というプレゼン資料より。整数演算なら13段のパイプラインである。デコード後の実行ポートとしては4つあるが、In-Orderなので同時に全部が動くわけではない
photo
図2:出典は図1と同じ。Armコアの中では飛び抜けて高い性能となった

 このCortex-A15は、サーバ市場を見据えた最初の製品でもあり、それもあってLPAR(Large Physical Address Extension:物理アドレスを40bitに拡張)することで、4GBを超えるメモリを扱えるようになっている。ただ仮想アドレスの方は32bitのままということもあり、サーバ用途にはメモリ量が足りない(アプリケーションから扱えるメモリが4GBを超えると扱いが途端に面倒になるので、事実上4GB縛りになった)ということもあり、サーバマーケットを開拓できたとはいえない。

 ただ、このCortex-A15はサーバマーケット向けの最初の開発機として使われるようになったという点では意味がある。加えて言えば、このCortex-A15は省電力(LITTLE)と高性能のコア(big)を組み合わせて使い分けるbig.LITTLEを実装した最初のプロセッサになった。もちろんCortex-A15がbig側である。

 このCortex-A15をさらに性能向上させたのが2013年に発表されたCortex-A17であるが、これを採用したのが中国RockChipのRK3288のみだった。要するに市場は、ハイエンドに関してはもう32bitではなく64bitプロセッサを必要としており、32bitのCortex-A17には興味がなかったわけだ。それもあり、ArmはこのCortex-A17をミドルレンジ向けに再構成。Cortex-A12として2014年に再投入した。こちらはCortex-A9の後継、という位置付けになっている。

 一方で2009年、Cortex-A9の後に投入されたのが、パイプラインが1本のCortex-A5である。こちらはCortex-A8の更に下、ローエンド向けのコアでその分性能も低いが、当然回路も小さくて済むということで、従来のArm11より少し上程度の性能で済む用途向けの安価な選択肢となった。

 このCortex-A5を、限定的な2命令のSuperScalar(ただしIn-Order)にしたのが、Cortex-A15と同時に発表されたCortex-A7となる。このCortex-A7はbig.LITTLEを構成(当然LITTLE側)することもできるというわけで、一部スマートフォン向けにも使われている。

 純然たるArmv7-Aの32bitコアは以上の6つ(Cortex-A17を入れて7つ)であり、32bitのコアそのものも次に出てくるCortex-A32を除くともう新製品はない。モバイル向けもさることながら、組み込み向けも次第に64bitのニーズが高まってきている(Androidをベースにした製品の場合、必然的に64bitに移行することになる)のが主な理由である。

 ただPCのマーケットと異なるのは、Cortex-A8はさすがにないにしても、Cortex-A5はいまだに広く利用されているところだろうか。最近だとDesignStartプログラムでCortex-A5のライセンス料が無償で利用可能になるなど、いまだに組み込みの現場では使われていることが分かる。Cortex-A5はLinuxが動く(=ちゃんとMMUがあり、仮想記憶が利用できる)最小のIP(Intellectual Property)ということで、引き合いは多いようだ(さすがにスマートフォン向けにはもう完全に見なくなったが)。

 さて、2011年にArmはArmv8-Aという新しい命令セットを完成させ、一部のライセンシー(Architecture Licenseを取得しているメーカー:後述)に公開している。

 余談であるが、例えばx86とx64では、かなりというかほとんど命令が互換になっている。これは元々AMDがx86_64という名称で64bit拡張を行う際に、可能な限り命令の互換性を維持するという設計方針を取ったためである。対してArmv8-Aの場合、32bitモード(AArch32)はArmv7までと互換であるが、64bitモード(AArch64)は全く異なる命令体系になっている。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る