この連載は,これからITの勉強を始めたい人を対象として,本格的に勉強する前に知っておきたい基礎知識の全体像と概要をわかりやすく解説するものです。全5回の連載を読み終わったときには,市販の入門書をスラスラと読みこなせることでしょう。今回は,あらゆるIT技術の基礎となる「コンピュータの仕組み」がテーマです。コンピュータは,ハードウエアとソフトウエアの集合体です。まず,ハードウエアの構成要素の説明から始めましょう。

●PCのハードウエア=プロセサ+メモリー+I/O

図1●ICの外観
図2●PCのハードウエアは,プロセサ,メモリー,I/Oから構成されている
 皆さんがお使いのPC(Personal Computer=パソコン)のふたを開けてみましょう。その中には,様々な電子部品が詰め込まれています。黒い小さなボディーに数十本の銀色のピンが付いた「ムカデ」のような形をした電子部品が何個かあるはずです。これらは,IC(アイシー,Integrated Circuit=集積回路)と呼ばれるものです。ICの内部には,数十個~数百万個の小さなトランジスタが入っていて,それらの組み合せによって,コンピュータに必要とされる様々な機能が実現されます。膨大な数のトランジスタを持ち,高度な機能を実現するICを,特にLSI(エルエスアイ,Large Scale IC=大規模集積回路)やVLSI(ブイエルエスアイ,Very Large Scale IC=超大規模集積回路)と呼ぶこともあります(図1[拡大表示])。

 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本体と周辺装置を接続する機能を持つ
 プロセサとメモリーだけではPCが成り立ちません。なぜなら,PC本体にキーボードなどから情報を入力したり,ディスプレイなどに情報を出力する必要があるからです。PC本体とキーボードやディスプレイなどの周辺装置を接続する機能を持ったICが,I/Oです。I/Oは,PC本体と周辺装置の電気的な特性の違いを調整します。I/Oは,周辺装置の種類ごとに専用のものが使われます。PC本体に装備されたコネクタの奥には,それぞれ専用のI/Oがあると考えてください。ネットワーク・カードやサウンド・ボードのような新しい周辺装置をPCに追加する場合には,I/Oを装備した拡張ボードをPCに装着することになります(図3[拡大表示])。

●コンピュータの動作は驚くほどシンプル

 ICが持つ個々のピンは,電源供給,データ授受,アドレス指定,動作制御のいずれかの役割を持っています。必要なICを買ってきて,個々のピンを相互に正しく接続すれば,誰でもコンピュータを作ることができます。そんなことをするより,完成品のコンピュータを買った方が安価なのですが。

 ちょっと昔話になりますが,コンポーネント・ステレオが流行った時代がありました。コンポーネント・ステレオは,レコード・プレイヤ,アンプ,カセット・デッキ,スピーカという要素から構成されています。それぞれに電源を供給し,個々の要素を電線で接続すれば,コンポーネント・ステレオが組み上がります。コンピュータも同様です。それぞれのICに電源を供給し,IC同士を電線で接続すればよいのです。

図4●架空のコンピュータの回路図
 図4[拡大表示]は,架空のICを使った架空のコンピュータの回路図(電気的な設計図)です。本物のコンピュータには,複数のメモリーとI/Oが装備されていますが,ここでは1つずつとしています。電源供給は省略し,データ授受,アドレス指定,動作制御のピンの接続方法だけを示しています。太い矢印は,複数のピンを表しています(データ授受,アドレス指定,動作制御は,複数のピンで行われます)。コンピュータの頭脳はプロセサなのですから,皆さんがプロセサになったつもりでコンピュータの動作を追ってみましょう。

 プロセサは,メモリーまたはI/Oと情報を授受します。メモリーとI/Oには,それらを識別するためのアドレス(address=番地)と呼ばれる番号が割り振られているので,プロセサがアドレスを指定して情報を授受する相手を指定します。情報の授受,すなわち情報をメモリーやI/Oからプロセサへ入力するのか,それとも情報をプロセサからメモリーやI/Oに出力するのかは,動作制御のピンで指定します。実際の情報はデータ授受のピンで入出力されます。プロセサの中では,情報の演算が行われます。

 ハードウエア的に見れば,コンピュータの動作とは,たったこれだけのことです。驚くほどシンプルですね。メモリーまたはI/Oから情報を「入力」し,それをプロセサ内部で「演算」し,その結果をメモリーまたはI/Oに「出力」するだけなのです。この入力,演算,出力を表す命令とデータを書き並べたものが,プログラムに他なりません。入力,演算,出力の組み合わせだけで,ワープロやゲームなどの高度なプログラムも実現されているのです。コンピュータの土台はハードウエアですが,主役はソフトウエアだと言えます。