single cycle vs. multiple cycle

16
CSCI-365 Computer Organization Lecture Note : Some slides and/or pictures in the following are adapted from: Computer Organization and Design, Patterson & Hennessy, ©2005

Upload: britanni-howell

Post on 02-Jan-2016

67 views

Category:

Documents


0 download

DESCRIPTION

Single Cycle Implementation:. Cycle 1. Cycle 2. Clk. lw. sw. Waste. Cycle 1. Cycle 2. Cycle 3. Cycle 4. Cycle 5. Cycle 6. Cycle 7. Cycle 8. Cycle 9. Cycle 10. Clk. lw. sw. R-type. IF. ID. EX. MEM. WB. IF. ID. EX. MEM. IF. Single Cycle vs. Multiple Cycle. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Single Cycle vs. Multiple Cycle

CSCI-365Computer Organization

Lecture

Note: Some slides and/or pictures in the following are adapted from: Computer Organization and Design, Patterson & Hennessy, ©2005

Page 2: Single Cycle vs. Multiple Cycle

Single Cycle vs. Multiple Cycle

Multiple Cycle Implementation:

Clk

Cycle 1

IF ID EX MEM WB

Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 Cycle 8 Cycle 9Cycle 10

IF ID EX MEM

lw sw

IF

R-type

Clk

Single Cycle Implementation:

lw sw Waste

Cycle 1 Cycle 2

Page 3: Single Cycle vs. Multiple Cycle

General Definitions

• Latency: time to completely execute a certain

task

– E.g., time to read a sector from disk is disk access

time or disk latency

• Throughput: amount of work that can be done

over a period of time

Page 4: Single Cycle vs. Multiple Cycle

A Pipelined MIPS Processor

• Start the next instruction before the current one has

completed

– improves throughput

– instruction latency is not reduced

– clock cycle (pipeline stage time) limited by slowest stage

– for some instructions, some stages are wasted cycles

Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5

IF ID EX MEM WBlw

Cycle 7Cycle 6 Cycle 8

sw IF ID EX MEM WB

R-type IF ID EX MEM WB

Page 5: Single Cycle vs. Multiple Cycle

Single Cycle vs. Multiple Cycle vs. Pipelined

Multiple Cycle Implementation:

Clk

Cycle 1

IF ID EX MEM WB

Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 Cycle 8 Cycle 9Cycle 10

IF ID EX MEM

lw sw

IF

R-type

Clk

Single Cycle Implementation:

lw sw Waste

Cycle 1 Cycle 2

lw IF ID EX MEM WB

Pipeline Implementation:

IF ID EX MEM WBsw

IF ID EX MEM WBR-type

Page 6: Single Cycle vs. Multiple Cycle

Theoretical Performance

• An ideal pipeline divides a task into k independent sequential

subtasks

– Each subtask requires 1 time unit to complete

– The task itself requires k time units to complete

• For n iterations of task, the execution times:

– With no pipelining: nk time units

– With pipelining: k + (n-1) time units

• Speedup of a k-stage pipeline is

– S = nk / [k+(n-1)] ==> k (for large n)

Page 7: Single Cycle vs. Multiple Cycle
Page 8: Single Cycle vs. Multiple Cycle
Page 9: Single Cycle vs. Multiple Cycle

Simplified MIPS Pipelined Datapath

Can you foresee any problems with these right-to-left flows?

Why are we duplicating some functional units?

Page 10: Single Cycle vs. Multiple Cycle

Pipeline registers

• Need registers between stages

– To hold information produced in previous cycle

Page 11: Single Cycle vs. Multiple Cycle

IF

Page 12: Single Cycle vs. Multiple Cycle

ID

Page 13: Single Cycle vs. Multiple Cycle

EX for Load

Page 14: Single Cycle vs. Multiple Cycle

MEM for Load

Page 15: Single Cycle vs. Multiple Cycle

WB for Load

Wrongregisternumber

There is a BUG here

Page 16: Single Cycle vs. Multiple Cycle

Corrected Datapath for Load