CPUコア(プロセッサコア)とは、CPUの演算回路となっている場所です。CPUの中央処理ユニットにあたります。CPUコアは、制御部と演算部により構成されます。一般に、コアが増えると、CPUの性能は上がるとされています。
CPUコア(プロセッサコア)とは
CPUコア(プロセッサコア)とは、CPUの演算回路となっている場所です。(以下CPUコア)
CPU(読み方:シーピーユー)とは
CPUとは、中央処理装置を意味するCentral Processing Unitの略。コンピュータの中核となる部位であり、制御・演算を行う。
CPUコアは、CPUの中央処理ユニットにあたり、制御部と演算部により構成されます。一般に、コアが増えると、CPUの性能は上がるとされています。
ポイント
- CPUコアは、CPUの中央処理ユニットにあたる
- コアが増えると、CPUの性能は上がる
CPUコア(プロセッサコア)の動作周波数とは
CPUの性能を示す指標として、動作周波数があります。
動作周波数とは
動作周波数とは、CPUの性能を示す指標の一つ。別名、「クロック周波数」とも言う。クロックとは、CPUが処理を同期させるために用いる信号のこと。動作周波数・クロック周波数は、文字通り、クロックの周波数のことで、1秒当たりのクロック数(単位:Hz・ヘルツ)で表示する。
動作周波数は、CPUコアの性能によって決まります。
今日では、複数のコアをCPUに搭載する技術(=マルチコア)により、性能を上げていますが、この技術が生まれる前は、動作周波数を上げることにより、CPUの性能を上げていました。
ポイント
- 動作周波数とは、CPUの性能を示す指標の一つであり、CPUが処理を同期させるために用いる信号の周波数のこと
- 動作周波数は、CPUコアの性能によって決まる
動作周波数については、以下の記事をご覧ください。
シングルコアとマルチコア
シングルコアとは・マルチコアとは
従来のCPUは、動作周波数を上げることで高機能化単位時間あたりの計算量を増やし、高性能化を実現してきました。
しかし、動作周波数が上がると、性能が上がる半面、消費電力が上がります。また、これに伴い、発熱量も増えます。
このため、動作周波数をあげるのではなく、コアを増やすことによる高性能化の方法が開発されました。
この、CPUにコアを複数搭載する技術を、マルチコアと言います。
マルチコアとは
「マルチコア(メニーコア)」とは、1つのプロセッサの中に複数のCPUコアを内蔵する技術のこと。マルチコアのプロセッサは、複数の処理を並列しておこなうことで、シングルコアに比べ、高い処理能力を実現している。マルチコアによって高機能化されたプロセッサは、「マルチコアプロセッサ」と呼ばれる。
これに対し、CPUにコアを1つだけ搭載することを、シングルコアと言います。
シングルコアとは
シングルコアとは、コアを1つだけ内蔵したプロセッサのこと。シングルコアは、通常マルチコアと対比する文脈において使われる言葉。
シングルコアとマルチコアの違い・比較表
シングルコアとマルチコアを比較すると、以下の通りです。
シングルコア | マルチコア | 備考 | |
---|---|---|---|
コアの数 | 1つ | 複数 | |
発熱・消費電力量 | 高 | 低 | ただし同じ条件の場合 |
処理性能 | 低 | 高 | |
コスト | 低 | 高 |
シングルコアとマルチコアの比較については、以下の記事をご覧ください。
CPUコア(プロセッサコア)とスレッドの違い
通常、1つのCPUコアは、1つの処理を実行します。このため、マルチコア化すると、同時に実行できる処理の数も多くなります。
一方、スレッドとは、OSから認識されるコアの数を指します。このため、スレッド数は、「論理コア数」とも呼ばれます。
先程述べた通り、マルチコア技術の登場により、CPUの処理性能は向上しました。現在のCPUは、このマルチコア技術に加え、1つのCPUコアを疑似的に複数のコアとして扱う技術(=マルチスレッド)を採用し、更にCPUの処理性能を向上させています。
マルチスレッドとは
マルチスレッドとは、複数の処理の流れを並列的に進めること。CPUの利用時間を細かく分割して順番に割り当て、処理速度を向上させる技術を指す。
ポイント
- スレッドとは、OSから認識されるコアの数のこと
- マルチコアに加え、マルチスレッドを活用すると、更にCPUの処理性能は向上する
組み込み機器向けのCPUコア(プロセッサコア)の種類・具体例
組み込み機器向けのCPUコアの具体例として、ARMのCortexシリーズが挙げられます。
Cortexシリーズは、以下の3つに大別されます。
Cortex-A:アプリケーション(Application)向け
Cortex-R:リアルタイム制御(Real Time)向け
Cortex-M:マイクロコントローラー(Microcontroller)向け
このA、R、Mは、会社名であるARMから割り当てられたとされています。
アプリケーション向けのCortex-Aシリーズ
Cortex-Aは、Cortexシリーズの中で最もハイエンドなシリーズです。Cortex-Aの「A」は、アプリケーション(Application)を意味しています。
Cortex-Aシリーズは、メモリ管理ユニット(MMU)を搭載しています。
メモリ管理ユニット(MMU)とは
メモリ管理ユニットは、メモリを有効に活用するための部位。Memory Management Unitを略してMMUとも呼ぶ。メモリのアクセス状態を監視し、メモリを保護している。
Cortex-Aシリーズの代表的なCPUコアは、以下の通りです。
Cortex-Aシリーズの代表例・具体例
- Cortex-A5
- Cortex-A7
- Cortex-A8
- Cortex-A9
- Cortex-A15
- Cortex-A53
- Cortex-A72
リアルタイム制御向けのCortex-Rシリーズ
Cortex-Rは、Cortexシリーズの中でもミドルクラスのシリーズです。Cortex-Rの「R」は、リアルタイム制御(Real Time)を意味しています。
Cortex-Rシリーズは、MMUではなく、メモリ保護ユニット(MPU)を搭載しています。
メモリ保護ユニット(MPU)
メモリ保護ユニットは、メモリを有効に活用するための部位。Memory Protection Unitを略してMPUとも呼ぶ。メモリ管理ユニットから、メモリを保護する機能だけが独立したもの。
Cortex-Aシリーズで使用しているMMUは、アドレス変換を高速化するために、TLB(Translation Lookaside Buffer)というキャッシュを使用しています。
要求したアドレスがTLB内にない場合(=TLBミス)、ページ入れ替えのためのメモリ・アクセスが発生します。TLBミスは発生を予測しづらいため、リアルタイム性能が要求される応用分野には適していません。
このため、Cortex-Rシリーズでは、MMUではなく、アドレス変換を行わないMPUを搭載しています。
Cortex-Rシリーズの代表的なCPUコアは、以下の通りです。
Cortex-Rシリーズの代表例・具体例
- Cortex-R4
- Cortex-R5
- Cortex-R7
マイコン向けのCortex-Mシリーズ
Cortex-Mは、Cortex-Mシリーズの中でもローエンドなシリーズです。Cortex-Mの「M」は、マイコン(Microcontroller)を意味しています。
Cortex-Mは、低消費電力・低コスト・小型化に特化しています。また、シリーズを通してバイナリの上位互換が確保されています。
Cortex-Mシリーズの代表例・具体例
- Cortex-M0
- Cortex-M3
- Cortex-M4
- Cortex-M7
- Cortex-M33
CPU・プロセッサ・マイコンの違い
マイコンとプロセッサは、どちらもCPUを核として、複数の機能・装置をまとめてチップ化したものです。
マイコン(Micro Controller Unit・MCU)とは
マイコンとは、マイクロコントローラの略。CPUを搭載し、メモリなどを一つのチップにまとめたもの。
プロセッサ(Micro Processor Unit・MPU)とは
プロセッサは、CPUそのものや、CPUの機能をチップに集積したもの(=MPU)のこと。プロセッサの中には、グラフィックスプロセッサ(GPU)など、特定の処理に特化したものもある。
このように、マイコン、プロセッサは、どちらもデータの演算・制御を行い、大分類ではCPUと言えます。
また、両者には違いがあるものの、その厳密な定義は、必ずしも明らかではありません。
このように、CPU、マイコン、プロセッサは、細かな違いはあるものの、何らかの処理をする(=Process)の機能がある、という共通点があります。
ポイント
- マイコン・プロセッサは、どちらもCPUを搭載し、チップ化したもの
- マイコン・プロセッサは、どちらも大分類ではCPUと言える
- CPU・マイコン・プロセッサは、いずれも処理をする(=Process)機能を有する
マイコン・プロセッサの違いについては、以下の記事をご覧ください。