平成29年度 春期 午前Ⅱ 問1
プロセッサ
スーパスカラの説明
スーパスカラの説明として,適切なものはどれか。
- ア処理すべきベクトルの長さがベクトルレジスタよりも長い場合,ベクトルレジスタ長の組みに分割して処理を繰り返す方式である。
- イパイプラインを更に細分化することによって,高速化を図る方式である。
- ウ複数のパイプラインを用い,同時に複数の命令を実行可能にすることによって,高速化を図る方式である。
- エ命令語を長く取り,一つの命令で複数の機能ユニットを同時に制御することによって,高速化を図る方式である。
答えと解説を見る
✓ これが正解ウ複数のパイプラインを用い,同時に複数の命令を実行可能にすることによって,高速化を図る方式である。
解説
スーパスカラは複数のパイプラインで複数の命令を同時に実行します。
スーパスカラは、命令を処理するパイプラインを複数用意し、同じクロックの間に複数の命令を並行して発行・実行することで処理を速める方式です。見分ける軸は、何を増やして速くしているかです。パイプラインの本数を増やして同時に流す命令の数を増やすのがスーパスカラで、パイプラインの段を細かく分けて1段の処理時間を縮める方式とは、増やすものが違います。また、どの命令を同時に実行するかを実行時にハードウェアが判断する点で、コンパイラがあらかじめ命令を並べておく VLIW とも異なります。パイプラインを横に並べるか、縦に細かく刻むか、命令語を長くするかの3つを区別しておくと迷いません。
ほかの選択肢はなぜ違うのか
- ア処理すべきベクトルの長さがベクトルレジス…:ベクトルレジスタの長さに合わせてデータを区切り、繰り返して処理するという説明は、配列のような多数のデータに同じ演算を一括でかけるベクトル型の処理の話です。命令そのものを同時に複数実行する仕組みの説明ではありません。
- イパイプラインを更に細分化することによって…:パイプラインを更に細分化する方式は、段の数を増やして1段当たりの仕事を短くし、クロックを上げて速くする考え方です。パイプラインそのものを複数並べるわけではないので、スーパスカラの説明には当たりません。
- エ命令語を長く取り,一つの命令で複数の機能…:命令語を長く取り、一つの命令で複数の機能ユニットを同時に動かすのは VLIW の説明です。並列に実行できる命令の組合せをコンパイラが事前に決めておく点が、実行時にハードウェアが判断するスーパスカラとの違いです。
出典:平成29年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問1
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)