VLIWとは?ぶいえるあいだぶりゅー
VLIWとは、同時に実行できる複数の演算をコンパイラが1本の長い命令語へ静的に詰め込み、プロセッサは各フィールドをそのまま演算器へ配って実行する方式。依存解析と並べ替えをコンパイル時に済ませるため、動的スケジューリングのための制御回路が要らず、面積と消費電力を抑えられる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
命令レベルの並列性を引き出すには依存解析が要るが、それを実行時にハードウェアで行うと、命令窓・レジスタリネーミング・スケジューラが回路と電力を食う。組込みや信号処理のように処理の流れが静的に読める領域なら、その仕事はコンパイラへ前倒しできる。ハードウェアの複雑さをソフトウェアへ移すという、方式設計でおなじみのトレードオフを命令アーキテクチャで行った形になる。
具体例
テキサス・インスツルメンツのC6000系DSPや、IntelのItanium(IA-64/EPIC)が採用例。C6000では積和演算・アドレス更新・ロードを1つの実行パケットにまとめて毎サイクル発行し、信号処理ループを理論性能へ近づける。
試験での引っ掛け
並列に詰められない箇所は空きスロットをNOPで埋めるため、コードサイズが膨らみ命令フェッチの帯域を圧迫する。またスケジュールが命令語へ焼き付くので、演算器の構成が変わると再コンパイルが要る。実行時に依存を解くスーパースカラのような世代間のバイナリ互換が効かない点が分岐点。
関連用語
出た過去問
出典:令和6年度 春期 システムアーキテクト試験 午前Ⅱ 問21(IPA)解説で登場
プロセッサの高速化を図る手法であるスーパースカラの説明として、適切なものはどれか。
正解:互いに依存関係のない複数の命令を動的に並列実行する。
要点:依存のない命令を実行時に並列実行するのがスーパースカラ
スーパースカラは、CPU内に演算器やパイプラインを複数備え、依存関係のない命令を同時に複数取り出して並列に実行する方式である。どの命令を同時に走らせるかをハードウェアが実行時に判断する点が、コンパイラが事前に組み合わせるVLIWとの違いである。
出典・参考
高度試験 午前I(高度午前I 相当)のシラバスの2 コンピュータシステム > 1. プロセッサ > (9) プロセッサの高速化技術に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。