Computer Architecture Lecture 2

21
Computer Architecture Lecture 2 Abhinav Agarwal Veeramani V.

description

Computer Architecture Lecture 2. Abhinav Agarwal Veeramani V. Quick Recap. Various metrics in design of processor The interface & internal structure Instruction Set Architecture Assembly instructions Instruction encoding. add r1, r2, r3. Outline. RISC Multi-cycle execution Pipelining. - PowerPoint PPT Presentation

Transcript of Computer Architecture Lecture 2

Page 1: Computer Architecture Lecture 2

Computer ArchitectureLecture 2

Abhinav Agarwal

Veeramani V.

Page 2: Computer Architecture Lecture 2

Quick Recap

Various metrics in design of processor The interface & internal structure Instruction Set Architecture

Assembly instructions Instruction encoding

add r1, r2, r3

000111 00001 00010 00011

Page 3: Computer Architecture Lecture 2

Outline

RISC Multi-cycle execution Pipelining

Page 4: Computer Architecture Lecture 2

Reduced Instruction Set Computer (RISC) Limited no. of instructions Fixed Length Simple to decode Easier to implement in hardware Prevalent in all commercial processors at the core

level Counterpart – C(omplex)ISC

Intel processors Multi-operation instructions Still Intel processors have switched to RISC at second level

Page 5: Computer Architecture Lecture 2

Execution Cycle of a RISC InstructionFive main phases of Instruction Lifecycle

1. IF: Instruction Fetch Read Instruction Memory at PC Bring the instruction into the CPU

2. ID/RF: Instruction Decode/Register Fetch Translate the opcode of the instruction to appropriate control

signals No. of operands Registers clearly specified in instruction code Fetch operand values from the registers

Page 6: Computer Architecture Lecture 2

Execution Cycle of a RISC Instruction3. EX: ALU computation

Activate appropriate functional unit – Adder, Multiplier, Divider, Logical Unit

Why no Subtracter?

4. MEM: Memory Operation Load/Store data from/to Data Memory

5. WR: Register Write Write the final result value into register

Page 7: Computer Architecture Lecture 2

A Picture speaks a thousand words

Page 8: Computer Architecture Lecture 2

Multi Cycle Execution

Cycle Per Instruction (CPI) Kinds of Implementation:

1. One cycle for each stage Cycle time determined by longest stage CPI = ?

2. Combine all stages into a single cycle Cycle time determined by worst case instruction CPI = 1

Page 9: Computer Architecture Lecture 2

Execution Snapshot: Cycle 1IF

00010

PC

Address Instr

00000 Mov r2, 2A

00001 Mov r3, 12

00010 Add r1,r2,r3

00011 Store r1,0(r4)

00100 XXXX

00101 XXXX

000111 00001 00010 00011

Page 10: Computer Architecture Lecture 2

Execution Snapshot: Cycle 2ID/RF

Add

r1, r2, r3

00011

PC

Address Instr

00000 Mov

00001 Mov

00010 add

00011 Store

00100 XXXX

00101 XXXX

000111 00001 00010 00011

Reg Data

r1 12 H

r2 2A H

r3 12 H

r4 00 H

r5 01 H

Page 11: Computer Architecture Lecture 2

Execution Snapshot: Cycle 3EX

Reg Data

r1 12 H

r2 2A H

r3 12 H

r4 00 H

r5 01 H

00011

PC

Address Instr

00000 Mov

00001 Mov

00010 add

00011 Store

00100 XXXX

00101 XXXX

000111 00001 00010 00011

Adder

12 2A

Add

r1, r2, r3

Page 12: Computer Architecture Lecture 2

Execution Snapshot: Cycle 4MEM

00011

PC

Address Instr

00000 Mov

00001 Mov

00010 add

00011 Store

00100 XXXX

00101 XXXX

000111 00001 00010 00011

Adder

12 2A

??

Reg Data

r1 12 H

r2 2A H

r3 12 H

r4 00 H

r5 01 H

Add

r1, r2, r3

Page 13: Computer Architecture Lecture 2

Execution Snapshot: Cycle 5WB

00011

PC

Address Instr

00000 Mov

00001 Mov

00010 add

00011 Store

00100 XXXX

00101 XXXX

000111 00001 00010 00011

Adder

Reg Data

r1 3C H

r2 2A H

r3 12 H

r4 00 H

r5 01 H

Add

r1, r2, r3

Page 14: Computer Architecture Lecture 2

Execution Snapshot: Cycle 1IF

00011

PC

Address Instr

00000 Mov

00001 Mov

00010 add

00011 Store

00100 XXXX

00101 XXXX

111001 00001 00100 00000store

r1, 0(r4)

Page 15: Computer Architecture Lecture 2

Instruction Execution Timeline Sequential Execution Low utilization of functional units Alternative ?

IF ID/RF

EX MEM

WB IF ID/RF

EX MEM

IF ID/RF

EX MEM

WB

Instruction Execution Timeline

add r1, r2, r3 store r1, 0(r4)

Page 16: Computer Architecture Lecture 2

Pipelining: Concept and Example Washing machine, Dryer, Iron

source: http://cse.stanford.edu/class/sophomore-college/projects-00/risc/pipelining/

Page 17: Computer Architecture Lecture 2

Pipelining Concept

Remarkable Insight or Common Sense

source: http://cse.stanford.edu/class/sophomore-college/projects-00/risc/pipelining/

Time Savings:

Per person 0%

Overall 42%

Page 18: Computer Architecture Lecture 2

Implementation of Pipelining in RISC Parallelism in all 5 stages New instruction every cycle Best case scenario

IF ID/RF EX MEM WB

IF ID/RF EX MEM WB

IF ID/RF EX MEM WB

IF ID/RF EX MEM WB

IF ID/RF EX MEM WB

Inst

Time

Page 19: Computer Architecture Lecture 2

Hardware Requirements

source: http://cse.stanford.edu/class/sophomore-college/projects-00/risc/pipelining/

Page 20: Computer Architecture Lecture 2

Problems

Data hazards Dependent Instructions

add r1, r2, r3 store r1, 0(r4)

Control Hazards Branches resolution

bnz r1, label add r1, r2, r3 label: sub r1, r2, r3

Structural Hazards

IF ID/RF EX MEM WB

IF ID/RF EX MEM WB

IF ID/RF EX MEM WB

IF ID/RF EX MEM WB

IF ID/RF EX MEM WB

Page 21: Computer Architecture Lecture 2

References

Wikipedia: CPU Parallelism http://en.wikipedia.org/wiki/Central_processing_unit#Parallelism

http://www.cs.iastate.edu/~prabhu/Tutorial/PIPELINE/pipe_title.html