★ この記事では、コンピュータがなぜ動くのかわかりやすく説明することを
目標としています。随時更新中です。
目標としています。随時更新中です。
目次
◎ コンピュータとは
○プログラムが書かれてから動くまで
・プログラムを書きます。
・ソースファイルとして保存されます。
・コンパイラによってコンパイルを行いオブジェクトファイルになります。
・リンカを使用し、必要なオブジェクトファイルがリンクされEXEファイルを生成します。
・プログラム起動時にHDDからメモリにがコピーされます。
・CPUがプログラムの内容を理解しながら制御装置、演算装置、クロック、レジスタを用いて実行していきます。
○ CPUとは
☆ CPUはレジスタの集合体でありです。
以下は主なレジスタの動き
アキュームレジスタ
・・・演算を行うデータおよび演算後のデータを格納。
フラグ・レジスタ
・・・演算処理後のCPUの状態を格納。
プログラムカウンタ
・・・次に実行する命令が格納されたメモリのアドレスを格納。
ベース・レジスタ
・・・データ用のメモリ領域の先頭アドレスを格納。
インデックス・レジスタ
・・・ベース・レジスタからの相対レジスタ。
汎用レジスタ
・・・任意のデータを格納。
命令レジスタ
・・・命令そのものを格納。CPUが内部的に使用。
・スタック・レジスタ
・・・スタック領域の先頭アドレスを格納。
○ CPUが実行できるマシン語命令
☆ CPUが実行できるマシン語命令を機能で大きく分類すると以下のようになります。
データ転送命令
レジスタとメモリ、メモリとメモリ、レジスタと周辺装置の間でデータを読み書きする。
演算命令
アキュームレータで算術演算、論理演算、比較演算、シフト演算を行う。
ジャンプ命令
条件分岐、繰り返し、無条件のジャンプを行う。
コール/リターン命令
関数を呼び出す/呼び出し元に戻る。