view 1.tex @ 2:35b71ac6ce17 default tip

update tags
author convert-repo
date Mon, 10 Nov 2008 05:00:42 +0000
parents 685b35adf419
children
line wrap: on
line source


\section{ Multi core system}

複数のCPUを載せたコンピュータは昔から使われて来たが、最近の
傾向は、一つのChipに複数のCPUコアを載せたものの登場である。
従来のマルチプロセッサは同期をサポートしたキャッシュを経由し
メインメモリにアクセスすることが多いが、最近開発されたMulti
Core では、CPU間の通信に特別なポートを用意している。
例えば、IntelはQuick Pathと言う通信ポートががある。
これにより、メインメモリへのアクセスによる競合を避けることが
できる。しかし、その分、複雑なプログラミングが必要となる。

Cell Broadband Engine\cite{Cell} は、SCEIとIBMによって開発された
PS3ゲーム
機用のCPUであり、2 thread のPPU(PowerPC Unit)と、8個のSPU (Synergetic
Processing Unit) を持つ(図\ref{cellarch})。本研究で用いたPS3Linux (FedoreCore 6)
では、6個のSPUを使うことが出来る。SPUはそれぞれ256kbのローカル
メモリを持ち、バスに負担をかけることなく並列に計算を進めること
が出来る。SPUからメインメモリへは、SPUの機械語から直接アクセス
することは出来ず、CellのMFC(Memory Flow Controller)へDMA
(Direct Memory Access) 命令を送ることで行われる。
SPUはグラフィックスに適した、4つの固定小数点、浮動小数点を同時に
演算する命令などを持ち、PPUに比べて高速な演算が可能であり、
ほとんどの演算をSPU上で進めることが推奨されている。

\begin{figure}[htb]
\begin{center}
\includegraphics[width=6cm]{fig/cell.eps}
\caption{cellarch}
\end{center}
\label{cellarch}
\end{figure}