Loading...
10-6 M68040 USER’S MANUAL MOTOROLA
The separation of calculation and execution in the <ea> calculate and execute stages
allows instruction reordering during compile time to take advantage of potential instruction
overlap. Figure 10-2 illustrates this overlap for an instruction requiring multiple clocks in
the execute stage and with an instruction with a long lead time. The execution time for
LEA (3L + 1) indicates that the instruction can be stalled three clocks without affecting
execution.
When the LEA (A) instruction precedes the ABCD (B) instruction, the execution stalls
during C4–C6 (equivalent to the LEA lead time) while the instruction completes in the
<ea> calculate and <ea> fetch stages. The resulting execution time for the LEA (A) and
ABCD (B) sequence is eight clocks.
However, if the LEA (C) instruction follows the ABCD (B) instruction, the LEA stalls in the
<ea> fetch instead, during C9–C11. The LEA then executes in a single clock in the
execution stage. The resulting execution time for the LEA (C) and ABCD (B) sequence is
five clocks.
LABEL
P1
A
B
C
N1
N2
INSTRUCTION
TRAPF
LEA
ABCD
LEA
TRAPF
TRAPF
<ea>
CALCULATE
1
4
1
4
1
1
EXECUTE
$24(PC),A1
D0,D1
$24(PC),A1
1
3L + 1
3
3L + 1
1
1
C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13
P1 A A A A B C C C C N1 N2
<ea> CALCULATE
<ea> FETCH
EXECUTE
WRITE-BACK
P1 A A A A B C CL1 CL2 CL3 N1 N2
P1 ALALALA B B B C* C N1
NOTE: *Possible stalls in this stage.
Figure 10-2. Instruction Overlap with Multiple Clocks
Loading...
Terms of Use | Privacy Policy | DMCA Policy
2006-2020 Rsmanuals.com