令和6年度 春期 午前Ⅱ 問21
コンピュータ構成要素
スーパースカラの説明
プロセッサの高速化を図る手法であるスーパースカラの説明として,適切なものはどれか。
- ア互いに依存関係のない複数の命令を動的に並列実行する。
- イ同時に実行可能な複数の機能が埋め込まれた語長の長い命令を実行する。
- ウパイプラインのステージを細分化する。
- エ一つの命令で同時に複数のデータの処理を行う。
答えと解説を見る
✓ これが正解ア互いに依存関係のない複数の命令を動的に並列実行する。
解説
依存関係のない複数の命令を、動的に並列実行するのがスーパースカラです。
スーパースカラは、プロセッサの内部に演算などを行う実行ユニットを複数備え、一つのクロックの間に複数の命令を同時に実行して処理を速める方式です。どの命令を並べて実行できるかは、実行の時点でハードウェアが判断します。互いに依存関係のない命令を見つけ出し、空いている実行ユニットに振り分けるので、プログラムの側は並列化を意識しなくても済みます。見分ける軸は、並列化を誰がいつ決めるか、何を並列にするかです。コンパイラが前もって命令を詰め合わせる方式、パイプラインの段数を増やす方式、一つの命令で複数のデータを扱う方式は、それぞれ別の高速化手法です。実行時にハードウェアが命令を並べる、と覚えると選べます。
ほかの選択肢はなぜ違うのか
- イ同時に実行可能な複数の機能が埋め込まれた…:同時に実行できる複数の操作を一つの長い命令語に詰め込んで実行するのは、VLIW の説明です。並列に実行できる組合せはコンパイラが前もって決めるので、実行時にハードウェアが判断する方式とは異なります。
- ウパイプラインのステージを細分化する。:パイプラインのステージを細かく分けて段数を増やし、クロックを上げて処理を速めるのは、スーパーパイプラインの説明です。命令を同時に複数実行するのではなく、一つの流れを細かく刻む点が違います。
- エ一つの命令で同時に複数のデータの処理を行…:一つの命令で複数のデータに同じ処理をまとめて施すのは、SIMD の説明です。データの側を並列にする方式で、依存関係のない別々の命令を同時に実行するスーパースカラとは並列化の対象が異なります。
出典:令和6年度 春期 システムアーキテクト試験 午前Ⅱ 問21
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)