SlideShare a Scribd company logo
1 of 16
THE SPARC
ARCHITECTURE
Presented By
Suryakant Bhandare
ELEC 6200-001 Computer Architecture and Design
Fall 2009
srb0012@auburn.edu
Outline
 INTRODUCTION
 DESIGN GOALS
 HISTORY
 THE SPARC ARCHITECTURE
-Integer Unit (IU)
-The Register Window
-Floating Point Unit (FPU)
-Coprocessor
 INSTRUCTIONS
 SPARC V9 FEATURES
 REFERENCES
Introduction
 SPARC stands for Scalable Processor Architecture.
 developed by Sun Microsystems in the 1980s.
 is based on the RISC structure designed at the University of California at
Berkeley in early 1980s.
 The SPARC architecture is a non-proprietary architecture that any
person or company can license and use to develop microprocessors and
other semiconductor devices based on published industry standards.
 In 1989, Sun Microsystems transferred ownership of the SPARC
specifications to an independent, non-profit organization, SPARC
International, which administers and licenses the technology and
provides conformance testing and other services for its members.
Design Goals
 SPARC was designed as a target for optimizing compilers and
easily pipelined hardware implementations. SPARC
implementations provide exceptionally high execution
rates(MIPS) and short time-to-market development schedules.
 Provide the scalability of the cost/performance ratio of
successive implementations with the current improvements in
circuit technology.
 The "Scalable" in SPARC comes from the fact that the SPARC
specification allows implementations to scale from processors
required in embedded systems to processors used for servers.
Brief History
 3 major revisions to the SPARC architecture
- SPARC-V7, 32bit, 1986
- SPARC-V8, 32bit, 1990
- SPARC-V9, 64bit, 1993
 Backward binary compatibility between them.
 In early 2006, Sun released an extended
architecture specification, UltraSPARC Architecture
2005.
The SPARC Architecture
 It is a Load and store architecture. Operations are
always done over registers.
 Uses “register window” concept thus offering a
large number of registers.
 Uses delay slot to optimize branch instruction.
 Passes arguments using registers and the stack.
The Modules
The Integer Unit (IU)
 Contains the general purpose registers and controls the
overall operation of the processor.
 may contain from 64 to 528 general-purpose 64-bit r
registers. They are partitioned into 8 global registers, 8
alternate global registers, plus a circular stack of from 3
to 32 sets of 16 registers each, known as register
windows.
 Executes the integer arithmetic instructions and computes
memory addresses for loads and stores.
 Maintains the program counters and controls instruction
execution for the FPU.
The Register Window
 At any time, an instruction can access the 8 global registers and a 24-
register window
 A register window comprises a 16-register set- divided into 8 in and 8
local registers- together with the 8 in registers of an adjacent register
set, addressable from the current window as its out registers.
 When a procedure is called, the register window shifts by sixteen
registers, hiding the old input registers and old local registers and
making the old output registers the new input registers.
 Input registers : arguments are passed to a function
 Local registers : to store any local data.
 Output registers : When calling a function, the programmer puts his
argument in these registers.
The Register Window
 The current window into the r registers is given by
the current window pointer (CWP) register.
The Floating-point Unit (FPU)
 The FPU has 32 32-bit (single-precision) floating-point registers, 32 64-bit
(double-precision) floating-point registers, and 16 128-bit (quad-
precision) floating-point registers.
 Double-precision values occupy an even-odd pair of single-precision
registers.
 Quad-precision values occupy an odd-even number pair of double
precision registers.
 Floating-point load/store instructions are used to move data between the
FPU and memory.
 The memory address is calculated by the IU.
 Floating-Point operate (FPop) instructions perform the floating-point
arithmetic operations and comparisons.
Coprocessor Unit (CU)
 The instruction set includes support for a
single, implementation-dependent coprocessor.
The coprocessor has its own set of registers.
 Coprocessor load/store instructions are used to
move data between the coprocessor registers
and memory.
 floating-point instructions mirrors coprocessor
