フォーナインズがゲーミンググラス「PLAIDe」(プレイド)を立ち上げた理由とは。Metroidvania!」——世界中のゲーマーを惹きつける“メトロイドヴァニア”の深奥なる魅力あなたの“推し”から今年一年の感謝を贈る。STRANDING」の世界をより理解するための“運び方”ガイド姿の見えない世界中のプレイヤーと緩く助け合う。新マップや追加コンテンツまとめ懐かしのMMORPG体験ツアー第2弾。2019]ティガレックスやバフバロの狩猟に挑戦。REMAKE」の最新映像が公開。IPコア「Mali-G72」を発表した(関連記事)。これらのうち,Mali-G72については西川善司氏がレポートしているが,Cortex-A75とCortex-A55は,果たして現行製品から何が変わるのだろうか。IPコアの概要がある程度見えてきたので,本稿ではその内容をお届けしてみたいと思う。IPコアそれでは,まずCortex-A75から見ていこう。IPコアである「Cortex-A72」や「Cortex-A73」の後継となるものだ。Cortex-A72は,ある意味では素直な3命令同時実行のスーパースカラ(Superscalar,スーパースケーラ)型CPUコアで,モバイル用途はもとより,サーバー用途にも利用できる構成だった。Cortex-A73は,モバイルに特化した構成で,2命令同時実行のスーパースカラでありながら,モバイル機器向け用途——スマートフォンでは消費電力1W程度,タブレットでは2W程度——においてCortex-A72を上回る性能を発揮するようデザインされたプロセッサであった。Code)が省略されるといった具合で,サーバー用途には利用できないスペックになっている(関連記事)。Cortex-A75はアーキテクチャ的にどちらの後継かというと,Cortex-A72のほうである。命令パイプラインは3命令同時実行のスーパースカラに戻り,サーバー用途や車載機器向けにも使える機構を搭載しているからだ。Cortex-A75の特徴(※ARMのプレス向け資料より引用,以下同)。モバイル向けにはCortex-A73と同等の効率性を実現,というのがARMの謳い文句だ。同時に,Cortex-A72を採用していたようなサーバー製品でも利用できる性能と機能も実現しているとのことであるARMは,Cortex-A75とCortex-A73の性能比較も公表している。それによると,純粋なALU(論理演算ユニット)やFPU(浮動小数点演算ユニット)の性能では22〜33%,メモリアクセスのスループットでは16%向上しているという。ARMによるCortex-A75とCortex-A73の性能比較を示したグラフ。2.0」は,Googleの提供するJavaScriptエンジンのベンチマークである一方,消費電力あたりの性能では,コアの消費電力を750mWや1W,2Wまで絞ったときにCortex-A73比で20〜30%高い性能を発揮できるため,モバイル向けのハイエンドSoCとしても最適というのがARMの主張だ。モバイル用途で重要な消費電力あたりの性能を比較したグラフ。同一の製造プロセスを利用した場合の例で,消費電力が750mWと1W,2Wの場合,Cortex-A75はCortex-A73よりも1.2〜1.3倍高性能であるという。動作クロックもCortex-A75のほうが上げやすいとのことだARMは,Cortex-A75とCortex-A55を組み合わせたSoCのシミュレーションも公表している。それによると,Cortex-A53を8基搭載するSoCを基準とした場合,Cortex-A55×8基では,エリアサイズ(※SoCの半導体ダイに占めるCPU部分のサイズ)が10%増える一方で,処理性能は平均20%向上するという。Cortex-A55×7基にCortex-A75×1基を追加した場合は,エリアサイズが13%増えるのに対して,シングルスレッド性能は41%,マルチスレッド性能で42%の性能向上を果たせるとのことだ。余談気味だが,ARMが公開したグラフからCPUコアのダイサイズを計算してみると,Cortex-A53と比べてCortex-A73は約2.1倍,Cortex-A75は約1.34倍,Cortex-A55は約1.1倍になる。この試算はあくまでも採用される製造プロセス技術が同じ前提に立ったときのものだ。実際にCortex-A75およびCortex-A55を製造するのに用いられる製造プロセス技術は現行世代のものと比べて微細化が進むはずなので,試算と同じ数値にはならないだろう。Cortex-A53×8を基準に,Cortex-A73×4+Cortex-A53×4,Cortex-A55×8,Cortex-A75+Cortex-A55×7のエリアサイズと性能向上率の違いを示したグラフサーバー用途を考慮した新機能を多数実装ARMが,Cortex-A75に盛り込んだ新機能には,下のスライドに示す6種類がある。ARMが公開したCortex-A75の新機能を示したスライド実のところ,これらのほとんどは,ARMの命令セットである「ARMv8.2-A」で定義しているもので,Cortex-A55でも同様に利用可能だが,順に説明しておこう。floatベクトル演算機能のこと。Network」(畳み込みニューラルネットワーク,以下,CNN)における畳み込み処理で大活躍する。Product」が対象するのは8bit整数のみ。Extensions(VHE)仮想化機能の強化。任意のOS上で実行する仮想マシン(※Type-2。Type-1は,直接ハードウェアの上で実行する仮想マシン)の処理を高速化するための拡張を施したという。stashing」とは,キャッシュの一部領域をCPUの外部から直接アクセスすることができるようにする拡張機能で,さまざまなアクセラレータ——CNNやネットワーク処理など,汎用的に使える——を利用するためのものである。これを使うと,CPUからは(キャッシュ経由で)メモリに書き込んだように見えて,実際はメモリではなく直接アクセラレータに書き込むとか,あるいはアクセラレータからのデータを(メモリを介さず)直接キャッシュへ書き込むといった処理が可能となり,アクセラレータを利用する場合のオーバーヘッドが大幅に減少する。この仕組みを機能させるには,キャッシュとアクセラレータの間で書き込みや読み出しのタイミング制御が必要になる。operations)も追加したというわけだ。stashing機能を導入したのはちょっと意外だった。NXP)の「e500」というネットワークプロセッサ向けPowerPCコアのみだったからだ。Layerscape」シリーズを展開していることを考えると,旧Freescale方面から強い要請でもあったのかなと考えている。Module)のような新しいメモリ技術に対応するための機能。メインメモリに使うDRAMとは異なり,不揮発性メモリは電源を切っても内容が消えないので,これに対応する機構を加えたようだ。RASとくにサーバー用途で求められるRAS——Reliability(信頼性)とAvailability(可用性),Serviceability(保守性)の頭文字を取った用語——機能を実現するための要素である。プロセッサが壊れにくいとか,エラーがあっても修復できるという話が信頼性で,パリティやECCといった機構がこれに相当する。可用性は,故障などがあっても処理を続行できるという要素で,たとえば冗長構成をサポートする機能がこれだ。保守性は,故障時の修理を短い時間で容易に行うための要素で,たとえば主要部品やモジュールのホットスワップなどが該当する。ある程度は後付けでも可能だが,CPUコアの設計段階から考慮しないと実現できない機能もあるので,Cortex-A75ではそれを当初から考慮しているということだ。monitoring読んで字のごとく,CPUの動作状態を確認する機能の強化で,スレッド単位で稼動状態の確認が可能になった。これもサーバー用途で強く必要とされる。Cortex-A75の内部構造ここからはCortex-A75の内部構造について,もう少し詳しく説明していこう。ARMは今のところ,Cortex-A75のパイプライン構造に代表される詳細を明らかにしていない。Order)型で3-wayのスーパースカラプロセッサであり,このあたりはCortex-A72の延長線上にあると言っていい。Cortex-A75のブロック図と特徴。Cortex-A73のブロック図と見比べても,基本的なユニットそのものに変化はないフロントエンドのプリフェッチからデコードまでを見ると,大きな特徴として,デコードそのものがCortex-A73の1サイクルあたり3命令からCortex-A75で4命令になっている点が挙げられよう。Fusion」に対応したためと思われる。Buffer」(TLB)のノンブロッキング化を実現しているのも特徴だ。先頭の命令がキャッシュミスしても,後続する命令がキャッシュヒットする状況にある場合,処理を止めず(=ノンブロッキング)に継続できれば遅延を最小に抑えられるということで,TLBでこれをサポートしたのだと考えられる。Cache)を追加したとのことである。分岐予測機構の改良を説明したスライドバックエンドの実行段は,実行ユニットを強化したCortex-A73の構造を引き継いでいる。そのため,実行ユニットが,ALU(算術論理演算ユニット)×2,ロード/ストア(Load/Store)NEON(SIMD演算機能)/FPU分岐という5つだったCortex-A72と比べて,Cortex-A75では,ALU×2,ロード/ストア×2NEON/FPU×2分岐の7つとなっている。NEONやロード/ストアのユニットが2つに増えたのは,Cortex-A73〜A75が,データ処理のスループットを上げることを重視したことの表れと言えようか。実行段の改良点を示したスライド。8のサポートが追加された。NEON/FPUの改良点を示したスライド。ACcumulate,乗加算)のスループットが向上しているようだまた,これらをサポートするキャッシュ周りは,アウトオブオーダーへの対応を強化したとのことだ。Write」は,x86系CPUでは非常に多く行われる演算である。そのため,IntelのCoreプロセッサでは,いちいちメインメモリに書いたものを読み出し直すのではなく,書き込みと同時にその値をレジスタファイルに戻すことで読み出しアクセスの時間を省く仕組みをキャッシュに備えている。それと同等のものを,アウトオブオーダーでも可能な仕組みをCortex-A75では搭載しているようだ。L1キャッシュ関連の改良点を示したスライドL2キャッシュは,容量256KBまたは512KBと,そう大きくないが,これはbig.LITTLE構成をサポートするための代償と言えなくもない。big.LITTLEで一番時間を食うのは,キャッシュの内容を移動することである。technology」(以下,DynamIQ)においても,依然として必要だ。それゆえ,あまり大容量のL2キャッシュは実装しにくいことになる。その代わりと言うわけではないかもしれないが,データを先読みするプリフェッチ機構(Prefetcher)が強化されたそうだ。L2キャッシュ関連の改良点を示したスライド最後がRAS周りで,L1およびL2キャッシュにECC保護,命令キャッシュやTLB,タグにはパリティによる保護を組み込んでいる。Injection」といった具合に,アーキテクチャレベルでのエラー検出,報告機能を追加したとのことである。Cortex-A55の概要を示したスライド。IPコアには,「Cortex-A35」「Cortex-A32」が存在するちなみに,「最大2倍の性能向上」というのはメインメモリ帯域幅の話で,アプリケーション性能は現行世代比で約20%の性能向上を果たすとのことである。同一の製造プロセス技術を用いて同一クロックに仕上げた場合,消費電力あたりの性能はCortex-A53と比べて約15%の向上になるという。同じ動作クロックで,Cortex-A55とCortex-A53の性能を比較したグラフ。整数演算(SPECINT2006)では18%,浮動小数点演算(SPECFP2006)では38%の性能向上を果たしたとのことだ。後者は主に,NEONの性能改善が寄与していると思われる同一の製造プロセス技術および動作クロックで,消費電力あたりの性能を比較したグラフ。Cortex-A53と比べてCortex-A55だと消費電力は約3%増大してしまっているものの,性能は18%向上したので,消費電力あたりの性能では約15%高いという理屈だCortex-A55の内部構造も見ていこう。Order)の2-wayスーパースカラ構成で,パイプライン段数が8ステージというのも,まったく変わらない。パイプライン構造における目立つ違いといえば,ロードとストアが分離されていることだろうか。Cortex-A53(上側)とCortex-A55(下側)のブロック図(※クリックすると全体を表示します)。Cortex-A55は,パイプラインの最後にL2キャッシュが組み込まれているが,ARMはこれをパイプライン段数には含めていないようだL1キャッシュそのものも,Cortex-A53と変わっていないが,キャッシュヒットミス時のリカバーが速くなったとのこと。L2キャッシュがL1キャッシュと同速で動いているためだろう。L1キャッシュ周りの改良点を示したスライド。TLB)は,複数のページサイズを扱えるようになったとのこと分岐予測機構には,新たにニューラルネット——パーセプトロンベースだろう——を採用し,さらにCortex-A75と同じく0サイクルの分岐予測も実装しているという。分岐予測機構の改良点。ループ終了の予測機構も実装したそうだ一方の実行ユニットだが,パイプライン構造のところで紹介した「ロードパイプとストアパイプの分離」と,もう1つ,ALU命令における遅延の1サイクル削減がポイントになっている。これにより,ロードとストアが同時に行えるようになり,これがメモリアクセスで最大2倍という性能差につながっている。連続しないアドレスを指定してのL1キャッシュアクセスでも,2サイクルの遅延縮小が可能になったというから,ロード機構の最適化が進んでいるのだろう。Multiply-Add)命令の遅延削減も実現しているとのことだ。NEON/FPUの改良点を示したスライド。2で実装済みL1データキャッシュは最大容量64KBで,L3キャッシュにまで対応できるように,プリフェッチ機構を強化しているとのこと。その詳細や具体的な効果などは未公表である。IPコアであることを考慮すれば妥当だろう。L1キャッシュの改良点を示したスライドL2キャッシュの改良点を示したスライド。stashing用の領域は,このL2キャッシュ内に置かれるというわけで,現在判明している範囲で,Cortex-A75とCortex-A55の内部構造を説明してみた。肝心の製造プロセス技術や動作クロックなどといった部分は,いまだに明確になっていない。Nayampally氏は,「技術的には16nmプロセスはもちろん,28nmプロセスでも製造できると思う。ターゲットとなるのは10〜16nmプロセスあたり」と述べてはいる。Pack)は,どの半導体製造事業者(ファウンダリ)のどの製造プロセス向けに提供するのかといった具体的な情報は,公開していないのだ。した製造に関わる情報が明らかになれば,もう少し細かな動作クロックの目標なども見えてくるのではないかと思われる。英BBCが報じる2018年中に「Deimos」,2019年には「Hercules」を投入。IPコア「Mali-G76」を発表。ルールブック」レビュー。第7版が何を目指し,何が変わったのかをざっくり解説とあるValveの電子眼鏡:新型VRヘッドセット追加試用レポートレビュー一覧へ新着インタビュースマホ向け最新ゲームなのに,どこか古き良きJRPGの面影を感じさせる。CEOは語る“放置”で育てて戦略バトルに挑む。Wildsのデベロッパ:サブスクリプションは「奇妙なものに対して市場のロックを解除する」インタビュー一覧へトピックススペシャルコンテンツ注目記事ランキング1「スマブラSP」でさらに6体のファイター追加が決定。Encore」を紹介。華やかなバトルの魅力はそのままに遊びやすさが向上。新規ストーリーや楽曲もたっぷり楽しめる7現実世界と“閾界”を巡る未来型アクションRPG「VGAME」の配信がスタート。バーチャルタレント「キズナアイ」とのコラボ情報も公開8「どうぶつタワーバトル」,ヒットの裏にはなにがあったのか。開発にまつわる苦悩と喜びが語られた講演をレポート9「サイバーパンク2077」の発売が9月17日に延期。4」,ビッグ・マムとカイドウの戦闘スタイルが公開。格闘ゲームカードゲームシューティングリズムゲームその他ゲームカタログ本サイト「4Gamer.net」の内容は,すべて無断転載を禁止します。商用利用を除き,リンクについてはその限りではありません。商用利用,二次利用の希望,ご意見などは「こちら」まで。当サイトは,IE11.0以上および解像度1280×1024ドット以上でご覧になることをお勧めいたします。