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本です。