instructions.
 Not implemented in SPARC V9.
Instructions
Instructions can fall into following basic
categories :
 Load/store
 Arithmetic/logical/shift
 Control transfer
 Read/write control register
 Floating-point/Coprocessor operate
SPARC v9 features
 64-bit Data and Addresses as compared to 32-bit Data and
Addresses of SPARC V8.
 32 double-precision floating-point registers,
 Software-settable branch prediction
 64-bit integer multiply and divide instructions
 load/store floating-point quad word instructions
 Branches on register value (eliminating the need to
compare)
 The V9 remains binary compatible with all previous SPARC
architecture.
References
 The SPARC Architecture Manual Version 8
 The SPARC Architecture Manual Version 9
 Cpu-collection.de
http://www.cpu-collection.de/?tn=1&l0=cl&l1=SPARC
 http://en.wikipedia.org/wiki/SPARC
 www.cmpe.boun.edu.tr
Ozan Aktan - SuperSPARC Architecture
THANK YOU

More Related Content

What's hot

Basic MIPS implementation
Basic MIPS implementationBasic MIPS implementation
Basic MIPS implementationkavitha2009
 
Introduction to intel galileo board gen2
Introduction to intel galileo board gen2Introduction to intel galileo board gen2
Introduction to intel galileo board gen2Harshit Srivastava
 
SOC System Design Approach
SOC System Design ApproachSOC System Design Approach
SOC System Design ApproachA B Shinde
 
Device drivers and interrupt service mechanism
Device drivers and interrupt service mechanismDevice drivers and interrupt service mechanism
Device drivers and interrupt service mechanismVijay Kumar
 
UNIT-I-RTOS and Concepts
UNIT-I-RTOS and ConceptsUNIT-I-RTOS and Concepts
UNIT-I-RTOS and ConceptsDr.YNM
 
Real time operating system
Real time operating systemReal time operating system
Real time operating systemKamran Khan
 
Overview of LPC214x MCUs
Overview of LPC214x MCUsOverview of LPC214x MCUs
Overview of LPC214x MCUsPremier Farnell
 
Real Time Operating Systems for Embedded Systems
Real Time Operating Systems for Embedded SystemsReal Time Operating Systems for Embedded Systems
Real Time Operating Systems for Embedded SystemsAditya Vichare
 
Introduction to embedded system design
Introduction to embedded system designIntroduction to embedded system design
Introduction to embedded system designMukesh Bansal
 
Contiki IoT simulation
Contiki IoT simulationContiki IoT simulation
Contiki IoT simulationnabati
 
Real Time Kernels
Real Time KernelsReal Time Kernels
Real Time KernelsArnav Soni
 
ARM architcture
ARM architcture ARM architcture
ARM architcture Hossam Adel
 
top level view of computer function and interconnection
top level view of computer function and interconnectiontop level view of computer function and interconnection
top level view of computer function and interconnectionSajid Marwat
 
Umts system architecture
Umts system architectureUmts system architecture
Umts system architectureMidhun S
 

What's hot (20)

Basic MIPS implementation
Basic MIPS implementationBasic MIPS implementation
Basic MIPS implementation
 
Introduction to intel galileo board gen2
Introduction to intel galileo board gen2Introduction to intel galileo board gen2
Introduction to intel galileo board gen2
 
Real-Time Operating Systems
Real-Time Operating SystemsReal-Time Operating Systems
Real-Time Operating Systems
 
SOC System Design Approach
SOC System Design ApproachSOC System Design Approach
SOC System Design Approach
 
Device drivers and interrupt service mechanism
Device drivers and interrupt service mechanismDevice drivers and interrupt service mechanism
Device drivers and interrupt service mechanism
 
Arm architecture
Arm architectureArm architecture
Arm architecture
 
UNIT-I-RTOS and Concepts
UNIT-I-RTOS and ConceptsUNIT-I-RTOS and Concepts
UNIT-I-RTOS and Concepts
 
