Sparc Overview

From OSDev Wiki
Jump to: navigation, search

SPARC (the Scalable Processor ARChitecture) is a RISC-based processor mainly used in high-end workstations and servers; in particular, Sun's SparcStation and many of Sun's Ultra machines are SPARC based. Notable features of Sun's implementation include:

  • OpenBoot (aka OpenFirmware, IEEE 1275)

As Sparc hardware generally is highly expensive, few hobby OS's target it; however, as more and more older SPARCs are being replaced, an interested developer can often find them at swap meets and in discard piles, where they are available at little cost.

As a side effect of their high cost, little documentation is available for Sun's workstations at a hardware level, and what is available from Sun often requires a support contract. Fortunately, several free operating systems support the Sparc, such as Linux and *BSD.

The Sparc processor has several versions:

  • V8: 32-bit, used in Sun's SparcStations
  • V9: 64-bit, used in Sun's ULTRA workstations. Also known as UltraSparc.


Registers

Name Number Function Callee must preserve?
 %g0 $0 constant 0
 %g1-%g7 $1-$7 global registers 1-7
 %o0-%o5 $8-$13 output registers 0-5
 %sp $14 stack pointer
 %o7 $15 subroutine return address
 %l0-%l7 $16-$23 local registers 0-7
 %i0-%i5 $24-$29 input registers 0-5
 %fp $30 frame pointer
 %i7 $31 function return address

See Also

Articles

Links

Personal tools
Namespaces
Variants
Actions
Navigation
About
Toolbox