プロセッサの基礎知識(2)~種類と使われ方~

 

前回の記事では、プロセッサについて、どのような物であるか、性能を向上させる要素は何か、そしてその用途展開など、プロセッサの概要理解に必要な内容について紹介しました。本記事では、特に高性能コンピューティングの領域において、用途に応じて使い分けられるプロセッサの種類(CPU、GPU、FPGA、ASIC、etc)の特長と、その使われ方について解説していきます。

プロセッサの種類

プロセッサは計算処理を行う半導体デバイスの総称ですが、用途や設計要件に応じ、数種類のものが使い分けられます。大きく分けるとCPU, GPU, FPGA, ASICが代表的です。
それぞれについて比較しながら、特徴と使われ方を見てみましょう。

CPU

CPU (Central Processing Unit)は1970年代から電卓といった単純な用途から商用利用が始まり、1980年代にはコンピュータでの利用へと発展し、回路微細化の進展とともに高性能化しました。プロセッサの中で最も一般的なものとして語られるのがCPU です。その理由は柔軟性・汎用性にあり、処理過程においてソフトウェアを介在させた処理を多用することで、あらゆるアプリケーションを実行できるように設計されています。これは後述の異種プロセッサでは実現できないことです。スマートフォンやパソコン、クラウド、その他の様々な機器で動くアプリケーション(プログラム)は主にCPUによって処理されており、その開発に関わるソフトウェア開発者が多いため膨大なアプリケーションが展開されています。CPUは私たちと情報を繋ぐ存在であり、情報化社会発展の中心として活躍してきたことは疑いようがありません。近年は一層キーパーツとしての認識が広がり、スマートフォン、PCメーカーや、クラウドサービスプロバイダーが、他社との性能差別化のために自社開発をする事例も増えてきています。 ただし、CPUには優れていない点も存在します。高い汎用性の裏返しとして、特定処理を繰り返し行う場合には、ソフトウェアの処理が冗長なものとなり、後述のGPU、FPGA、ASICと比べて処理速度が遅くなることです。そのため最近はCPUにこれらのプロセッサを組み合わせて使用する用途が多くなっています(後述)。

CPUの使用用途 … 自由にソフトウェアプログラムが使える汎用コンピューティング機器
CPU代表メーカー例 … Intel、AMD、Qualcomm、MediaTek、NXPなど

図 CPUの処理動作イメージ
図 CPUの処理動作イメージ 流
図 CPUの処理動作イメージ
図 CPUの用途例 スマートフォン図 CPUの用途例 パソコン図 CPUの用途例 サーバー
図 CPUの用途例

GPU

GPU (Graphic Processing Unit)は、その名の通り画像を処理するプロセッサのことを指します。起源は1970年代に始まり、1990年代からはWindows PCやゲーム機の画像処理向けに一般化しました。CPUと比べ多数のコアを持つ並列処理に優れた回路で構成されているため、より高速に画像処理がおこなえるプロセッサです。GPUは、グラフィックス技術の発展とともに高性能化し3D ゲームや3D CADなどに活用されていきましたが、加えて2000年代中盤からはGPGPU(General Purpose GPU)と呼ばれる多目的用途に向けたGPUの発展が始まりました。CPUのみによるデータ処理では手詰まり感があった当時、GPUの高い並列処理能力は多くの研究者やサービス事業者の関心を集め、大量のデータを処理する必要がある科学技術計算、ビッグデータ分析、画像識別AI開発など、様々な用途へ活用が広がっていきました。そして近年大きな注目を集めている生成AIにおいてもGPUは欠かせないプロセッサとなっており、AIアクセラレータとしてデータセンターで数多く使用されています。AIの開発においてGPUが好まれる理由は、優れた並列処理性能だけではありません。AIは日々刷新される優れたAI処理アルゴリズムに柔軟に対応する必要がありますが、GPUはGPGPU発展の過程でこれに対するソフトウェア開発環境が確立・蓄積されており、AI開発のスタンダードとなっています。AI開発においてGPUが競合ソリューションであるFPGA・ASIC(後述)よりも多く語られるのはこのためです。
但し、GPUはソフトウェア処理を多く用いていることで電力効率はFPGA・ASICに劣り、消費電力が大きくなってしまいます。この点が問題視されることがありますが、それでも厚いソフトウェア開発者層に支持されることでAIアプリケーション開発の中心であることは変わりがなく、需要に応じてより高性能なGPU製品が活発に投入されています。

