Prev / Next / /home/pochi/ChangeLog

データフローマシン、タイルプロセッサの話題[computer]

2006-01-04

http://pcweb.mycom.co.jp/articles/2006/01/01/dataflow/

非ノイマン型アーキテクチャの計算機に関する話。
単純な処理をする演算器をタイル型に配置することによって、
配線による遅延を回避するぜ、というネタ。

(アウトオブオーダー処理とは)
プログラム順の処理(インオーダー処理)ではなく、
いわばデータの到着順に命令を組み替え、
処理を実行していく。

この、データの到着順に処理を行っていくロジックが、
データフローアーキテクチャの一つの具現となっている


データフローマシンの最も革新的な部分の一つは、
処理の並列性を最大限に高めることができること。


タイルプロセッサとは、配線遅延を回避するために考えられた
チップアーキテクチャ。


タイルプロセッサでは、隣接するコア間のみの近接配線を採用し、
メッシュネットワーク的な通信網で情報処理を行う。
このため、コア数を増やし、回路規模を大きくしていっても、
動作速度を高速に保つことができるのである。


へー。面白いしすごいな。

一方、独自のアーキテクチャとなるため、
命令セットは既存のものと互換性がないものとなる。


でもこれが問題だよな。
VLIW なんかでもそうだったけど、
コンパイラに負担がかかりそうだ。
というかどういう風に変換すりゃ良いんだろ?
全然思いつかない。


まあコンピュータというのは、そもそも、
何らかのINPUTを元に計算しOUTPUTする、
というだけの機械なので、アーキテクチャは、
今動いているもの以外にもいっぱい考えられるんだよね。

ちなみに「ノイマン型」というのはわりとあいまいな定義で、

ノイマン・アーキテクチャ : 命令とデータの区別をしない
ハーバード・アーキテクチャ : 命令とデータを区別して配置

こんなふうに定義されることもあるし、
以下の5つの要素から成るもの、と定義されることもある。

- 演算論理装置
- 制御装置
- メモリ
- 入出力
- バス

かと思えば、

プログラム内蔵=ノイマン型

みたいな、言いかたをしてる場合もあるし、

読み込み --> デコード --> 処理 --> 読みこみ

こういう逐次処理をするのがノイマン型である、
という言いかたをしてる場合もある。

で、非ノイマン型というのは、ノイマン型を
上のどれかだと定義して、それとは違うんだよ、
と言っているアーキテクチャのことなのよね。

なので非ノイマン型の研究をやっている人同士が、
全然違うことをやってる、ということは良くある話だと思う。

ちなみに、素朴なノイマン型プロセッサというのは多分
今は存在しなくて、(しないよね???)、
だいたいどのプロセッサもなんらかの工夫をして
ノイマン型の限界(ノイマンズ・ボトルネック)を回避している。

フォン・ノイマン・アーキテクチャ - wikipedia
http://en.wikipedia.org/wiki/Von_Neumann_architecture
http://ja.wikipedia.org/wiki/%E3%82%B9%E3%83%88%E3%82%A2%E3%83%BC%E3%83%89%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E6%96%B9%E5%BC%8F

permlink