EIBの帯域を計算する

出典: PS3 Linux Information Site / Cell/B.E.のパワーを体験しよう

EIBの帯域をバスの構成を振り返りながら計算します。 PLAYSTATION3(PS3)のCellのクロックは3.2GHzで、バスはその半分の1.6GHzで動作します。

まずEIBのバス1本は128bit(16byte)です。

⇒ 16 byte/cycle

一本のバスでDMA転送を同時に3つまで実行できるのでその3倍

⇒ 16 byte/cycle * 3

このバスが4本あるのでその4倍

⇒ 16 byte/cycle * 3 * 4本

従って合計では

⇒ 192 byte/cycle (bus-cycle)

ここでいう1クロックとはバスクロックの事です。 バスはCPUの半分のスピードなのでこれをCPUクロックに直すと

⇒ 96 byte/cycle (cpu-cycle)

となります。この96byte/cycleという数字はこれまで比較的よく目にしたと思います。 秒あたりの転送バイト数に直すと3.2GHzなので

⇒ 96 byte/cycle * 3.2GHz = 307.2Gbyte/s

しかし実際にはこの数字に達する前にバスを調停するアービターの最大値によって律速されます。 アービターは1バスサイクルに1回動作し、1回のトークンで最大128byteのデータを転送できるので

⇒ 1.6GHz * 128
   = 204.8Gbyte/s

がEIBのバスの最大帯域となります。


(捕捉) Cellの図でEIBを簡略化して1本しか書かない事がありますが正確には4本です。



Cellプログラミングのレシピに戻る

表示
個人用ツール
Open Source Projects