ホットチップクアルコムは、何百万台ものスマートフォンやタブレットで使用されている主力チップ「Snapdragon」から、新興のデータセンタープロセッサファミリー「Centriq」にエンジニアを異動させた。
ハンドヘルド デバイスの頭脳の構築からサーバーに集中することへの焦点の移行は、火曜日の夜にシリコン バレーで開催されるエンジニアリング業界カンファレンス Hot Chips で Centriq の内部設計が発表されるときに明らかになる予定です。
SnapdragonからCentriqへ多くのエンジニアが異動したことは、モバイル側が自社設計のKryoコアから市販のARM Cortexコア、あるいはそのマイナーバリエーションへと切り替えた理由を説明するかもしれない。事実上、これは完全カスタムのKryo開発を少なくとも一時的に停止させたと言えるだろう。
モバイルCPU設計者全員が異動したわけではなく、必要に応じて人員を戻すことも可能だと伝えられている。The Registerが同社幹部との会話から得た情報によると、Snapdragonファミリーを継続させるのに十分な数のチームがモバイル部門に残ったという。
昨年末、クアルコムはプレミアムSoC(システムオンチップ)「Snapdragon 835」を発表しました。このプロセッサは、今年、ハイエンドAndroidスマートフォンからWindows 10搭載ノートパソコンまで、幅広いデバイスに搭載される予定です。このプロセッサは、自社製のKryoコアではなく、ARMからライセンス供与された市販CPUコア(おそらくCortex-A53 4基とA72またはA73 4基の組み合わせ)をわずかに改良したものを採用しています。クアルコムはこれを「セミカスタム」かつ「ARM Cortexテクノロジーを基盤とした」製品と呼んでいます。
5月に、Qualcommはスマートフォン向けにさらにハイエンドのSnapdragon 660と630を発売した。ただし、660はSnapdragon 820シリーズから流用した8つのKryoコアを使用し、630は標準のARM Cortex-A53コアを8つ使用している。
これは、ARMの標準コアが駄作だと言っているわけではありません。この転換は、Qualcommの他の設計、つまりGPU、DSP、機械学習機能、モデムなどが、同じく既製のCortex-Aを採用している競合他社のモバイルシステムオンチップと差別化するために、より優れた性能を発揮する必要があることを意味します。モバイルプロセッサと無線モデムチップセットで主に知られるQualcommにとって、これは大きな一歩です。
ちなみに、Qualcomm の経営陣は、モバイル側では適切なコアを適切なタイミングで使用しているだけだと述べており、これは市販の Cortex CPU が社内で設計された Snapdragon CPU と同じくらい優れていることを意味しています。
データセンターへ
火曜日の夜、カリフォルニア州クパチーノにあるHot Chipsで、Qualcommの上級スタッフがCentriq 2400の設計図の概要をエンジニアやコンピュータサイエンティストに発表します。この10nm ARMv8プロセッサラインの基本については、以前取り上げました。Qualcommは今週、設計チームがSnapdragonをベースに開発を進めているものの、Centriqはクラウドとサーバーのワークロード向けにゼロから設計されていることを強調する予定です。
Centriqの概要 ... 出典: Qualcomm
画像をクリックすると拡大します
しかし、ここはクアルコムが二刀流で成功していると非難できるところだ。週末前にThe Registerが見た同社の Hot Chips スライドでは、同社は Centriq が「第 5 世代カスタム コア設計」を使用し、「クラウド サービス プロバイダーのニーズを満たすように根本から設計されている」と自慢している。
つまり、このチップに取り組んでいるエンジニアたち(一部はSnapdragon側出身)は、第5世代のカスタムCPU設計に取り組んでいるが、サーバーに適したシステムオンチップを作るためにゼロから始めたのだ、とCentriqの製品管理担当シニアディレクター、クリス・バーゲン氏は語った。
どのように表現したとしても、設計図を見ると、これはまさにファットなスマートフォン用 CPU ではないことがわかります。
Falkorというコードネームで呼ばれる48個のコアは、64ビットARMv8コードのみを実行します。32ビットモードはありません。このシステムオンチップは、ARMのハイパーバイザー特権レベル(EL2)をサポートし、TrustZone(EL3)環境を提供し、オプションでAES、SHA1、SHA2-256暗号化アルゴリズム用のハードウェアアクセラレーションも搭載しています。コアは、IntelがXeonで使用を中止したリングバスに似た形状のバス上に配置されています。Chipzillaはリングバスを用いてチップ内のコア数を増やすことに抵抗を感じ、代わりにメッシュグリッドを選択しましたが、Qualcommは高速な双方向帯域の使用に満足しています。
共有L3キャッシュはリングに接続され、コア間に均等に分散されているようです。リングインターコネクトの総帯域幅は少なくとも250GB/秒と説明されています。リングはセグメント化されていると言われており、複数のリングが存在することを意味していると考えられます。つまり、1つのリングに24個のコアを配置し、もう1つのリングに24個のコアを配置し、リング同士が接続することですべてが相互に接続されることになります。
キャッシュといえば、Qualcommはこのチップを今年中に量産出荷する予定だが、キャッシュサイズについてはまだ明らかにしていない。コアあたり、24KB 64バイトラインのL0命令キャッシュ、64KB 64バイトラインのL1命令キャッシュ、そして32KBのL1データキャッシュを搭載している。残りのL2とL3のサイズはまだ不明だ。このチップはサンプル出荷中なので、サーバーチップメーカーとして最大のシェアを持つIntelが既にいくつか入手し、設計を研究していると考えるしかない。これらの詳細を明らかにしても、QualcommがChipzillaにその手口を明かすことはないだろう。
私のレベルに達してください...L1とL0キャッシュ
L0キャッシュは非常に興味深いものです。これはL1命令キャッシュの拡張として構築された命令フェッチバッファです。言い換えれば、典型的なフロントエンドバッファのように動作し、1サイクルあたり4つの命令をスラップしますが、キャッシュのように機能します。例えば、CPUによって無効化またはフラッシュできます。L2キャッシュはデータと命令の両方を保持し、128バイトのラインを持つ8ウェイジョブで、ヒットまでの最小レイテンシは15サイクルです。
正直に言うと…L2キャッシュ
L3キャッシュにはサービス品質(QoS)機能があり、ハイパーバイザーとカーネルは仮想マシンとスレッドを整理して、例えば優先度の高い仮想マシンが他の仮想マシンよりも多くのキャッシュを占有できるようにすることが可能です。また、このチップは2~4サイクルのレイテンシでメモリをオンザフライで圧縮でき、ソフトウェアからは透過的です。128バイトのラインは、可能な限りエラー訂正機能を使用して64バイトのラインに圧縮できると言われています。
Qualcommが48コアと謳っている場合、それは48コアです。ハイパースレッディングなどの機能は搭載されていません。FalkorはL2キャッシュを共有するデュプレックス構成です。各コアは、ワークロードに応じて、ライトスリープ(CPUクロックオフ)からフルスピードまで、電源のオン/オフが可能です。32レーンのPCIe 3、エラー訂正機能付きDDR4メモリ6チャネル、チャネルあたり1~2枚のDIMM、SATA、USB、シリアル、汎用IOインターフェースを備えています。
私は力を持っている...エネルギー使用制御
さらに詳しく見てみると、パイプラインは可変長で、1サイクルあたり最大3つの命令と1つの直接分岐命令を発行でき、8つのディスパッチレーンを備えています。アウトオブオーダー実行とリソース名の変更が可能です。予測分岐ごとに0または1サイクルのペナルティがあり、16エントリの分岐先命令キャッシュと3レベルの分岐先アドレスキャッシュを備えています。
よく整備されたシステム…Centriqのパイプライン構造
木のようにここから出て行け…分岐予測器
ハッチング、マッチング、ディスパッチ...パイプラインキュー
問題提起...パイプラインのロード・ストア段階
すべて合計すると…可変長整数処理部分
このチップには、通常はフラッシュメモリに保存されている外部ファームウェアを検証し、正規のコードを実行できるブートローダーを含む不変のオンダイROMが搭載されています。プロセッサ内のセキュリティコントローラは、Qualcomm、サーバーメーカー、そして顧客の公開鍵を保持し、このソフトウェアを認証します。そのため、ROMまたは初期段階のブートローダーに脆弱性が見つからない限り、マシンは信頼できるコードのみで起動し、信頼のルートを構築します。チップ上には、ブートプロセスを監視する管理コントローラが搭載されています。
今週はHot Chipsに参加予定です。新たな情報が見つかり次第、改めてご報告いたします。価格、キャッシュサイズなどの情報が判明次第、Xeon、Centriq、Epycの仕様比較を行います。®