CPU (G検定)

CPU

1. 定義と概要

CPUとは、Central Processing Unit(中央演算処理装置)の略称で、コンピュータ全体の制御とプログラムの命令の実行を担う中心的な半導体チップです。内部は、制御装置(命令を解釈し、データの流れや他の部品への指示を出す部分)と演算装置(四則演算や論理判断などの計算を実際に行う部分)を中心に構成されています。

そこに、処理中のデータや命令を一時的に置いておくレジスタ(CPU内にある高速な記憶場所)が加わり、命令を1つずつ順番に取り出して解釈し実行するという処理を高速に繰り返します。この仕組みによって、OSの実行やアプリケーションの制御など、あらゆる処理の中枢を担う部品です。

コンピュータは、演算装置と制御装置が主記憶装置(プログラムやデータを一時的に保存しておく記憶装置。メモリとも呼ばれます)に格納されたプログラムを順番に読み出して実行するプログラム内蔵方式(プログラムをあらかじめ記憶装置に保存しておき、順番に読み出して実行する仕組み。ノイマン型とも呼ばれます)を古くから採用してきました。CPUは、この方式の中核を担う部品です。

クロック周波数(CPUが1秒間に処理を繰り返せる回数を表す数値)の向上や、1つのチップに複数の演算コア(CPU内部で実際に演算を行う処理の単位)を搭載するマルチコア化が、性能向上の主な手立てでした。

近年はディープラーニング(大量のデータからパターンを学習する機械学習の手法)のように、行列演算(数値を格子状に並べた行列同士の掛け算や足し算などの計算)を大量に繰り返す処理が急増しています。その結果、複雑な条件分岐の処理を得意とするCPU単体では計算量に対して非力な場面が目立つようになり、多数の演算コアを持つGPUを組み合わせて使う構成が一般的になっています。

2. 試験対策ポイント

まず整理しておきたいのは、CPUの基本構成と処理の流れです。3つの構成要素の役割分担を並べると、次のようになります。

構成要素 役割
制御装置 命令を解釈し、データの流れや他の部品への指示を出す
演算装置 四則演算や論理判断などの計算を実際に行う
レジスタ 処理中のデータを一時的に保持する

プログラム内蔵方式に基づき、命令を1つずつ逐次処理(処理を1つずつ順番にこなしていく方式)していく流れは、CPUの仕組みを理解するうえでの土台になります。

CPUの性能を左右する指標としては、1秒あたりの処理回数を示すクロック周波数と、同時に処理を進められる演算コアの数がまず挙げられます。加えて、よく使うデータを一時的に置いておき読み書きを高速化するキャッシュメモリ(データの読み書きを高速化するための記憶装置)も代表的な論点です。これらはCPUのカタログスペックを読み解くうえでも、あわせて整理しておきたいところです。

CPUとGPUの違いを理解するうえでの中心的な論点は、コアの構成と得意分野です。CPUは少数の高性能なコアで、複雑な条件分岐を含む処理を逐次的にこなすのが得意です。一方でGPUは多数の単純なコアで、同種の計算を大量に並列処理(複数の処理を同時にこなす方式)するのが得意という違いがあります。

ディープラーニングの学習(トレーニング)は大量の行列演算を繰り返す処理であるため、CPU単体では計算量に対して非力になりやすい傾向があります。並列処理を得意とするGPUがあわせて使われるという役割分担は、両者の関係を理解するうえで押さえておきたいポイントです。

3. 関連概念との比較・相違点

CPUとGPUの最大の違いは、コアの構成と処理方式にあります。両者を観点ごとに並べると、次のように整理できます。

観点 CPU GPU
コアの構成 少数の高性能なコア 多数の単純な演算コア
得意な処理 条件分岐を伴う多様な処理を順番にこなす逐次処理 同じ種類の計算を大量に同時進行させる並列処理
向いている用途 Webページの表示やOSの管理など、処理ごとに異なる判断が必要な汎用的な用途 画像処理やディープラーニングの行列演算など、同種の計算を繰り返す用途

こうした特性の差から、汎用的な用途はCPUが、同種の計算を繰り返す用途はGPUが担うという住み分けが生まれています。GPUの内部構造や仕組みの詳細は、GPUを扱う別記事に譲ります。

CPUとGPUの役割分担を踏まえたときに、あわせて整理しておきたいのがGPGPU(GPUの並列演算能力を画像処理以外の汎用的な計算に使うこと)という考え方です。本来は画像処理向けに設計されたGPUの並列演算能力を、機械学習の行列演算のような汎用的な計算に転用する利用形態を指す概念になります。

CPUが処理の司令塔として全体を制御し、GPUが並列計算を担うという構図のなかで、GPGPUはGPUの使い道を広げる仕組みとして位置づけられます。GPGPUの詳しい仕組みは別記事に譲ります。

4. ビジネス・実務での活用シナリオ

ITインフラやクラウド運用の現場では、Webサーバーやデータベースの処理のように、リクエストごとに異なる条件分岐やデータ処理を伴う汎用的な業務をCPUが中心的に担っています。利用者ごとにアクセス内容や処理の分岐が変わる業務では逐次処理の柔軟さが求められるため、安定した処理性能がサービスの応答速度を左右する要素になっています。

AI開発の現場では、機械学習パイプラインのなかでデータの読み込みや欠損値処理(データの欠けている部分を補ったり除いたりする前処理)などの前処理をCPUが担当し、大量の行列演算を伴うモデルの学習はGPUに任せるという役割分担が一般的です。前処理と学習でそれぞれ得意な処理装置を使い分けることが、開発コストと処理速度のバランスを左右します。

IoT機器や組み込み機器の分野では、家電やロボットのセンサー制御のように演算量自体は少ないものの複雑な条件判断を伴う処理で、GPUを搭載せずCPUだけで動作する構成が広く使われています。並列計算の性能を必要としない用途ではCPU単体で処理を完結させることができ、コストと消費電力を抑える効果が生まれます。

5. 要点まとめ

  • CPUはコンピュータ全体の制御とプログラムの命令の実行を担う中央演算処理装置で、制御装置・演算装置・レジスタから構成されます。
  • CPUは少数の高性能なコアで複雑な条件分岐を含む処理を逐次的にこなすのが得意で、多数の単純なコアで同種の計算を大量に並列処理するGPUとは役割が異なります。
  • ディープラーニングの学習では大量の行列演算をこなす必要があり、CPU単体では非力になりやすいためGPUが併用されるという役割分担があります。

6. 確認問題

問1CPUは制御装置、演算装置、レジスタなどから構成され、プログラムの命令を順番に解釈・実行する処理の中枢である。

解答・解説をみる

○ 正しい

CPUの基本構成と役割そのものの記述です。命令を1つずつ逐次的に実行するプログラム内蔵方式の中核を担う部品として機能します。

問2CPUは多数の単純な演算コアを持ち、同種の計算を大量に並列処理することを得意とするハードウェアである。

解答・解説をみる

× 誤り

これはGPUの特性の説明です。正しくはCPUは少数の高性能なコアで、複雑な条件分岐を含む処理を逐次的にこなすのを得意とします。両者を取り違えやすい典型的な記述にあたります。

問3ディープラーニングの学習(トレーニング)では大量の行列演算を高速に処理する必要があるため、並列処理を得意とするGPUがCPUとあわせて使われることが多い。

解答・解説をみる

○ 正しい

CPU単体では計算量に対して非力になりやすく、GPUの並列演算能力を組み合わせる構成が一般的であるという記述です。前処理をCPUが担う役割分担とあわせて理解しておきたいところです。