VLIWって?CISC、RISC、スーパースカラとかあるけどどう違うの?
といった内容を解説して行きます。
VLIWとは
VLIWとは、Very Long Instruction Wordの略で超長命令語のことです。
超長命令語とはなにかと言うと、複数の命令を一つにまとめて、本来別々に実行される命令を一つの命令として実行します。
VLIWで命令をまとめる際には命令長をそろえる必要があります。
まとめる命令長の数が足りない場合は、NOP命令(No Operation:なにもしない)で埋めます。
NOP命令があるとなにもしない部分が出来てしまうので、NOP命令が増えるほど高率は下がります。
CISC・RISCとの関係性
次にCISC・RISCとの関係性を見ていきましょう。
そもそもCISC?RISC?といった方もいらっしゃると思いますので軽く説明していきます。
- CISC(Complex Instruction Set Computer)
一つの命令で複雑の処理を行うが、命令の数が少ないことで最終的な処理速度を向上させる手法 - RISC(Reduced Instruction Set Computer)
一つの命令は簡単な処理しか行わず、複数の縮小命令によって処理速度を向上させる手法
VLIWは複数の命令を一つの命令にまとめていますが、もとは複数の命令となっており、RISCの操作を複数並べれて構成されています。
VLIWはRISCのコンセプトをさらに推し進めたような設計とも言えます。
スーパースカラとの違い
スーパースカラとは命令処理を実行する回路を複数持つことで、複数の命令処理を同時に実行する仕組みのことを言います。
複数の命令処理、並列に実行という点でVLIWと似たところがあります。
しかし、VLIWはコンパイラ時に並列化を行い、ハードウェアは単純に実行するだけ、スーパースカラはプロセッサの内部のスケジューラがプログラムの並列性を引き出し、同時処理を行っています。
まとめ
VLIWとスーパースカラの違いに関しては、VLIWはコンパイル時に一つにまとめられる、スーパースカラはハードウェアが並列化しているとだけ覚えておけば問題ないです。
VLIW、CISC、RISCなど英語の略ばっかりで訳がわからなくなりがちですが、略の内容さえ掴んでおけば内容もすらっと入ってくるかと思います。
コメント