Performance Considerations
6-57
TMS320C67x Pipeline
In the instance where multiple accesses are made to a single ported memory,
the pipeline will stall to allow the extra access to occur. This is called a memory
bank hit and is discussed in section 6.4.3.2,
Memory Bank Hits.
6.4.3.1
Memory Stalls
A memory stall occurs when memory is not ready to respond to an access from
the CPU. This access occurs during the PW phase for a program memory
access and during the E3 phase for a data memory access. The memory stall
causes all of the pipeline phases to lengthen beyond a single clock cycle,
causing execution to take additional clock cycles to finish. The results of the
program execution are identical whether a stall occurs or not. Figure 6–30
illustrates this point.
Figure 6–30. Program and Data Memory Stalls
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
Clock cycle
ÁÁÁ
Á
Á
Á
ÁÁÁ
Fetch
packet
(FP)
ÁÁÁ
Á
Á
Á
ÁÁÁ
1
ÁÁ
ÁÁ
ÁÁ
2
ÁÁÁ
Á
Á
Á
ÁÁÁ
3
ÁÁÁ
Á
Á
Á
ÁÁÁ
4
ÁÁ
ÁÁ
ÁÁ
5
ÁÁÁ
Á
Á
Á
ÁÁÁ
6
ÁÁÁ
Á
Á
Á
ÁÁÁ
7
8
9
ÁÁÁ
Á
Á
Á
ÁÁÁ
10
ÁÁ
ÁÁ
ÁÁ
11
ÁÁÁ
Á
Á
Á
ÁÁÁ
12
ÁÁÁ
Á
Á
Á
ÁÁÁ
13
ÁÁ
ÁÁ
ÁÁ
14
ÁÁÁ
Á
Á
Á
ÁÁÁ
15
ÁÁÁ
Á
Á
Á
ÁÁÁ
16
ÁÁÁ
ÁÁÁ
n
PG
PS
PW
PR
DP
DC
E1
E2
ÉÉ
ÉÉ
E3
E4
E5
ÁÁÁ
ÁÁÁ
n+1
ÁÁÁ
ÁÁÁ
PG
PS
PW
PR
DP
DC
E1
E2
E3
E4
ÁÁÁ
n+2
ÁÁÁ
ÁÁ
PG
PS
PW
PR
DP
Program
DC
E1
E2
E3
ÁÁÁ
ÁÁÁ
n+3
ÁÁÁ
ÁÁÁ
ÁÁ
ÁÁ
ÁÁÁ
ÁÁÁ
PG
PS
PW
PR
memory stall
DP
DC
Data
E1
E2
ÁÁÁ
ÁÁÁ
n+4
ÁÁÁ
ÁÁÁ
ÁÁ
ÁÁ
ÁÁÁ
ÁÁÁ
ÁÁÁ
ÁÁÁ
PG
PS
ÉÉÉ
ÉÉÉ
PW
PR
DP
memory stall
DC
E1
ÁÁÁ
ÁÁÁ
n+5
ÁÁÁ
ÁÁÁ
ÁÁ
ÁÁ
ÁÁÁ
ÁÁÁ
ÁÁÁ
ÁÁÁ
ÁÁ
ÁÁ
PG
PS
PW
PR
DP
DC
ÁÁÁ
ÁÁÁ
n+6
ÁÁÁ
ÁÁÁ
ÁÁ
ÁÁ
ÁÁÁ
ÁÁÁ
ÁÁÁ
ÁÁÁ
ÁÁ
ÁÁ
ÁÁÁ
ÁÁÁ
PG
PS
PW
PR
DP
ÁÁÁ
n+7
ÁÁÁ
ÁÁ
ÁÁÁ
ÁÁÁ
ÁÁ
ÁÁÁ
ÁÁÁ
PG
PS
PW
PR
ÁÁÁ
ÁÁÁ
n+8
ÁÁÁ
ÁÁÁ
ÁÁ
ÁÁ
ÁÁÁ
ÁÁÁ
ÁÁÁ
ÁÁÁ
ÁÁ
ÁÁ
ÁÁÁ
ÁÁÁ
ÁÁÁ
ÁÁÁ
ÁÁÁ
ÁÁÁ
PG
PS
PW
ÁÁÁ
ÁÁÁ
n+9
ÁÁÁ
ÁÁÁ
ÁÁ
ÁÁ
ÁÁÁ
ÁÁÁ
ÁÁÁ
ÁÁÁ
ÁÁ
ÁÁ
ÁÁÁ
ÁÁÁ
ÁÁÁ
ÁÁÁ
ÁÁÁ
ÁÁÁ
ÁÁ
ÁÁ
ÁÁÁ
ÁÁÁ
ÁÁÁ
ÁÁÁ
ÁÁ
ÁÁ
PG
PS
ÁÁÁ
ÁÁÁ
n+10
ÁÁÁ
ÁÁÁ
ÁÁ
ÁÁ
ÁÁÁ
ÁÁÁ
ÁÁÁ
ÁÁÁ
ÁÁ
ÁÁ
ÁÁÁ
ÁÁÁ
ÁÁÁ
ÁÁÁ
ÁÁÁ
ÁÁÁ
ÁÁ
ÁÁ
ÁÁÁ
ÁÁÁ
ÁÁÁ
ÁÁÁ
ÁÁ
ÁÁ
ÁÁÁ
ÁÁÁ
PG