サムスンのギャラクシーS7のシリコン脳の奥深くに「ニューラルネットワーク」を発見

Table of Contents

サムスンのギャラクシーS7のシリコン脳の奥深くに「ニューラルネットワーク」を発見

Hot Chipsサムスンは、S7 および S7 Edge スマートフォンの中核となる謎の M1 プロセッサ コアの設計図を公開しました。

3月に発売されたハイエンドAndroidスマートフォンの国際版は、14nm FinFETプロセスを採用したExynos 8890システムオンチップ(SoC)を搭載し、標準の1.6GHz ARM Cortex-A53コア4基と、2.3~2.6GHzで動作するM1コア4基を搭載しています。バッテリーの消耗や端末の過熱を防ぐため、M1コアは一度に最大周波数まで動作させることができ、2基のみに制限されています。M1コア1基あたりの消費電力は通常3ワット未満です。

コードネーム「Mongoose」のM1は、米国のチームによって3年かけてゼロから設計され、32ビットおよび64ビットのARMv8-Aコードで動作します。ベンチマークテストでは、Exynos 8890 SoCはシングルコア性能ではAppleのiPhone 6S A9チップに劣りますが、マルチコアテストでは優位に立っています。

Mongooseはこれまで秘密にされてきた。そのマイクロアーキテクチャの詳細は、本日カリフォルニア州クパチーノで開催されたHot Chipsカンファレンスでサムスンが行ったプレゼンテーションで明らかになった。

注目すべき点の一つは、分岐予測器がニューラルネットワークを用いて、ソフトウェアがコード上で辿る紆余曲折を正確に予測するという点です。CPUがアプリが次に実行する命令を正確に予測できれば、分岐命令に遭遇するたびにパイプラインをダンプするのではなく、処理パイプラインに命令を準備し続けることができます。

「ニューラルネットは非常に優れた予測率をもたらしてくれる」と、サムスンの主任CPU設計者で、テキサス州オースティンにある韓国の巨大企業のR&Dセンターに所属するブラッド・バージェス氏は語る。

分岐予測器の設計は、半導体業界で最も厳重に守られている秘密の一つです。競合するアーキテクチャ間の重要な差別化要因であり、現代のプロセッサにおける分岐予測ロジックの驚異的な複雑さを考えると、ベンダーは自社の技術の特許取得にさえ踏み切れないことが多いのです。なぜなら、特許取得すれば詳細が公開され、侵害を証明する容易かつ確実な手段がなくなるからです。

基本的な分岐予測システムは、最近実行された分岐命令ごとに2ビットのカウンタを持つ内部テーブルを構築することで機能します。分岐が成立した場合、カウンタに1を加算し(最大3まで)、成立しなかった場合は0になるまで1を減算します。つまり、分岐のカウンタが3で止まっている場合は、その分岐は定期的に成立するため、そのことを予測できます。0の場合は、その分岐はめったに成立しないため、無視して後続の命令のフェッチとデコードを継続できます。

Intel、AMD、その他のチップ設計者は、それだけに留まらず、高度な予測技術を採用しています。その一部は、意思決定パーセプトロンを用いたニューラルネットワーク設計に似ています。しかし、誰も詳細に議論したがらないため、人工知能による分岐予測器の説明は、コンピュータサイエンスの論文や学術研究[PDF]の中で埋もれてしまっています。

サムスンが自社の予測エンジンがニューラルネットワークであることを公言し、従来の常識を打ち破ったことは興味深い。リンリー・グループのマイクロプロセッサアナリスト、デビッド・カンター氏は、今日の最先端の分岐予測システムはニューラルネットワークのような設計に基づいていると述べている。例えば、AMDのJaguarとBobcatの予測器も同様の技術を採用している。現在サムスンの副社長を務めるバージェス氏は、かつてAMDのBobcatマイクロアーキテクチャのチーフアーキテクトを務めていた。

AMDのZenアーキテクト、マイク・クラーク氏は、同社のマイクロアーキテクチャが分岐予測にハッシュ・パーセプトロン・システムを採用していることを確認した。「もしかしたら、ニューラル・ネットと呼んだ方が良かったのかもしれない」とクラーク氏は付け加えた。

サムスンは、携帯電話向けチップにニューラルネットワーク分岐予測機能を搭載していると発表した。IntelとAMDも、デスクトップおよびサーバー向けプロセッサにひっそりとニューラルネットワーク分岐予測機能を搭載している。今日の人気スマートフォンは、ポケットサイズのPCと同じであることを改めて思い知らされる。サムスンがニューラルネットワークを強調したのは、その設計に斬新さがあったからかもしれないし、あるいはクールな響きだからかもしれない。

Samsung の M1 コアの内部には他にどのようなものがあるのか​​、以下にまとめます。

各コアには64KBの命令キャッシュが搭載されており、低レイテンシ、低消費電力を実現しています。

デコードステージは1サイクルあたり4つの命令を処理できます。ほとんどの命令は単一のマイクロオペレーションに直接マッピングされます。コアは、マルチストリームおよびマルチストライドのプリフェッチャーを備え、ロードとストアを含む完全なアウトオブオーダー実行が可能です。

整数処理ユニットは96エントリの物理レジスタファイルを持つ。

浮動小数点ユニットは、乗算と累算の演算を実行するために5サイクルを必要とし、乗算には4サイクル、加算には3サイクルが必要である。

ロードストアユニットは32KBのデータキャッシュと通信する

これは、2つの分岐予測ステージ、3つのフェッチ、3つのデコード、2つのレジスタ名変更、1つのディスパッチ、その後4つまたは6つの実行ステージ、そして調停とキャッシュタグ付けが続くパイプラインの基本的な図です。

最後に、1つのコアとM1クアッドコアクラスタ全体のフロアプランを示します。TBWはTLBウォーカーです。CPUから2MB 16ウェイ共有L2キャッシュにデータをバス接続するロジックが多数あります。

最後に、M1 がサムスン ARM データセンター プロセッサ設計の基盤となるかどうか疑問に思っている人々に対して、バージェス氏は、M1 は実際にはそれには適していないと述べています。たとえば、M1 には大容量の L2 キャッシュと強力なベクトル化ユニットが欠けています。®

Discover More