CPU 関連の用語
理解のために小咄形式でまとめました。
システムパフォーマンス関連記事の目次
登場人物
- 太郎(後輩):入社1年目の若手エンジニア。
- 花子(先輩):システムエンジニア歴3年の先輩。
場面:オフィスの開発ルーム
太郎が CPU 関連の用語 に関する資料を見ながら、花子に質問する。
太郎:「花子先輩、CPU 関連の用語 について整理したいんですが、プロセッサ、コア、スレッドの違い って何ですか?」
花子:「いい質問ね! CPUの基本概念 を理解することで、 マルチコアやスレッディングの仕組み が分かるわ。6 つの主要な用語 を説明するわね。」
CPU 関連の用語
花子:「CPU に関連する 6 つの重要な用語 を解説するわね。」
- プロセッサ(Processor)
- コア(Core)
- ハードウェアスレッド(Hardware Thread)
- CPU命令(Instruction)
- 論理CPU(Logical CPU)
- 命令セット(Instruction Set)
1. プロセッサ(Processor)
花子:「プロセッサ は、 物理的なチップ のことよ。」
- CPU とは
中央処理装置(Central Processing Unit)の略で、計算処理を行うハードウェア。 - 物理プロセッサ(Physical Processor) は
システムに搭載されるチップ全体のこと。 - 1 つのプロセッサには
1 つ以上のコアを持つことができる。
「これは 工場全体 みたいなもので、 工場(プロセッサ)が製品(データ)を加工する のよ。」
太郎:「ってことは、 プロセッサ自体はチップ全体 を指すんですね!」
2. コア(Core)
花子:「コア は、 プロセッサ内の個々の演算ユニット よ。」
-
シングルコア CPU →
1 つのコアだけを持つ古いタイプの CPU。 -
マルチコア CPU →
複数のコアを持ち、並列処理が可能。 - 現代のプロセッサは、
2 ~ 64 コア以上を搭載することが一般的。
「例えば キッチンのコンロ みたいなもので、 1 つのコンロ(コア) しかなければ 1 つの料理しか作れない けど、 複数のコンロ(マルチコア) があれば 同時に複数の料理を作れる のよ。」
太郎:「なるほど、 コアが増えるほど並列処理ができる んですね!」
3. ハードウェアスレッド(Hardware Thread)
花子:「ハードウェアスレッド は、 1 つのコアが同時に処理できるスレッド数 のことよ。」
- Intel の
ハイパースレッディング(Hyper-Threading, HT)技術は、1 つのコアで 2 つのスレッドを同時実行可能。 - AMD の SMT(Simultaneous Multi-Threading) も
同様に 1 コアで複数のスレッドを並列処理。 - 例えば、
8 コアの CPU で SMT を有効にすると、16 論理 CPU(8 × 2 スレッド)` が使用可能になる。
「これは 飲食店のレジ みたいなもので、 1 つのレジ(コア)に 2 つの店員(スレッド)がついて、 交互にお客さんをさばく仕組み よ。」
太郎:「つまり、 1 つのコアが複数のスレッドを処理できる ことで、 リソースを効率的に使える んですね!」
4. CPU命令(Instruction)
花子:「CPU命令 は、 CPU が実行できる基本的なオペレーション のことよ。」
- 算術演算(加算、減算、乗算など)
- メモリアクセス(データの読み書き)
- 制御命令(分岐やループ処理)
「これは レシピの指示 みたいなもので、 料理(プログラム)を作るために、手順(命令)を実行する のと同じよ。」
太郎:「CPU の 命令セット によって、 どんな計算ができるか決まる んですね!」
5. 論理CPU(Logical CPU)
花子:「論理CPU は、 OS から見える仮想的な CPU 数 のことよ。」
-
物理 CPU が
8 コアでも、SMT によって 16 論理 CPUに見えることがある。 - OS は論理 CPU を単位としてスケジューリングを行う。
cat /proc/cpuinfoを実行すると、OS が認識している論理 CPUの数を確認できる。
「これは デジタル時計とアナログ時計 みたいなもので、 中身は同じだけど見え方が違う のと同じね。」
太郎:「なるほど! OS の視点では、論理 CPU が処理単位 なんですね!」
6. 命令セット(Instruction Set)
花子:「命令セット は、 CPU が理解できる命令の集合 よ。」
- x86, ARM, RISC-V など、
CPU のアーキテクチャごとに異なる命令セットがある。 - x86 は
デスクトップ PC やサーバーに多い。 - ARM は
近年のMac、スマホやタブレット、組み込み機器で広く使われている。 - RISC-V は
オープンソースの命令セットで、新しい技術として注目されている。
「これは 言語の違い みたいなもので、 日本語しか話せない人に英語の指示を出しても理解できない のと同じよ。」
太郎:「ってことは、 CPU の種類によって動かせるプログラムが違う んですね!」
まとめ
花子:「CPU の 基本用語 を理解すると、 パフォーマンス分析や最適化の基礎 が分かるわ。」
太郎:「ありがとうございます! CPU のコア数と SMT の影響 を htop コマンド で確認してみます!」
参考リンク
システムパフォーマンス関連記事の目次
システムパフォーマンス関連記事は、以下の書籍を参考に記述しています。