05.07.2013 Views

Script for Laboratory: Designing embedded ASIPs - CES

Script for Laboratory: Designing embedded ASIPs - CES

Script for Laboratory: Designing embedded ASIPs - CES

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Successful<br />

Successful<br />

dissolving<br />

dissolving<br />

a<br />

a<br />

data<br />

data<br />

dependency<br />

dependency<br />

with<br />

with<br />

a<br />

a<br />

load<br />

load<br />

instruction<br />

instruction<br />

IF IF Instruction<br />

IF Instruction Fetch<br />

IF Instruction Fetch<br />

Instruction Fetch<br />

ID Fetch<br />

ID Instruction<br />

ID Instruction Decode<br />

ID Instruction Decode<br />

Instruction Decode<br />

EXE Decode<br />

EXE Execute<br />

EXE Execute<br />

EXE Execute<br />

MEM Execute<br />

MEM Memory<br />

MEM Memory Access<br />

MEM Memory Access<br />

Memory Access<br />

WB Access<br />

WB Write<br />

WB Write Back<br />

WB Write Back<br />

Write Back Back<br />

Cycle<br />

Cycle<br />

number:<br />

number:<br />

0<br />

0<br />

1<br />

1<br />

2<br />

2<br />

3<br />

3<br />

4<br />

4<br />

5<br />

5<br />

6<br />

6<br />

7<br />

7<br />

8<br />

8<br />

r1<br />

r1<br />

=<br />

=<br />

r2<br />

r2<br />

+<br />

+<br />

r3<br />

r3<br />

lw<br />

lw<br />

nop<br />

nop<br />

r4<br />

r4<br />

=<br />

=<br />

r5<br />

r5<br />

+<br />

+<br />

r1<br />

r1<br />

IF IF (stall) ID ID IF IF (stall) ID EXE EXE MEM WB WB<br />

ID EXE EXE MEM WB WB<br />

Figure 3-2<br />

Successful dissolving a data dependency with a load instruction<br />

Cycle<br />

Cycle<br />

number:<br />

number:<br />

0<br />

0<br />

1<br />

1<br />

2<br />

2<br />

3<br />

3<br />

4<br />

4<br />

5<br />

5<br />

6<br />

6<br />

7<br />

7<br />

8<br />

8<br />

r1<br />

r1<br />

=<br />

=<br />

r2<br />

r2<br />

+<br />

+<br />

r3<br />

r3<br />

nop<br />

nop<br />

lw<br />

lw<br />

Unsuccessful<br />

Unsuccessful<br />

dissolving<br />

dissolving<br />

a<br />

a<br />

data<br />

data<br />

dependency<br />

dependency<br />

with<br />

with<br />

a<br />

a<br />

load<br />

load<br />

instruction<br />

instruction<br />

r4<br />

r4<br />

=<br />

=<br />

r5<br />

r5<br />

+<br />

+<br />

r1<br />

r1<br />

IF IF ID ID IF IF ID EXE EXE MEM WB WB<br />

ID EXE EXE MEM WB WB<br />

IF IF ID ID IF IF ID EXE EXE (stall) MEM WB WB<br />

ID EXE EXE (stall) MEM WB WB<br />

IF IF ID ID IF IF ID (stall) EXE EXE MEM WB WB<br />

ID (stall) EXE EXE MEM WB WB<br />

IF IF ID ID IF IF ID EXE EXE MEM WB WB<br />

ID EXE EXE MEM WB WB<br />

IF IF ID ID IF IF ID EXE EXE MEM WB WB<br />

ID EXE EXE MEM WB WB<br />

IF IF Instruction<br />

IF Instruction Fetch<br />

IF Instruction Fetch<br />

Instruction Fetch<br />

ID Fetch<br />

ID Instruction<br />

ID Instruction Decode<br />

ID Instruction Decode<br />

Instruction Decode<br />

EXE Decode<br />

EXE Execute<br />

EXE Execute<br />

EXE Execute<br />

MEM Execute<br />

MEM Memory<br />

MEM Memory Access<br />

MEM Memory Access<br />

Memory Access<br />

WB Access<br />

WB Write<br />

WB Write Back<br />

WB Write Back<br />

Write Back Back<br />

IF IF ID ID IF IF ID EXE (stall) MEM WB WB<br />

ID EXE (stall) MEM WB WB<br />

IF IF ID ID IF IF ID (stall) EXE MEM WB WB<br />

ID (stall) EXE MEM WB WB<br />

Figure 3-3<br />

Unsuccessful dissolving a data dependency with a load instruction<br />

- 19 -

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

Saved successfully!

Ooh no, something went wrong!