Real time operating system
Real time operating systemReal time operating system
Real time operating system
 
Overview of LPC214x MCUs
Overview of LPC214x MCUsOverview of LPC214x MCUs
Overview of LPC214x MCUs
 
Embedded systems basics
Embedded systems basicsEmbedded systems basics
Embedded systems basics
 
Real Time Operating Systems for Embedded Systems
Real Time Operating Systems for Embedded SystemsReal Time Operating Systems for Embedded Systems
Real Time Operating Systems for Embedded Systems
 
Introduction to embedded system design
Introduction to embedded system designIntroduction to embedded system design
Introduction to embedded system design
 
Contiki IoT simulation
Contiki IoT simulationContiki IoT simulation
Contiki IoT simulation
 
Chapter 8
Chapter 8Chapter 8
Chapter 8
 
Real Time Kernels
Real Time KernelsReal Time Kernels
Real Time Kernels
 
ARM architcture
ARM architcture ARM architcture
ARM architcture
 
ARM Processor
ARM ProcessorARM Processor
ARM Processor
 
ARM Processors
ARM ProcessorsARM Processors
ARM Processors
 
top level view of computer function and interconnection
top level view of computer function and interconnectiontop level view of computer function and interconnection
top level view of computer function and interconnection
 
Umts system architecture
Umts system architectureUmts system architecture
Umts system architecture
 

Viewers also liked

Presentation sparc m6 m5-32 server technical overview
Presentation   sparc m6 m5-32 server technical overviewPresentation   sparc m6 m5-32 server technical overview
Presentation sparc m6 m5-32 server technical overviewsolarisyougood
 
SPARC T1 MMU Architecture
SPARC T1 MMU ArchitectureSPARC T1 MMU Architecture
SPARC T1 MMU ArchitectureKaushik Patra
 
Pentium (80586) Microprocessor By Er. Swapnil Kaware
Pentium (80586) Microprocessor By Er. Swapnil KawarePentium (80586) Microprocessor By Er. Swapnil Kaware
Pentium (80586) Microprocessor By Er. Swapnil KawareProf. Swapnil V. Kaware
 
Intel core i7 processor
Intel core i7 processorIntel core i7 processor
Intel core i7 processorGautam Kumar
 
Core 2 Duo Processor
Core 2 Duo ProcessorCore 2 Duo Processor
Core 2 Duo ProcessorKashif Latif
 
Solaris Operating System
Solaris Operating SystemSolaris Operating System
Solaris Operating SystemJoshua Guillano
 
Intel I3,I5,I7 Processor
Intel I3,I5,I7 ProcessorIntel I3,I5,I7 Processor
Intel I3,I5,I7 Processorsagar solanky
 
Javascript State of the Union 2015 - English
Javascript State of the Union 2015 - EnglishJavascript State of the Union 2015 - English
Javascript State of the Union 2015 - EnglishHuge
 

Viewers also liked (12)

Presentation sparc m6 m5-32 server technical overview
Presentation   sparc m6 m5-32 server technical overviewPresentation   sparc m6 m5-32 server technical overview
Presentation sparc m6 m5-32 server technical overview
 
SPARC T1 MMU Architecture
SPARC T1 MMU ArchitectureSPARC T1 MMU Architecture
SPARC T1 MMU Architecture
 
Pentium 4
Pentium 4Pentium 4
Pentium 4
 
Pentium
PentiumPentium
Pentium
 
Pentium (80586) Microprocessor By Er. Swapnil Kaware
Pentium (80586) Microprocessor By Er. Swapnil KawarePentium (80586) Microprocessor By Er. Swapnil Kaware
Pentium (80586) Microprocessor By Er. Swapnil Kaware
 
Intel core i7 processor
Intel core i7 processorIntel core i7 processor
Intel core i7 processor
 
Core 2 Duo Processor
Core 2 Duo ProcessorCore 2 Duo Processor
Core 2 Duo Processor
 
