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 コマンド
で確認してみます!」
参考リンク
システムパフォーマンス関連記事の目次
システムパフォーマンス関連記事は、以下の書籍を参考に記述しています。