コンピュータはスイッチのかたまり

「コンピュータってどういうもの」という質問をプログラミングをバリバリやっている人にすると,いろんな答えが帰ってきます.答えが変わるのは,その人が一番最初にどんなコンピュータに出会ったのかということが大きいのでしょうね.

僕は「コンピュータはスイッチのかたまり」という印象を持っています.プログラムのいたるところスイッチだらけに見えてます.なんでそう思っているかというと,僕は最初に電子回路から入っているからです.

最初は中学生の頃ですが,雑誌に載っているトランジスタを使った回路をそっくりそのまま作って動かしていました.今でいうプログラミングの「写経」と同じことですね.その後,抵抗の値を適当に入れ替えて動きがどう変わるのかという遊びをやってまして.これもプログラミングでは,写経したソースコードの数字を適当に入れ替えて遊ぶあれです.プログラミングと違うのは手で触れなくなるくらいトランジスタが熱くなったり,コンデンサーを爆発させたこともあります.

でも,アナログの回路は結局まったくわからなかったです.今となっては当然といえば当然ですね.それを理解するのに必要な数学の知識がまったくなかったわけですから.

ところがここですごいものを見つけてしまうのです.それが論理回路です.たまたま旭川のデパートで「秋葉原フェアー」というのがやられていて,そこでTTLというICが10個くらい刺さった中古の基盤が売られていまして.中学生が買える値段だったと思います.それをカバンにぎっしり買って帰った記憶があります.

半田付けされたICを基盤から外すというのはとてもテクニックが必要です.僕は半田をつけるより外した回数の方がずっと多かったです.なんとか外しまして,型番を見ます.自分の地元の本屋にもTTLの規格表というのは売ってあったので,それで調べまして,手に入れたICはどんな働きをするのかワクワクしていました.

デジタル回路はアナログと違って難しい数学は必要ありません.本当の設計には必要なのでしょうけれども,部品をつなぎかえて創造的にものをつくるという点では,数学がなくても作ってゆけます.

TTLの規格表というのは,とてもワクワクする本でして,実際に僕が持っていないICでも,こういう機能があるということが詳細に書いてあるので,なにに使えるか想像できます.で,電子工作の雑誌にはそういう部品を通信販売で購入できるページが沢山乗ってて,それを見て,この部品は500円もするのか,すごいな.と,夢というよりお金さえあれば手に入れられるものとして見ていました..

その中には,本当にすごいICがあるんですよ.4ビットの入力が2つ(AとB)あって,それぞれに対してどんな演算をするかというのを決める入力が3つ(か4つ)あります.その演算の結果を返す出力がまた4ビットある.たとえばA+BとかA-Bとか A and B といった演算がこのIC一つでできるのです.足し算の場合は桁上がりも考えられていて,下の桁から上がってきた入力と,桁上がりが起きた時に上の桁に伝える出力もありました.なので,このICを沢山つなげると何ビットの計算でもできるというすごいものでした.で,このICは足の数が多いので,値段も高かったです.最初の頃の電卓にはこのICが入っていたんでしょうね.

この頃,僕はコンピュータのことは知らなかったと思いますが,とにかく,これらを組み合わせさえすれば,いろんなものが作れるんだということにワクワクしてました.で,最終的にには実際に自分でも通販で買って,ゲームを作ったりしてましたよ.でも買ったICは(中学生にとっては)高価だったので,作ってもすぐにバラして,何度も再利用しましたけれど.

その後です.高専に入ってからマイコンに触れたのは.当時マイコンは8万円くらいで500円にヒーヒー言っている中学生にはまったく手の届かなかったものでしたが.学校には何台かあって,遊ばせてもらいました.そこで,どんな遊びをしていたかというと,3+4を計算させて7になるかどうかです.メモリーに3(8ビットだと00000011)と4 (00000100)を書き込んで,足し算をするプログラムを走らせると,計算の結果を他のメモリーに書き込んで止まります.そのメモリーを読んで,ちゃんと(00000111) 7が書き込まれているかどうかを見て,感動しているというものです.

で,スイッチが沢山というのはこういうことです.

たとえば,
3+4+5+6
という計算をさせたいとします.そのとき,TTLの論理回路でこの計算をつくるには,+が3回出てくるので,足し算をする回路が3つ必要です.それらを繋ぐとこの計算ができます.

論理回路では,電気が流れている間じゅうずっとその計算をし続けます.本当は入力が変わって違う数を計算させるときだけ動いても良さそうんなんですが,そんなことはせずに,同じ入力の計算であってもずっとし続けます.

でも,計算が終わってその値をとっておくことができれば,足し算をする回路は別の計算に使えるわけですよね.3つも用意しなくてもいいのです.値をとって置く場所が沢山あれば,沢山の計算ができます.ただし,時間を切って計算を積み重ねるので,答えが出るのには時間がかかります.

この一つしかない回路を時間を切って,いろんな用途に使い回す.これがコンピュータの中身です.使い回すためには沢山のスイッチが必要です.こっちのスイッチをいれて,この回路とこの回路を繋ぐ.計算が終わったら,こっちのスイッチを切って,こんどはこっちと繋ぐ.

このスイッチを切ったりつないだりの順番は,最初は回路で作っていたのですが,そのうちに別のメモリーに書いてある内容で切り替わるようにします.たとえば,0が書かれている時はこのスイッチとこのスイッチをいれて,少し待ってから,こっちのスイッチをいれる.1が書かれているときは,...という感じです.数字の並びで,回路が一瞬一瞬で切り替わってゆく,それがコンピュータです.

さて,そんな僕のワクワクした原体験を今の中学生に伝えてみよう,という講座が開催されます.

さっそく,その講座のために秋葉原に行って,TTLとかいろいろと買ってきました.

7400という一番基本のやつが1個20円ですって.安いですね.しかも3Vで動くんですよ.LEDも3Vで壊れないやつにして,回路を極力簡単にします.配線もぐちゃぐちゃにならないように考えたいですね.この辺りは,ビスケットを子供に教えてきた経験からどうすれば間違えにくく伝えられるか考えてゆこうと思います.なによりも,論理回路を組み合わせるといろんなものが作れるんだという感覚を知ってもらいたいですね.

シェアする

  • このエントリーをはてなブックマークに追加

フォローする