How Epic is EPIC
?"> Is EPIC really VLIW? Yes, by most definitions of that term. Pedantic computer architects may argue over abstruse differences, and Intels marketing people will steam over the misuse of their trademark, but for all intents and purposes, EPIC is merely a more pronounceable rendition of VLIW with a few enhancements. Few, if any, of EPICs features discussed so far are unique to Itanium or to Intel. Broadsiding a processor with a volley of instructions at once is what VLIW is all about. EPIC corrupts, if you will, the pure ideal of VLIW by introducing its peculiar 5-bit instruction templates that unnecessarily complicates multi-instruction issue and effectively eliminates several potential combinations of instructions. On the plus side, Intel gets credit for allowing flexible-sized instruction groupings, which help increase issue efficiency. This is likely to payoff handsomely in future IA-64 processors. IA-64s groups also reduce the code bloat seen in traditional VLIW designs (where fixed-width VLIW instruction slots may often go unused if the compiler cannot find independent instructions to group together from within a particular window of instructions).IA-64 doesnt really introduce anything all that new. Its more of an amalgam of concepts and techniques seen before and given the ol Intel twist. That doesnt make it bad, but its also not spectacular nerd porn.
Certainly there are plenty of processors with multiple execution units and microarchitectures that can keep them busy. Predicated execution is nothing new, either. Tiny embedded processors do it, and compiler writers are happy to manage the multiple predicate bits. Itaniums scoreboard bits, register frames, and svelte and RISC-like instruction set all have been seen before. Itanium doesnt even reorder instructions, for cryin out loud, something even midrange 32-bitters do all day long. But then again, Intels formally stated goal was to shift complexity out of the processor logic and to the compiler. Yet, if you read a presentation from last Intel Developer Forum, youll see that "Future Itanium Processor Family processors can have out-of-order execution." Of course, this also implies that McKinley will be called Itanium II or something similar.