プログラムは、「命令」と「データ」から構成されます。
プログラムには、コンピュータに実行させる処理の順番を示す役割があります。
一般に、ハードディスクに保存されたプログラムは、マシン語に変換されてメモリーにコピーされます。
そして、CPUが、プログラムを解釈し実行します。
マシン語,高水準言語,低水準言語
マシン語は、CPUが解釈して実行できる言語です。
高水準言語とは、人間の言葉に近い構文のプログラミング言語の総称です。BASIC、C言語、C++、Java、Pascal、FORTRAN、COBOLなどです。
高水準言語のプログラムは、マシン語に変換してから実行します。
なお、高水準言語で記述されたプログラム をマシン語に変換することを「コンパイル」といいます。変換プログラムのことは「コンパイラ」と呼ばれます。
高水準言語に対して、マシン語は「低水準言語」と呼ばれます。
CPU
CPUは、CentralProcessingUnit(中央処理装置)の略称です。
コンピュータの頭脳となる装置です。
高水準言語で作成したプログラムは、コンパイルされてマシン語になり、CPUは、マシン語となったプログラムの内容を解釈して実行します。
CPUは、トランジスタから構成されたIC(IntegratedCircuit、集積回路)と呼ばれる電子部品であり、その内部は、数百万~数億個のトランジスタで構成されています。
機能面から見ると、CPUは、「レジスタ」「制御装置」「演算装置」「クロック」の4つの機能から構成されます。
レジスタは、処理対象となる命令やデータを格納します。
クロックは、CPUが動作するタイミングとなるクロック信号を発生させます。なお、クロックは、CPUの外部にある場合もあります。
制御装置は、クロック信号に合わせて、メモリー上の命令やデータをレジスタに読み出し、演算装置が、メモリーからレジスタに読み出されたデータを演算します。
そして、制御装置が、演算装置の演算結果に応じてコンピュータ全体を制御します。
メモリー
通常、「メモリー」とはメイン・メモリー(主記憶)を意味します。メイン・メモリーは、制御用チップなどを介してCPUとつながっています。
メイン・メモリーは読み書き可能なメモリー素子で構成されています。
1バイト(=8ビット)ずつにアドレス(番地)と呼ばれる番号が付いています。アドレスは、整数値で表されます。
CPUはこのアドレスを指定してメイン・メモリーに格納された命令やデータを読み出したり書き込んだりします。
メイン・メモリーに格納されている命令やデータはパソコンの電源を切ると消えます。
メイン・メモリーには、通常DRAM(DynamicRandomAccessMemory、ディーラム)チップを使います。
DRAMは、どのアドレスに対してもデータの読み出しと書き込みができます。
プログラムのメリット
プログラムのメリットとは、いったい何でしょうか。
機械は、入力された情報を、判断し、特定の情報を出力します。
判断する部分は、ハードウェアのみで実現することもできます。
たとえば、物理的な回路で構成することができます。
しかし、多様な製品を生み出すために、多様なハードウェアを開発するのは効率が悪いです。
そこで、判断する部分に、ソフトウェアであるプログラムを用いることで、問題が解決します。
プログラムの種類さえ変えれば、様々な機能を持った製品が生み出せるのです。
また、製品の改良など、状況の変化に応じて判断の仕方を変えたいときは、物理的な回路を変更する等せずとも、プログラムを書き換えるだけで、それが実現できます。
これらがプログラムのメリットなのです。