annotate conclusion.tex @ 19:d43fc19aed85 default tip

update tags
author convert-repo
date Mon, 10 Nov 2008 04:59:37 +0000
parents 6c558cd2ac8b
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6
a46c6f313a0b *** empty log message ***
gongo
parents:
diff changeset
1 \section{まとめ}
15
6c558cd2ac8b *** empty log message ***
gongo
parents: 7
diff changeset
2 本研究では、Many Core Architecture 向けの Fine Grain Task OS を提案し、
6c558cd2ac8b *** empty log message ***
gongo
parents: 7
diff changeset
3 例題として Cell 上で動作する、ゲームプログラム用 OS である Cerium を開発した。
6c558cd2ac8b *** empty log message ***
gongo
parents: 7
diff changeset
4 Cerium を用いることで、PS3 上という限られた環境だけでなく、
6c558cd2ac8b *** empty log message ***
gongo
parents: 7
diff changeset
5 Linux や Mac OS X でもテストやデバッグを行うことが出来るため、
6c558cd2ac8b *** empty log message ***
gongo
parents: 7
diff changeset
6 並列プログラミング経験の低い学生の実験にも使用できる。
6
a46c6f313a0b *** empty log message ***
gongo
parents:
diff changeset
7
a46c6f313a0b *** empty log message ***
gongo
parents:
diff changeset
8 \section{今後の課題}
15
6c558cd2ac8b *** empty log message ***
gongo
parents: 7
diff changeset
9 ここでは、Cerium に関する課題を示す。
6
a46c6f313a0b *** empty log message ***
gongo
parents:
diff changeset
10
a46c6f313a0b *** empty log message ***
gongo
parents:
diff changeset
11 \subsection{Scene Graph}
a46c6f313a0b *** empty log message ***
gongo
parents:
diff changeset
12 カメラや光源、コントローラ等からの入力に対応するノードが未実装である
a46c6f313a0b *** empty log message ***
gongo
parents:
diff changeset
13
a46c6f313a0b *** empty log message ***
gongo
parents:
diff changeset
14 \subsection{Rendering}
15
6c558cd2ac8b *** empty log message ***
gongo
parents: 7
diff changeset
15 必要最低限の機能は実装しているが、ゲームとしては以下の機能が必須といえる。
6
a46c6f313a0b *** empty log message ***
gongo
parents:
diff changeset
16
a46c6f313a0b *** empty log message ***
gongo
parents:
diff changeset
17 \begin{itemize}
a46c6f313a0b *** empty log message ***
gongo
parents:
diff changeset
18 \item Shading
a46c6f313a0b *** empty log message ***
gongo
parents:
diff changeset
19 \item Alpha blending
a46c6f313a0b *** empty log message ***
gongo
parents:
diff changeset
20 \end{itemize}
a46c6f313a0b *** empty log message ***
gongo
parents:
diff changeset
21
15
6c558cd2ac8b *** empty log message ***
gongo
parents: 7
diff changeset
22 また、現在は描画時に Z Buffer を用いているが、Z sort を用いることにより、
6
a46c6f313a0b *** empty log message ***
gongo
parents:
diff changeset
23 SPE 上に Z Buffer の領域は必要なくなる。
a46c6f313a0b *** empty log message ***
gongo
parents:
diff changeset
24 Z sort とは、面に対してどちらが手前にあるかというのを判断し、
a46c6f313a0b *** empty log message ***
gongo
parents:
diff changeset
25 おくにある面から描画していく手法である。
a46c6f313a0b *** empty log message ***
gongo
parents:
diff changeset
26
a46c6f313a0b *** empty log message ***
gongo
parents:
diff changeset
27 \subsection{Task Manager}
a46c6f313a0b *** empty log message ***
gongo
parents:
diff changeset
28 プログラムを SPE 上にロードする機能は必須である。
a46c6f313a0b *** empty log message ***
gongo
parents:
diff changeset
29
a46c6f313a0b *** empty log message ***
gongo
parents:
diff changeset
30 このライブラリを学生が使用する場合、
a46c6f313a0b *** empty log message ***
gongo
parents:
diff changeset
31 並列化のためのデータとコードの分割は、
a46c6f313a0b *** empty log message ***
gongo
parents:
diff changeset
32 並列プログラミングの経験がない学生には難しいため、
a46c6f313a0b *** empty log message ***
gongo
parents:
diff changeset
33 何らかのひな形を示す必要がある。
a46c6f313a0b *** empty log message ***
gongo
parents:
diff changeset
34
7
bd8574dedd1b *** empty log message ***
gongo
parents: 6
diff changeset
35 \figref{fig-pipeline} では、Task Exec の中で DMA の処理を
bd8574dedd1b *** empty log message ***
gongo
parents: 6
diff changeset
36 行うことを想定した実装にはなっていない。
bd8574dedd1b *** empty log message ***
gongo
parents: 6
diff changeset
37 Exec の中でアドレスの計算をし、それを元に DMA 転送をする、というのもありえる。
bd8574dedd1b *** empty log message ***
gongo
parents: 6
diff changeset
38 しかし、ユーザが勝手に DMA 命令を発効すると、DMA 完了待ちやデータ重複など、
bd8574dedd1b *** empty log message ***
gongo
parents: 6
diff changeset
39 パイプラインの流れが崩れてしまう恐れがある。
bd8574dedd1b *** empty log message ***
gongo
parents: 6
diff changeset
40 それを回避する実装が必要である。