Advertisement

Next Chip Just a Step, Not Quantum Leap

Share
Steve G. Steinberg (steve@wired.com) is an editor at Wired magazine

Microprocessors are the engines that drive both computers and the computer industry. It is improvements in processor speed, after all, that persuade consumers to trade in their old machines every few years. That’s why industry observers watch the big microprocessor manufacturers as closely as the State Department used to watch the Soviet Politburo.

Right now, rumors are flying that the next generation of chips--such as Intel’s P7 and IBM’s Mfast multimedia processor--will use a radically new technology known as VLIW, or Very Long Instruction Word. According to some experts, VLIW will allow for an unprecedented leap in computational performance.

Perhaps. But as Mark Twain might have said, “There are lies, damn lies, and then there are performance measurements.” It was only a few years ago that we were being bombarded with talk about how RISC (Reduced Instruction Set Computing) microprocessors were going to revolutionize the world. Yet things seem pretty much the same. Will VLIW be any different? The answer turns out to be yes and no. To find out why, let’s take a look underneath the hood and see what computer speed is really all about.

Advertisement

*

Computer manufacturers are a lot like car manufacturers when it comes to performance measurements: It’s not that they lie so much as they selectively offer the truth and ignore how their products are used in the real world. For computer ads will often trumpet that a computer runs at 150 MHz--but not mention that it spends most of its time waiting for data from memory. Or the ad might brag about how many million floating point operations (megaflops) the computer can do per second--useful if you’re calculating pi, but not if you’re just doing word processing.

To see past most of these distortions, you only need to understand three things. First, the heartbeat of a microprocessor is called the clock cycle: Each pulse triggers one step of computation. A processor with a clock speed of 150 MHz performs one step every 6.67 nanoseconds. Second, a program is made up of many machine instructions that tell the computer what to do, and each instruction takes one or more clock cycles to complete. Third, according to the fundamental equation of microprocessor design, the time required for a program to run is equal to the number of instructions in the program times the average number of cycles required for an instruction, times the clock cycle period.

All improvements in computer performance come from reducing one or more of the terms in this equation. To see how these trade-offs work in practice, consider the RISC versus CISC debate of a few years back.

The idea behind CISC (Complex Instruction Set Computing) was to reduce the first factor--the number of instructions--by making a single instruction do more complex tasks. The problem was that this caused the average number of cycles required for an instruction to shoot up. Result? Only slightly better performance. This led to the RISC approach: short, simple instructions and a clock cycle fast enough to compensate for the increase in the number of instructions.

Both schemes involve a trade-off, but RISC has largely won in the market because it is easier to design. Now, processor designers are turning to a very different way to improve performance: reducing the equation’s first term by performing several instructions at the same time. This is where VLIW comes into the picture.

The idea isn’t entirely new. Intel’s Pentium, for example, can do two instructions at once, and its successor, the Pentium Pro, can do up to three. But VLIW promises to increase the number of simultaneous instructions to eight, 16 or even higher.

Advertisement

What makes parallel execution hard is what’s known as dependencies. An instruction that adds two numbers may be followed by an instruction that uses the result. Therefore, the second instruction cannot be executed until the first has been completed. Processors must detect these dependencies and ensure that only independent instructions are done simultaneously. Performing these checks requires time, and that means designers end up slowing down the clock cycle.

VLIW gets around this trade-off by having a special piece of software that determines which instructions are independent and then marks them accordingly. The processor can then execute instructions as quickly as possible without checking for dependencies. In short, VLIW reduces the first term of the equation, without increasing either of the other two.

Sounds like an all-around win. But remember, a computer’s performance depends on what kind of programs it’s running, and this turns out to be especially true with VLIW. That’s because some programs will have lots of independent instructions, while others will have very few.

That’s why I said in the beginning that the answer to whether VLIW will lead to performance improvements is yes and no. Yes for some programs--especially multimedia programs that do things like video encoding and decoding. But no for many other applications, such as payroll programs.

Michael Slater, president of MicroDesign Resources in Sebastopol, Calif., rightfully points out that the only way to really know the performance of a microprocessor is to try it out on the applications you normally use. So, while VLIW is undoubtedly important, don’t let it sway you into rushing out and buying a new computer. It’s how long your work takes, not fancy acronyms, that matter.

Advertisement