The History of the SPARC Processor

Tom Kranz
SPARC (an acronym for Scalable Processor Architecture) has been Sun Microsystems' flagship processor architecture for over twenty years. In keeping with Sun's commitment to innovation and flexibility, the SPARC processor had gone through many revisions over years in an attempt to stay on the cutting edge. In June 2002, eighty-eight of the 500 fastest computers in the world used Sun's SPARC processors.

Sun originally designed the SPARC microprocessor instruction set architecture in 1985, but it quickly underwent a 32-bit revision in 1986, resulting in SPARC Version 7 (V7). It was initially designed for use in Sun's Sun-4 workstation and server systems, where it replaced the Motorola 68000 family of processors then used in the Sun-3 systems.

SPARC processors quickly gained in popularity, and were used in SMP servers built by, among others, Sun, Solbourne, and Fujitsu. Although designed for and used in Sun's Solaris operating system, SPARC processors have also been used with other operating systems, including FreeBSD, OpenBSD, NetBSD, and Linux.

The SPARC instruction set was designed to be minimalist, with as few features as possible (including the inability to multiply or divide) in an attempt to increase processing speed as much as possible, with the goal of one instruction per clock cycle.

It was also designed to be scalable, allowing all types of processors from tiny dedicated processors to huge server-level ones to use the same core instruction set. The original SPARC processor contained 128 general-purpose registers-eight global, 32 available to software, and 24 for a register window to pass function call parameters and return values.

In 1990, an enhanced SPARC Version 8 (V8) architecture was released. Its instruction set regained the multiply and divide. SPARC V8 added 16 highly flexible double-precision registers instead of the previous 32. Each double-precision register, however, could be used as either two single-precision registers (for a total of 32 single-precision registers) or, by using an odd-even pair of double precisions-registers, be used as a quad-precision register (resulting in 8 quad precision registers).

SPARC Version 9, also known as SPARC64, was released in 1993. It was a 64-bit data and addressing specification. It added sixteen more double-precision registers that could be combined and used as eight quad-precision registers. However, these additional registers could not be used a 32 single-precision registers.

In late 2005, Sun announced released their UltraSPARC T1 source code to an open source project called OpenSPARC. Currently, three fully open source versions of the SPARC architecture exists: LEON, a 32-bit, single thread SPARC V8 version, OpenSPARC T1, a 64-bit, 32-thread version of SPARC V9, and OpenSPARC T2, a 64-bit, 64-thread version of SPARC V9.

Sun Microsystems' SPARC processors have been losing ground to IBM, Intel, and AMD over the last five years. However, given Sun's history of handling such setbacks by adjusting to the exiting market while still focusing on new innovative steps forward, I suspect it will not be long before a new SPARC processor version (or perhaps a new processor type altogether) is announced by Sun.Sun Open Source their SPARC processor designs, allowing other companies and universities to freely design and build systems based on SPARC.http://www.gaeltd.com

Published by Tom Kranz

Tom Kranz runs a successful IT consultancy, focussed on high end technical computing with UNIX and has written many technical articles for magazines and online resources like Sun's BigAdmin site.  View profile

To comment, please sign in to your Yahoo! account, or sign up for a new account.