Rotating Registers

By Jim Turley  |  Posted 2002-02-11 Print this article Print

On top of the frames, theres register rotation, a feature that helps loop unrolling more than parameter passing. With rotation, Itanium can shift up to 96 of its general-purpose registers (the first 32 are still fixed and global) by one or more apparent positions. Why? So that iterative loops that hammer on the same register(s) time after time can all be dispatched and executed at once without stepping on each other. Each instance of the loop actually targets different physical registers, allowing them all to be in flight at once. If this sounds a lot like register renaming, it is. Itaniums register-rotation feature is less generic than all-purpose register renaming like Athlons, so its easier to implement and faster to execute. Chip-wide register renaming like Athlons adds gobs of multiplexers, adders, and routing, one of the big drawbacks of a massively out-of-order machine. On a smaller scale, ARM used this trick with its ill-fated Piccolo DSP coprocessor. At the high end, Cydrome also used this technique, a favorite feature that Cydrome alumnus and Itanium team member Bob Rau apparently brought with him.
So IA-64 has two levels of indirection for its own registers: the logical-to-virtual mapping of the frames and the virtual-to-physical mapping of the rotation. All this means that programs usually arent accessing the physical registers they think they are, but thats nothing new to high-end microprocessors. Arcane as it seems, this method still uses less hardware trickery than the full register renaming of Athlon, Pentium III, or P4.
Frames and rotation help up to a point, but eventually even Itanium runs out of registers. When that happens, were back to pushing and popping registers on and off the stack. Where Itanium differs from SPARC is that Intel makes it automatic. Itaniums register save engine (RSE) is an automated circuit within the processor that oversees filling and spilling registers to/from the stack when the register file overflows or underflows. Unlike SPARC, Itaniums RSE handles this task automatically and invisibly to software. SPARC, in contrast, raises a fault that must be handled in software. The RSE is more complicated than you might think. It has to handle any kind of memory problem, page fault, exception, or error without bothering the processor. In Itanium, the RSE stalls the processor to do its work. In future IA-64 implementations, it will probably be more elegantly handled in the background.

Jim Turley is a semiconductor industry analyst, editor, and presenter working in Silicon Valley. Focus technologies are 32-bit microprocessors and semiconductor intellectual property (SIP).

Most recently Jim was the Senior Vice President of Strategy & Technology at ARC International plc (LSE:ARK), where he set the Company's strategic direction and guided its technical developments at five locations worldwide. With headquarters in London (UK) and development centers in New Hampshire, Canada, and California, ARC International is an innovative leader in the semiconductor IP (intellectual property) industry.

Previously, Jim was senior analyst for MicroDesign Resources (a unit of Cahners/Reed Elsevier) as well as the Senior Editor of the prestigious industry journal Microprocessor Report (a three-time winner of the Computer Press Award), and Editor-in-Chief of Embedded Processor Watch. He also hosted and directed the yearly Embedded Processor Forum conference, the industry's annual showcase for new microprocessors. As an analyst and editor, Turley consulting with leading semiconductor firms, providing informed advice on technology trends and market requirements, and was often called on to participate in new product reviews, strategy sessions, and technology development for large semiconductor companies.

Turley is the author of six popular books including Advanced 80386 Programming Techniques, the best-selling PCs Made Easy and others published by McGraw-Hill and Academic Press. He's served as technical editor for several of McGraw-Hill's computer and programming books. In addition, he was a regular technology columnist for Embedded System Programming, Computer Design, and Supermicro magazines, and contributed articles to dozens more. Earlier in his career, Turley held engineering or marketing positions at Adept Technology, Force Computers, TeleVideo, and other high-technology firms in Europe and the United States.

Turley has created and presented numerous seminars and training sessions around the world covering technology trends and the competitive microprocessor market. He is also a well-known speaker at industry events such as the Embedded Systems Conference and Microprocessor Forum, is frequently quoted in the Wall Street Journal, New York Times, USA Today, San Francisco Chronicle, and San Jose Mercury News, and has appeared frequently on television, radio, and Internet broadcasts. Jim volunteers for Recording for the Blind and recently earned his amateur auto-racing license. He has a talented and stunningly attractive wife, two overachieving children, an apparently brain-damaged dog, and an opossum living under the house.

Jim can be contacted at or by calling (408) 226-8086.

For additional information, visit


Submit a Comment

Loading Comments...
Manage your Newsletters: Login   Register My Newsletters

Rocket Fuel