パソコンの基本知識

パソコン(コンピュータ)の仕組み


 いきなりパソコン製作の本論に入っても良いのですが、その前に少し時間を割いて、パソコンはどういう仕組みで動いているのか簡単なことだけでも(私も詳細は分からない)知っていると以後の理解が非常に楽になりますので以下に記載します。

 

  
   パソコンに限らずコンピュータのハードウエアは分類すると下記の5つの装置(機能)に分類されます。
コンピュータも一種の機械ですが通常の機械とは少し異なり、人の頭脳の働きを模したような機械と言えます。従って人の仕組みに置き換えてみると理解し易いと思います。
 まず、人は目や耳(入力装置)を使って各種の情報を得、次にこれを頭脳で理解し(制御装置)、必要なら計算や判断(演算装置)をします。場合によってはその情報を頭脳に記憶(記憶装置→主記憶装置)したりします。又その情報が多くて覚えきれない場合は、ノートやメモ(記憶装置→補助記憶装置)等に記録して残しておきます。更に、手や口など(出力装置)を使って他人に情報を伝達したりします。
 このように情報を記憶し、蓄積し、再度その情報を取り出して、別途加工して使用するという一連の過程こそが、まさしく人の行動とよく似ており、他の機械とは大きく異なるコンピュータ独特のものと言えます。しかし、これらの装置が集まっているだけでは単なる箱にすぎません。この箱を有益に作動させる必要があります。これを行う道具こそがプログラムというものです。
装置(機能) 働き パソコン装置 人間に例えると
@制御装置 A〜Dの装置を制御する装置です。プログラムの命令を解釈し、各装置に指示を出します CPU 頭(脳)
A演算装置 プログラムに指示された通りにデータの演算する装置です。 CPU 頭(脳)
B記憶装置 プログラムやデータを記憶します。主記憶装置と補助記憶装置に区別されます。補助記憶装置に記憶されているプログラムやデータは主記憶装置を通じて実行されます。 (主記憶)
メモリー
頭(脳)
(補助記憶)
HDD・CD-ROM・FDD等
ノート
C入力装置 入力装置は、記憶装置にプログラムやデータを読み込ませる装置です。 キーボード・マウス 目・耳
D出力装置 演算結果や記憶したデータを、人間が理解できるよう出力する装置です。 モニター・プリンタ 手・足・口


(注1)
 コンピュータは自発的には何もしません。従って、人が為すべきき事柄を手順を追って丁寧に教えてやる必要があります。このコンピュータに対する指示書のことをプログラムといいます。
(注2)
 制御装置と演算装置は合わせて中央演算処理装置といい、一般的にCPU(Central Processing Unit)と呼んでいます。人間で言えば頭脳にあたる一番重要な装置です。
(注3)
記憶装置は主記憶装置補助記憶装置に区分されます。前者は一般に『メモリー』と呼ばれているもので、特徴としてはデータやプログラムを高速で記憶します。しかし容量的に限りがあり、又電源を切ると記憶された内容は消えてしまい言わば一時的な記憶場所といえます。これに対し後者はメモリーに比べ記憶速度は遅いのですが、大容量のデータやプログラムを恒久的に保存することができます。装置としては『HDD・CD-ROM・FDD等』がこれになります。従って、データやプログラム等は最終的には補助記憶装置に記憶し保存しておく必要があります。こういったことは丁度人間がATAまで考えたことを長期的に大量の情報を記憶する場合はノートやメモ等に何かに書きとめておくのと似ていますね。

 
 それでは、これらの5つの装置の関連性を示した下図に基づき、コンピュータがプログラムやデータをどのように処理しているのかその仕組みを見てみましょう。

 

   既にプログラムAが補助記憶装置のハードディスクに保存されているとしましょう。
まず最初に入力装置(キーボード・マウス)からプログラムAを起動する指令を入力すると、その指令はまず主記憶装置(メモリー)に送られメモリーに格納されます。次にCPUからの指令で補助記憶装置のハードディスクからプログラムAをメモリーに読み込み格納します。この段階ではプログラムAはまだ作動しません。次にCPUはメモリーからプログラムAを呼び込み演算装置でプログラムAの指令に基づき忠実に演算(処理)をします。処理された結果は一旦メモリーに返され、そこからプログラムAの指示に従い結果を出力装置(例えば印刷装置)に出力したり、或いは補助記憶装置にデータを保管したりします。制御装置はこうした装置間の一連のやりとりをプログラムの命令に沿って制御します。

 

