問題
問59
プロセッサの処理性能を向上させるため、一つの命令の実行を複数の段階に分け、それぞれの段階を並行して処理する技術はどれか。
- マルチスレッド
- マルチコア
- パイプライン処理
- キャッシュメモリ
正解
正解は「ウ」です。
解説
正解は「ウ」のパイプライン処理です。パイプライン処理は、CPUが命令を実行するプロセスを、複数のステージ(段階)に分割し、それぞれのステージを異なる命令で同時に並行処理することで、全体のスループット(単位時間あたりの処理能力)を向上させる技術です。
例えば、命令の実行が「①命令の読込み」「②命令の解読」「③命令の実行」「④結果の書込み」という4つのステージに分かれているとします。パイプライン処理がない場合、1つ目の命令の①~④がすべて終わってから、2つ目の命令の①が始まります。一方、パイプライン処理では、1つ目の命令がステージ②に進んだら、すぐに2つ目の命令のステージ①を開始します。これにより、複数の命令の各ステージが常に稼働している状態になり、CPUが遊ぶ時間が減って効率が上がります。これは、工場のベルトコンベア(パイプライン)での流れ作業に似ており、各工程を分担することで、全体の生産性を高めるのと同じ原理です。
ア(マルチスレッド):
一つのプログラム(プロセス)の中で、複数の処理の流れ(スレッド)を同時に実行する技術です。OSレベルでの並列処理技術です。
イ(マルチコア):
一つのCPUパッケージ内に、複数の独立したプロセッサコア(CPUの頭脳部分)を搭載する技術です。物理的に複数の頭脳で並列処理を行います。
エ(キャッシュメモリ):
CPUと主記憶の間に置かれる高速なメモリで、両者の速度差を埋めるための技術です。
解法のポイント
CPUの高速化技術には様々なアプローチがあり、それぞれの違いを理解することが重要です。パイプライン処理のキーワードは「一つの命令を複数の段階に分割」「並行処理」です。これは、一つのプロセッサコア「内部」での効率化技術です。一方、「マルチコア」は物理的にコアを増やす技術、「マルチスレッド」はOSが処理を細かく分割して並行に見せる技術です。これらの技術がどのレベル(ハードウェア、OS)で、どのような並列化を実現しているのかを区別して覚えましょう。
用語補足
パイプライン処理:
一つの仕事を複数の工程に分け、流れ作業で並行処理する技術です。バケツリレーのように、複数の人が同時に作業することで、効率よく水を運びます。
プロセッサ:
CPUと同義で使われることが多い、コンピュータの処理装置のことです。
マルチスレッド:
一人の作業者が、複数の作業を素早く切り替えながら同時にこなしているように見せる技術です。例えば、文章を書きながら音楽を聴くといった処理を実現します。
マルチコア:
一つの頭脳(CPU)の中に、複数の実行部隊(コア)を持つことです。複数の作業者が同時に別々の作業を行うことで、全体の処理能力が向上します。


