CPU
上級

コンテキストスイッチ(コンテキストスイッチ)

CPUが実行中プロセス/スレッドを切り替える処理。レジスタ・MMU・キャッシュの保存復元で1-10μs要し、頻発するとオーバーヘッド増。`perf stat`・`vmstat`で計測可能。

0 回閲覧
0 いいね
2026/4/25 更新
関連タグ
スケジューリング
perf
MMU
L1

概要

コンテキストスイッチは、CPU が現在実行中のプロセスやスレッドを停止し、別のプロセスやスレッドへ切り替える処理です。
切り替え時にはレジスタ、MMU のページテーブル、キャッシュの内容を保存し、次のタスクの状態を復元します。
典型的な切り替え時間は 1〜10 µs 程度で、頻繁に発生するとシステム全体のオーバーヘッドが増大します。
perf stat や vmstat などのツールで実際のスイッチ数や時間を計測できます。

主な特徴・仕組み

  • レジスタ保存
    CPU の汎用レジスタとフラグレジスタをプロセスの PCB(Process Control Block)へ書き込む。
  • MMU 状態切替
    ページテーブルベースアドレス変換を有効にするため、TLB(Translation Lookaside Buffer)をクリアまたは再ロード。
  • キャッシュの失効
    L1/L2/L3 キャッシュはプロセス間で共有されるため、切替時に失効させることで不整合を防ぐ。
  • スケジューラの介入
    OS のスケジューラが次に実行すべきタスクを決定し、カーネルが切替を指示。
  • オーバーヘッドの抑制
    ハードウェアは「ライト」な切替(レジスタのみ保存)をサポートし、ソフトウェアは「フル」な切替を実装。

スペック/製品比較表

製品コア数クロックL1 キャッシュL2 キャッシュL3 キャッシュTDPコンテキストスイッチ時間備考
Intel Core Ultra 9 285K245.7 GHz32 KB1 MB72 MB450 W1.2 µs2025年モデル
AMD Ryzen 9 7950X3D165.5 GHz32 KB512 KB64 MB280 W1.5 µs3D‑Cache搭載
Intel Core i9‑13980HX245.4 GHz32 KB1 MB48 MB450 W1.3 µsモバイル向け
Qualcomm Snapdragon 8 Gen 384.5 GHz32 KB256 KB8 MB15 W0.9 µsSoC
Apple M3 Max125.0 GHz32 KB512 KB24 MB200 W1.0 µsARM ベース

具体例・対応製品

  • NVIDIA RTX 4090
    24 GB GDDR6X、PCIe 5.0 x16、最大 450 W TDP。GPU 側のスレッド切替は CPU とは別に実装されるが、CPU との同期が必要。
  • ASUS ROG Strix X670E‑E Gaming WiFi
    AMD AM5 ソケット、DDR5‑6000、PCIe 5.0 x16 をサポート。高速メモリは MMU のページテーブル更新を高速化。
  • Samsung 990 Pro
    1 TB NVMe、PCIe 4.0 x4、最大 1,500 MB/s。SSD の I/O スケジューラは OS のコンテキストスイッチと連携。
  • Intel Core Ultra 9 285K
    24 コア、3.4 GHz ベース、5.7 GHz ブースト。CPU 内部で 1.2 µs の軽量切替を実現。
  • Apple M3 Max
    12 コア、5.0 GHz ブースト。ARM の「ライト」切替は 1.0 µs。

自作PCでの選び方・注意点

  • CPU のコア数とスレッド数
    コア数が多いほど同時に実行できるタスクが増えるが、切替頻度が高くなる可能性。
  • キャッシュ階層
    大きな L3 キャッシュはスレッド間のデータ共有を高速化し、TLB 失敗を減らす。
  • メモリ帯域
    DDR5‑4800 以上の速度は MMU のページテーブル更新を速め、切替オーバーヘッドを低減。
  • 電源ユニット (PSU)
    450 W 以上の高出力 PSU は 2025年の最新ゲーミング PC に最適。
  • 冷却性能
    高クロックで発熱が大きい CPU は水冷または高性能空冷を検討。
  • マザーボードのチップセット
    最新のチップセットは 2026年の次世代 CPU との互換性を保証。
  • BIOS/UEFI の設定
    「CPU C‑State」や「Intel SpeedStep」を適切に設定し、不要なスリープ状態を抑制。
  • OS の最適化
    Windows 11 Pro 以降は「プロセッサ優先度」を調整でき、コンテキストスイッチを最小化。
  • スケジューラのチューニング
    nice や ionice で I/O スケジューラを調整し、CPU の切替頻度を抑える。
  • モニタリングツール
    perf stat で「context-switches」や「context-switches per second」を定期的に確認。

関連用語との違い

用語主な違い具体例
スケジューリングタスクの実行順序を決定Round‑Robin
TLB Missページテーブルがヒットしない1 ms の遅延
キャッシュミスデータがキャッシュにない10 µs の遅延
スレッドCPU 内で実行される最小単位1 CPU コアに 1 スレッド
コンテキストスイッチスレッド間の状態保存/復元1.2 µs のオーバーヘッド

よくある質問(FAQ)

Q1. コンテキストスイッチが多いとどうなる?
A1. 切替オーバーヘッドが増え、CPU の実際の処理時間が減少します。結果としてスループットが低下し、マルチタスク環境で遅延が発生します。

Q2. 2026年の次世代CPUはコンテキストスイッチをどう改善する?
A2. 次世代プロセッサは「ライト」切替をハードウェアレベルでサポートし、レジスタ保存を 0.5 µs 以内に抑える設計が進行中です。

Q3. perf stat で「context-switches per second」を 10,000 以上に抑えるには?
A3. OS のスケジューラ設定を「リアルタイム」モードに変更し、不要なスレッドを停止または優先度を下げることで、スイッチ数を減らせます。

まとめ

コンテキストスイッチは CPU のマルチタスク性能に直結する重要な処理です。
最新世代のプロセッサは 2025年以降にリリースされる製品で、1.0 µs 前後の軽量切替を実現。
自作 PC で高いパフォーマンスを求めるなら、CPU のキャッシュ階層、メモリ帯域、電源・冷却性能を総合的に評価し、適切なスケジューラ設定を行うことが鍵です。
次世代のハードウェアとソフトウェアの最適化を組み合わせることで、コンテキストスイッチのオーバーヘッドを最小化し、スムーズなマルチタスク体験を実現できます。

この記事について
カテゴリーCPU
難易度上級
作成日2026/4/18