diff --git a/docs/fig/ld_pipeline_diagram.svg b/docs/fig/ld_pipeline_diagram.svg new file mode 100644 index 000000000..9fa1cc8d4 --- /dev/null +++ b/docs/fig/ld_pipeline_diagram.svg @@ -0,0 +1,389 @@ + + + +ADDI x2, 200LD x1, 0(x2)ADDI x3, 10ADD x4, x1, x3 + + + EX2 + + + + + PCGEN + + + + IF + + + + ID + + + + EX1 + + + + CMIT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + EX1 + +Two cycle memory access. The cache is physically indexed and virtually tagged. +Multicycle memory access. Address translationis perforemd in the same cycle. +Same as option one but the addressing of the cache needs to be delayed until the whole addresshas successfully been translated. +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +ADDI x2, 200LD x1, 0(x2)ADDI x3, 10ADD x4, x1, x3 +ADDI x2, 200LD x1, 0(x2)ADDI x3, 10ADD x4, x1, x3 + + + + PCGEN + + + + IF + + + + ID + + + + + PCGEN + + + + IF + + + + ID + + + + PCGEN + + + + IF + + + + ID + + + + CMIT + + + + CMIT + + + + CMIT + + + + EX1 + + + + EX1 + + + + EX1 + + + + + PCGEN + + + + IF + + + + ID + + + + EX1 + + + + CMIT + + + + + + PCGEN + + + + IF + + + + ID + + + + + PCGEN + + + + IF + + + + ID + + + + PCGEN + + + + IF + + + + ID + + + + EX1 + + + + EX1 + + + + CMIT + + + + CMIT + + + + CMIT + + + + EX2 + + + + EX2 + + + + + PCGEN + + + + IF + + + + ID + + + + EX1 + + + + CMIT + + + + + + PCGEN + + + + IF + + + + ID + + + + + PCGEN + + + + IF + + + + ID + + + + PCGEN + + + + IF + + + + ID + + + + CMIT + + + + CMIT + + + + CMIT + + + + EX1 + + + + EX1 + + + + EX1 + + + + EX3 + + diff --git a/docs/timing_diagrams.md b/docs/timing_diagrams.md index 150f5e78a..f32242761 100644 --- a/docs/timing_diagrams.md +++ b/docs/timing_diagrams.md @@ -126,4 +126,8 @@ Fast back to back memory response: {name: 'fu_result_o', wave: 'x..23x.45x.', data: ['r1', 'r2', 'r3', 'r4']}, ]} +# Pipeline Diagram +## LSU + +![Ariane Block Diagram](fig/ld_pipeline_diagram.svg) \ No newline at end of file