This presentation is the property of its rightful owner.
1 / 20

# Pipelining PowerPoint PPT Presentation

22444 - Computer Architecture & Organization (1). Pipelining. Pipelining. Applied to sequential steps to speed up operation Example : Compute R i = A i  B i + C i for i=1, 2, … n. Perform the multiplication first. Perform the addition next. Sequential Execution. R1. Multiplier.

Pipelining

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

#### Presentation Transcript

22444 - Computer Architecture & Organization (1)

Pipelining

### Pipelining

• Applied to sequential steps to speed up operation

Example:

ComputeRi = AiBi + Cifor i=1, 2, … n

Perform the multiplication first

R1

Multiplier

R2

R3

MUL

R1

Multiplier

R3

R2

R4

MUL

B3

C4

A4

B4

A2B2+C2

A4B4

A3B3

A2B2

A1B1

C2

C3

A3B3+C3

B2

B1

A3

A2

A1

A1B1+C1

A4B4+C4

C1

Clock

Input A

Input B

Input C

R1

A1

A2

A3

A4

R2

B1

B2

B3

B4

R3

A1B1

A2B2

A3B3

A4B4

R4

C1

C2

C3

C4

Mult.

Clock

S1

R1

S2

R2

S3

R3

S4

R4

Input

### Pipelines

k = number of segments

T = segment time

For n >> k

### Pipelining

• Non Pipelined Process

Execute

Fetch Instr.

Get Operands

Store Result

Instr.1

Instr.1

Instr.1

Instr.1

ƮALU

ƮMem

ƮMem

ƮReg

Register File

PC

Instr.Mem.

ALU

Data Mem.

### Pipelining

• Non Pipelined Process

Execute

Fetch Instr.

Get Operands

Store Result

Instr.2

Instr.2

Instr.2

Instr.2

ƮALU

ƮMem

ƮMem

ƮReg

Register File

PC

Instr.Mem.

ALU

Data Mem.

### Pipelining

• Non Pipelined Process

• Clock Period =

• Clocks per Instruction =

ƮALU

ƮMem

ƮMem

ƮReg

Register File

PC

Instr.Mem.

ALU

Data Mem.

### Pipelining

• Pipelined Process

Execute

Fetch Instr.

Get Operands

Store Result

Instr.2

Instr.1

Instr.5

Instr.3

Instr.4

Instr.2

Instr.1

Instr.2

Instr.4

Instr.3

Instr.3

Instr.2

Instr.1

Instr.1

ƮALU

ƮMem

ƮMem

ƮReg

IR

Register File

Result

PC

Instr.Mem.

ALU

Data Mem.

X

Y

### Pipelining

• Pipelined Process

IR

Register File

Result

PC

Instr.Mem.

ALU

Data Mem.

X

Y

### Pipelining

• Pipelined Process

• Clock Period =

• Clocks per Instruction =

ƮALU

ƮMem

ƮMem

ƮReg

IR

Register File

Result

PC

Instr.Mem.

ALU

Data Mem.

X

Y

### Pipelining Hazards

• Structural Hazards

Hardware can’t support instruction combination at a certain time.

Example:

IR

Register File

Result

PC

Instr.Mem.

ALU

Data Mem.

X

Y

### Pipelining Hazards

• Data Hazards

One instruction has to wait for another to complete.

Example:

IR

Register File

Result

PC

Instr.Mem.

ALU

Data Mem.

X

Y

### Pipelining Hazards

• Control Hazards

Decision depends on the result of unfinished instruction.

Example:

IR

Register File

Result

PC

Instr.Mem.

ALU

Data Mem.

X

Y

The End

• Mano