プログラムとは


 上記でプログラムという用語が出てきましたが、コンピュータを理解する上では非常に重要な要素ですからここでもう少しだけ詳しく記載しておきます。

 前述のようにコンピュータは単なる機械ですから自発的には何も仕事はしません。仕事をさせるには人が事細かく指示してやる必要があります。この指示書のことをプログラムと言います。又機械のことをハード(ウエア)というのに対して、プログラムのことをソフト(ウエア)ともいいます。

 それでは、指示書はどのように作成したらいいのでしょうか。機械(コンピュータ)に指示をして仕事をさせるためには、その指示書が機械に理解できるものでないといけません。幾ら熱心に機械に話しかけ説明しても機械には人の言葉は分かりません。そこで機械と人との間に共通の言語のようなものが必要となります。
 人の社会に日本語・英語・仏語・独語など色々な言語があるように、コンピュータの世界にも色々な言語(例えば機械語・COBOL・FORTRAN・BASIC・C言語等)があります。
 コンピュータは基本的には電気でできていますからプラスとマイナスの2つしかありません。この±或いはオンオフを2進数に見立て、これらを複数個組み合わせて文字を表現しています。この2進数レベルでの言語を機械語(マシン言語)と言います。昔パソコンが出始めた頃はこの機械語を使ってパソコンに指令を与えていました。この機械語こそがコンピュータとの基本言語になるのですが、機械語は非常に難解で人側に余りにも負担がかかりすぎるため、人に優しい高級言語(BASIC・C言語・JAVA等)が開発されました。

 このような言語を使って指示書を作ることをプログラムを作成するといいます。パソコンのシステムソフトであるWindowsなどもプログラムの一種です。又、Windowsの下で動くWORDやEXCEL等のワープロ・表計算ソフト或いはメールソフトもプログラムの一種です。これらのソフトは膨大な何千何万のプログラム群が集まってできています。現在では多くの便利なプログラムが開発されており、一般の人はプログラムをしなくても。必要なプログラムをマウスでクリックして利用するだけになっています。

 世界には現在も日々膨大なプログラムが育成されて続けており、又それらの多くが消えたり変化していっています。従ってこれらのソフトの操作方法をイチイチ丸覚えしても、コンピュータには強くなれません。巷のパソコン教室に通っても一向にパソコンが理解できないというのは、単にあるソフトの操作方法を付け焼刃的に教えているだけだからと私は思います。(実は先生自身も良く分かっていない人が多い)
 従って面倒でも、こういったコンピュータの基本的な仕組みを知り、自分のやりたいことの位置づけを知った上で、体系的に学ぶことが必要だと思います。

プログラム言語の種類
 プログラム言語は大型コンピュータとパソコンでは少し異なり、大型コンピュータ(ホストコンピュータ)では、主にCOBOL(事務計算用)・FORTRAN(科学技術計算用)・PL/1(FORTRANとCOBOLをミックスした言語)等があります。パソコンではBASIC・C言語・JAVAなどがあります。

 それでは、BASIC言語・C言語による簡単なプログラム例を示しますので、感覚的に理解してもらえればと思います。


@BASIC言語によるプログラム例
  1から100の数字を加えて結果を表示する
   
 10 LET X=0              
 20 FOR I=1 TO 100   
 30    LET X=X+I              
 40 NEXT I                       
 50 PRINT "1から100迄の合計 --> ",X                   
 60 END 

 上記プログラムの実行結果
         ↓
   1から100迄の合計 --> 5050
                        


AC言語によるプログラム例
  キーボードから3つの整数を入力して和と積を求め画面に表示する

#include <stdio.h>
int main(void)
{
       int a, b, c, d, e;
       printf("3数値を入力 X Y Z --> ");
       scanf("%d %d %d", &a, &b, &c);
           d = a + b + c;
           e = a * b * c;
       printf("%d + %d + %d= %d\n", a, b, c, d);
       printf("%d * %d * %d= %d\n", a, b, c, e);
}

 上記プログラムの実行結果
         ↓
   3数値を入力 X Y Z --> 5 6 7
    5 + 6 + 7 = 18
    5 * 6 * 7 = 210
 


 これら言語で作成したプログラムはソースプログラムといい、このままでは機械には理解できません。機械に理解できる機械語=実行形式に変換してやる必要があります。この変換する方式には大きく2つあります。
一つはコンパイラー方式と呼ばれるもので、ソースプログラム全体をを一旦コンパイラーという翻訳言語を使って実行形式のプログラムに変換し、この実行形式のプログラムを実行する方法です。この時、実行形式のプログラムはファイルの拡張子が『EXE』や『COM』になっています。もう一つはインタープリタ方式と呼ばれるもので、対話方式で一行一行実行形式に翻訳しながら都度実行する方法で代表的な言語がBASICです。(但し,BASICにもコンパイラー形式のものはあります)

 ソースプログラム → コンパイラー  → (オブジェクトプログラム) → 実行形式プログラム → 実行
 
 ソースプログラム ⇔ インタープリタ  

             (対話的に翻訳実行)

以上の簡単な説明では、プログラムについてはなかなか理解が難しいと思いますが、ここでは概念だけを理解していただければ幸いかと思います。