SAシステムアーキテクト試験 午前Ⅱ
令和6年度春期 システムアーキテクト 午前Ⅱ 問21
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- ア互いに依存関係のない複数の命令を動的に並列実行する。
- イ同時に実行可能な複数の機能が埋め込まれた語長の長い命令を実行する。
- ウパイプラインのステージを細分化する。
- エ一つの命令で同時に複数のデータの処理を行う。
解き方のヒントを見る
高速化手法の仕組みを見分ける視点
プロセッサの高速化手法は名称が似ていても、処理のどの部分に手を加えて時間を短縮しているかが異なります。用語の響きではなく、仕組みの核心がどこにあるかを一つの観点で整理してから判断しましょう。
この問題で問われていること
問われている手法が、処理時間を短縮するために何を効率化の対象としているのかという観点に絞って考えます。この一点を自分の言葉で説明できるかを確かめてから、問題の内容と照らし合わせます。
視点
高速化手法は、手法ごとに効率化の対象とその実現方法が異なります。まず問われている手法の定義を自分で書き出してみましょう。次に、名称や目的が似た手法と比べて何が違うのかを一文で言えるようにしておくと、混同を防げます。
確認ポイント
- 問われている手法が何を効率化の対象としているかを、自分の言葉で一文にまとめられるか
- 名称や目的の似た別の手法と比べて、効率化の対象や仕組みのどこが異なるかを説明できるか
- 用語の印象ではなく、仕組みの核心にあたる内容を根拠に判断しているか
正解と解説を見る
正解
ア
解説
スーパースカラは、プロセッサ内部に複数の実行機構を備え、命令間の依存関係を確認しながら、依存しない複数の命令を同時に実行する高速化手法です。
理由
正答はア。スーパースカラでは、命令間に依存関係がないことを確認した上で、複数の命令を動的に並列実行する。これにより、1クロック当たりに実行できる命令数を増やし、プロセッサの処理性能を高める。
比較
イは複数の機能を含む長い命令を実行する方式、ウはパイプラインの段階を細分化する方式、エは一つの命令で複数データを処理する方式を説明している。いずれもスーパースカラの定義とは異なる。
選択肢ア(正解)
これは正解だよ。スーパースカラは、命令間の依存関係を動的に調べ、互いに影響しない複数の命令を複数の実行機構で並列に処理する方式である。命令レベルの並列性を利用して、単位時間当たりの実行命令数を増やす。
選択肢イ
これは不正解だよ。同時に実行できる複数の機能を一つの長い命令に埋め込んで実行する説明は、複合的な命令形式を利用する方式に該当する。スーパースカラは、一つの長い命令を前提にするのではなく、複数の命令を並列実行する。
選択肢ウ
これは不正解だよ。パイプラインのステージを細分化するのは、各段階の処理時間を短くして動作周波数を高める方向の高速化である。スーパースカラの中心は、パイプライン段数の細分化ではなく、複数命令の並列実行にある。
選択肢エ
これは不正解だよ。一つの命令で同時に複数のデータを処理する説明は、データレベルの並列性を利用する方式を示している。スーパースカラが扱うのは、依存関係を確認した複数の命令を並列に実行することである。
学習のポイント
命令レベル並列性と、他の高速化方式との違いを整理する。
出典:独立行政法人 情報処理推進機構(IPA)令和6年度春期 システムアーキテクト試験 午前Ⅱ 問21(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針