view cell.tex @ 9:fea1ac32de27

*** empty log message ***
author gongo
date Wed, 26 Mar 2008 12:48:16 +0900
parents 2ef36d40ee96
children 887d57278cb6
line wrap: on
line source

\section{Cell}
Cell Broadband Engine \cite{cell} は、SCEI と IBM によって開発された
CPU である。2 thread の PPE (PowerPC Processor Element) と、
8 個の SPE (Synergetic Processor Element) を持ち、
EIB と呼ばれる高速リングバスで構成されている。
本研究で用いた PS3Linux (Fedora 8) では、
6 個の SPE を使うことができる (\figref{fig-cbe}) 。

\begin{figure}[tb]
  \begin{center}
    \includegraphics[scale=0.41]{figure/cbe.pdf}
    \caption{Cell Architecture}
    \label{fig-cbe}
  \end{center}
\end{figure}

SPE には 256KB の Local Store (LS) と呼ばれる、SPE から唯一直接参照できる
メモリ領域があり、バスに負担をかけることなく並列に計算を進めることが出来る。
SPE からメインメモリへは、直接アクセスすることは出来ず、
SPE を構成する一つである MFC (Memory Flow Controller) へ、チャネルを介して
DMA (Direct Memory Access) 命令を送ることで行われる (\figref{fig-cbe-spe}) 。

\begin{figure}[tb]
  \begin{center}
    \includegraphics[scale=0.6]{figure/cbe-spe.pdf}
    \caption{Synergetic Processor Element}
    \label{fig-cbe-spe}
  \end{center}
\end{figure}


SPE はグラフィックスに適した、4 つの固定小数点、浮動小数点を
同時に演算する命令などを持ち、PPE に比べて高速な演算が可能である。
そのため、ほとんどの演算を SPE 上で行わせることが推奨されている。


\subsection{SPURS}
ここでは、現在発表されている Cell の開発環境である SPURS について説明する。

SPURS は、閉じた並列分散と考えることができる Cell の環境で、
いかに効率よく動作させるかということを考えたシステムである (\figref{fig-spurs-pipeline}) (\figref{fig-spurs-task}) 。

\begin{figure}[tb]
  \begin{center}
    \includegraphics[scale=0.36]{figure/spurs-pipeline.pdf}
    \caption{SPURS Pipeline}
    \label{fig-spurs-pipeline}
  \end{center}
\end{figure}

\begin{figure}[tb]
  \begin{center}
    \includegraphics[scale=0.36]{figure/spurs_task.pdf}
    \caption{SPURS Task}
    \label{fig-spurs-task}
  \end{center}
\end{figure}

Cell の性能を存分に生かすためには SPE を効率よく使い 
切ることとあらゆるレベルで並列処理を行うことである。SPE を効率よく使い切るには 
SPU の動作を止めることなく、同期を最小限に行う必要がある。 
そこでSPURSではSPUを効率よく利用するために、PPUに依存せずにSPUコードを 
選択し、実行することと機能は効率重視で割り切ることを挙げている。
現在 SPURS は一般には公開されていない。