Solaris Operating System
Solaris Operating SystemSolaris Operating System
Solaris Operating System
 
Intel Core i7 Processors
Intel Core i7 ProcessorsIntel Core i7 Processors
Intel Core i7 Processors
 
Intel I3,I5,I7 Processor
Intel I3,I5,I7 ProcessorIntel I3,I5,I7 Processor
Intel I3,I5,I7 Processor
 
Pentium processor
Pentium processorPentium processor
Pentium processor
 
Javascript State of the Union 2015 - English
Javascript State of the Union 2015 - EnglishJavascript State of the Union 2015 - English
Javascript State of the Union 2015 - English
 

Similar to The sparc architecture (3)

The sunsparc architecture
The sunsparc architectureThe sunsparc architecture
The sunsparc architectureTaha Malampatti
 
An Enhanced FPGA Based Asynchronous Microprocessor Design Using VIVADO and ISIM
An Enhanced FPGA Based Asynchronous Microprocessor Design Using VIVADO and ISIMAn Enhanced FPGA Based Asynchronous Microprocessor Design Using VIVADO and ISIM
An Enhanced FPGA Based Asynchronous Microprocessor Design Using VIVADO and ISIMjournalBEEI
 
Microprocessors and-microcontrollers (1)
Microprocessors and-microcontrollers (1)Microprocessors and-microcontrollers (1)
Microprocessors and-microcontrollers (1)Nagarjun singh
 
Design and Implementation of Pipelined 8-Bit RISC Processor using Verilog HDL...
Design and Implementation of Pipelined 8-Bit RISC Processor using Verilog HDL...Design and Implementation of Pipelined 8-Bit RISC Processor using Verilog HDL...
Design and Implementation of Pipelined 8-Bit RISC Processor using Verilog HDL...IRJET Journal
 
16-bit Microprocessor Design (2005)
16-bit Microprocessor Design (2005)16-bit Microprocessor Design (2005)
16-bit Microprocessor Design (2005)Susam Pal
 
unit 1ARM INTRODUCTION.pptx
unit 1ARM INTRODUCTION.pptxunit 1ARM INTRODUCTION.pptx
unit 1ARM INTRODUCTION.pptxKandavelEee
 
Design & Simulation of RISC Processor using Hyper Pipelining Technique
Design & Simulation of RISC Processor using Hyper Pipelining TechniqueDesign & Simulation of RISC Processor using Hyper Pipelining Technique
Design & Simulation of RISC Processor using Hyper Pipelining TechniqueIOSR Journals
 
Architecture Of TMS320C50 DSP Processor
Architecture Of TMS320C50 DSP ProcessorArchitecture Of TMS320C50 DSP Processor
Architecture Of TMS320C50 DSP ProcessorJanelle Martinez
 
Processor Organization and Architecture
Processor Organization and ArchitectureProcessor Organization and Architecture
Processor Organization and ArchitectureVinit Raut
 
Blackfin Processor Core Architecture Part 2
Blackfin Processor Core Architecture Part 2Blackfin Processor Core Architecture Part 2
Blackfin Processor Core Architecture Part 2Premier Farnell
 
Introduction to microprocessor
Introduction to microprocessorIntroduction to microprocessor
Introduction to microprocessorRamaPrabha24
 
8085 microprocessor
8085 microprocessor8085 microprocessor
8085 microprocessorAnuja Gunale
 
Bca examination 2015 csa
Bca examination 2015 csaBca examination 2015 csa
Bca examination 2015 csaAnjaan Gajendra
 
Ee6403 --unit v -digital signal processors
Ee6403 --unit v -digital signal processorsEe6403 --unit v -digital signal processors
Ee6403 --unit v -digital signal processorsJeya Bright
 

Similar to The sparc architecture (3) (20)

The sunsparc architecture
The sunsparc architectureThe sunsparc architecture
The sunsparc architecture
 
