Mercurial > hg > Papers > 2008 > akira-ieice
view doublebuffer.tex @ 12:b0a2b2ca2123 default tip
update tags
author | convert-repo |
---|---|
date | Mon, 10 Nov 2008 04:59:52 +0000 |
parents | a9f3e198cb96 |
children |
line wrap: on
line source
\section{並列処理} Cellではあらゆるレベルで並列に動作させることが求められる。 ダブルバッファがその一例として挙げられる。Cellではそれぞれのコアがメイン メモリを直接参照することができない。そのためDMAによりデータをやり取りす るのは前述した通りである。DMAはCPUを介さずに直接データ転送を行う方式のこ とである。そのためDMAしている間、SPUは何らかの処理を行うことができる。 SPUは入力用のBufferと出力用のバッファを二つずつ用意する。そうすることにより図\ref{fig:pipeline1}のようなパイプライン処理が可能となる。 \begin{figure}[htb] \begin{center} \includegraphics[scale=.5]{./fig/pipeline1.pdf} \end{center} \caption{パイプライン} \label{fig:pipeline1} \end{figure} またタスクマネージャはPPUで実行するかSPUで実行するかを明示的に書くことができる。またSPUを使う場合は使うSPUの数を指定することができるようになる。 そのため、ダブルバッファを利用した図\ref{fig:pipeline}のようなSceneGraphとCreate\_SPANとDRAWがパイプライン的に動作することができる可能性もある。またこれらの動作はそれぞれ内部でもパイプライン的に動作する。 \begin{figure}[htb] \begin{center} \includegraphics[scale=.5]{./fig/pipeline.pdf} \end{center} \caption{タスクマネージャが行うパイプライン} \label{fig:pipeline} \end{figure}