コンピュータの作り方

コンピュータの作り方

みし

 ここで言うコンピュータはノイマン型のコンピュータの事である。

 基本的にコンピュータの原理は、入力された1や0が並んだ信号を処理し、1か0が並んだ信号を出力する。

 ただそのままで人間には意味不明なので翻訳する必要がある。これが入力装置(キーボードやマウス)や出力装置(ディスプレイやプリンタ)と呼ばれるものである。

 またソフトウェアを実行するにはどこかにその命令書を記憶させておく必要がある。この命令書やデータを保存する場所を記憶装置という。記録装置も0と1に変換されて記録されている。

 これらは全て1と0を処理する論理回路で記述可能だ。ちなみ1と0を処理する一番簡単な回路はスイッチである。

 押している時が1、離した時を0とすれば、簡単な入力装置が出来があがる。出力装置は電球で可能だ。電気が付いている時が1、消えている時が0とすれば良い。

 そうすると、スイッチを入れた時(入力1)に対して、灯りを付ける(出力1)にする回路はどうなるかと言うと

 この回路は豆電球にスイッチと電池を付けるだけで出来る。簡単に言えば、懐中電灯の事である。

 しかし、これでは入力と同じ出力をするだけになる。複雑な計算をするには論理回路を作らなければならない。

 論理回路と言うのは2つ以上の入力を比較して、1つ以上の出力を返す回路の事である。

 たとえばボタンが2つあり、同時に押したときだけ、1を返す様にしよう。これは先程の豆電球に2つスイッチを付ければできあがる。

画像1

  これをand回路と言う。and回路の出力を反転したものをnand回路と言う

画像2

 全ての論理演算はnandで記述出来るのでnand回路さえ組み上がればコンピュータは論理的に作成可能になる。足し算もかけ算も割り算もnandのみで記述できるのだ(この証明、滅茶苦茶大変だった記憶が)

 ところで、この信号を反転する部分を作るのがやっかいなのである。簡単な方法はリレースイッチを使う方法である。リレースイッチは、電気を流すとオン・オフが出来るスイッチの事だ。駆動させるために手で押さなくても済むのでコンピュータの内部には、このスイッチを使う事になる。

※ このページはよろしくない。次のネタバレを含んでいる。

 そのためコンピュータを作る上での最初の関門はこのnand回路を作るところになる。先程の回路は手で入力していたが、コンピュータはデータや出力に合わせてスイッチを自動で切り替える必要があるのだ。そのためにリレースイッチを使う方法が考えられる。実際、この方法で作られたコンピュータがかつて存在した。しかしこれは遅くて故障率が高く遅い。そのため、現代では高速かつ壊れないスイッチとして半導体を使っている(前述のリンクに出てきているMOS FETリレーの事)

 何が言いたいかと言うとコンピュータを作るだけなら半導体が無くても可能なのだ。nand回路が動くなら電気がなくても動くコンピュータは作成可能だ。高速化と小型化が難しいだけ。

※ そういえば「三体」と言う小説でスイッチを人間にやらせる人間コンピュータなるものが出てきた。


この記事が気に入ったら、サポートをしてみませんか?
気軽にクリエイターの支援と、記事のオススメができます!
みし
なんか適当に書く。付箋代わり どうやらフルスタックエンジニアらしい。 https://mith-mmk.github.io/