Top Banner
DEC Alpha Course : CS 420 Student : Narith Kun Instructor : Dr. Chi- cheng Lin Date : April 26, 2010
21

DEC Alpha Course : CS 420 Student : Narith Kun Instructor : Dr. Chi-cheng Lin Date : April 26, 2010.

Dec 13, 2015

Download

Documents

Tyrone Johns
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: DEC Alpha Course : CS 420 Student : Narith Kun Instructor : Dr. Chi-cheng Lin Date : April 26, 2010.

DEC Alpha Course : CS 420Student : Narith KunInstructor : Dr. Chi-

cheng Lin

Date : April 26, 2010

Page 2: DEC Alpha Course : CS 420 Student : Narith Kun Instructor : Dr. Chi-cheng Lin Date : April 26, 2010.

History

Alpha was born out of an earlier RISC project named PRISM but it was cancelled. The decision was also made to upgrade the design to a full 64-bit implementation from PRISM's 32-bit, a conversion all of the major RISC vendors were undertaking

The primary Alpha instruction set architects were Richard L. Sites and Richard T. Witek.

Page 3: DEC Alpha Course : CS 420 Student : Narith Kun Instructor : Dr. Chi-cheng Lin Date : April 26, 2010.

Instruction Set Architecture The Alpha Approach to RISC ArchitectureAlpha is a 64-bit architecture that is designed

with particular emphasis on the three elements that most affect performance: clock speed, multiple instruction issue, and multiple processors.

Page 4: DEC Alpha Course : CS 420 Student : Narith Kun Instructor : Dr. Chi-cheng Lin Date : April 26, 2010.

What is ISA (alpha DEC)Aspects of the computer visible to the

programmer:Data TypesRegistersInstruction formatAddressing

Page 5: DEC Alpha Course : CS 420 Student : Narith Kun Instructor : Dr. Chi-cheng Lin Date : April 26, 2010.

Data formatAlpha is a load/store RISC architecture with the following data

characteristics:• All operations are done between 64-bit registers.• Memory is accessed via 64-bit virtual byte addresses, using the little-endian or, optionally, the big-endian byte numbering convention.• There are 32 integer registers and 32 floating-point registers.• Longword (32-bit) and quadword (64-bit) integers are supported.• Five floating-point data types are supported:

– VAX F_floating (32-bit)– VAX G_floating (64-bit)– IEEE single (32-bit)– IEEE double (64-bit)– IEEE extended (128-bit)

Page 6: DEC Alpha Course : CS 420 Student : Narith Kun Instructor : Dr. Chi-cheng Lin Date : April 26, 2010.

Instructioncommone

Page 7: DEC Alpha Course : CS 420 Student : Narith Kun Instructor : Dr. Chi-cheng Lin Date : April 26, 2010.

Instruction

Page 8: DEC Alpha Course : CS 420 Student : Narith Kun Instructor : Dr. Chi-cheng Lin Date : April 26, 2010.

Instruction Format

31-26 25-21 20-16 15-5 4-0

Op code Number PAL format

Op code RA Disp Branch format

Op code RA RB Disp Memory format

Op code RA RB Function RC Operate format

Op code FA FB Function FC Floating Op

Page 9: DEC Alpha Course : CS 420 Student : Narith Kun Instructor : Dr. Chi-cheng Lin Date : April 26, 2010.

Instruction format• PAL code (Privileged Architecture Library) use to specify extended processor function. It specify in the function code field, one of a few dozen complex• Conditional branch instructions test register Ra and specify a signed 21-bit PC-relative longword target displacement. Subroutine calls put the return address in register Ra.• Load and store instructions move bytes, words, longwords, or quadwords between register Ra and memory, using Rb plus a signed 16-bit displacement as the memory address.

Page 10: DEC Alpha Course : CS 420 Student : Narith Kun Instructor : Dr. Chi-cheng Lin Date : April 26, 2010.

Instruction Format

31-26 25-21 20-16 15-13 12 11-5 4-0

Op code Ra Rb SBZ 0 Function

Rc

Op code Ra Lit 1 Function

Rc

Page 11: DEC Alpha Course : CS 420 Student : Narith Kun Instructor : Dr. Chi-cheng Lin Date : April 26, 2010.

Instruction format• Operate instructions for floating-point and integer operations

-Word and byte sign-extension operators.-Floating-point operations use Ra and Rb as source registers and write the result in register Rc. There is an 11-bit extended opcode in the function field.- Integer operations use Ra and Rb or an 8-bit literal as the source operand, and write the result in register Rc.-Integer operate instructions can use the Rb field and part of the function field to specify an 8-bit literal. There is a 7-bit extended op code in the function field.

