flat7th

memo/20120623

created 2012-06-23 modified 2012-06-23 

チューリングマシン、マルチコアCPU、SSD


今、思うこと。

ノイマン型コンピュータなんだけど、一皮脱皮して

スタックじゃなくてリングバッファベースの計算機をいじってみたい


発想の元ネタ
  • そろそろハードディスクがSSDに変わりそうですよね。SSDは同じところに何度も書くのよくない。リングバッファのほうがSSDにやさしい。
  • チューリング生誕100年だとか。ノイマン型コンピュータはチューリングマシン...。で、チューリングマシンの紙テープがリングになってたら(もしくはねじって、メビウスの輪)、戻さないでどんどん先へ進んでいく計算機になる。
  • マシン語レベルで関数呼び出しってのは、スタックにパラメータつんで、関数おわりでスタック巻き戻す訳ですが、それって、1CPUコアではいいけど、マルチコアだと意味ない。むしろ、スタックじゃなくてリングバッファを使って、先へ先へ進んでいく計算機だと、マルチCPUを有効に使えるかも。
  • outパラメータを使うとおかしな話になるので、どんどんデータをフォワードしていく構造で計算を設計する...このへん未整理だけど、友人がなんかおもしろいこと言ってたので

Forthっていう、スタックマシンタイプのプログラミング言語があるけど、あれをリングバッファにしたらどうなるんだろ?




数学や物理、化学は「科学的な手法で」世の中に役立っているというのに、計算機科学は、相変わらず発見手法と人足でやってる訳ですが、

計算機科学というのは、こういうの(チューリングマシンの次、とか、GCの次、とか、RDBの次、とか...)を考えることだとおもうことです。

がんばろうぜ。計算機屋。