コンピューターが動く仕組み

コンピューターの動く仕組みでどうしても分からない部分があった。本を読んだり考えたりしてかれこれ数か月も費やしたが、今日ようやく分かった。

はじめに、謎を解く大きなヒントになったサイトを記載しておく。相楽製作所(さがらせいさくじょ)さんという加工会社のような名前のサイトだが紹介文を読むと個人のメイカーさんとのこと。コンピュータの基本的な仕組みについて非常に分かりやすく書かれておりとても助けになった。また、コンピュータについて調べたきっかけというのが自分と似ていたのも良かったかもしれない。思考の仕方が似ているから説明が分かりやすいと感じたのかもしれない。

相楽製作所

コンピュータはスイッチ操作しなくてもなぜ自走できるのか?

さて、本題の分からなかった謎についてだが、分からなかったことというのは、なぜコンピュータが自走できるか?ということ。コンピューターが数字の0,1で全てを表現、計算することは分かっている。電源を繋いだ回路にスイッチを設けて、スイッチをon/offさせることで電圧の高低を作り出し、それを0,1として利用していることも分かっている。スイッチとしてトランジスタを利用していることも分かっている。だが、このシステムを動かすためにはスイッチを動かす必要がある。そのスイッチを人力や駆動部品も無いのにどうやって動かしているかがどうしても分からなかった。

プログラムカウンタ

理解するためのキーになったのは相楽製作所さんが解説している、「プログラムカウンタ」というもの。これはクロック周波数が1回入力されるごとに1,2,3,4・・・・のように出力される数字が1つずつ増えていく回路。この、クロック毎に増えていく数字を上手く利用して動作が進んでいくようにコンピュータを作れば、自走できるような気がする。

マルチプレクサ

ここまでで、謎だった部分に対する答えが何となく見えてきたが、相楽製作所の解説を読み進めていくともう少し理解が進んだ。役に立ったのはマルチプレクサ回路だ。マルチプレクサ回路は、入力として1とか2とかの数字を入れると、それに対応する1,0の羅列のグループが選択されるというもの。(詳細は相楽製作所さんの解説参照)この複数のグループをレジスタに登録されている命令と考えれば、カウンタ回路とマルチプレクサ回路の組み合わせによって、レジスタに登録されている命令を順番に読み出したり書き込んだりすることができそうな気がする。(記録のためのフリップフロップ回路も理解している前提で記載しているが、フリップフロップ回路は概念としては簡単なので説明は端折る)

以上、かなりザックリな説明だし、本当に合っているかは分からないが自分としては長い間謎だった部分が解消してスッキリした。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です