17.01.2013 Views

MIPS R10000 Microprocessor User's Manual - SGI TechPubs Library

MIPS R10000 Microprocessor User's Manual - SGI TechPubs Library

MIPS R10000 Microprocessor User's Manual - SGI TechPubs Library

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

viii Table of Contents<br />

1<br />

Introduction to the <strong>R10000</strong> Processor<br />

<strong>MIPS</strong> Instruction Set Architecture (ISA) .....................................................................................2<br />

What is a Superscalar Processor?.................................................................................................3<br />

Pipeline and Superpipeline Architecture..........................................................................3<br />

Superscalar Architecture .....................................................................................................3<br />

What is an <strong>R10000</strong> <strong>Microprocessor</strong>? ............................................................................................4<br />

<strong>R10000</strong> Superscalar Pipeline ...............................................................................................5<br />

Instruction Queues...............................................................................................................6<br />

Execution Pipelines ..............................................................................................................6<br />

64-bit Integer ALU Pipeline......................................................................................6<br />

Load/Store Pipeline...................................................................................................7<br />

64-bit Floating-Point Pipeline...................................................................................7<br />

Functional Units ...................................................................................................................9<br />

Primary Instruction Cache (I-cache)..................................................................................9<br />

Primary Data Cache (D-cache) ...........................................................................................9<br />

Instruction Decode And Rename Unit..............................................................................10<br />

Branch Unit ...........................................................................................................................10<br />

External Interfaces................................................................................................................10<br />

Instruction Queues.........................................................................................................................11<br />

Integer Queue .......................................................................................................................11<br />

Floating-Point Queue...........................................................................................................11<br />

Address Queue .....................................................................................................................12<br />

Program Order and Dependencies ..............................................................................................13<br />

Instruction Dependencies....................................................................................................13<br />

Execution Order and Stalling .............................................................................................13<br />

Branch Prediction and Speculative Execution .................................................................14<br />

Resolving Operand Dependencies.....................................................................................14<br />

Resolving Exception Dependencies...................................................................................15<br />

Strong Ordering....................................................................................................................15<br />

An Example of Strong Ordering ..............................................................................16<br />

<strong>R10000</strong> Pipelines .............................................................................................................................17<br />

Stage 1 ....................................................................................................................................17<br />

Stage 2 ....................................................................................................................................17<br />

Stage 3 ....................................................................................................................................18<br />

Stages 4-6 ...............................................................................................................................18<br />

Floating-Point Multiplier (3-stage Pipeline)...........................................................18<br />

Floating-Point Divide and Square-Root Units .......................................................18<br />

Floating-Point Adder (3-stage Pipeline) .................................................................18<br />

Integer ALU1 (1-stage Pipeline)...............................................................................18<br />

Integer ALU2 (1-stage Pipeline)...............................................................................18<br />

Address Calculation and Translation in the TLB ..................................................19<br />

Implications of <strong>R10000</strong> Microarchitecture on Software............................................................20<br />

Version 2.0 of January 29, 1997 <strong>MIPS</strong> <strong>R10000</strong> <strong>Microprocessor</strong> <strong>User's</strong> <strong>Manual</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!