VLIW architectures rely on compile-time detection of parallelism; this implies the compiler analyses the program and detects operations to be executed in parallel; such operations are packed into one “large” instruction.
After one instruction has been fetched all the corresponding operations are issued in parallel.
No hardware is needed for run-time detection of parallelism.
Advantages;
- simple architecture
- each instruction word contains several instructions that are not dependent on each other, therefore you don’t need a large window of execution.
- the whole program is available at compile time so you can look through the program to determine dependencies.
Disadvantages;
- large code size after compilation
- dependencies are detected at compile time which is not as good as in superscalar.