プログラムとは


●プログラムとは,コンピュータの頭脳である中央処理装置(CPU)が解釈・実行する
 命令の集まりである。ここでは,プログラムはどういうものか,また,プログラム
 作成の概要を見ていこう。 
  1. コンピュータは,下図のように5つの装置からなっている。その頭脳部分にあたるのが,CPUである。
    そして,プログラムやデータが置かれるのが,メモリである。



    実際のCPUやメモリは部品として,次のような姿をしている。

    CPU (Intel Pentium 4)

    メモリ


  2. コンピュータ上では,情報はビットによって表現されている。そして,8ビットをまとめたものをバイトと言う。



    メモリは,下図のようにバイトを並べたようになっていて,各バイトにメモリアドレスと言う0から始まる通し番号がふられている。



    さて,CPUは,単純な命令を解釈して動作する。この命令を「機械語」などと言う。
    命令は次のような形式のデータであり,やはりビットで表現されている。




    このような形式の命令がメモリ上に並んでおり,それらを順次,解釈・実行することでプログラムが動作する。下図に,その
    流れを示す。まず,(1)ハードディスクなどの補助記憶装置から,プログラム(機械語の集まり)と処理対象となるデータがメモリ
    上に読み込まれる。(2)CPU内には,レジスタと呼ばれる小さな記憶装置がある。そのうち,プログラムカウンタと呼ばれるレジ
    スタには,次に実行すべき機械語が格納されているメモリアドレスが記憶されている。下図の場合,100番地の命令を次に実行
    する。(3)メモリ上の100番地にある2バイト命令「ADD 500」をCPU内の命令レジスタに読み込む。(4)および(5)CPUのデコーダ
    が,この命令が,「アキュームレータ(計算に使うレジスタ)の値に,メモリ上の500番地にある数値を加える」という命令である
    ことを分析する。(6)メモリ上の500番地にある数値データ10がCPUに読み込まれ,(7)この値がアキュームレータの値にたされる
    (アキュームレータの値は40から50になる)。(8)次の命令を指すように,プログラムカウンタの値が2増やされる。(2)〜(8)のよう
    な動作を繰り返すことによって,プログラムを実行していく。



    このように,プログラムは,機械語と処理対象のデータからなる。昔は,機械語を人間が解釈しやすい形式
    (アセンブリ言語と呼ばれる)で書いて,それを機械語に直してプログラムにした。以下はアセンブリ言語で,
    プログラムを作成する過程である。人間が読めるようにテキスト形式でかかれたプログラムを,ソースプロ
    グラム
    と呼ぶ。ソースプログラムは,専用のプログラムで機械語の集まりであるプログラムに変換される。
    これを,「コンパイルする」と言い,コンパイルするプログラムを,コンパイラーと呼ぶ。



    アセンブリ言語は,人間がわかるように一定の定められた形式に従って書かれている。このような形式を
    プログラミング言語と呼ぶ。

    しかし,アセンブリ言語は機械語をそのまま書くため,プログラム作成に非常に手間がかかるだけでなく,
    ソースプログラムを見ても,どのような処理をしているのか分かりづらい。そこで,より人間がわかりや
    すい形式でプログラムを作成するように工夫が行われた。C言語もその一種である。アセンブリ言語のよう
    な機械語に近い言語を,低級プログラミング言語と言い,C言語のように人間に分かりやすい形式の言語を
    高級プログラミング言語と呼ぶ。

    下図は,C言語でプログラムを作成する過程を表している。