The Software Chip
Upstart Transmeta’s pioneering microprocessor chips are heralding a fundamental evolutionary step in the design of computing’s core technology.
What is it about Transmeta CEO Dave Ditzel that makes you want to believe him? Maybe it’s the way he unabashedly uses words like “cool” and “neat.” Maybe it’s because he had the audacity to build his upstart chip company within view of Intel headquarters. Maybe it’s because he never completes a sentence, so enthusiastic is he about Crusoe, his company’s brand of microprocessors. From last January, when Crusoe was announced in a blaze of fanfare, until mid-August, when the company filed to go public, Ditzel made himself hoarse pushing the Crusoe chip. Whether in front of 200 engineers or a single reporter, his message was unflagging: Crusoe-the Intel-compatible chip with one-tenth the power requirements of a Pentium III-is going to change the world of computing forever. “Crusoe is low-power, it’s compatible and it’s high-performance,” he said in one of a series of interviews held before the August filing. “That’s our mantra.”
This summer, the company and Ditzel went silent for the quiet period that follows every initial public offering. But by then the Crusoe message had developed a life of its own: Not since the Apple iMac had there been such a fuss in Silicon Valley like the one Crusoe has brought ashore. It’s no surprise that Valley insider rags Upside and Red Herring ran Transmeta as their cover stories last spring, but before the quiet period began, Ditzel was also quoted in Time, USA Today and a horde of other consumer publications. Transmeta’s publicity efforts have fed in part on the company’s hiring of Linux author and open-source software guru Linus Torvalds. Torvalds has been part of the software design team at Transmeta, and has lately been working on a version of Linux that will complement Crusoe’s application in the exploding market for mobile devices.
The IPO itself is a dour, close-mouthed document that reveals little of Transmeta’s future design plans, and is instead full of warnings about what might go wrong on Transmeta’s road to profitability. Indeed, as of this writing, not a single Crusoe product has shipped in appreciable volume. The company lost $41 million in 1999 and another $43 million in the first six months of 2000; the prospectus makes it clear that investors shouldn’t expect to see profitability in the near future.
But it would nevertheless be difficult to find a startup that began more auspiciously, or with a better lineup of initial customers. Last May, America Online and Gateway declared that Crusoe will power a new line of household appliances that will feature wireless Net access. IBM, Hitachi, NEC and Fujitsu followed suit in June, with announcements of Crusoe-based notebook PCs that will run all day on ordinary batteries. Sony followed with an announcement in August that Crusoe will power a future version of its Vaio PictureBook line of notebook computers. Not bad for a chip company with no fabrication plant and no track record-and whose main asset is, as Ditzel puts it, “a vision of a better way to build microprocessors.”
“Starting now, the Transmeta approach will be the smartest, quickest, cheapest, most reliable, most flexible technology to solve virtually any computing-related problem,” says John Wharton, microprocessor design consultant, Stanford professor, and former design engineer for Intel. “Fifty years ago, the most sophisticated systems were built using vacuum tubes. Ten years ago, the state of the art was complex, fully integrated megaprocessors like the Pentium and PowerPC. I see Transmeta as representing the next breakthrough in fundamental design technology.”
The trail that Transmeta is blazing will lead to chips that use significantly less electric power. That’s good news for anyone who uses a laptop computer or other portable electronic devices. But more profoundly, Transmeta has found a way to radically improve the ability of chip designers to make changes in their products without alienating the huge libraries of software that have been written to run on a particular piece of hardware. They have, in a sense, removed the pesky governor from the engine of chip-making progress.
Architecture of Liberation
Although there’s been plenty of press coverage of Transmeta as a new venture, what often gets lost is the technology itself. Crusoe is a hybrid software/hardware chip whose sole purpose is to run software designed for other microprocessors. Much of what Intel and others accomplish in silicon, Transmeta has shifted to software. The advantages? First, the chips themselves take less silicon, making them cheaper to build. Second, a simpler chip consumes less power-a paramount concern for portable computers. But perhaps the most far-reaching impact is that in crafting Crusoe, Transmeta has come up with an innovative approach free of many of the problems that have plagued chip design for the last two decades.
Before Crusoe, every microprocessor ever built has come with its own published “instruction set”-an explicit contract that spells out how the chip will work with software. An instruction set promises that if developers write software that does X, the resulting action from the chip will be Y-now and forevermore.
The problem is that once a new chip is designed, it is locked in time. As software inventory for the chip builds, it becomes next to impossible to make improvements to the instruction set. Software development is hampered too, since any new program must obey the laws of the chip’s instruction set in order to work. Microprocessor designers want chips to run faster, but they must also make them run on existing software. So they squeak out increments of speed with tricks such as resequencing instructions to the processor. But implementing major changes is next to impossible. It’s like a very bad three-legged race, with software and hardware engineers tied at the hip-never able to move fast toward adopting state-of-the-art products, so dependent are they on each other’s design choices and the choices of previous generations.
Ditzel himself has firsthand experience with the difficulty of making fundamental improvement in a chip’s initial design. At Sun Microsystems, where he worked before founding Transmeta in 1995, he was in charge of changing the instruction set for the company’s SPARC brand of microprocessor. Although he embarked on the project in 1990, it wasn’t until last year that the new instruction set was ready for use. “You need time for the industry to catch up, to get software out there, to get applications converted,” Ditzel told TR before the company’s IPO. “It’s a really big deal.”
To wrest their chips from outdated instructions, microprocessor designers will periodically throw everything out and start over with an entirely new chip, complete with a brand new instruction set. It’s a process that Intel is struggling through with its much-delayed Itanium microprocessor, which will be the company’s first chip that routes data around in digital swaths of 64 bits-that is, on a 64-bit-wide “bus.” Freeing designers from the current generation’s 32-bit bus will result in a great leap forward in performance. But starting over also results in a chip that will initially have no software to run on it, hardly an ideal state. Even if software developers cooperate and begin to write code to the new instruction set, this approach only works once: Then you’re back where you started, with legacy software and a years-long cycle to make any fundamental change.
Ditzel has tried the start-over approach to chip design more than once in his career. Two decades ago, as a graduate student at the University of California at Berkeley, he co-authored a paper entitled “The Case for Reduced Instruction Set Computing.” This seminal work inspired an entire school of microprocessor design; today, so-called RISC chips are everywhere.
After graduate work on RISC design at Berkeley, he moved on to design a RISC-chip variation called CRISP at Bell Labs; CRISP, however, never gained wide support from software developers. Ditzel then made a third attempt to design a new microprocessor when he worked on a gallium arsenide chip at Sun that was never produced. “It was like I was telling people: Look! You can use this great new microprocessor-all you have to do is throw out all your software and start over!’” Ditzel said. “I’ve fought that fight for 20 years, and I’ve given up.”
But he didn’t really give up. Instead, he found a way out.
While at Sun in the early ’90s, Ditzel was influenced by the work of Russian supercomputer expert Boris Babayan, with whom he had informally collaborated, and whom he names as a key mentor in his developing thought about chip design. At the time, Babayan and his company Elbrus were experimenting with a technique known as dynamic binary translation and compilation (which Transmeta has given the much more market-friendly name “code-morphing,” a term they have since trademarked).
Writing code so that one kind of software can run on another kind of hardware is an old idea: IBM, for example, did it back in the 1960s. Results of these attempts, however, were always hopelessly sluggish. But chips were getting faster all the time. By the early 1990s, designers were postulating that there might be a way to translate from one instruction set to another so rapidly that performance would barely suffer. Instead of being a static, one-to-one translation of each instruction, the technique could be dynamic, examining the application for inefficiencies in real time, correcting them and remembering the corrections.
It is counterintuitive to think that putting an additional layer of software between an application and a CPU wouldn’t slow things down-it’s like saying a curved line between two points is shorter than a straight line. But the relationship between software and hardware is no longer a straight line: Because of the inefficiencies caused by years of developing around the same instruction set, dynamic translation could, in theory, improve performance. On the hardware side, the process of jamming more and more circuits onto a chip to eke out the last performance gains can actually backfire, slowing things down. Software, too, is rarely as efficient as it could be out-of-the-box: Applications developers with an eye on a ship date will freeze code when it works, not when it’s perfect. Dynamic translation could theoretically find the slack and tighten it.
Before Ditzel founded Transmeta, translation techniques had been used only to make existing, noncompatible software and hardware speak to one another. Ditzel and his co-founders made an intellectual leap: If an additional layer of software could make applications run on noncompatible hardware, what was to stop them from making radical changes in the underlying hardware itself, taking advantage of the latest capabilities?
In 1994, Ditzel and co-founder Doug Laird were both coming off a project at Sun designed to make Windows run better on Sun workstations, using dynamic binary translation techniques. “We realized that if we could just add some features to the hardware, we could actually make this thing go pretty fast,” says Laird. “It was a cool idea,” he adds, recalling that Sun wasn’t interested in changing its processor design to make it better at running applications that had been written to run on standard Intel chips. Ditzel and Laird struck out on their own. Ditzel recruited Colin Hunter, a respected expert in emulation techniques, and Robert Cmelik, who had been doing work in code optimization at Sun.
As is often the case in technology innovation, practice proved harder than theory: Transmeta’s first chip design ran so slowly that it took the chip half an hour just to boot the operating system. But with each of four chip revisions, the team learned more about binary translation. Five years of painstaking work-performed by a brigade of 200 engineers backed by several hundred million dollars of venture capital-produced a chip that ran fast enough to compare favorably with Intel processors. In January of this year, Transmeta announced the first two hybrid silicon/software chips in the Crusoe line. The first, called TM5400, is a 700-megahertz chip for the ultrathin, ultralight Windows notebook PCs. It runs software written for Intel chips on a fraction of the power a Pentium consumes. The second, the TM3120, is a 400-MHz chip designed to run Internet appliances using a version of Linux that Torvalds developed for mobile devices.
Both chips present a face to software developers that is completely compatible with the instruction set in Intel’s processors. Underneath are VLIW chips, for “very long instruction word,” an architecture with a 128-bit-wide bus that can combine Intel chip instructions into longer strings and thus execute them faster. Between the outward-facing instruction set and the underlying hardware is Transmeta’s code-morphing software, which translates the Intel-style instructions into a form that Crusoe can handle, optimizes their execution and stores the optimized executions in memory. The next time the chip encounters the same operation, translation is no longer necessary. The code-morphing software (which resides in a read-only memory chip) is the first program to launch when the processor boots.
Because so much of Crusoe’s functionality has been moved from hardware to software, the chip is far simpler than a comparable Pentium processor and requires only one-fourth as many transistors. A side benefit of fewer transistors is that Crusoe uses far less power to run-hence Transmeta’s decision to target its first chips at the mobile market. Another advantage to the Crusoe approach is in shortening the time needed to develop a new chip. With much of the design residing in software, Ditzel says some customers have already asked for changes in the instruction set and that Transmeta engineers could implement them in 24 hours. While this probably doesn’t include time for any kind of bug testing, it’s nevertheless clear that Transmeta has found a way to drastically shorten the development cycle.
Nick Tredennick, co-architect of the original Motorola 68000 (the processor that powered the first Macintoshes), and now an independent microprocessor design consultant, is not alone in concluding Ditzel is on to something. “When I first heard about Crusoe, I thought it was just the latest fad, or a rehash of emulation, which has never worked,” Tredennick says. But after hearing Ditzel speak, Tredennick became a convert. Transmeta, he says, is doing something “fundamentally different from what has been done since the invention of the computer.”
Transmeta’s chips are “inherently simpler to design” than conventional ones, says Stanford’s Wharton. “You can make a software change, incorporate it into a test version, run it and see if it works, all in one afternoon. In the hardware realm, the turnaround time can be three to nine months. Intel may put 500 or 1,000 man-years into designing Itanium. The next Transmeta chip may require 10, or 20, or 50. That’s mouse nuts.”
The movement toward making chips that are hybrids of software and hardware, rather than pure silicon, has caught on broadly. But Transmeta is likely to keep the lead for the foreseeable future. That’s because Ditzel was the first person to take these ideas out of the lab, hire 200 employees to work on them, and build a chip that worked. Along the way, he created at least two roadblocks that will slow down his competition.
The first is the company’s testing tools. Indeed, Transmeta’s jewels are probably not even the chips themselves, but rather the diagnostic software the company was forced to create in the development process. The off-the-shelf tools that exist for checking out conventional chips all assume that there is a static relationship between software, a chip and a given instruction. Transmeta needed to solve the problem of testing a microprocessor that changes dynamically in response to the software it runs. Other companies will need to start from scratch to build their own testing tools, which could easily take a year or longer.