Pipeline Operation Overview
5-9
TMS320C62x Pipeline
The pipeline operation is based on CPU cycles. A CPU cycle is the period dur-
ing which a particular execute packet is in a particular pipeline phase. CPU
cycle boundaries always occur at clock cycle boundaries.
As code flows through the pipeline phases, it is processed by different parts
of the ’C62x. Figure 5–7 shows a full pipeline with a fetch packet in every
phase of fetch. One execute packet of eight instructions is being dispatched
at the same time that a 7-instruction execute packet is in decode. The arrows
between DP and DC correspond to the functional units identified in the code
in Example 5–1.
Example 5–1. Execute Packet in Figure 5–7
SADD .L1 A2,A7,A2 ; E1 Phase
|| SADD .L2 B2,B7,B2
|| SMPYH .M2X B3,A3,B2
|| SMPY .M1X B3,A3,A2
|| B .S1 LOOP1
|| MVK .S2 117,B1
LDW .D2 *B4++,B3 ; DC Phase
|| LDW .D1 *A4++,A3
|| MV .L2X A1,B0
|| SMPYH .M1 A2,A2,A0
|| SMPYH .M2 B2,B2,B10
|| SHR .S1 A2,16,A5
|| SHR .S2 B2,16,B5
LOOP1:
STH .D1 A5,*A8++[2] ; DP, PW, and PG
Phases
|| STH .D2 B5,*B8++[2]
|| SADD .L1 A2,A7.A2
|| SADD .L2 B2,B7,B2
|| SMPYH .M2X B3,A3,B2
|| SMPY .M1X B3,A3,A2
|| [B1] B .S1 LOOP1
|| [B1] SUB .S2 B1,1,B1
LDW .D2 *B4++,B3 : PR and PS Phases
|| LDW .D1 *A4++,A3
|| SADD .L1 A0,A1,A1
|| SADD .L2 B10,B0,B0
|| SMPYH .M1 A2,A2,A0
|| SMPYH .M2 B2,B2,B10
|| SHR .S1 A2,16,A5
|| SHR .S2 B2,16,B5