基本情報技術者試験「スーパースカラとVLIW」の問題
VLIW(超長命令語)方式の特徴として最も適切なものはどれか。
ア同時に実行可能な複数の操作をコンパイラがあらかじめ1つの長い命令語にまとめて並べる
イプログラムの実行時にハードウェアが命令間の依存関係を自動的に解析し、複数の命令を動的に並列発行する
ウ1つの命令を複数のデータに同時適用しベクトル演算を高速化する
エ命令を細かい段に分割し各段を異なる命令で同時に流す時間的並列を行う
正解
ア.同時に実行可能な複数の操作をコンパイラがあらかじめ1つの長い命令語にまとめて並べる
VLIWは複数の演算操作をコンパイラがコンパイル時に解析し、並列実行できるものを1つの非常に長い命令語にまとめる。実行時のハードウェア依存解析が不要となり回路を簡素化できるため正しい。
?選択肢ごとの解説
ア ○VLIWは複数の演算操作をコンパイラがコンパイル時に解析し、並列実行できるものを1つの非常に長い命令語にまとめる。実行時のハードウェア依存解析が不要となり回路を簡素化できるため正しい。
イ ×実行時にハードウェアが依存を解析し動的に並列発行するのはスーパースカラ方式の特徴であり、コンパイラが静的に詰め込むVLIWとは制御主体が逆である。
ウ ×1命令を複数データに適用するのはSIMD(ベクトル演算)の特徴で、複数の異なる操作を束ねるVLIWとは並列の種類が異なる。
エ ×命令を段に分け異なる命令を同時に流すのはパイプライン処理であり、複数操作を1命令語に束ねるVLIWとは仕組みが異なる。
✎くわしく
命令レベル並列の実現には、ハードウェアが実行時に並列性を見つけるスーパースカラと、コンパイラが事前に並列性を抽出するVLIWがある。VLIWはハード回路が単純になる一方、並列性の抽出をコンパイラに依存し最適化の質が性能を左右する。
✓本番での押さえどころ
試験のコツ
『誰が並列性を見つけるか』で区別する。実行時のハード=スーパースカラ、コンパイル時のソフト=VLIW。
覚え方
VLIWの『Long(長い)』命令語=操作を事前に詰め込む。詰め込む担当はコンパイラ、と結びつける。
よくある誤り
スーパースカラ(ハードが動的)とVLIW(コンパイラが静的)の制御主体を取り違える誤りが最頻出である。
コンピュータ構成要素の他の問題
この問題を、AIの8-ways解説つきで。
無料ではじめる →基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。
ukamiru 過去問 · 基本情報技術者試験 · fe-a3-0152