1.パイプライン

「パイプライン」は元々、天然ガスなどの輸送路。
CPUにおけるパイプラインは不明
IntelMPUでも当然のように採用されている。

パイプラインに関して過去問(H28年秋午前問11)では、「各命令のフェッチ,デコード,実行,演算結果の出力などの各段階を並列に処理する」とあります。

a
(H28年秋午前問8参照より)

2.スーパーパイプライン

パイプラインを強化するために、1サイクルの処理時間を短くする。
PentiumXeonでさらに強化

スーパーパイプラインに関して過去問では、「パイプラインを更に細分化することによって,高速化を図る方式である(H27春高度AM1問4)」とあります。

d
(H28年秋午前問8をもとに、筆者が改変)

3.スーパースカラ

複数のパイプラインを並列で処理
現在のMPUではすべて採用されている。

スカラ(scalar)は、正しくは「スケーラ」
「スケールの大きい人」などのスケールである。

スーパースカラに関して過去問では、「複数のパイプラインを用い,同時に複数の命令を実行可能にすることによって,高速化を図る方式である(H27春高度AM1問4)」、「命令を並列実行するためのアーキテクチヤであって,複数の命令を同時に実行するとき,命令を実行する演算器をハードウェアによって動的に割り当てる方式(H24秋高度AM1問4)」、「パイプラインを複数用意し,同時に複数の命令を実行する(H23秋SM午前2問19)」とあります。

b
(H28年秋午前問8参照より)

4.VLIW(Very Long Instruction Word)

英語の意味のまま。命令語長を長くして、1命令で複数の処理をできるようにする。
VLIWに関して過去問では、「命令語を長く取り,一つの命令で複数の機能ユニットを同時に制御することによって,高速化を図る方式である(H27春高度AM1問4)」とあります。

5.マルチプロセッサ

言葉のまま。プロセッサが複数。
ユニプロセッサ(CPUが一つ)では、いくらパイプライン制御などをしても限界がある。

6.プロセッサ高速化技術の違いの過去問を解いてみよう

(1)H28秋午前

問11 プロセッサの実行効率を上げるVLIWの説明はどれか。

ア 依存関係がない複数の命令を,プログラム中での出現順序とは異なる順序で一つずつ実行する。
イ 各命令のフェッチ,デコード,実行,演算結果の出力などの各段階を並列に処理する。
ウ 同時に実行可能な複数の命令をまとめて一つの命令として,同時に実行する。
エ 複数のパイプラインを用いて複数の命令を同時に実行させる。






【正解】ウ

ア 依存関係がない複数の命令を,プログラム中での出現順序とは異なる順序で一つずつ実行する。⇒アウト・オブ・オーダー
イ 各命令のフェッチ,デコード,実行,演算結果の出力などの各段階を並列に処理する。⇒パイプライン
ウ 同時に実行可能な複数の命令をまとめて一つの命令として,同時に実行する。 ⇒VLIW
エ 複数のパイプラインを用いて複数の命令を同時に実行させる。 ⇒スーパ―スカラ