また最近次期Switchについて盛り上がりを見せたらしい。まじで知らんかった。ということで今回はそんなリーク?に目もくれず、ただ自分の予想をたらたら書いていくことにする。つまりリークもクソもない(いや、事前に知ってた一部の知識は脳内で参照するかもしれない)。
前提
前提として、Nintendo Switchは現在に至るまで2回のアップデートを経ている。ただし、この内プロセッサが更新されたのは2019年の更新(1回目)のみである。2回目は皆さんご存知、有機EL版のSwitchのことを言っている。
そして、Switchは筐体こそ任天堂製であるものの、内部はNVIDIAと任天堂の共同設計となっている。特にプロセッサ周りはNVIDIAが担当している。もちろんプロセッサもだ。ただし、NVIDIAはSwitch用にチップを1から開発したわけではない。Tegraシリーズを任天堂向けにカスタマイズして採用している。
Tegraシリーズは昔はスマートフォンなどでよく聞いたかもしれないが、現在のターゲットは基本的に小型開発キット・研究キットなどとなっており、ラインナップ自体はプロセッサ自体の規模は若干大きくなりつつも現在まで続いている。現在のSwitchもその流れを汲んでいる。ただし、結構古い。
2017年に発売された初代Switchには「Tegra X1」(Erista)、2019年にアップデートされたSwitchには「Tegra X1+」(Mariko)と呼ばれるTegraが搭載されている。MarikoはEristaを微細化し電力効率を向上させたのみで、大きな性能向上はない。そのため2019年版のSwitchは性能向上はなくバッテリーの駆動時間が数時間伸びたというアップデートとなった。つまり、プロセッサの性能自体は2017年にリリースされた初代Switchから一切向上していないことを意味している(ただ、GPUクロックは向上している可能性があり、これは若干疑わしい)。
そんなMarikoだが、Switchに採用されているのはODNX10-A1というSoCになっている。これはT214と呼ばれるチップをベースとしており、4コアのCortex-A57と4コアのCortex A53のbig.LITTLE構成で合計8コアのCPUと、256 CUDAで構成されたGM21Bと呼ばれるMaxwell世代のGPUが搭載されているということになっている。クロックについては、公表されていないが、おそらくNVIDIA Shield Android TV向けの「TM675M-A1」からデグレードされているはずなのでそれほど高くないと見られる。CPUが2GHz弱、GPUが1GHz前後といったところだろうか。
メモリはLPDDR4XまたはLPDDR4。Micron製のものだがどちらの規格なのかは不明だった。そもそもTegra自体が出ている情報が少ないのと、任天堂も流石にここまで詳細にパーツの情報を公開しているわけではない。容量は4GBであるらしい。
ということをひっくるめて、現行のSwitchのプロセッサの情報をまとめると以下の通りになる。
部分 | 詳細 |
---|---|
SoC | Tegra X1+(Mariko) T214 ODNX10-A1 |
CPU | 4x Cortex-A57 4x Cortex-A53 |
GPU | GM21B (256 CUDA / Maxwell) |
メモリ | 4GB LPDDR4 or LPDDR4X |
では、この詳細を見ていく。Cortex-57とCortex A53はArmv8のISAに対応したものである。世代としてはSnapdragon 808/810やKirin 930/935で、2013年頃に登場したアーキテクチャだ。もちろん、これだけで性能が変わる訳では無いが、どう最適化しても流石に現代のチップには及ばない。
一方GPUについてはMaxwellアーキテクチャを採用している。MaxwellはGeForce GTX 900番台とGeForce GTX 700の後期モデル(GTX 750 Ti以下)に採用されたアーキテクチャである。2017年の時点ではGTX 10シリーズ(Pascal)が出てたので1世代前のアーキテクチャを採用したことになるが、現在ではかなり古いアーキテクチャである。規模的に見るとGTX 750の半分ほど。
全体的に採用しているプロセッサが2015年頃のもので根本部分がアップデートされていないので2020年最新となるPlayStation 5やXbox Series Xと比較しても格段に性能が劣る。もちろん前提として任天堂のハードは性能よりもそのコンテンツやデザインが優れているので、これが一概に悪いというわけではない。ただ、ゲーム自体が徐々に高負荷になりつつあるなか、更にクロスプラットフォームが謳われるようになった中で、PS5やXSX、PC向けに開発されたゲームがSwitchで動かないというのも考えものである。
Switch | PlayStation 5 |
Xbox Series X |
|
---|---|---|---|
登場年 | 2019 | 2020 | 2020 |
SoC/APU | Tegra X1+ | Ryzen | Ryzen |
開発元 | NVIDIA | AMD | AMD |
CPU | 4x Cortex-A57 4x Cortex-A53 |
8x Zen 2 | 8x Zen 2 |
GPU | GM21B Maxwell |
RDNA 2 | RDNA 2 |
GPUコア | 256x CUDA 2x SM |
2304x SP 36x CU |
3328x SP 52x CU |
性能 | 0.352 TFLOPS | 10.3 TFLOPS | 12.1 TFLOPS |
メモリ | 4GB LPDDR4 or LPDDR4X |
16GB GDDR6 |
16GB GDDR6 |
GPUは規模を示すためコア数を載せているが、NVIDIAとAMDで単位が異なる点には注意が必要
SwitchはPS5やXSXほどの性能は不要であるが、ただそれなりに重たいタイトルが動く性能を求めているユーザーは多いのでないだろうか。というのが私の意見である。
次期Switchに求める機能
次期Switchに搭載されるであろう2つの機能について説明する。一つがハードウェアレイトレーシングで、もう一つがアップスケーリングである。これら2つの機能は次期Switchに搭載されることが期待される機能である。
ハードウェアレイトレーシングとはいわゆる「リアルタイムレイトレーシング」のことである。これは最近のゲーミングPCだけでなく、PS5とXSXも対応している機能で、光線の動きを発光体から追跡し、実際の光と反射をリアルにシミュレーション出来ることから3DCGのクオリティを大きく上げる事ができる機能だ。このレイトレーシングはこれまでのGPUでも実現することはできたが、それはあくまでコンテンツとしてであり、動画や画像に数分~時間、数日という時間をかけてエンコードするというものであった。一方で、ゲームでレイトレーシングを活用するにはその場でレイトレーシングが適用される必要がある。しかし、リアルタイムにレイトレーシングを適用したシーンをレンダリングするのは困難である。そこで、光線の追跡のみを担当するアクセラレーターを搭載することでこの問題に対処した。それがハードウェアレイトレーシングである。NVIDIA の場合、ハードウェアレイトレーシングのアクセラレーターには「RTコア」というものを採用している。
一方でアップスケーリングは、超解像度技術である。こちらは十年近く前から主にテレビにおいて技術が確立されてきたが、ゲーム向けにはここ数年で大きく発達した。アップスケーリングとは、シーンの解像度を向上させる技術のことで、生成されたシーンの情報から加重平均などを基にピクセルを保管し、何倍にも解像度を向上させる技術である。アップスケーリングには2つの使い方があり、1つがシンプルに解像度を向上させる使い方、もう一つがGPUのリソースを節約するというものである。前者は文章通りであるが、後者については若干説明がいるだろう。
アップスケーリングは基本的にGPUが生成したシーンにポストエフェクトを適用することで高解像度にする。GPUの出力を高解像度にすればGPUの処理リソースをたくさん食い描画する。アップスケーリングを絵師と超解像度専門のアシスタントに例える。例えば4K60fpsのシーンを生成する場合、アップスケーリングがなければ絵師が4Kの解像度の絵を1秒間に60枚描く必要がある。間に合わなければフレームレートが低下し最悪「コマ落ち」が発生する。一方で、アップスケーリングを利用すると、絵師は雑にフルHDくらいの絵を描いて、超解像度専門のアシスタントがその雑な絵から、残りの部分を考えて4Kにする。こうすることで、多少雑に描いても最終的には4Kという品質を維持することができ、絵師は楽できる。つまりこれは絵師=GPUのリソースが節約されるということを意味する。
ただし、本当の絵は絵師しかかけないので、アシスタントが想像する絵というのはオリジナルではない。そのためゲームなどの設定では、絵師が雑に書くほどクオリティが下がりパフォーマンスが向上する。逆に絵師がきれいに書くほど、クオリティが上がりパフォーマンスが下がるということになる。この場合のクオリティとはオリジナルとの整合性であるため、「きれいである」「きれいではない」という意味ではない。
アップスケーリングにはAMDの「FidelityFX Super Resolution」(FSR)、Intelの「Xe Super Sampling」(XeSS)*1、Appleの「MetalFX Upscaling」などがあるが、NVIDIAには「Deep Learning Super Sampling」(DLSS)がある。DLSSはDeep Learningとあるように、アップスケーリングのアルゴリズムに機械学習を用いる。そのDLSSの演算のためにTensorコアが必要である。
これら2つの機能は、ゲームコンソールとしてあれば可能性が広がる機能である。特にNVIDIAと組むのであればこれら2つの機能は実現してほしいと思う。
次期Switchのプロセッサ
では、次期Switchに採用される可能性のあるプロセッサを考えよう。
NVIDIAはSwitch用に1からプロセッサを作ることはないであろう。これは前述のとおりである。ということを考えるとすでに製品化されているものの中でSwitchに搭載できそうなものを探してみる。
まず、Tegra X1以降、今日に至るまでに発表されたTegraラインナップを羅列する
製品 | 発売 | CPU | GPU | RAM |
---|---|---|---|---|
Tegra X1 (Erista) |
2015 | Cortex-A57 Cortex-A53 |
Maxwell (GTX 900世代) |
LPDDR4 |
Tegra X2 (Parker) |
2017 | Denver2 Cortex-A57 |
Pascal (GTX 10世代) |
LPDDR4 |
Xavier | 2017~2018 | Carmel | Volta | LPDDR4X |
Tegra X1+ (Mariko) |
2019 | Cortex-A57 Cortex-A53 |
Maxwell (GTX 900世代) |
LPDDR4 LPDDR4X |
Orin | 2022 | Cortex-A78AE | Ampere (RTX 30世代) |
LPDDR5 |
Orin Nano | 2023 | Cortex-A78AE | Ampere (RTX 30世代) |
LPDDR5 |
Thor | 不明 | Neoverse-V2 (Grace) |
Ada Lovelace (RTX 40世代) |
不明 |
この表はTegra X1以降を発売(製品登場)順に並べた。世代順ではないことは注意してほしい。世代順で見れば、Tegra X1/X1+・Tegra X2・Xavier・Orin・Thorの順番となる。
この中で採用される可能性が最も高いのはOrinとその小型ラインナップOrin Nanoである。ただ、OrinもOrin Nanoも実質的に同じ世代なので合わせてOrinとして扱う。
理由としては、まずこの中でハードウェアレイトレーシングとアップスケーリングに対応するのがOrinとThorのみであるということ。そして、Orinが最も消費電力的にあり得るということである。
ではThorではだめなのかと言われれば、そもそもThorは製品が出てきてないので詳細がわからないのである。おそらく、Thorは比較的大規模なチップになる可能性があることや、製造プロセスが先端すぎるなどの理由から、Switchに採用されることはないとみられる。それにくわえ、GraceベースのCPUを採用するということはアーキテクチャはHPC向けの「Neoverse」になり、小型でコンシューマー向けのSwitchには向かないだろう。
ではOrinというSoCはどういったSoCなのかを解説する。
Orinは「Cortex A78AE」というCPUを最大12基搭載するSoCである。Cortex A78AEは「Galaxy S21」などに搭載されるSnapdragon 888が採用する「Cortex A78」をベースに、先進運転支援システム(ADAS)と自動運転に必要な最高水準のオートモーティブ安全性レベル(ASIL)を満たしたコアである。つまり、A78は高性能コアなみの性能の元、更に自動運転向けに安定性を備えたCPUであるということである。
OrinのGPUにはAmpereが採用されている。AmpereはGeForce RTX 30シリーズやNVIDIA A100に採用されるGPUアーキテクチャであり、第2世代のRTコアと第3世代Tensorコアを搭載する。つまり、ハードウェアレイトレーシングとアップスケーリングに対応する。
では、Orinのラインナップを見てみる。
モデル名 | CPU コア数 |
CUDA | RAM |
---|---|---|---|
AGX Orin 64GB | 12 | 2048 | 64GB |
AGX Orin 32GB | 8 | 1792 | 32GB |
Orin NX 16GB | 8 | 1042 | 16GB |
Orin NX 8GB | 6 | 1042 | 8GB |
Orin Nano 8GB | 6 | 1042 | 8GB |
Orin Nano 4GB | 6 | 512 | 4GB |
モデル名はあくまでモデル名なので基にしないでほしい。また、これらの構成通りに出てくるとは限らない。もし、この構成の一部として出てくるのであれば、Orin Nano 4GBあるいはNano 8GBとなる可能性が高い。
理由としては、現在のSwitchに規模が似ているためである。
まず、4GBモデルの場合、CPUは8コアから6コアに減るものの、全てのコアがbigコアとなり、おそらく性能は同等かそれよりも高くなるはずだ。GPUは規模が2倍になっているが、クロックが抑えられているため理論性能が変わらないが、ハードウェアレイトレーシングとアップスケーリングだけを望むのであれば問題ない。
8GBモデルの場合、CPUは同様に6コア、GPUは4倍の規模になる。この時点でGPUの理論性能は2倍となりSwitchの性能向上につながるであろう。
ということになる。
まとめると、任天堂がハードウェアレイトレーシングとアップスケーリングだけを望むのであれば「Orin Nano 4GB」相当。性能向上も望むのであれば「Orin Nano 8GB」相当のSoCを採用すると予想する。もちろんこの中間の可能性もある。例えば、6コアCPU+768 CUDA+6GB/8GBのようなチップが出てくるかもしれない。
部品 | 概要 |
---|---|
CPU μArch | Cortex-A78AE |
CPUコア数 | 6コア |
GPU | Ampere |
CUDA | 512~1024基 |
SM | 4基~8基 |
メモリ | 4GB~8GB |
メモリ規格 | LPDDR5 |
まあこうなるかなぁと。もっともこれを下回る可能性はある。ただ、上回ることはないだろうと思う・・・。
〆
さて、今回は次期Switchに搭載されるプロセッサを予想した。リークなどに基づくものではないので、正確性には欠けるだろうが、的を得ているとは思っている。
いつでてくるかなぁ・・・。