コンピュータの「しくみ」

ある回路を「電流」が「流れているか?/流れていないか?」によって、たった二つではあるが「状態」を記述することができる。コインの表と裏、さいころの偶数と奇数、ある欄にチェックがはいっているか?はいっていないか?このような「二値システム」は身の回りにもたくさんある。
一つの電球に明かりが「灯っているか?/いないか?」は、たとえば「より明るく灯っている」とか「より美しく灯っている」などという、見る人によって判断に違いが出てくるあいまいな事実に比べて、疑いの余地がなく正確だ。
8個の電球を並べてみよう。それぞれがスイッチを持ち、「独立に」点灯できるとする。一つの電球で「二つの状態」を示すことができた。8個の電球の「灯っている/灯っていない」の配列によって、数学で言う「重複順列」の理屈で、2の8乗すなわち256個の「状態」を記述することができる。
電球一つを「ビット(bit)」と呼ぶ。Binary Digitから作られた造語で、Binaryは「二進数」、「灯っている/灯っていない」を「有と無」、「存在と不存在」、数字の「0と1」に対応付けたものだ。Digitはもともと「指」やピアノの「鍵盤」を表す言葉で、指は「折り曲げる/伸ばす」でやはり二つの状態を表現できる。ピアノの鍵盤も「押す/押さない」で音が「出る/出ない」の二つの状態に対応する。

電球8個のセットで256種類の「状態」を表すことができる。これを一つ一つの「文字」に対応させればよい、という発想は、もともと手書きの文字が読みづらくともすれば不正確で、重要な文書にはタイプライターが用いられてきたヨーロッパ語の世界では自然なものだっただろう。
英語の場合、アルファベット26文字、大文字小文字の区別をつけてもその2倍の52、数字が0から9の10個、「空白」、カンマ、ピリオド、コロン、その他もろものの「記号」を含めても256もあれば十分表現できる。タイプライターのキーボードを1回「叩く」という「しぐさ」が、機械の中で8個の「回路」に対応付けられることができた。
2の7乗の128ではちょっと足りなかったのだろうか、それとも8という偶数の、それ自体2の3乗と言う扱いやすさからだろうか、二進数の8桁セットが「バイト(byte)」とよばれ、コンピュータの内部で「文字」という「情報」を扱う基本単位となった。

ヨーロッパ語圏以外では、事はそれほど簡単ではなかった。コンピュータの技術というのは、もともと第二次世界大戦中、アメリカが大砲の弾道計算のために開発したといわれている。IBM(International Business Machine)という世界最初のコンピュータ会社は、その名称にもかかわらず「軍事技術」を「民営化」するところからスタートした。地球の重力、空気抵抗、などの諸要素を瞬時に計算して、「敵」の頭上により正確に「弾丸」を落とすための技術が、戦後の世界を一変した。原子物理学が原子爆弾の開発と手を携えて発展したこととともに、これは「よい」とか「悪い」とかの判断以前に、記憶にとどめておくべき歴史の背理だ。
たとえば日本の場合、コンピュータで日本語処理が可能になる、「ワードプロセッサ」というものが登場するのは、はるかに遅れて1980年代の初頭であった。
ヨーロッパ語のアルファベットが、縦長の長方形なのに比して、日本語の漢字やかなは、原稿用紙の升目も、印刷用の活字も正方形、とすれば、膨大な数の日本語や中国語の漢字をアルファベット2桁を使って表現すればよい。これが「全角文字」の発想だろう。
2バイト、二桁で、256の二乗、2の16乗、コンピュータの世界では2の10乗が1024と1000に近いので、これを「キロ」とか「メガ」とかの補助単位に使っているが、その例にならって概算するとおよそ6400種類の文字を表示することができる。さしあたり、これで十分だろう。今日出版されている漢和辞典にはすべて、それぞれの漢字の下に「JIS」などいくつかの基準に従った「漢字コード」と呼ばれる数字が記されていることにお気づきだろうか?
「デジタル」と「アナログ」

「デジタル(digital)」という言葉はdigitから来ている。それに対して「アナログ(analog)」はアナロジー(analogy)、類比、対比などを表す言葉と同根で、「相似形」と関係がある。
「似顔絵を描く」、言葉を「書き写す」などのように、元の情報の「似姿」をとらえて伝えようとするのが「アナログ」的な方法。それに対して、情報を徹底的にばらばらにして、究極的には「0」と「1」、たった二つの「信号」に還元し、再びそれを組み立てなおして、伝達するのが「デジタル」的な方法。

もちろん両者は混在する。写真を撮るという行為は、とっている本人の意識としては、この情景をありのままに残したい、というのだから、紛れもなく「アナログ的」である。古典的な写真技術は、光の陰影をレンズを使って暗い箱の中に導きいれ、これを「ハロゲン化銀」というある種の化学物質が、光を当てることによってその強度に応じてさまざまに発色するという不思議な性質を応用して紙の上に焼き付けた、徹頭徹尾「アナログ的」な技術だったが、今日携帯電話などに用いられているCCD(Charge Coupled Device)カメラは、画面をそのままきわめて細かい区画に分け、その部分が感知した光を電磁的な信号として取り出し、数値情報に変換する、という、見ようによっては「シンプル」な方法を用いている。色についてのうんちくを続ければ、インターネットのファイルで用いられる「RGB形式」はその名のとおり、赤Red、緑Green、青Blueをそれぞれ2桁の「16進数」で表現し、16の2乗、またしても256階調に対応させている。3色の混ぜ合わせで表現できる色の数は256の3乗、2の24乗、およそ千六百万種類に上るが、それでも人間の視覚の弁別度には遠く及ばない。

コピー機でコピーをとる、手書きの文書をファックスで送る、などという行為は、「主観的」にはアナログ的な方法だが、その仕組み自体は、光を電子の流れに変える「光電効果」という物理現象を応用した極めてデジタル的なものだ。アナログ的な情報を、電気的に処理可能な「信号」に変換する、「暗号化・コード化(encode)」、伝送されたデジタル情報を、再び人間が理解可能な形に復元する、「解読・脱コード化(decode)」というプロセスが、デジタル技術には必ず、ともなう。
こんな方法を、「誰が思いついた」のかは知る由もないが、20世紀を通して、コンピュータ技術と手を携えて猛烈な勢いで進展してきた生物学が次第に明らかにしてきた知見によると、人間ももちろん含めた生物が「採用」している「情報伝達」のメカニズムは、まさにコンピュータの内部構造と「瓜二つ」のものだった。

個々の神経細胞は「興奮する/興奮しない」の二つの「状態」しか取れない。その「状態」を「表示」するのは細胞膜のうちと外との、ナトリウムなりカリウムなりのイオンの濃度差で生じる「電位」だ。
生物の身体を構成するタンパク質は、たった20種類のアミノ酸で構成されている。しかるべきときにしかるべきタンパク質を生成せよという「命令」を伝えるDNAは「アデニン」、「グアニン」、「シトシン」、「チミン」というたった4個の塩基の配列を使って、これを3桁ごとに組み合わせ「コード」を作っている、という。

「生命」がコンピュータを「真似た」わけでは、もちろん、ない。しかし、コンピュータが開発された時代に、これらの事実がそれほど明確に知られたわけでもない。だから、コンピュータが生命を「真似た」わけでもない。必然的に、そうなったというべきなのだろう。
戻る