日本でハリウッドVFXを制作! 「経産省アイディアボックス」 結果:  
●まとめエントリはこちら ●FAQ ●お問い合わせは左のメールフォームから

2009年2月5日木曜日

変数とはなにか (2)

メモリとはどんなものかを知るために、
現在のコンピュータの基礎となったチューリングマシンをおさらいしてみた。

チューリング機械の解説


チューリングマシンの原理

y.k.turing 万能チューリングマシンシミュレータ?

レゴで作られたチューリングマシン



ここにはすでにメモリ(テープ)という概念が存在する。

1)現時点での状態によって、(メモリのリード)
2)行動が二つあるうちの一つを選択する。(メモリのライトもしくは何もしない)
3)行動の取り方(コマンド)が本体装置に内蔵(プログラム)されている。
4)行動を取った後、次の場所へ移動する。

これがコンピュータの基本動作ということらしい。
ある場所のある状態(データ)を、コマンドによって変更する/変更しない。
そしてそれを繰り返す。


フォンノイマン型コンピュータの特徴である「プログラム内蔵方式」は
ここでは「3)」にあたり、このメモリの使われ方は「変数」や「レジスタ」の
メモリの使われ方とは若干ことなるので、ここでは除外して考える。

フォンノイマン型コンピュータ
ノイマン型コンピュータと非ノイマン型コンピュータ


自分なりにもうすこし考えてみる。

あるコマンドをひとつ実行するだけなら変数(メモリ)を使わなくても出来る。
print 1+1


しかし少しでも複雑な処理をさせようとおもうと、
アルゴリズムにしたがい、複数のコマンドを逐次的に実行する必要がある。
1)データをあるコマンドで処理し
2)その結果を次のコマンドへ引き継ぐ

しかし、場合によってはその出力結果を別のコマンドでつかうまで、
一時保管しておく必要がある。

そのようなときに変数(レジスタ?)がつかわれるのではないか(目的:データの引き継ぎ)

人間が、二桁以上の数字を計算するとき、
1)一桁目を計算して、
2)その結果を記憶して
3)二桁目の計算結果がでてから、
4)繰り上がり部分の計算を行う。

このように計算においてもメモリを利用するのは、不可欠である。

0 件のコメント:

コメントを投稿