CPU・メモリ・I/O はどう繋がっているのか?
プログラムが「動く」とはどういうことか。フォン・ノイマン型から命令実行サイクル・パイプラインまで体系的に学ぼう。
現代のほぼすべてのコンピュータが採用する基本設計
コンポーネントをクリック → 右に詳細表示
← コンポーネントをクリック
「プログラム内蔵方式」:命令(プログラム)もデータも同じメモリに格納し、CPUが順に読み出して実行する。 この設計以前は、プログラムを変えるたびに配線を物理的に変更する必要があった。 現代のスマートフォンからスパコンまで、この基本設計が継承されている。
CPUは1命令をどうやって処理するか
「次のステップ」をクリックして命令サイクルを追いかけよう
「速くて大容量」はなぜ難しいのか
上↑速い・小さい・高価 / 下↓遅い・大きい・安価
← 階層をクリック
🧠 局所性の原理(Locality Principle): プログラムは最近アクセスした場所をまたアクセスしやすい(時間的局所性)し、 アクセスしたアドレスの近くをアクセスしやすい(空間的局所性)。 キャッシュはこの性質を利用して CPU と RAM の速度差(約100倍)を補う。
命令セットアーキテクチャ(ISA)の2大思想
命令がどのように処理されるかを比較
複数の命令を並行して処理するしくみ
❌ パイプラインなし(直列)
洗濯→乾燥→たたむ を1回分すべて終えてから次の洗濯物を開始。全工程が終わるまで次を始められない。
✅ パイプライン(並列)
1回目を乾燥機に入れたらすぐ2回目の洗濯を開始。5段階を同時並行で処理しスループットが向上。
| 命令 | Clk 1 | Clk 2 | Clk 3 | Clk 4 | Clk 5 | Clk 6 | Clk 7 | Clk 8 | Clk 9 | Clk10 |
|---|