An Enhanced FPGA Based Asynchronous Microprocessor Design Using VIVADO and ISIM
An Enhanced FPGA Based Asynchronous Microprocessor Design Using VIVADO and ISIMAn Enhanced FPGA Based Asynchronous Microprocessor Design Using VIVADO and ISIM
An Enhanced FPGA Based Asynchronous Microprocessor Design Using VIVADO and ISIM
 
Microprocessors and-microcontrollers (1)
Microprocessors and-microcontrollers (1)Microprocessors and-microcontrollers (1)
Microprocessors and-microcontrollers (1)
 
Design and Implementation of Pipelined 8-Bit RISC Processor using Verilog HDL...
Design and Implementation of Pipelined 8-Bit RISC Processor using Verilog HDL...Design and Implementation of Pipelined 8-Bit RISC Processor using Verilog HDL...
Design and Implementation of Pipelined 8-Bit RISC Processor using Verilog HDL...
 
arm-cortex-a8
arm-cortex-a8arm-cortex-a8
arm-cortex-a8
 
microprocessor
 microprocessor microprocessor
microprocessor
 
16-bit Microprocessor Design (2005)
16-bit Microprocessor Design (2005)16-bit Microprocessor Design (2005)
16-bit Microprocessor Design (2005)
 
unit 1ARM INTRODUCTION.pptx
unit 1ARM INTRODUCTION.pptxunit 1ARM INTRODUCTION.pptx
unit 1ARM INTRODUCTION.pptx
 
Design & Simulation of RISC Processor using Hyper Pipelining Technique
Design & Simulation of RISC Processor using Hyper Pipelining TechniqueDesign & Simulation of RISC Processor using Hyper Pipelining Technique
Design & Simulation of RISC Processor using Hyper Pipelining Technique
 
Architecture Of TMS320C50 DSP Processor
Architecture Of TMS320C50 DSP ProcessorArchitecture Of TMS320C50 DSP Processor
Architecture Of TMS320C50 DSP Processor
 
Mod 3.pptx
Mod 3.pptxMod 3.pptx
Mod 3.pptx
 
20120140502007 2-3
20120140502007 2-320120140502007 2-3
20120140502007 2-3
 
Processor Organization and Architecture
Processor Organization and ArchitectureProcessor Organization and Architecture
Processor Organization and Architecture
 
Blackfin Processor Core Architecture Part 2
Blackfin Processor Core Architecture Part 2Blackfin Processor Core Architecture Part 2
Blackfin Processor Core Architecture Part 2
 
A044050107
A044050107A044050107
A044050107
 
Introduction to microprocessor
Introduction to microprocessorIntroduction to microprocessor
Introduction to microprocessor
 
8085 microprocessor
8085 microprocessor8085 microprocessor
8085 microprocessor
 
Bca examination 2015 csa
Bca examination 2015 csaBca examination 2015 csa
Bca examination 2015 csa
 
Processor types
Processor typesProcessor types
Processor types
 
Ee6403 --unit v -digital signal processors
Ee6403 --unit v -digital signal processorsEe6403 --unit v -digital signal processors
Ee6403 --unit v -digital signal processors
 