GPUの使用用途 … 大量の画像・データに対して高速かつ自由な処理が必要な機器
GPU代表メーカー例 … Nvidia、AMD、Intelなど

図 GPUの処理動作イメージ
図 GPUの処理動作イメージ
図 GPUの処理動作イメージ
図 GPUの用途例 ゲーミングPC図 GPUの用途例 高性能コンピュータ図 GPUの用途例 サーバー
図 GPUの用途例

FPGA

FPGA (Field Programable Grid Array)は、1980年代にASICの代替ソリューションとして商用利用が開始されました。 回路による直接的な処理を中心としているため、CPU・GPUと比べ省電力です。またその名が示す通り、チップの製造後に現場で回路を自由に再構成できることが大きな特長です。ASIC(後述)は特定用途において仕様変更がなく大量に使用することが確定している場合においては最適なソリューションですが、実際の機器には開発段階では仕様や需要が不透明なものも存在します。そこにFPGAの柔軟性が活用され、機器の設計・量産における迅速化を実現します。例えば、使用環境によってコーデックやインタフェースへの柔軟な対応が必要となる産業機器や、通信規格(プロトコル)などの変更への対応が必要となる基地局などがその事例です。回路の書き換えは開発途中だけでなく、搭載機器の稼働開始後の段階でも可能であることが価値となっています。また、FPGAは長期供給が行われていることもメリットの一つです。長期供給が必要な機器に使用しているASICが生産終息になってしまった時に、FPGAで機能を再現して供給を継続するというソリューションも存在します。
このようにAISC置き換えで利便性の高いFPGAですが、汎用コンピューティングに使用されているCPU・GPUの置き換えは現実的ではありません。汎用コンピューティングの価値は膨大なコンピュータプログラムへの対応にあり、それら全てをFPGAで回路として実装することは現実的ではないからです。高い自由度を必要としない機器のCPU・GPU置き換えにおいては有効なケースがあります。

FPGAの使用用途 … 柔軟性と省電力のバランスが必要な各種機器
FPGA代表メーカー例 … AMD(Xilinx)、Intel(Altera)、Latticeなど

図 FPGAの処理動作イメージ
図 FPGAの処理動作イメージ
図 FPGAの処理動作イメージ
図 FPGAの用途例 基地局図 FPGAの用途例 高性能カメラ図 FPGAの用途例 医療機器
図 FPGAの用途例

ASIC

ASIC (Application Specific Integrated Circuit)は、その名が示す通り特定用途に特化して設計されたプロセッサです。プロセッサの起源を辿ると、計算処理の実現は特定用途向けに個別のロジックICを組み合わせてハードウェアのみで処理されていました。ASICも特定用途向けにほとんどの処理をハードウェア(回路)で処理するように設計されていますので、もっとも原始的な思想のプロセッサと言えます。ASICは省電力においてFPGAよりも更に優れています。FPGAは自由に回路を変更できる分、回路素子が余分に用意されており構造にも無駄がありますが、ASICでは回路の変更ができない代わりにこの無駄が徹底的に排除されているためです。つまり、プロセッサの中で最も電力あたりの性能が高いプロセッサがASICです。柔軟性を必要としない定型処理が大量にある場合、最も低コスト・省電力で実現できる手段であり、用途例の一部を挙げると、ネットワークスイッチ、基地局、AIおよび通信アクセラレータ、ビデオトランスコーダ―、仮想通貨マイナーなどがあります。ASICは製品においてはTPU、IPU、DPU、NPU、VPUなど用途やメーカー独自の名づけで表記されていることがあります。
ASICは他のプロセッサと比べて設計はより慎重に行われ、時間と労力が必要となります。量産後にバグがあっても回路書き換えやソフトでの不具合対応ができないためです。一部の用途においてはProgrammable ASICというソフトによる調整に対応した製品もありますが、調整可能な内容は限られています。そのため、全く新しい用途においてCPUに向かない種類のデータ処理需要が発生した際は、初期段階ではより柔軟性のあるGPUやFPGAで対応し、処理が定型化し大量使用のめどが立てばそれらを置き換えるASICの開発へ移行するという流れが一般的です。最近では成長著しいクラウドサービスプロバイダーがASICを自社開発する事例が増えています。大量に使用しているGPUやFPGAなどのASIC化をおこなえば、プロセッサ単価や電力面で大きな低コスト化が見込めるためです。

