コンピュータの動作原理

コンピュータではいくつかの部分が役割分担をしており、中心部分は機能によってCPU、メモリー、I/Oの 3つの部分におおまかに分けることができる。

CPU 中央演算素子(Central Processing Unit)の略であり、色々な計算を実行する所。 工場で言えば色々な製品を造る装置と作業員に相当する部分だ。
メモリー CPUが使うデータや演算処理した結果を一時的に蓄えておく所。工場で言えば材料や製品を 一時的に保管しておく倉庫に相当する部分だ。
I/O Input Output Interfaceの略であり、色々なデータを取り込んだり送り出したりする所。 工場で言えば材料の購入や製品の出荷をする事務局だ。


I/Oはデータの出入り口であり、キーボード、マウス、ディスプレイ、ハードディスク、CD-ROM等の 色々な周辺機器が繋がっている。そして、これらの周辺機器とのデータの流れを整理している。 キーボードやハードディスクから入力されたデータはI/Oを通って一旦メモリーに蓄えられる。 必要なデータが全部揃ったらそれらのデータがメモリーからCPUに送られて演算処理が行われ、 その結果が再びメモリーに戻される。そして、一連の演算処理が終了したら、メモリーに戻された 演算結果がI/Oを通してディスプレイやハードディスク等に送られる。工場で言えば、事務局が材料を 購入して一旦倉庫に保管する。工場では倉庫に保管した材料を使って工場の装置で製品を作り、一旦倉庫に保管する。 そして、それらの製品は事務局によって店や客に送られる。まあ、大まかにはこんな感じでコンピュータは動いている。

さて、工場では手当たり次第に材料を買い集めて製造装置にぶち込めば製品が出来るというわけではない。 各製品には、その製品を造るのに必要な材料と作り方の手順が決まっており、それらを詳細に示した仕様書が作られている。 コンピュータでは、この仕様書に相当するものがアプリケーションと呼ばれているソフトだ。 ワードやエクセル等のアプリケーションはコンピュータに特定の動作をさせるための“仕様書”なのだ。

ところで、工場では1種類の製品だけを造っているのではなくて、色々な種類の製品を同時に造っている。 そして、これらの製品の生産効率を上げるために、できるだけ多くの製品に使える共通部品を使っている。 例えば、ネジ、表示ランプ、ソケット、スイッチ等だ。それぞれの部品を規格化し、製品を造る時には いつもそれらの規格化された部品が使われる。こうすることによって、製品の造り方が簡単になり、 仕様書も短くて簡潔なものになる。同じようなことがコンピュータでも行われていて、Windows XPやWindows ME 等のOS(Operating System)が規格化された部品に相当する。すなわち、OSはコンピュータで使われる色々な機能 を規格化して持っており、アプリケーションはそれらの規格化された機能を使って決められた動作をするようにプログラミングされる。 こんなふうに、プログラム全体をOSとアプリケーションに分けることにより、製品の仕様書であるアプリケーション を作りやすくしているんだ。

ここまでの話を一度纏めておこう。
コンピュータ(工場)で特定の作業をさせる(製品を造る)には、まず、アプリケーションを起動する (仕様書を作業員に渡す)。すると、CPU(製造装置の作業員)はI/O(事務局)を経由して必要なデータ (材料)をメモリー(倉庫)に集める。データ(材料)が揃ったらCPU(製造装置)に データ(材料)を送って演算処理を行い(製品を造り)、一旦メモリー(倉庫)に保管する。 そして、演算処理を行った結果(製品)は適宜I/O(事務局)を通してメモリー(倉庫)から周辺機器 (店や客)へ送られる。コンピュータはこんな風に動作するんだ。

最後に一言、ここまではコンピュータが起動している時の話だ。最初に電源を入れる場合や最後に電源を 切る場合は、これまでに話したこととは異なった特殊な動作をする。これらの動作についてはハードの具体的な話をしてから説明するよ。





HOUSE

2003.5.1 Shotaro