CPU・メモリ・レジスタの仕組み
CPU・メモリ・レジスタの仕組み
本節では、すべてのプログラム実行の基盤となる
CPU・メモリ・レジスタの関係と動作原理を解説する。
特定のプログラミング言語に依存せず、
業務系・組み込み・OS・ハードウェア設計に共通する視点で整理する。
1. CPUとは
CPUとは、
プログラムに記述された命令を解釈し、実行する中枢装置。
CPUは以下を繰り返すことで処理を進める。
- 命令の取得
- 命令の解読
- 命令の実行
Q1. CPUとは何か
A.
CPU(Central Processing Unit)とは、
コンピュータにおいて演算・制御を担当する中心的処理装置。
加算・比較・分岐・データ転送などの処理を行い、
システム全体の動作を制御する。
参考:
CPU(Wikipedia)
2. メモリとは
メモリとは、
プログラムとデータを一時的に保持する記憶装置。
CPUはメモリから命令やデータを読み出し、
処理結果を書き戻す。
Q2. メモリとは何か
A.
メモリとは、
CPUが直接読み書きできる主記憶装置。
一般にRAM(揮発性メモリ)を指し、
電源断で内容は消失する。
参考:
主記憶装置(Wikipedia)
Q2-1. アドレスとは何か
A.
アドレスとは、
メモリ上の位置を識別する番号。
CPUはアドレスを指定することで、
特定のデータや命令を取得する。
3. レジスタとは
レジスタとは、
CPU内部に存在する高速な記憶領域。
メモリよりも桁違いに高速だが、
容量は非常に小さい。
Q3. レジスタとは何か
A.
レジスタとは、
CPU内部に組み込まれた超高速記憶装置。
演算対象、演算結果、制御情報を一時的に保持する。
参考:
レジスタ(Wikipedia)
Q3-1. プログラムカウンタとは何か
A.
プログラムカウンタとは、
次に実行する命令のアドレスを保持するレジスタ。
命令実行後、自動的に更新される。
Q3-2. 汎用レジスタとは何か
A.
汎用レジスタとは、
演算データや一時値を保持するためのレジスタ。
アーキテクチャごとに本数や役割が異なる。
4. CPU・メモリ・レジスタの関係
プログラム実行時の基本関係は以下の通り。
- 命令とデータはメモリに配置される
- CPUはメモリから命令を取得する
- 演算はレジスタ上で行われる
- 結果は再びメモリに書き戻される
Q4. なぜレジスタが必要なのか
A.
メモリアクセスはCPU動作に比べて遅いため、
高速な処理を行うためにレジスタが必要。
レジスタは性能設計の要となる。
5. 設計上の重要ポイント
CPU・メモリ・レジスタの構成は、
以下に大きな影響を与える。
- 処理性能
- 消費電力
- リアルタイム性
- プログラミングモデル
そのため、
設計はコーディング以前に理解されるべき基礎知識である。