ASICの使用用途 … 定型処理をおこない大量需要のある各種機器
ASIC代表メーカー例 … Broadcom、Intel、Marvell、スイッチ・基地局メーカー、大手クラウドサービスプロバイダーなど

図 ASICの処理動作イメージ
図 ASICの処理動作イメージ
図 ASICの処理動作イメージ
図 ASICの用途例 ネットワークスイッチ図 ASICの用途例 AIアクセラレータ搭載サーバ図 ASICの用途例 基地局
図 ASICの用途例
プロセッサ
種類
ハード
(性能)*
ソフト
(汎用性)
特色
CPU 矢印 上から下へ 得意
ソフトウェアを生かした柔軟性・汎用性の高い設計となっており、複雑な処理にも対応可能。
主にソフトウェア知識だけでアプリケーションを開発できるため、膨大なアプリケーションが存在。
GPU, FPGA, ASICは単体ではこれらへの対応は難しいため、CPU(SoC)とセットで使用されるケースが多い。
不得意
特定の処理では異種プロセッサよりも低性能。ソフトを介在した処理が多く、特定処理に最適化されていないため。
GPU 矢印 下から上へ 得意
多数のコアによる並列回路により単純処理を高速化。
画像・AI等における大量のデータ処理においてCPUより高い性能を発揮する。
FPGA, ASICに比べソフトによる利便性が高く、画像・AI処理において開発者人口が多い。
不得意
ソフト処理が多いことで、単位電力当たりの性能はFPGAやASICに劣る。
FPGA 得意
他のプロセッサと違い、製造後に用途に合わせて回路の書き換えが可能。
頻繁な仕様変更と省電力に対応が必要な通信機器や産業機器に適する。
回路によるハード処理により、CPU・GPUよりも省電力化が可能。ASICと比べ開発期間の短縮が可能。
不得意
回路知識を必要とするため、アプリケーション開発においてCPU・GPUよりも開発の敷居が高い。
回路に無駄があるため単位電力当たりの性能はASICよりも劣る。大量に使用する場合、コストも劣る。
ASIC 得意
特定用途の専用ICとして回路が最適化されているため、電力当たりの性能が最も高い。
処理が定型化し大量に使用するような用途では、最も省電力・低コストな選択肢。
不得意
用途が限定され、最適な仕様決めのために開発労力・時間がかかる。
処理が回路として実装され、FPGAのように回路書き換えによる仕様変更への対応もできない。
*ハード(性能)は特定用途への最適化の度合、ソフト(汎用性)はどれだけ使いやすく幅広く使えるかを示す。
CPU動作イメージ
図 CPU動作イメージ
GPU動作イメージ
図 GPU動作イメージ
FPGA動作イメージ
図 FPGA動作イメージ
ASIC動作イメージ
図 ASIC動作イメージ
図 プロセッサの種類比較まとめ

プロセッサの使われ方~CPU+異種プロセッサ~

以上のように各種のプロセッサには一長一短があり、適材適所で使用されています。ここで、再度注目したいのは、一般的なアプリケーションと私たちを繋ぐのはCPUであり、一部の処理においてより効率的な処理を助ける役割としてCPU以外の異種プロセッサが使用されていることが多いということです。この時、CPUは主プロセッサ (ホスト)、異種プロセッサは副プロセッサ (アクセラレータ)と呼ばれます。このようなCPU+異種プロセッサの構成は、特に微細化効果の鈍化によって顕在化したCPU性能向上の不足を補う目的で活用が広がりました。実際の用途における実装形態としては、別のプロセッサとして外付け実装される場合と、一つのプロセッサパッケージに統合される場合があり、それぞれの使い分けのポイントは次の通りです。

