SPARC Processor

advertisement
Chapter Six
Sun SPARC Architecture
SPARC Processor
• The name SPARC stands for Scalable Processor
Architecture
• SPARC architecture follows the RISC design
philosophy by stressing importance of
– Large CPU register file
– Similar register window features
RISC Vs CISC
• The historical background:
– In first 25 years (1945-70) performance came from both
technology and design.
– Design considerations:
o small and slow memories: compact programs are fast.
o small no. of registers: memory operands are used instead
o attempts to bridge the semantic gap: model high level language
features in instructions.
o no need for portability: same vendor application, OS and
hardware.
o backward compatibility: every new ISA must carry the good
and bad of all past ones.
• Result: powerful and complex instructions that are rarely
used.
• Such type of processors were classified as CISC.
CISC
• CISC is an acronym for Complex Instruction Set
Computer.
• These chips are easy to program and make
efficient use of memory.
• CISC philosophy made sense as the earliest
machines were programmed in assembly
language and memory was slow and expensive
• Most common microprocessor designs such as
Intel 80x86 and Motorola 68K series followed the
CISC philosophy.
RISC Vs CISC
• Later it was found as follows:
What is RISC?
• Reduced Instruction Set Computer(RISC) is a type of
microprocessor architecture that utilizes a small,
highly-optimized set of instructions than a more
specialized set of instructions often found in other
types of architectures
• The characteristic of most RISC processors are:
– one cycle execution time: RISC processors have a
CPI (clock per instruction) of one cycle. This is for
the optimization of CPU pipelining
– large number of registers: RISC design generally
incorporates a larger number of registers to
reduce the number of interactions with memory
CISC
RISC
• Extensive instructions.
• Reduced instruction set.
• Complex and efficient
• Less complex, simple
machine instructions.
instructions.
• Hardwired control unit and • Microencoding of the
machine instructions.
machine instructions.
• Few addressing schemes • Extensive addressing
capabilities for memory
for memory operands with
operations.
two basic instructions LOAD and STORE
• Many symmetric registers • Relatively few registers.
which are organised into a
register file.
SPARC Processor
• SPARC Processor was introduced by Sun
Microsystems in 1987 as an architectural
family.
• It is an open architecture : semiconductor
vendors can produce SPARC chips using
various implementation domains: CMOS,ECL
and GaAs
SPARC Features
• A linear 32-bit address space
• Few and simple instruction formats — All
instructions are 32 bits wide.
– Only 3 basic instruction formats
– Uniform placement of opcode and register
address fields in instruction
– Only LOAD and STORE instructions access
memory and I/O.
• Few addressing modes — An address may be
“register + register” or “register+immediate.”
SPARC Features
• Triadic register addresses— Most instructions
operate on two register operands (or one
register and a constant) and place the result in
a third register.
• A large “windowed” register file — At any
one instant, a program sees 8 global integer
registers plus a 24-register window into a
larger register file.
• A separate floating-point register file
SPARC Features
• Delayed control transfer— The processor
always fetches the next instruction after a
delayed control-transfer instruction.
• Fast trap handler
• Tagged instructions
• Multiprocessor synchronization instructions
• Coprocessor— The architecture defines a
straightforward coprocessor instruction set, in
addition to the floating-point instruction set.
SPARC Architecture
• SPARC is an instruction set architecture (ISA)
with 32-bit integer and 32-, 64-,and 128-bit
floating point as its principal data types.
• SPARC processor logically comprises 3 units:
– an Integer Unit (IU)
– a Floating-Point Unit (FPU)
– an optional Coprocessor (CP),
each with its own registers. (32-bits wide).
SPARC Processor
• SPARC processor can be in either of 2 modes:
– Supervisor mode: The processor can execute any
instruction including the privileged instructions.
– User mode: “User Application” programs will be
executed in user mode. An attempt to execute a
privileged instruction will cause a trap to
supervisor software.
THE MODULES
Floating-Point
Unit
(FPU)
CoProcessor
(CP)
Integer Unit
(IU)
THE MODULES
Floating-Point
Unit
(FPU)
CoProcessor
(CP)
Integer Unit
(IU)
INTEGER UNIT (IU)
• Contains the general purpose registers and controls
the overall operation of the processor.
• Executes the integer arithmetic instructions and
computes memory addresses for loads and stores.
• Maintains the program counters and controls
instruction execution for the FPU and the CP.
• May contain from 40 to 520 general-purpose 32-bit
registers
• It corresponds to
– 8 global registers and
– a circular stack of from 2 to 32 sets of 16 registers known
as register windows.
– Thus (2*16=32+8=40) to (32*16+8 =520)
Integer Unit
(IU)
REGISTER WINDOW CONCEPT
• Each instruction can access
the 8-globals and a register
window
• A 24- register window
comprises
– 8 in
– 8 local registers
– 8 out registers( which are
together with the 8 in
registers of an adjacent
register set, addressable
from the current window)
Integer Unit
(IU)
THE MODULES
Floating-Point
Unit
(FPU)
CoProcessor
(CP)
Integer Unit
(IU)
FLOATING-POINT UNIT (FPU)
• The FPU has thirty-two 32-bit-wide registers.
– Double-precision values occupy an even-odd pair
of registers
– Quad-precision values occupy a quad aligned
group of four registers.
• Floating point load/store instructions are used
to move data between the FPU and memory.
• The memory address is calculated by IU
• FPop(Floating Point Operate) instructions
perform the actual Floating Point Arithmetic
THE MODULES
Floating-Point
Unit
(FPU)
CoProcessor
(CP)
Integer Unit
(IU)
Coprocessor Unit
• The instruction set includes support for a
single, implementation-dependent
coprocessor.
• The coprocessor has its own set of 32-bit
registers.
• Coprocessor load/store instructions are used
to move data between the coprocessor
registers and memory.
Data Formats
SPARC Data Formats
• The SPARC architecture recognizes three
fundamental data formats (or types):
– Signed Integer— 8, 16, 32, and 64 bits
– Unsigned Integer— 8, 16, 32, and 64 bits
– Floating-Point — 32, 64, and 128 bits
• The format widths are defined as
– Byte — 8 bits
– Halfword— 16 bits
– Word/Singleword — 32 bits
SPARC Data Formats
– Tagged Word— 32 bits (30-bit value plus 2 tag
bits)
– Doubleword— 64 bits
– Quadword— 128 bits
Signed Integer
• Signed Integer formats encode two’scomplement whole numbers
Signed Integer
Unsigned Integer
• Unsigned Integer formats are general-purpose
and hence they do not encode any particular
data type.
• They can represent a whole number, string,
fraction, boolean value, etc.
Unsigned Integer
Unsigned Integer
Floating Point Numbers
Floating Point Numbers
Download
Random flashcards
Arab people

15 Cards

Radiobiology

39 Cards

Radioactivity

30 Cards

Create flashcards