English
Language : 

SH7760 Datasheet, PDF (136/1345 Pages) Renesas Technology Corp – SuperHTM RISC engine
(a) Serial execution: Non-parallel-executable instructions
SHAD R0,R1
ADD R2,R3
next
1 issue cycle
I
D EX NA S
I
D EX NA S
1 stall cycle
I
D ...
(b) Parallel execution: Parallel-executable and no dependency
ADD R2,R1
MOV.L @R4,R5
1 issue cycle
I
D EX NA S
I
D EX MA S
EX-group SHAD and EX-group ADD
cannot be executed in parallel. Therefore,
the preceding SHAD is issued, and the
following ADD is recombined with the next
instruction.
EX-group ADD and LS-group MOV.L can
be executed in parallel. Overlapping of
stages in the two instructions is possible.
(c) Issue rate: Multi-step instruction
AND.B#1,@(R0,GBR)
MOV R1,R2
next
4 issue cycles
I
D SX MA S
D SX NA S
D SX NA S
D SX MA S
I
i
D
E
A
4 stall cycles
I ...
AND.B and MOV are fetched
simultaneously, but MOV is stalled due to
resource locking. After the lock is released,
MOV is refetched together with the next
instruction.
S
(d) Branch
BT/S L_far
ADD R0,R1
SUB R2,R3
BT/S L_far
ADD R0,R1
L_far
BT L_skip
ADD #1,R0
L_skip:
I
D EX NA S
I
D EX NA S
I
D EX NA S
No stall occurs if the branch is not taken.
2-cycle latency for I-stage of branch destination
I
D EX NA S
I
D EX NA S
1 stall cycle
I
D ...
If the branch is taken, the I-stage of the
branch destination is stalled for the period
of latency. This stall can be covered with a
delay slot instruction which is not parallel-
executable with the branch instruction.
I
D EX NA S
I
D
—— —
I
D ...
No stall
Even if the BT/BF branch is taken, the I-
stage of the branch destination is not
stalled if the displacement is zero.
Figure 5.3 Examples of Pipelined Execution
Rev. 1.0, 02/03, page 86 of 1294