図 CPU+異種プロセッサによる性能向上
図 CPU+異種プロセッサによる性能向上

<外付け型>
個別のプロセッサを組み合わせて、柔軟に高性能を得ることができる方法です。定番の使われ方として、PCの3Dゲーム向けにCPU+GPU、高速通信サーバ向けにCPU+ASIC or FPGA(SmartNIC)、AI学習処理などをおこなうHPCサーバ向けにCPU+GPU or ASIC(AIアクセラレータ)、高性能ネットワークスイッチ向けにCPU+ASIC(MAC)といったものがあります。サーバやネットワークスイッチの中でも、より高性能を必要とする箇所においては、筐体当たりのプロセッサの数を増やすことで処理性能を確保します。さらに大規模な計算処理が必要な場合は、複数の筐体間にわたって数百・数千個のプロセッサが一体処理をおこなうようにシステムが構成されることもあります。このような構成は、以前は主に科学技術計算に使うスーパーコンピュータに限定されるものでしたが、最近ではビッグデータやAIを利用した商業的なアプリケーションの開発などにも活用が広がっています。

図 外付け型の用途例 ゲーミングPC図 外付け型の用途例 サーバ図 外付け型の用途例 HPCサーバ図 外付け型の用途例 ネットワークスイッチ
図 外付け型の用途例
画像 CPU+GPUの使用事例
画像 CPU+GPUの使用事例
引用元:NVIDIA Grace Hopper Superchip | NVIDIA

<統合型(SoC)>
省面積や高効率が求められる用途に最適な方法です。このような統合パッケージはSoC (System On Chip)と呼ばれ、その名が示す通りワンチップで対象用途に必要な処理をおこなえることを意図して開発されたプロセッサです。多くの場合、特定用途に最適化されていますが、ASICと違いCPUを含んでいるためソフトウェアの柔軟性を備えています。慣例的にSoCとCPUという呼び方は互いに同じ製品を指して使われることが多くなっていますが、構成上はSoCとCPUは同じではありません。例えば、ノートPCのプロセッサはCPUと呼ばれることが多いですが、その中身にはGPUも存在し、最近では新たにAI処理を行うASIC(NPU)も組み込まれているため、SoC的な構成となっています。他にも、車載IVI・ ADASシステムや自律ロボットにおいてはCPU+GPU or FPGA or ASIC(画像処理)、スモールセル基地局においてはCPU+ASIC or FPGA(信号処理)がワンチップに搭載されています。CPUに加えて、どの種類のプロセッサを搭載するかはメーカーによって差異があります。SoCは柔軟性と省電力を兼ね備えているため、今後もエッジコンピューティングなど、汎用コンピュータプログラムの実行を必要としながらも電力やサイズの制約のある用途で活用されていくことが見込まれます。
※MCU(マイコン)もワンチップに必要な機能が組み込まれており、SoCの一種とされています。一般的にMCUはSoCと呼称される製品と比べて、処理性能が低く、民生・産業・車載機器において、簡単な画像処理、モータ制御、各システムのモニタリングなどの用途に使用されています。

図 SoCの用途例 スマートフォン図 SoCの用途例 ノートPC図 SoCの用途例 IVI-ADASシステム図 SoCの用途例 スモールセル基地局
図 SoCの用途例
画像 SoC (CPU+GPU+ASIC)の製品事例
画像 SoC (CPU+GPU+ASIC)の製品事例
引用元:AMD at Computex 2024: AMD AI and High-Performance Computing with Dr. Lisa Su - YouTube

今回の記事では、用途に応じて使い分けられるプロセッサの種類ごとの特長と、異種プロセッサとの組み合わせによる使われ方について紹介しました。次回記事では、プロセッサの動作に大きく影響を与える電源の構成と仕様について詳しく解説していきます。

関連記事

この記事に関連するタグ

↑Page top

ご不明点、お困りごとはございませんか? お問い合わせはこちら パナソニック デバイスニュース