The sparc architecture (3)

  • 1. THE SPARC ARCHITECTURE Presented By Suryakant Bhandare ELEC 6200-001 Computer Architecture and Design Fall 2009 srb0012@auburn.edu
  • 2. Outline  INTRODUCTION  DESIGN GOALS  HISTORY  THE SPARC ARCHITECTURE -Integer Unit (IU) -The Register Window -Floating Point Unit (FPU) -Coprocessor  INSTRUCTIONS  SPARC V9 FEATURES  REFERENCES
  • 3. Introduction  SPARC stands for Scalable Processor Architecture.  developed by Sun Microsystems in the 1980s.  is based on the RISC structure designed at the University of California at Berkeley in early 1980s.  The SPARC architecture is a non-proprietary architecture that any person or company can license and use to develop microprocessors and other semiconductor devices based on published industry standards.  In 1989, Sun Microsystems transferred ownership of the SPARC specifications to an independent, non-profit organization, SPARC International, which administers and licenses the technology and provides conformance testing and other services for its members.
  • 4. Design Goals  SPARC was designed as a target for optimizing compilers and easily pipelined hardware implementations. SPARC implementations provide exceptionally high execution rates(MIPS) and short time-to-market development schedules.  Provide the scalability of the cost/performance ratio of successive implementations with the current improvements in circuit technology.  The "Scalable" in SPARC comes from the fact that the SPARC specification allows implementations to scale from processors required in embedded systems to processors used for servers.
  • 5. Brief History  3 major revisions to the SPARC architecture - SPARC-V7, 32bit, 1986 - SPARC-V8, 32bit, 1990 - SPARC-V9, 64bit, 1993  Backward binary compatibility between them.  In early 2006, Sun released an extended architecture specification, UltraSPARC Architecture 2005.
  • 6. The SPARC Architecture  It is a Load and store architecture. Operations are always done over registers.  Uses “register window” concept thus offering a large number of registers.  Uses delay slot to optimize branch instruction.  Passes arguments using registers and the stack.
  • 8. The Integer Unit (IU)  Contains the general purpose registers and controls the overall operation of the processor.  may contain from 64 to 528 general-purpose 64-bit r registers. They are partitioned into 8 global registers, 8 alternate global registers, plus a circular stack of from 3 to 32 sets of 16 registers each, known as register windows.  Executes the integer arithmetic instructions and computes memory addresses for loads and stores.  Maintains the program counters and controls instruction execution for the FPU.
  • 9. The Register Window  At any time, an instruction can access the 8 global registers and a 24- register window  A register window comprises a 16-register set- divided into 8 in and 8 local registers- together with the 8 in registers of an adjacent register set, addressable from the current window as its out registers.  When a procedure is called, the register window shifts by sixteen registers, hiding the old input registers and old local registers and making the old output registers the new input registers.  Input registers : arguments are passed to a function  Local registers : to store any local data.  Output registers : When calling a function, the programmer puts his argument in these registers.
  • 10. The Register Window  The current window into the r registers is given by the current window pointer (CWP) register.
  • 11. The Floating-point Unit (FPU)  The FPU has 32 32-bit (single-precision) floating-point registers, 32 64-bit (double-precision) floating-point registers, and 16 128-bit (quad- precision) floating-point registers.  Double-precision values occupy an even-odd pair of single-precision registers.  Quad-precision values occupy an odd-even number pair of double precision registers.  Floating-point load/store instructions are used to move data between the FPU and memory.  The memory address is calculated by the IU.  Floating-Point operate (FPop) instructions perform the floating-point arithmetic operations and comparisons.
  • 12. Coprocessor Unit (CU)  The instruction set includes support for a single, implementation-dependent coprocessor. The coprocessor has its own set of registers.  Coprocessor load/store instructions are used to move data between the coprocessor registers and memory.  floating-point instructions mirrors coprocessor instructions.  Not implemented in SPARC V9.
  • 13. Instructions Instructions can fall into following basic categories :  Load/store  Arithmetic/logical/shift  Control transfer  Read/write control register  Floating-point/Coprocessor operate
  • 14. SPARC v9 features  64-bit Data and Addresses as compared to 32-bit Data and Addresses of SPARC V8.  32 double-precision floating-point registers,  Software-settable branch prediction  64-bit integer multiply and divide instructions  load/store floating-point quad word instructions  Branches on register value (eliminating the need to compare)  The V9 remains binary compatible with all previous SPARC architecture.
  • 15. References  The SPARC Architecture Manual Version 8  The SPARC Architecture Manual Version 9  Cpu-collection.de http://www.cpu-collection.de/?tn=1&l0=cl&l1=SPARC  http://en.wikipedia.org/wiki/SPARC  www.cmpe.boun.edu.tr Ozan Aktan - SuperSPARC Architecture