SATOXのシテオク日記

~ふもっふ、ふもふも~

Xbox360について語ってみるふり

Xbox360について語ってみるふり。間違ってても大目に見てね。

■CPU
Cellに複数のコアがあるように、Xbox360のCPUは1つのチップに3つのコアが入っています。3つのコアを含む1つのCPU。
コイツはそれぞれのコアがハイパースレッディングなので合計6個のスレッドが同時に走ります。さらに4ウェイなので、3コア×2スレッド×4ウェイで同時に24命令が実行できるわけです。さらに秒間3.2ギガクロックなので、3.2ギガ×24命令=76.8ギガ命令/秒となるわけです。秒間76,800,000,000命令(笑)。もちろん、メモリアクセスもレジスタアクセスに比べれば遅いだろうし、スレッドなので都合の良い命令を繰り返した場合のピーク性能であることを忘れちゃいやん。
■キャッシュ
面白いのがL2キャッシュを共有で1MB持っていること。ぼーっと考えると、まずコア同士のレジスタをお互いに参照したり書き換えることは出来ないわけです。だから一度メモリに書き出してから他のコアに書き込んだり参照したりしなければいけないわけですが、高速なL2キャッシュメモリをかえす事でとっても遅い外部メモリアクセスを回避することが出来るわけです。……でも同期処理とかめんどくさそうですね(^^;コア自体も128ビットのレジスタを128個持ってます。16バイト×128なので、2KBものレジスタ。これはものすごい数。プログラムの高速化でいつも悩むのがメモリアクセスなので、キャッシュをかえしてドバッとデータを読み込んで、レジスタだけで計算してドバッとメモリに書き出すという荒業ができちゃいます。
■その他
……あとはこのXbox360、そんなにつぶやきたい点はないなぁ(笑)。
512MBというメモリはうれしい。ワイヤレスコントローラのサンプリングレートは大丈夫?
メディアもDVD9で十分だと思うけど読み込み性能が気になりますなぁ。

impress:ベールを脱いだ「Xbox 360」

特に気になるのは先の日記にも書いたように、Xboxとの互換性。CPUとGPUをエミュレートをするのに十分なスペックだとは思うのですが、かなり高度なんじゃないかと思う次第。PS2の場合はPS1のハードウェア(IOPとSPU)を持ってました。
個人的にはXbox360にはがんばって欲しいです。