オススメ機能
Twitter
お気に入り
記事履歴
ランキング
お気に入りタイトル/ワード

タイトル/ワード名(記事数)

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

LINEで4Gamerアカウントを登録
圧倒的低消費電力,ARMのCPUロードマップの中で重要な位置を占めるCortex-A7詳報
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2011/11/14 00:00

イベント

圧倒的低消費電力,ARMのCPUロードマップの中で重要な位置を占めるCortex-A7詳報

Cortex-A
 2011年11月11日,組み込み用CPUコアなどで知られるARMの開発者・パートナー向けイベント「ARM Technical Symposia 2011 Japan」が都内で開催された(関連記事)。
 本稿では,「モバイルの技術革新を可能にするCortex-A7プロセッサ」と題された技術セッションの模様を紹介したい。このセッションは,もともとはCPUのロードマップ解説に位置づけられていたものだが,内容はタイトルの通りCortex-A7の概要が中心。それだけ同社のロードマップの中でCortex-A7が占める位置が重要ということだろう。


高い電力効率と,そこそこの性能を併せ持つCortex-A7


 Cortex-A7は,今年10月に英ARMが発表した新しいプロセッサIPコアだ。Cortexファミリーの型番は,Aがスマートフォンなど高性能機器向けのアプリケーションプロセッサを表し,後ろの数字はおおよその性能ランクを表している。Cortex-A7は,高性能携帯電話に多く採用されていたCortex-A5よりは上,現在のメインストリーム製品に採用が進んできているCortex-A9よりは下という性能ランクに位置づけられるコアだ。

CortexファミリーにおけるCortex-A7のポジション。縦軸がパフォーマンス,横軸は発表された時期だ。最後の数字は性能ランクと述べたが,Cortex-Aシリーズの初期に発表されたCortex-A8は,動作周波数が低いなどの理由から実製品レベルではCortex-A7よりも性能は同じか低いポジションになることに注意してほしい
Cortex-A

 Cortex-A9より下のランクの製品がARMのロードマップの中で,どうして重要なポジションにあるのだろうか。そのあたりを含めながらCortex-A7の特徴をセッションの内容をもとに紹介してみたい。

アーム フィールドアプリケーションエンジニアリング 小林達也氏
 本セッションを担当したのはARMの日本法人であるアームの小林達也氏だ。
 小林氏が最初に挙げるCortex-A7の特徴は「電力効率に注力して設計されている」という点だ。「Cortex-A8がメインストリームだった頃と同じ性能のスマートフォンが,Cortex-A8に比べておよそ1/6程度の消費電力で実現できるだろう」(小林氏)というほど電力効率が高くなっている。
 この電力効率の高さの理由の一つに,プロセスルールの違いがある。Cortex-A8は45nmプロセス向けだが,Cortex-A7は28nmプロセス向けで,プロセスの微細化の分だけ消費電力的にも,またフットプリント(プロセッサIPコアの面積)的にも有利になる。

左上のグラフがCortex-A8とCortex-A7(1GHz,シングルコア)の消費電力を比べたグラフ。グラフのように約1/6の消費電力だという。また,わずか0.45平方ミリという極めて小さなフットプリントもCortex-A7の大きな特徴だ
Cortex-A

 低消費電力,小さなフットプリントでありながら,上位版であるCortex-A15と完全な互換性を持っていることも特徴で,これが後述する”Big.LITTLE”戦略にとってきわめて重要な意味を持っている。

 低消費電力を実現している理由の2つ目は,シンプルなパイプラインにある。「Cortex-A7はCortex-A5をベースに,消費電力を抑えながら,いくつかの拡張を加えたもの」(小林氏)で,シンプルなCortex-A5の特徴を多く引き継いでいる。
 その一方で,Cortex-A5では1命令発行だったパイプラインが「限定的な2命令発行」に拡張されている。同時に,発行できる命令の組み合わせに制限があるので完全な2命令同時発行ではないが,この種の限定的な2命令同時発行は,回路規模を抑えつつ性能を上げるのに有利であり,たとえばx86系では初代Pentiumが似たような2命令同時発行で成功したプロセッサとして知られている。

Cortex-A7のパイプライン。限定的な2命令同時発行のIn-Orderパイプラインを採用している。そのほか,浮動小数点演算がパイプラインに完全に統合されたことも大きなトピックだ
Cortex-A

 Cortex-A7は,スライドのような8ステージのパイプラインを採用するが,浮動小数点演算が統合されたことも,実は大きなトピックだ。もともとARMのVFP(Vector Floating Point)はSoCメーカーが取捨選択できるコプロセッサだったが,Cortex-A7ではCPU内部の演算パイプラインに統合されたものとして扱われているわけだ。

 また,L2キャッシュが統合されたことも非常に大きな意味を持つ。Cortex-A5やCortex-A9ではSoCメーカーが必要に応じてL2C310と呼ばれるL2キャッシュコントローラを外付けするよう設計されているが「アプリケーションプロセッサは非常に高い周波数で動作するためL2キャッシュが不要というケースはほとんどない」(小林氏)のが実情だ。
 そのため,Cortex-A7ではL2キャッシュ(最大4MB)が別モジュールではなく完全にコアに統合されている。その結果,「従来よりデータレイテンシが低くなっている。また,L2キャッシュのソフトウェアからの制御が,従来よりやりやすくなっているほか,電力性能も(L2C310に比べ)高くなっている」(小林氏)といった具合に大幅に改良されているのだ。

 そのほかにも,TLBのエントリ数の増加,メモリレイテンシの低減など,従来のCortexファミリーから細かな改善が多数,図られており,高い電力性能と高パフォーマンスが実現されていると小林氏はCortex-A7の特徴をまとめていた。
 L2キャッシュやメモリアクセス効率の低さは,とくにx86系と比べた場合,Cortex-Aファミリの欠点といわれた部分だが,そのあたりがCortex-A7では大きく改善されたと理解しておくといいだろう。

L2キャッシュやメモリアクセス周りにも多数の細かな改良が加えられているという。とくにTLBのキャッシュが可能になったことから,OSそのものの高パフォーマンス化も期待できそうだ
Cortex-A


big.LITTLEプロセッシングの核になるCortex-A7


 というような特徴を持つCortex-A7だが,大方の想像通り,まずは2013年頃のローエンドのスマートフォン/タブレット製品が主要なターゲットとして想定されている。

まずは2013年頃の安価なスマートフォン/タブレットがCortex-A7の主要なターゲットになる。エントリレベルの製品といっても,現在のメインストリームの製品とほぼ肩を並べる性能を持つので侮れない
Cortex-A

 Cortex-A8よりもむしろ上の演算性能を持つというCortex-A7だけに,ローエンドの製品といっても現在のメインストリームの製品と同程度の性能を持つことが予想される。スライドのように販売助成金なしで75ドルといった非常に安価な製品が高い性能を持つことが実現されるというわけだ。

 もう一つ,Cortex-A7が重要なのはbig.LITTLEプロセッシングにおける高効率プロセッサにCortex-A7が位置づけられている点である。

高性能なプロセッサと電力効率の高いプロセッサを組み合わせ,負荷が低いときには電力効率の高いプロセッサを利用することで,高性能と低消費電力を両立させようというのがbig.LITTLEプロセッシング戦略だ
Cortex-A

 big.LITTLEプロセッシングは,NVIDIAが先に発表したTegra 3のvSMP(Variable Symmetric Multiprocessing)に似た発想の技術だ。講演では小林氏も軽くvSMPに触れていたが,vSMPでは同じCortex-A9を使ってプロセスレベルで4コアの高効率プロセッサと1コアの高性能プロセッサを組み合わせる方法をとっているのに対して,big.LITTLEではCortex-A15とCortex-A7という,内部アーキテクチャが異なるプロセッサを組み合わせている。先に述べたように,Cortex-A15とCortex-A7はソフトウェアレベルでは完全な互換性を持つので,同列の組み合わせが可能になるのだ。

 もう一つ,vSMPとの大きな違いとして,高効率プロセッサと高性能プロセッサを切り替える方法が二種類が想定されているということが挙げられる。
 vSMPでは,高効率プロセッサと高性能プロセッサの切り替えは完全にハードウェアに任されており,OSからは4コアとして見えると説明されている。そのためOS側での特別な対応は不要だ。
 big.LITTLEでもvSMPと同じように,OSからは完全に隠蔽され,ハードウェアレベルで切り替える「タスクマイグレーション」という方法がサポートされている。タスクマイグレーションでは,拡張された割り込みコントローラ(GIC-400)によって,負荷に応じて,適宜,高効率プロセッサか高性能プロセッサのいずれかにタスクが割り当てられる。
 さらにbig.LITTLEではもう一つ,big.LITTLE HMPと呼ばれるOSのスケジューラで割り当てる方法も検討されているという。OSのスケジューラが負荷やタスク優先度に応じて高効率プロセッサと高性能プロセッサを使い分けるというやり方だ。
 この場合,OSのスケジューラにbig.LITTLE HMP対応のコードを追加する必要があるが,その代わりにOSが把握しているタスク優先度を反映できるというメリットも出てくる。

big.LITTLEプロセッシングの代表的な構成がこれ。GIC-400割り込みコントローラで自動的にCortex-A15とCortex-A7を使い分ける「タスクマイグレーション」と,OSのスケジューラで使い分けるHMPという二種類の使い分け方が想定されているのが,vSMPと異なる点だ
Cortex-A

 どれが主流になるかはまだ分からないようだったが,OSサイドから言えば,big.LITTLE HMPが理にかなっているように思う。vSMPやタスクマイグレーションでは,優先度を無視して性能が低いプロセッサに重いタスクが割り当てられてしまう可能性があるからだ。

 いずれにしても,Cortex-A7はARMにとって非常に重要な意味を持つプロセッサIPで,それだけに今回のARM Technical Symposia 2011でも,ロードマップと題してCortex-A7のセッションが設けられたのだろう。2013年のモバイルデバイスがどうなるのか,登場を楽しみに待ちたい。

「ARM Technical Symposia」開催,Cortex-A15やMali-T685など同社製品の概要やPS Suiteの展開なども語られた基調講演をレポート

  • 関連タイトル:

    Cortex-A

  • この記事のURL:
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
トピックス
スペシャルコンテンツ
タイトル評価ランキング
81
KENGOHAZARD2 (PC)
76
Days Gone (PS4)
76
鬼ノ哭ク邦 (PC)
74
2019年04月〜2019年10月