はじめに
CPUやメモリ、スワップについて整理した備忘録になります。
CPUの役割と性能
- CPUは、プログラムの命令を解釈し、演算や制御を行う中枢処理装置
- CPUの性能は、コア数とクロック周波数で決まる
- コア数が多いほど、同時に複数の処理が可能
- クロック周波数が高いほど、1秒間の処理速度が速い
指標 | 性能 |
---|---|
コア数 | 多い ⇒ 高性能 |
クロック周波数 | 高い ⇒ 高性能 |
CPUの性能を分かりやすく例えると
- クロック周波数は調理の速さ
- 1分間に何皿の料理を作れるかを表す
- コア数は調理人の人数
- 同時に複数の処理ができるので、効率的
CPUの性能向上に関する課題
指標 | 説明 | 課題 | 料理の例 |
---|---|---|---|
クロック周波数 | 1秒間に処理できる命令の数 | ・高クロック周波数化には高性能な冷却システムが必要 ・過剰な高クロック周波数化はCPUの発熱を増大させ、性能低下につながる |
・1分間に調理できる調理の速さに相当 ・調理の速さを上げるには大型の冷蔵庫や換気扇など、高性能な調理器具が必要 ・調理の速さを極端に上げすぎると、調理器具が故障する可能性がある |
コア数 | CPUに内蔵されているプロセッサーの数 | ・コア数が多いほど高性能だが、同じクロック周波数の場合でも約1.5倍の性能差しかない ・コア数の差を埋めるには、クロック周波数を1.5倍にする必要があるが、非常に高い周波数になってしまう ・高クロック周波数を実現するには、高性能な冷却システムが必要となり、コストがかかる |
・調理人の人数に相当 ・調理人の人数が多いほど、同時に複数の料理を作れるので効率的 ・調理人を2倍にしても、料理の完成時間は1.5倍程度しか速くならない ・調理人の人数の差を埋めるには、調理の速さ(クロック周波数)を1.5倍にする必要がある |
料理の調理速度を上げたり、調理人の人数を増やすには、高性能な調理器具が必要になります、それを用意するにはコストがかかってしまうという課題です。
メモリの役割
- メモリは、CPUが直接アクセスできるデータ保存領域
- プログラムの実行に必要なデータを一時的に保持
- メモリ容量が大きいほど、より多くのデータを同時に処理可能
スワップの役割
- メモリ容量が不足した際に、使用頻度の低いデータをHDD/SSDへ一時保存する
- メモリ不足を回避できるが、アクセス遅延によりシステムパフォーマンスが低下
スワップの課題点
- HDDやSSDへのアクセス遅延によるパフォーマンス低下
- ランダムアクセスによる性能劣化
まとめ
以下が実現されることでシステムの処理が実現されます。
・CPUがプログラムの命令を処理
・メモリがプログラムの実行に必要なデータを一時的に保持
・スワップがメモリ不足を補う