Performance Considerations
5-21
TMS320C62x Pipeline
Figure 5–20 shows how a multicycle NOP can be affected by a branch. If the
delay slots of a branch finish while a multicycle NOP is still dispatching NOPs
into the pipeline, the branch overrides the multicycle NOP and the branch
target begins execution five delay slots after the branch was issued.
Figure 5–20. Branching and Multicycle NOPs
EP7
Normal
Cycle #
11
10
9
8
7
6
5
4
3
2
1
Target
E1
DC
DP
PR
PW
PS
PG
Branch
E1
EP6
EP5
EP4
EP3
EP2
EP1
NOP5
ADD
MPY
LD
EP without branch
EP without branch
. . .
B
EP without branch
EP without branch
Branch will execute here
Pipeline Phase
{
{
{
{
{
Branch
EP7
See Figure 5–19(b)
† Delay slots of the branch
In one case, execute packet 1 (EP1) does not have a branch. The NOP 5 in
EP6 will force the CPU to wait until cycle 11 to execute EP7.
In the other case, EP1 does have a branch. The delay slots of the branch
coincide with cycles 2 through 6. Once the target code reaches E1 in cycle 7,
it executes.