CPU考

2010/11/20 12:26


最近、寝不足続きで頭が重い。ついでに愛用のPCも何やらとても重くなってきている。両方とも過大な負荷がかかっているという意味では同じだが、PCが重いという表現はとても実感を伴っていて優れものだと思う。PC周辺の言葉、語彙には非常に興味深いものが多いことに改めて気づかされる。

ところで、わたしはコンピュータとはかなり長い付き合いだが、いわゆるソフトについては大変疎い。ただ、ソフトとハードが接する点がどのようなものであるかは、大抵の人よりは詳しいと自負している。

古より人は精神と肉体の関係について悩んできた。しかし、コンピュータの普及により、この認識はコンピュータを知る以前の人類と比べてかなり変わってきたのではないだろうか。
肉体と精神をコンピュータに擬えるなら、ハードウェアーとソフトウェアーということになるであろう。さらに具体的に言うなら、ハードとはCPU及びメモリー、I/O等のことである。またソフトとはコンピュータ言語で書かれたCPUに対する指示書であると言っても良い。この指示書は2進数、すなわち1と0というたった二つの文字で書かれている。10進法の一桁が指を意味するdigitと呼ばれるのに対し、2進数の一桁のことをbit(binary degitの略か?)という。たった二文字でと驚かれる初心な方もおられるかも知れない。しかし、昔電信に使われたモールス信号というのも長音と短音のただ二つの音だけで通信を行っていた。トトト ツーツーツ トトト と打てば、それはすなわちSOSである。

2進数の場合、8bitあれば0000,0000から1111,1111まで256通りの組み合わせがあり、それをCPUに何らかの仕事をさせるための命令語とすることができる。つまり、8桁あれば、理論的にはCPUに対して256通りの命令をすることが可能となる。
上で、0000,とコンマで4桁ずつ区切ったのには意味がある。4桁の2進数は16通りの組み合わせがあることになる。たとえば1001は10進法の9である。それでは1010は何かというと10とは言わずAと呼ぶ。以下同様に1011はB、1100はC、1110はE、1111をFと呼ぶ。つまり、8桁の2進数は、数字とAからFまで5つのアルファベットを使って00~FFまで256通りの表現ができるのである。このような表現方法をHEX‐A‐DECIMALと言う。

最初に述べたハードとソフトの接点についてだが、ソフトで1と言っているのは実はハード的には電圧の5Vのことである。無論0は0Vである。つまり、0と1で書かれたソフトウェアーという抽象的な概念はコンピュータに取り込まれた途端に電圧の有無という具体的な事象に置き換えられる。
PCに使われているCPUというのは超高密度に集積されたLSI(大規模集積回路)である。10mm四方くらいの小さなシリコン製チップの中に何百、何千万というトランジスターが集積されている。このトランジスター同志が互いに連携して論理回路というものを構成している。この論理回路(AND,OR,NOT,NOR,NAND,EXOR・・・)によって、CPUは2進数で書かれた指示書の意味を理解しメモリーやディスプレィやその他の入出力装置に対して必要な指示をするのである。
例えば、論理和と呼ばれるOR回路では、0と0を足すと0であり、0と1を足せば1になる。それでは1+1はどうかというと、これも1(実際は10つまり2)である。これが論理積(AND)回路では、0×0=0、0×1=0、1×1=1となる。お気づきの方もおられるかも知れないが、これは二つのスイッチを直列に結ぶか並列に結ぶかの違いである。トランジスターを一種の半導体スイッチと考えれば、これを単に直列に接続するか並列に接続するかでANDとORという二つの回路ができることが分かる。

仏作って魂入れずとは昔からよく言われる言葉だが、買ってきたばかりのPCもこれと似たようなものである。ただ、ご存知のように、買ってきたばかりのPCにも基本ソフトと言われるOSは入っているはずである。OSとはOperating Systemの略で、これは逆に人間に例えるなら生まれたての赤ん坊にも生きるための食欲や好奇心があるようなものであろう。すなわちOSとは、PC自体が生存し成長するのに不可欠なプログラムのことである。
OSに対してアプリケーションソフトというのは、例えばゲームや表計算ワープロなど巷に溢れかえっているソフトのことである。また、データと呼ばれるものもある。これには写真や動画なども含まれる。
ここでわたしは考えるのだが、同じD社のXというPCを買っても、それを使う個人によってそのPCの性質は相当に変わってしまうであろうということである。これはPCから見て、その育てられた?環境が非常に自分の身に影響を与えるということになる。たとえば、一卵性双生児が全く違う環境(例えば、アメリカと日本)で育てられれば、まったく考え方や感じ方が違う人間になってしまうようなものである。
いずれにしろ、コンピュータは人間の頭脳を代理するものとして考え出されただけに極めて人間の脳に似た特徴を持っている。今のところ、大きな違いがあるとすれば人間のような感情を持たないということであろうが、これも将来的にはどうなるか分からない。恐らく技術的には近い将来感情を持つコンピュータは実現するであろうが、それが一般の社会に普及することが人類に恩恵をもたらすかどうか大いに疑問である。
なぜなら、将棋や囲碁の名人さえも今やコンピュータに勝てなくなっている時代である。もしもコンピュータがあなたを囲碁で軽く負かして「Kサン、コンカイハカナリイイトコロマデイキマシタヨ。ナカナカアナタハスジガヨイノデ、モウスコシガンガッテミマショウ」などとほざいたら、Kさんはすっかり頭に血が上ってしまって、このコンピュータをハンマーで叩き壊してしまうかも知れないではないか。