Sparc Overview

From OSDev Wiki
Jump to navigation Jump to 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:

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