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