中級では記憶の階層とバスを見ました。上級では、数字で捉える階層と、構造上の限界へ。
上級の解説は準備中のため、上級の内容を表示しています。
概要 — まず全体をつかむ
詳細 — 1段階ずつ追う
桁で違う「距離」
各記憶の速さは桁で違います(目安)。
- レジスタ 〜1ns、L1 数ns、L2/L3 数〜数十ns
- メモリ 〜100ns、SSD 数十μs、HDD 〜10ms
- ネットワーク ms 級
上の階層に「いかによく使うものを当てるか(局所性)」が、体感速度を決めます。
構造とボトルネック
- フォンノイマンボトルネック — 命令もデータも同じメモリを通す構造の限界
- バス — PCIe(拡張・GPU・NVMe)、メモリバス。帯域が効く
- NUMA — 複数CPUで、ノード(ソケット)ごとにメモリまでの距離が違う(近い方が速い。同一ノード内のコアは同距離)
- 周辺 — USB/NVMe/ネットワークのI/O
起動と実行の実体
- 電源投入 → UEFI(ファームウェア)が初期化
- ブートローダを読み、カーネルをメモリへ
- カーネルが init を起動、各サービスが立ち上がる
- 以降、CPUはストアドプログラム方式で命令を取り込み実行し続ける
- 入出力は割り込み駆動、大量転送はDMAでCPUを介さず
⚠️ 性能の見方
- メモリ帯域律速 — 計算より、データ移動が全体を決めることが多い
- NUMAの遅延 — 遠いメモリへのアクセスで性能低下
- I/Oボトルネック — ストレージ・ネットワーク待ち
- TDP(熱設計電力) — 冷やせる範囲でしか性能を出せない
- 数字の罠 — クロック・コア数・GB だけでは実性能は測れない(局所性・帯域・並列度が効く)
理解度チェック
そのまま解けます(成績は保存されません)。無料アカウントを作ると、学習の記録と進捗の山登りが始まります。
問1. メモリのアクセス速度をおおまかに速い順で並べると?
問2. CPUが高速でも、メモリとのデータ移動が全体を律速しがちな構造上の問題は?
問3. 大量データ転送を、CPUを介さずに行う仕組みはどれ?
問4. NUMAの説明として正しいのは?
問5. 電源投入からカーネルが動き出すまでの受け渡しの順序として正しいのは?
問6. TDP(熱設計電力)が示すものとして最も適切なのは?
問7. 電源投入時に最初にハードウェアを初期化する現代のファームウェアを英字4文字で答えてください。
問8. 「直近使ったもの・その近くを再び使う」というアクセスの偏りの性質を何と呼ぶ?