日記

PS4の発表で久々にゲーム機のスペックにテンションが上がった

CPU:x86-64 AMD “Jaguar”,8 cores
GPU:1.84 TFLOPS, AMD next-generation Radeon based graphics engine
メモリ:GDDR5 8GB
ハードディスク:内蔵
光学ドライブ(読み出し専用):BD 6倍速CAV/DVD 8倍速CAV
入出力:Super-Speed USB(USB 3.0)ポート、AUX ポート
通信:Ethernet(10BASE-T、100BASE-TX、1000BASE-T、IEEE 802.11 b/g/n、Bluetooth 2.1(EDR)
AV出力:HDMI出力端子、アナログAV出力端子、光デジタル出力端子

今のところ↑のようなスペックが出とります。

まず驚いたのはまさかのx86 CPU搭載。
これでCell搭載のPS3との互換性が維持される可能性はかなり低くなったと見るべきで、まぁ一般的にはマイナス材料でしょう。
クラウドからのストリーミングで対応と発表はありますが、もしかしてサーバ側で実行してクライアント側は入力と画面表示を受け持つだけって感じでしょうか。
(関係ないけどNVIDIAがそういう技術をデモしてたような)
もしそうだと使い勝手と料金が気になりますね。
1時間100円とかの従量課金制だったりしたら個人的に萎えます。
ああでもそれで色んなゲームを試せるならアリかもしれませんね。

もしくはダウンロード販売的なものを意味する場合、PS1やPS2はともかくPS3のゲームはエミュレータで直接動かすというわけには行かないでしょうからPS4用にリメイクが必要になるんじゃないでしょうか。
そうするとタイトル数的にかなり限られるような気がします。
あとは、タイトル数の問題が無かったとしてもすでに持ってるPS3のゲームをダウンロードするのに料金が必要になるかどうかも気になるところです。
移植作業が必要ならそのぶんコストがかかるわけで、ユーザー側にとって一番いいシナリオになったとしてもタダにはならない気はします。

まぁどちらにしろ個人的には、初代PS3(60GBモデル)がまだまだ快調なのでそこまでガッカリ感はないですが。

それよりもx86 CPUの強みはその開発者の多さですね。
普通にプログラム書くだけならコンパイラがしっかりやってくれるので、CPUのアーキテクチャなんぞ知らなくても構わないんですが、ゲームプログラムとなるとアーキテクチャに対する知識が重要になる場面はまだまだ多いんではないかと思います。

GPUに関しては1.84TFLOPSということで、単純に比較するとRadeon HD 7850より少し良いくらいですかね。
これから1年近く後に出て、さらにそれから数年戦う事を考えるともうちょっとあればな〜と言いたいところですけど、昔とは事情が違ってPC用GPUもかなり進化してるというかAとNの二強の独走状態ですから、それらをぽっと出の独自アーキであっさり抜き去るなんてことは最近は不可能に近いですし、現にPC用GPUではもっと性能の良いものがあるとは言えそれはらコスト的にゲーム機に搭載するのは無理でしょう。
まぁ現状ではよくがんばったと思います。

一番驚いたのはGDDR5 8GBという点。
容量と種類からしてUMA的な感じになるんでしょうね。
で、ここが重要なんですがCPUもAMD、GPUもAMD、そしてそれらで共有されるメモリ、と聞いて思いつくのは最近AMDが力を入れてるHSA(Heterogeneous System Architecture)です。
HSAというのは簡単に言うと、CPUとGPUが共有メモリを介して密に結合したアーキテクチャにおいて、CPUとGPUの差をフレームワークで吸収して同じようにプログラミング出来るようにする規格のようなものです。多分。
(HSAという言葉がアーキテクチャを指すのか、フレームワークを指すのか、規格を指すのか、計画を指すのか、記事によってふわっとしてるので正直よくわかりませんw)
現状ではCPUやGPUのアーキテクチャの差は大きいので消費者向けPC業界ではそう簡単には行かないべと個人的にやや冷ややかな目で見ております。

がしかし、それがゲーム機に搭載されるとなると話は別です。
互換性を保たなければいけないPCと違って、ゲーム機なら最初から思い切ってHSAに適したハードウェア設計に出来るでしょうし、ソフトウェア(ゲーム)も最初から思い切ってHSAを活かすような設計に出来るでしょう。
HSAが真に活きれば、ボトルネックになりやすいメインメモリからグラフィックメモリ(またその逆)へのデータの転送が必要ないため、効率面でかなりメリットが大きいと思われます。
同じ領域へCPUやGPUから自由に読み書き出来るなら、かなり効率的にかなり”えげつない”ことが実現出来るんじゃないかと。

GPUで実行されるシェーダーは最近だとかなりの表現力を持ってるように見えますが、基本的にシェーダーは頂点単位、ピクセル単位で実行されるもので、要は何もしなきゃゲーム内世界のかなり局所的な情報にしかアクセス出来ないわけです。
それを例えばグローバルイルミネーション等、大域的な情報が必要な表現をする場合は、苦労に苦労を重ね、工夫に工夫を重ね、フェイクにフェイクを重ねシェーダーの特性に適した形でデータを供給してあげることでなんとかリアルタイムでレンダリング出来てるわけです。

しかしそれがPS4なら、基本的にはGPUでレンダリングし、大域的な情報や柔軟性が必要な処理は一旦CPUに処理を戻して、さらにまたGPUで最終的に画面に出力するなんていう、現状でも出来なくはないけどレベルの事がもしかしたら効率的に実行可能になるかもしれません。
(とはいえGIぐらいならGPU+GPGPUでやったほうが早そうですし、具体的な例は概要レベルのことさえ思いつかないんですけどねw)

まぁ本命は、CPUをGPU的に使うことじゃなくて、GPUをCPU的に使うGPGPUになるでしょう。

ちょっと夢見すぎですかね?
ぶっちゃけAMDよりIntelやNVIDIAの方が好きなのでそういう意味では今回ガッカリしたのも事実なんですが、HSAがPS4でどう花開くか期待したいと思います。

箱を開けたらHSAまったく関係なかったりしてw

追記
やはり最後に書いたようにPS4はHSA非対応かもしれません。
APU内部のメモリバスの形式が既存のAPUと同じ(HSAの肝であるhUMAに対応した次世代のAPUとは違う)という話が出ています。
ということは、CPUやGPUのコア同士でメモリのコヒーレンシを保つハードウェアが組み込まれず、HSAの肝であるhUMAに対応しない可能性が高いです。
せっかくメモリはUMA、GPUはGCNとなってるのに、もったいないというか残念。

さらに追記
AMD: hUMAは性能の劇的向上のキー。PS4だけが対応している|みらいマニアックス !
こういう記事(しかもネタ元はAMDの人)もあり、私の悲観的な予想に反してhUMA対応かもしれません。
しかしHSAとhUMAの厳密な関係ってどんなんなんでしょうか?
hUMAについて、「CPUとGPUがソフトウェア的にメモリ空間を共有する」と説明されてる記事もあり、hUMA対応にはコヒーレンシを保つためのハードウェアの存在は必須でないのかもしれません。

コメントを残す

メールアドレスが公開されることはありません。



※画像をクリックして別の画像を表示

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください