Posted by Mike Thompson on June 21, 2011
VLIW (Very Long Instruction Word) machines first appeared in the early 1980’s. They were used primarily as scientific super computers. At the time with semiconductors still in their infancy and process geometries measured in microns it made sense to bolt two (or more) execution units together and tolerate the software and real-time inefficiencies that this creates. There were few better options at the time if you wanted to increase performance. Pushing the problem off to the compiler made sense because there were fundamental limitations on the number of transistors that you could put on a chip and by extension the level of functionality that could be implemented.
We have progressed from the 80’s and so has microprocessor technology. Process technology is now measured in nanometers with several orders of magnitude reduction in geometry sizes. This enables us to put billions of transistors on the chips that we are making and to take fundamentally different approaches to increase processing performance. SoCs are increasingly being built with heterogeneous multi-processor configurations where the microprocessors are independently programmed but work together on a problem with each doing its part. Multi-processor designs have the benefit of being easier to program, they can be scaled to hundreds of processing elements, they allow real-time functions to be addressed in real-time, they make efficient use of memory (no NOP stuffing), and they facilitate block level reuse. This of course, is fundamentally different from VLIW implementations where if one execution unit branches all of the execution units have to branch, implementing more than a few processing elements is cumbersome, and keeping all of the processors running at 100% of capacity to reduce NOP stuffing of memory is impossible. It is no wonder that with the inefficiencies of VLIW processor implementation they are fading into the past, and that multi-processor implementations are the preferred technique for state-of-the-art SoC designs.
Trimedia, one of the best known VLIW implementations of recent time, enjoyed some commercial success a few years ago, but it along with the other significant VLIW processors is now gone. It has been replaced by a new generation of media chips that are implemented with up to 20 32-bit microprocessors that are independently programmed and connected together not by instruction words, but with the efficient coherence units and inter process communication blocks that can be built with today’s advanced submicron processing capabilities. These next generation SoC devices offer much higher performance, significantly lower power consumption, and also shorter development times which is critical for today’s fast paced market cycles. To be sure, there are still vendors offering VLIW microprocessor cores, but these are legacy implementations and are being used in fewer and fewer designs.
While poking around on the web looking for information about any VLIW microprocessors and processor cores that are still available (there are only a handful) I came across this line, “The most famous VLIW machine was built by (the late) Multiflow Computer, Inc.” This is an interesting statement because I am sure that most of you have never heard of the Multiflow Computer company that went out of business in 1990. This is a fitting eulogy to VLIW technology whose time has come and past. May it rest in peace.
The future of SoC design is heterogeneous multi-processor implementation.
At the age of 10 Mike begged his father to get him a computer. Never mind that at the time computers were the size of a large office and cost millions of dollars. Yes, Mike is no spring chicken and he didn’t get the computer, although his father did give him an abacus telling him that it would enable him to use the computer that he already had between his ears, which was not appreciated. Whether it was due to the trauma that resulted from using an abacus or just Mike’s love of anything electronic he has spent the last 30 years or so designing, building, and programming computers, microprocessors, and microcontrollers and developing applications that run on them. And his fascination continues with the definition of new processors and architectures in his search for the holy grail of computing: infinite performance at zero power consumption. Statistically speaking he is convinced it is just a matter of time.
Allen started in the ‘semiconductor IP industry’ before it was called the ‘semiconductor IP industry’. Back then, it was about ‘megafunctions’, ‘megablocks’ or MegaMacros™ (as trademarked by the pioneering UK IP company Allen was with… no, not that UK company). The biggest of these ‘mega’ things was an 8051! Today, of course, IP blocks are much larger and much more complex. And, it’s about the software, as well as the hardware. It’s also about working with a set of partners, sometimes called an ecosystem or community. Allen has been doing that for many years and is enjoying working with old and new friends on the ARC processor ecosystem.