« 組み込み屋の為のVerilog入門 その2 | トップページ | プロセッサはこの先どう進化するのか? »

2011年12月12日 (月)

FPGAはチューリングマシンか?

前のブログで、「Verilogはチューリング完全な言語だ」と述べた。
言語としてはまさしくそのとおりである。
ではFPGAはチューリングマシンか?
昨今のFPGAは一番小さいものであってもCPUぐらい簡単に焼きこめるサイズがある。そういう意味でではチューリングマシンに違いない。

しかしながら、ここで問題になるべきはFPGAそのもののもっと本質的な書き換え可能なデバイスという部分である。

チューリングマシンの特記すべき事項は「停止問題」のように、自身の複製化や自身を処理対称にできる問題が記述できることにある。

FPGAは、FlashROMなどから回路をダウンロードして動作するが、多くの品種でブート後に自身を焼いているROMに自在にアクセスできるし自在に書き換えることが可能である。
新しいFPGAでは、ROMに複数の回路を焼いて、自身で切り替えてリブートできたり、パーシャルリコンフィギュレーションといって、一部だけ自分で書き換えられるようなものもある。

FPGAマイコンでLinuxが動く時代であるから、自身の回路を自身の上で合成することもまんざら不可能ではないはずである。意外にセルフコンパイルを行うことで、FPGAの特性を生かした論理合成ロジックが組めるかもしれない。

もっと突っ込むと、FPGAに感染するウイルス回路なんてものも作れるかもしれない。

20世紀はノイマン型の時代であった。21世紀が終わることには、もっと不思議なコンピューティングが流行っているかもしれない。


« 組み込み屋の為のVerilog入門 その2 | トップページ | プロセッサはこの先どう進化するのか? »

FPGA」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: FPGAはチューリングマシンか?:

« 組み込み屋の為のVerilog入門 その2 | トップページ | プロセッサはこの先どう進化するのか? »