view multicore.tex @ 7:5cfa596eece1

*** empty log message ***
author akira
date Wed, 05 Mar 2008 11:25:22 +0900
parents cba427f17200
children baeefa4212db
line wrap: on
line source

\section{マルチコアシステム}
一概にマルチコアアーキテクチャといっても様々なマルチコアアーキテクチャが
存在する。簡単に分別するとホモジニアスマルチコア(図\ref{fig:homo})とヘテロジニアスマルチコ
ア(図\ref{fig:hetero})がある。
\begin{figure}[htb]
\begin{center}
\includegraphics[scale=.5]{./fig/homogeneous.pdf}
\end{center}
\caption{ホモジニアスマルチコア}
\label{fig:homo}
\end{figure}
\begin{figure}[htb]
\begin{center}
\includegraphics[scale=.5]{./fig/heterogeneous.pdf}
\end{center}
\caption{ヘテロジニアスマルチコア}
\label{fig:hetero}
\end{figure}
ホモジニアスマルチコアはすべてのコアが同じコアで構成され、プログラマ側は
CPUコアや命令セットの違いを意識する必要がないが、汎用的なコアですべての
処理をこなすため、処理効率が悪いという特徴がある。それに対してヘテロジニ
アスマルチコアは二種類の構造があり、単一命令セットで構成されたマルチコア
と異種命令セットで構成されたマルチコアが存在する。単一命令セットで構成さ
れたマルチコアはCPUコアをタスクにあわせて最適化することで、効率の高いCPU
を作ることができる。しかし、異種命令セットのヘテロジニアスマルチコアはそ
れだけではなく、命令セットアーキテクチャレベルからタスクを最適化する必要
がある。

必然的にシングルコアでは限られていたアルゴリズムがマルチコアの種類や並列
化を考慮しアルゴリズムを考え直さなければいけない。