CPUとは何か
CoddyのAssemblyジャーニー「基礎」セクションの一部 — レッスン 1/45。
CPU(中央演算処理装置)はコンピュータの頭脳です。しかし、人間の脳とは異なり、実際には非常にシンプルです。それが行うことはただ一つ、メモリから命令を読み取り、それを一つずつ、非常に高速に実行することです。アセンブリコードを書くとき、あなたはCPUに直接命令を与えていることになります。
ハードウェアの詳細を隠蔽するPythonやJavaScriptのような高水準言語とは異なり、アセンブリ言語では、CPUが何を行うかをステップバイステップで正確に制御することができます。
CPUを、次のような非常に仕事の速い作業員だと考えてみてください。
- 自分自身で考えたり決定を下したりすることはできません
- 「これら2つの数字を足す」や「この値をあそこに移動する」といった単純な命令に従います
- こうした単純な命令を1秒間に数百万回実行します
CPUの内部には、レジスタと呼ばれる小さな記憶領域があります。レジスタは1つの数値を保持します。CPUはレジスタに非常に高速にアクセスできます。これは、メインメモリ(RAM)にアクセスするよりもはるかに高速です。
CPUには、プログラムカウンタ(PC)と呼ばれる特別なレジスタもあります。PCは、次に実行する命令のメモリ番地を保持します。各命令の実行後、PCは自動的に次のアドレスに移動します。
CPUに関する主な事実:
| 項目 | 説明 |
|---|---|
| 一度に1つの命令を実行する | ハードウェアレベルでのマルチタスクは行われない |
| 数値のみを理解する | すべて(命令、データ、アドレス)が数値である |
| 独自のメモリを持たない(レジスタを除く) | すべてをRAMに保存する必要がある |
| 非常に高速である | 現代のCPUは1秒間に数十億の命令を実行する |
自分で試してみよう
このレッスンにはコードチャレンジは含まれていません。
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。