矢沢 久雄
この連載は,これからITの勉強を始めたい人を対象として,本格的に勉強する前に知っておきたい基礎知識の全体像と概要をわかりやすく解説するものです。全5回の連載を読み終わったときには,市販の入門書をスラスラと読みこなせることでしょう。今回は,あらゆるIT技術の基礎となる「コンピュータの仕組み」がテーマです。コンピュータは,ハードウエアとソフトウエアの集合体です。まず,ハードウエアの構成要素の説明から始めましょう。
●PCのハードウエア=プロセサ+メモリー+I/O
図1●ICの外観 |
図2●PCのハードウエアは,プロセサ,メモリー,I/Oから構成されている |
ICの種類には様々なものがありますが,機能的に分類すると「プロセサ(CPU=Central Procession Unit=中央処理装置とも呼ぶ)」,「メモリー(PCの内部にあるメモリーを特にメイン・メモリーとも呼ぶ)」,そして「I/O(アイ・オー,Imput/Output=入出力装置)」の3種類に大別できます。大雑把に言えば,PCのハードウエアは,プロセサ,メモリー,I/Oから構成されているのです(図2[拡大表示])。
●プロセサ,メモリー,I/Oの役割
プロセサは,コンピュータの頭脳となるもので,プログラムの内容を解釈して実行する機能を持っています。皆さんがお使いのPCの中には,米国インテル社が開発したPeitium(ペンティアム)という名前のプロセサが装備されていることが多いと思います。プロセサは,その内部または外部に接続されたクロック(水晶を使った発信装置)のカチカチという電気信号に合わせて動作します。1GHz(ギガヘルツ)で動作するプロセサなら,1秒間に10億回(Hzは,回/秒を表す単位です。ギガ=10億です)のカチカチ信号を受けています。クォーツ時計(クォーツ=水晶)の針がカチカチと動くことと同様だと考えてください。
メモリーもコンピュータの頭脳となるもので,プログラム(命令とデータ)を記録する機能を持っています。皆さんがお使いのPCの中には,64MB~256MB(MB=メガバイト)程度の記憶容量のメモリーが装備されていることでしょう。メガ=100万,バイト=8ビット=半角1文字を記録できる容量ですから,64MBのメモリーなら6400万文字分のプログラムを記録できます。
図3●I/Oは,PC本体と周辺装置を接続する機能を持つ |
●コンピュータの動作は驚くほどシンプル
ICが持つ個々のピンは,電源供給,データ授受,アドレス指定,動作制御のいずれかの役割を持っています。必要なICを買ってきて,個々のピンを相互に正しく接続すれば,誰でもコンピュータを作ることができます。そんなことをするより,完成品のコンピュータを買った方が安価なのですが。
ちょっと昔話になりますが,コンポーネント・ステレオが流行った時代がありました。コンポーネント・ステレオは,レコード・プレイヤ,アンプ,カセット・デッキ,スピーカという要素から構成されています。それぞれに電源を供給し,個々の要素を電線で接続すれば,コンポーネント・ステレオが組み上がります。コンピュータも同様です。それぞれのICに電源を供給し,IC同士を電線で接続すればよいのです。
図4●架空のコンピュータの回路図 |
プロセサは,メモリーまたはI/Oと情報を授受します。メモリーとI/Oには,それらを識別するためのアドレス(address=番地)と呼ばれる番号が割り振られているので,プロセサがアドレスを指定して情報を授受する相手を指定します。情報の授受,すなわち情報をメモリーやI/Oからプロセサへ入力するのか,それとも情報をプロセサからメモリーやI/Oに出力するのかは,動作制御のピンで指定します。実際の情報はデータ授受のピンで入出力されます。プロセサの中では,情報の演算が行われます。
ハードウエア的に見れば,コンピュータの動作とは,たったこれだけのことです。驚くほどシンプルですね。メモリーまたはI/Oから情報を「入力」し,それをプロセサ内部で「演算」し,その結果をメモリーまたはI/Oに「出力」するだけなのです。この入力,演算,出力を表す命令とデータを書き並べたものが,プログラムに他なりません。入力,演算,出力の組み合わせだけで,ワープロやゲームなどの高度なプログラムも実現されているのです。コンピュータの土台はハードウエアですが,主役はソフトウエアだと言えます。