ログイン
kid's world

コンピュータの3大要素

コンピュータの3大要素

さて,ここで質問。

コンピュータはこのプログラムをどのように実行しているのだろうか?

「それはね〜」とスラスラといってのけることができたら,カッコいい。しかし,なかなかそう簡単には説明できないものである。

私は,プログラミング言語を理解するためには「コンピュータを理解することなしにはありえない」と思っている。実際には「とくに知らなくてもいちおうプログラムは作れてしまう」ものなのだが,知っているかいないかで,プログラムの質が変わってくるのは間違いない。現場(コンピュータ)をよく知らなければ,正しい指示(プログラム)が下せないのと同じことである。

というわけで,本連載では,プログラミング言語の解説をしながら「コンピュータの仕組み」についても多く触れていく。

コンピュータはよく,人間にたとえられる。コンピュータには,「考える」CPU,「記憶」するメモリ,「神経」に相当するI/Oポートがあり,これらはすべてIC(Integrated Circuit,集積回路)で作られていて,1枚のマザーボードの上に乗っている(Fig.4)。ほかにもいろいろなICが乗っているが,この3つが基礎となってコンピュータが構成されていることには変わりはない。

Fig. 4 コンピュータの基本的な構成

/c/basic-fig4.png

メモリ:記憶をつかさどる

メモリは大量なデータやプログラムを記憶するICである。しかし,コンピュータの電源を切ってしまうと,メモリに蓄えたデータやプログラムは消えてしまう。

メモリには,プログラムも入っているということに注目していただきたい。ハードディスクやフロッピーディスクにあるプログラムが実行されるときは,必ずメモリにコピーされてから実行される。

CPU:計算を行う

CPUは物事を「考える」部分に相当するが,実は考えるといっても高度なことはできない。やっていることは数値の計算やデータの入出力だけ。非常に単純である。メモリに記憶されているプログラム(機械語)を1つ1つ読んでそのとおりに計算したり,データをメモリやI/Oポートに出力したり……という作業をしているだけである。

コンピュータの中枢といわれるCPUだから,ものすごく複雑なことをやっているように思われがちだが,基本的にはこれだけのことしかしていないのである。

I/Oポート:外界との接点

I/Oポートは,コンピュータとさまざまな機器をつなげる中枢神経のようなものだ。キーボードやマウスやハードディスク,ディスプレイなどにつながっている。

CPUはいろいろな情報をI/Oポートから受け取り,いろいろな情報をI/Oポートを通して外界へ発信しているのだ。

愛してる!と表示する

それでは,コンピュータの基本的な構成がなんとなくわかったところで,先ほどの「愛してる!」がどのようにして画面に表示されるのか,その流れを大ざっぱに見てみよう。

(1)まず,C言語で書かれたプログラムを「コンパイラ」と呼ばれる翻訳ソフトによって機械語に翻訳し,実行ファイルを作成する。

Windowsでは,実行ファイルには「exe」(またはcom)という拡張子がついている。実行可能ファイルには「文字を表示するための機械語」と「“愛してる!”というデータ」が同時に含まれている。

(2)実行可能ファイルは,ハードディスクに入れておくのが普通である。しかしCPUとハードディスクは直接つながっていない。

したがって,CPUがそのプログラムを直接実行できるように,実行可能ファイルをメモリに読み込む。

(3)CPUはメモリに読み込まれた機械語を1つ1つ読み取って,順序よく実行していく。

そこには「I/Oポートのディスプレイがつながっているところに,以下のデータを出力せよ」と機械語で書いてある(実際はもっと単純な命令の組み合わせである)。

(4)CPUは忠実にメモリからデータを読み込み,I/Oポートにデータを転送していく。

(5)I/Oポートでは,CPUから受け取ったデータ「愛してる!」を,ディスプレイに向けて送る。

(6)ディスプレイ(の手前についているIC)では,受け取ったデータ「愛してる!」を画面上に表示する。

非常に大ざっぱで,ツッコミどころ満載の解説だが,コンピュータはこんな雰囲気で動いている。

この雰囲気がわかっていただければそれで十分である。

では,次回はプログラムをわざと間違えて作ったり,コンピュータに計算させる方法について解説する。


C言語の文法」へ進む

広告


©Toshio Koide 1996-2007.

目次

リンクについて

リンクは御自由にどうぞ。

メール

mail.gif

広告