Very long instruction word or VLIW refers to a processor architecture designed to take advantage of instruction level parallelism (ILP). Whereas conventional processors mostly only allow programs that specify instructions to be executed one after another, a VLIW processor allows programs that can explicitly specify instructions to be executed at the same time (i.e. in parallel). This type of processor architecture is intended to allow higher performance without the inherent complexity of some other approaches.
Traditional approaches to improving performance in processor architectures include breaking up instructions into sub-steps so that instructions can be executed partially at the same time (pipelining), dispatching individual instructions to be executed completely independently in different parts of the processor (superscalar architectures), and even executing instructions in an order different from the program (out-of-order execution). These approaches all involve increased hardware complexity (higher cost, larger circuits, higher power consumption) because the processor must intrinsically make all of the decisions internally for these approaches to work. The VLIW approach, by contrast, depends on the programs themselves providing all the decisions regarding which instructions are to be executed simultaneously and how conflicts are to be resolved. As a practical matter this means that the compiler software (the software used to create the final programs) becomes much more complex, but the hardware is simpler than many other approaches to parallelism.
As is the case with any novel architectural approach, the concept is only as useful as code generation makes it. An architecture designed for use in signal processing may have a number of special-purpose instructions to facilitate certain complicated operations such as fast Fourier transform (FFT) computation or certain calculations that recur in tomographic contexts. However, these optimized capabilities are useless unless compilers are able to spot relevant source code constructs and generate target code that duly utilizes the CPU's advanced offerings. Therefore, programmers must be able to express their algorithms in a manner that makes the compiler's task easier.
Read more about Very Long Instruction Word: Motivation, Design, History, Implementations, Backward Compatibility
Famous quotes containing the words long, instruction and/or word:
“Oh my daughter,
My sweetheart, daughter of my late employer, princess,
May you not be long on the way!”
—John Ashbery (b. 1927)
“One year, Id completely lost my bearings trying to follow potty training instruction from a psychiatric expert. I was stuck on step on, which stated without an atom of irony: Before you begin, remove all stubbornness from the child. . . . I knew it only could have been written by someone whose suit coat was still spotless at the end of the day, not someone who had any hands-on experience with an actual two-year-old.”
—Mary Kay Blakely (20th century)
“I am using it [the word perceive] here in such a way that to say of an object that it is perceived does not entail saying that it exists in any sense at all. And this is a perfectly correct and familiar usage of the word.”
—A.J. (Alfred Jules)