Less Reading time: 15 minutes Very long instruction word VLIW is an instruction set architecture designed to take full advantage of instruction level parallelism ILP for improved performance. Central processing units CPU, processor allow programs to specify instructions to execute in sequence only whereas a VLIW processor allows programs to explicitly specify instructions to execute in parallel. This design is intended to allow higher performance without the complexity inherent in some other designs. Why to use VLIW? The key to higher performance in microprocessors for a broad range of applications is the ability to exploit fine-grain, instruction-level parallelism.
|Published (Last):||27 October 2012|
|PDF File Size:||15.16 Mb|
|ePub File Size:||1.7 Mb|
|Price:||Free* [*Free Regsitration Required]|
This was intended to allow simple performance scaling without resorting to higher clock frequencies. EPIC Explicitly Parallel Instruction Computing EPIC permits microprocessors to execute software instructions in parallel by using the compiler, rather than complex on-die circuitry, to control parallel instruction execution.
Very closely related to but not the same as VLIW. IA an ISA definition. A fully predicated instruction set. An inherent scalable instruction set. Many register Speculative execution of load instructions. EPIC instruction word contains three bit instructions and a 5-bit control field. EPIC design challenges Develop architectures applicable to general-purpose computing.
Provide compatibility across hardware generations. Support emerging applications. Compiler must find or create sufficient ILP. Not separate register files per functional unit as in VLIW. Predicated execution select 1 out of 64 1-bit flags Instruction group is a sequence of consecutive instructions with no register data dependencies.
All the instructions in a group could be executed in parallel, if sufficient hardware resources existed and if any dependence through memory were preserved An instruction group can be arbitrarily long, but the compiler must explicitly indicate the boundary between one instruction group and another by placing a stop between 2 instructions that belong to different groups.
Very long instruction word (VLIW)
One goal of EPIC was to move the complexity of instruction scheduling from the CPU hardware to the software compiler, which can do the instruction scheduling statically with help of trace feedback information. This eliminates the need for complex scheduling circuitry in the CPU, which frees up space and power for other functions, including additional execution resources. An equally important goal was to further exploit instruction level parallelism ILP by using the compiler to find and exploit additional opportunities for parallel execution. VLIW at least the original forms has several short-comings that precluded it from becoming mainstream: VLIW instruction sets are not backward compatible between implementations. When wider implementations more execution units are built, the instruction set for the wider machines is not backward compatible with older, narrower implementations.
Explicitly parallel instruction computing