Performance Considerations
6-55
TMS320C67x Pipeline
Figure 6–28 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 tar-
get begins execution five delay slots after the branch was issued.
Figure 6–28. 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 6–27(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 coin-
cide with cycles 2 through 6. Once the target code reaches E1 in cycle 7, it
executes.