Script for Laboratory: Designing embedded ASIPs - CES
Script for Laboratory: Designing embedded ASIPs - CES
Script for Laboratory: Designing embedded ASIPs - CES
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 -