2.コンピュータの動作



プログラムに入る前に、これから付き合って行く相手であるコンピュータについて学んでみようと思います。
パソコンはもとより、現在では電卓から全自動洗濯機、カーナビ、テレビゲームに至るまで電子機器の多くは機器の制御にコンピュータを内蔵しています。価格だけを見れば数十万円のものもあれば電卓のように数百円で買えるものまで大きな差がありますが、その中に入っているコンピュータ達はほぼ同じようなハードウェア構成をしています。
一般的に売られているパソコンには、ハードディスクやキーボード等色々な部品がつながっていますが、「コンピュータ」の動作に必要な主要部品は「CPU」「ROM/RAM」「I/O制御」「バス」の4つです。
「CPU」(製品名で言えば「ペンティアム」「PowerPC」等)
機器の全ての処理を司る電子部品です。
「ROM/RAM」
情報を記憶しておく電子部品であり、ROMは読み出し専用(通常は製造時に工場で書き込みされ出荷される。書き込みできる物もあるが・・・・)につかわれ、RAMは逐次読み書きが出来ます。
「I/O制御」
外部機器の制御を行ないます。外部機器とは、キーボードやマウス、ハードディスク、SCSI、グラフィックボード(画面制御)等を示します。
「バス」
今説明してきた、「CPU」「ROM/RAM」「I/O制御」を電気的に繋ぐ配線であり、基本的に全ての情報はバスでやり取りを行います。

部品の構成を次に示します。

 
では、今説明してきた部品を使ってコンピュータがどのように処理を行なうのかを説明してみます。
例えば、「キーボードからユーザーが打ち込んだ2つの数字を受付け、その2つを足し算した結果を画面に表示する」という一連の処理を行う場合を追ってみます。
まず、CPUはI/O制御を通してキーボードを監視し、ボタンが押されるのを待ちます。
ここで3のキーを押すと、I/O制御を監視していたCPUは3のキーが押された事に気付き、3が入った事を忘れないように、RAMに記憶します。
CPUは処理を司る高度な部品ですが、物事を覚え得る事は苦手っだったりします。というか、覚える事はRAMにまかされており、CPUは考える部分を担当しているのです。

次に2個目の入力を待ち同じように5のキーが押されると、その数字とさっきRAMに記憶していた数字を足し算し、結果をI/O制御を経由して画面に表示します。
この説明はめちゃくちゃ大雑把に書いたものであり、実際にはこの数百倍もの細かな動きをしています。C言語等を扱うのならばこの細かな事もある程度理解する必要があるでしょうが、まあ、BASIC言語ではここで書いた程度の大雑把なイメージをつかむ位で良いと思います。
大まかな動きが分かれば、後は機械的にそれを細分化するだけですから、基本を学んでから詳細を勉強しても遅くはないでしょう。