Computer Architecture Pipeline with Bypass-Signals: Timing and Signal Paths, Exercises of Computer Architecture and Organization

The timing analysis of a 6-stage computer pipeline without and with bypass-signal paths. It includes the instruction sequence, the time chart, and the diagram of the required bypass-signal paths. Students of computer architecture will find this document useful for understanding the concept of data forwarding and pipeline stalls.

Typology: Exercises

2012/2013

Uploaded on 05/06/2013

anurati
anurati 🇮🇳

4.2

(24)

121 documents

1 / 2

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Computer Architecture HW #2
1. You are to assume the same 6-stage pipeline discussed in class (and textbook) when answering these questions.
Assume that the first register in an arithmetic operation is the destination register, e.g., in “ADD R3, R2, R1”
register R3 receives the result of adding registers R2 and R1.
a. What would the timing be without bypass-signal paths/forwarding (use “stalls” to solve the data hazard)?
(This code might require more or less that 15 cycles)
SUB R2, R3, R4
ADD R7, R6, R9
MUL R6, R1, R8
LOAD R1, 4(R5)
SUB R5, R3, R4
LOAD R4, 16(R3)
FISTORE R3, 8(R4)
WOEIFOCODIFIADD R3, R2, R1
151413121110987654321Instructions
Time d
(Assume that a register cannot be written and the new value read in the same stage.)
b. What would the timing be with bypass-signal paths?
(This code might require more that 15 cycles)
SUB R2, R3, R4
ADD R7, R6, R9
MUL R6, R1, R8
LOAD R1, 4(R5)
SUB R5, R3, R4
LOAD R4, 16(R3)
FISTORE R3, 8(R4)
WOEIFOCODIFIADD R3, R2, R1
151413121110987654321Instructions
Time
d
(Assume that a register cannot be written and the new value read in the same stage.)
Docsity.com
pf2

Partial preview of the text

Download Computer Architecture Pipeline with Bypass-Signals: Timing and Signal Paths and more Exercises Computer Architecture and Organization in PDF only on Docsity!

Computer Architecture HW

  1. You are to assume the same 6-stage pipeline discussed in class (and textbook) when answering these questions. Assume that the first register in an arithmetic operation is the destination register, e.g., in “ADD R3, R2, R1” register R3 receives the result of adding registers R2 and R1.

a. What would the timing be without bypass-signal paths/forwarding (use “stalls” to solve the data hazard)?

(This code might require more or less that 15 cycles)

SUB R2, R3, R

ADD R7, R6, R

MUL R6, R1, R

LOAD R1, 4(R5)

SUB R5, R3, R

LOAD R4, 16(R3)

STORE R3, 8(R4) FI

ADD R3, R2, R1 FI DI CO FO EI WO

Instructions 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Time d

(Assume that a register cannot be written and the new value read in the same stage.)

b. What would the timing be with bypass-signal paths?

(This code might require more that 15 cycles)

SUB R2, R3, R

ADD R7, R6, R

MUL R6, R1, R

LOAD R1, 4(R5)

SUB R5, R3, R

LOAD R4, 16(R3)

STORE R3, 8(R4) FI

ADD R3, R2, R1 FI DI CO FO EI WO

Instructions 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Time d

(Assume that a register cannot be written and the new value read in the same stage.)

Docsity.com

c. Draw ALL the bypass-signal paths needed for the above example.

FI/DI

latch

DI/CO

latch

CO/FO

latch

FO/EI

latch

EI/WO

latch

FI DI CO FO EI WO

Decoder

ALU

ALU

ALU

Data (^) Data Memory (^) Memory

Register

Register

Register File

File

File

Instr. Memory

Copy of Instr.

Decoded CO-ALU do +

Opcode operand 1 addr. operand 2 addr (or reg#)

operand 1 value

operand 2 value

opcode

dest. addr/reg

dest addr/reg

result value

EI-ALU do *

Docsity.com