Slides

advertisement
Alpha AXP Architecture
Dr. Richard L. Sites
Presented By
Udaykumar Batchu
Wednesday, 26 January 2005
Dr. Richard L. Sites


Employment
 IBM
 Hewlett-Packard
 Burroughs
 Digital Equipment Corporation (1980) significant contributor
to the Alpha AXP architecture
Education
 B.S. in Mathematics form MIT
 Ph.D. in Computer Science from Stanford University
 Post-doctoral work at the University of North Carolina
(computer architecture)
Architectural Goals
1. High Performance.
2. Longevity.
3. Capability to run both VMS and Unix
Operating Systems.
4 Easy migration from VAX and MIPS
architectures.
1.
Open VMS AXP and DEC OSF/1 and Windows NT
operating systems all run on Alpha AXP implementations
successfully.
PAL Code
It is a Privileged Architecture Library (PAL Code)
1. Contains a set of privileged subroutines that are
specific to a particular Alpha AXP operating system
Implementation.
2. Provides operating system primitives like context
switching , interrupts , exceptions, memory
management and more.
3. Is written in a standard machine code language and it is
accessible by implementation hardware or
CALL_PAL instructions.
Performance And Longevity
Performance :
Alpha AXP architecture is listed in Guinness Book of
World Records as the world’s fastest single-chip
Microprocessor.
Longevity :
In order the Alpha AXP be 1000 times faster over the next
25 years, three factors are considered:
1.
2.
3.
Increasing the raw clock rates by a factor of 10
Another factor of 10 by using multiple instruction issue
Last factor of 10 from using multiple processors
Key Design Issues
1. RISC.
2. Full 64-bit design.
3. Register File.
4. Multiple Instruction Issue (MII).
5. Shared Memory Multiprocessing.
RISC



Alpha is a load-store machine, i.e. all data is moved between
memory and register without computation; all computation is
done between values in registers
assumed that memory operands are aligned
assumed that implementation latency of many operations would
be important
Multiple Instruction Issue

MII : Starting more than one instruction at once
No Branch Delayed Slots.
No Suppressed Instructions.
No Byte Load/Store Instructions and Implicit
Unaligned accesses and no Partial Register Writes.
No Arithmetic Exceptions.
1.
2.
3.
4.
•
•
Cray-1 Model of Arithmetic Exceptions are adopted in
first AXP architecture (Exceptions are reported at the end
of the event).
Explicit TRAPB ( TRAP Barrier) Instruction.
Shared-memory Multiprocessing





implements mutual exclusion
uses a sequence of instructions: load-locked, in-register modify,
store-conditional and test.
if the sequence completes with no interrupts, no exceptions and
no interfering: store-conditional stores the result and test reports
success, otherwise the order repeats.
has no strict multiprocessor read/write ordering
VAX avoids pipelined writes to preserve strict read/write
ordering and avoid out-of-order writes
Data Representation in Alpha AXP
Data Characteristics :




All operations are done using 64-bit Registers.
Memory is accessed via 64-bit virtual addresses, using
the little-endian or big-endian byte numbering
convention.
There are 32 integer registers(R31=0) and 32 floatingpoint registers (F31=0).
Longword(32-bit) and Quadword (64-bit) integers are
supported.
Data Types
1.
Four Integer data types are supported :
•
•
•
•
2.
Byte
Word
Longword
Quadword
Five floating point data types are supported :
•
VAX Floating Point Formats


•
VAX F_floating (32-bit)
VAX G_floating(64-bit)
IEEE Floating Point Formats



IEEE single (32-bit)
IEEE double (64-bit)
IEEE extended (128-bit)
Alpha Register Data Representation

Data Types (32-bit and 64-bit)



Integer
IEEE floating point
VAX floating point
64-bit Data Types
(4) (5) (6)
(3)
(2)
32-bit Data Types
(1)
Alpha Memory Load/Store


No instructions operate directly on memory, data
manipulation done between 64-bit registers
Memory access


(1) Reads = Load instruction
(2) Writes = Store instruction
→
←
→
←
32-bit store
32-bit load
→
←
Alpha AXP Instruction Formats
1.
Four Fundamental Instruction formats are there in Alpha AXP.




1.
2.
3.
4.
Operate Instructions.
Memory Instructions.
Branch Instructions.
CALL_PAL Instructions.
All Instructions are 32-bit wide.
They reside aligned long word addresses.
Each Instruction contains 6-bit Opcode. And zero to three 5-bit
Register-number fields, RA,RB,RC.
The remaining bits contains function (opcode extension), Literal,
or Displacement fields. RB is never Written and RC is never
Read.
Operate Instructions
Instruction format:
 There are five groups of register-to-register operate instructions : Integer, Arithmetic,
logical, byte manipulation and miscellaneous instructions.
 All Operate Instructions are three-operand register- to-register instructions and
operate on 64-bit Quadwords unless otherwise specified.
 The Instruction is in the form of RC=RA Operate RB.
 In Integer operates , the opcode and a 7-bit function field specify the exact operation.
 Integer operates may have an 8-bit zero-extended literal instead of RB.
Integer Arithmetic: add, subtract, multiply, compare
Floating-point Arithmetic: add, subtract, multiply, compare, convert
Logical Instructions: AND, OR , XOR, ANDNOT, ORNOT, XORNOT
Memory Instructions





Memory Format Instructions are used for loads, stores, and a few
miscellaneous operations.
Loads /Store are two operand Instructions, Specifying Register RA and a
base-displacement virtual byte address.
The effective address calculation sign extends the 16-bit displacement to 64
bits and adds the 64-bit RB register.
The resultant virtual byte address is mapped to the physical address.
The miscellaneous instructions makes the other uses of RA,RB registers.
Instruction Format:
Branch Instruction




Branch Instructions specify a single
register RA and a signed PC-Relative
Longword displacement.
The branch target calculation shifts the
21-bit displacement left by 2 bits to
make it long word displacement then
sign extends it and adds to the updated
PC.
Conditional branch instructions test
register RA, and unconditional
branches write the updated PC to RA
for subroutine linkage.
Calculated jump instructions write the
updated PC to RA and then jumps to
the target address in RB.
CALL_PAL Instruction
31
26
0
Function
OP
6
26
Instruction Format
 Call privileged architecture library functions.
 The CALL_PAL Instructions has only a 6-bit opcode and a 26-bit function
field.
 The function field is a small integer specifying one of a few dozen privileged
architecture library routines.
More about Alpha AXP in Business



Compaq purchased DEC and Tandem
 Compaq server groups supported Alpha, MIPS
and Pentium Xeon
June 2001, Compaq announced the end of Alpha
 Alpha processor development cancelled after 2003
 Alpha-based system development cancelled after
2004
Alpha software teams at Compaq slated to target
Intel’s Itanium
References and Acknowledgements




Sites, R.L., “Alpha AXP Architecture”, Digital
Technical Journal, Vol.4, No.4, 1992.
Oliver Hampton, CS 573 Spring 2003
Shyam Bukha, CS 573 Spring 2004
http://www.cs.panam.edu/7Emeng/Course
/CS4335/Notes/master/node95.html
Questions
Download