Page 12: DEC Alpha Course : CS 420 Student : Narith Kun Instructor : Dr. Chi-cheng Lin Date : April 26, 2010.

Operand NotationRa An integer register operand in the Ra field of the

instructionRb An integer register operand in the Rb field of the

instruction#b An integer literal operand in the Rb field of the

instructionRc An integer register operand in the Rc field of the

instructionFa A floating-point register operand in the Ra field of the

instructionFb A floating-point register operand in the Rb field of the

instructionFc A floating-point register operand in the Rc field of the

instruction

Page 13: DEC Alpha Course : CS 420 Student : Narith Kun Instructor : Dr. Chi-cheng Lin Date : April 26, 2010.

Load AddressFormat: LDAx Ra.wq , disp.ab (Rb.ab) !Memory formatOperation:

Ra Rbv + SEXT(disp) !LDA Ra Rbv + SEXT(disp*65536) (sign extension) !LDAH

Exceptions: NoneInstruction mnemonics:

LDA Load Address LDAH Load Address High

Qualifiers: NoneDescription:

The virtual address is computed by adding register Rb to the sign extended 16-bit displacement for LDA, and 65536 times the sign-extended 16-bit displacement for LDAH. The 64-bit result is written to register Ra.

Page 14: DEC Alpha Course : CS 420 Student : Narith Kun Instructor : Dr. Chi-cheng Lin Date : April 26, 2010.

Addressing ModeRegister direct ImmediateRegister indirect with displacementPC-relative

Operands in the Alpha can be 1, 2, 4 or 8 bytes in length.

Page 15: DEC Alpha Course : CS 420 Student : Narith Kun Instructor : Dr. Chi-cheng Lin Date : April 26, 2010.

Processor DesignAlpha 21264:

Page 16: DEC Alpha Course : CS 420 Student : Narith Kun Instructor : Dr. Chi-cheng Lin Date : April 26, 2010.

Pipelining Stages

DEC Alpha 21264: 9 stages pipeline

Address

translate and cache access

Address

translate and cache access

Decode

instruction and read

register

Execution

Address

translate and cache access

Address

translate and cache access

Tag check

Write register file

Write Memo

ry

Page 17: DEC Alpha Course : CS 420 Student : Narith Kun Instructor : Dr. Chi-cheng Lin Date : April 26, 2010.

Data path

Page 18: DEC Alpha Course : CS 420 Student : Narith Kun Instructor : Dr. Chi-cheng Lin Date : April 26, 2010.

Data path0 1 2 3 4 5

Bran predictio

n

Instruction Cache

I resiste

r rename map

FP resiste

r rename map

Iissu

e Queue

Fpissu

e Queue

I register File

FP register

File

ALUShifter

ALUShifter

Mutiplier

F-Add, divide,

square root

F- Multiply

Data Cach

e

Page 19: DEC Alpha Course : CS 420 Student : Narith Kun Instructor : Dr. Chi-cheng Lin Date : April 26, 2010.

Conclusion

Design PoliciesDesign Principle 1: Simplicity favors regularity

32 registerDesign Principle 2: Smaller is fasterDesign Principle 3: Make the common case fast

Immediate operand avoids a load instructionDesign Principle 4: Good design demands good

compromises Different formats complicate decoding, but allow 32-bit

instructions uniformly Keep formats as similar as possible Bi-endian

Page 20: DEC Alpha Course : CS 420 Student : Narith Kun Instructor : Dr. Chi-cheng Lin Date : April 26, 2010.

Conclusion Memory mapped file can be more difficult to

implement in 32-bit architectures. A large files cannot be memory mapped easily to 32-bit architectures

data encryption software can benefit greatly from 64-bit registers the same data occupies more space in memoryx86-based 64-bit systems sometimes lack equivalents to software that is written for 32-bit architectures

this architecture should be more developing in the future. It is good way to deal with large data files.

Page 21: DEC Alpha Course : CS 420 Student : Narith Kun Instructor : Dr. Chi-cheng Lin Date : April 26, 2010.

Work citedThe Alpha architecture handbook, version 4

http://www.comms.scitech.susx.ac.uk/fft/programming/alphaahb.pdf

Patterson and Hennessy .Computer Organization and Design, 4 ed ,

Chapter Six Pipelined Processor Pipelining

http://www.csc.gatech.edu/~copeland/3055-00/pdf/lec_04_notes.pdf