Pipeline Operation Overview

Table 4−1. Operations Occurring During Pipeline Phases (Continued)

 

 

 

 

Instruction

 

 

 

 

Type

Stage

Phase

Symbol

During This Phase

Completed

 

 

 

 

 

 

Execute 5

E5

For load instructions, data is written into a register

Load INTDP

 

 

 

file.

 

 

 

 

For INTDP and MPYSP2DP instructions, the upper

MPYSP2DP

 

 

 

32 bits of the result are written to a register file.

 

 

Execute 6

E6

For ADDDP/SUBDP and MPYSPDP instructions, the

ADDDP/

 

 

 

lower 32 bits of the result are written to a register

SUBDP,

 

 

 

file.

MPYSPDP

 

Execute 7

E7

For ADDDP/SUBDP and MPYSPDP instructions, the

ADDDP/

 

 

 

upper 32 bits of the result are written to a register

SUBDP,

 

 

 

file.

MPYSPDP

Execute 8

E8

Nothing is read or written.

Execute 9

E9

For MPYI instruction, the result is written to a

 

 

register file.

 

 

For MPYDP and MPYID instructions, the lower

 

 

32 bits of the result are written to a register file.

Execute 10

E10

For MPYDP and MPYID instructions, the upper

 

 

32 bits of the result are written to a register file.

MPYI

MPYDP MPYID

MPYDP MPYID

This assumes that the conditions for the instructions are evaluated as true. If the condition is evaluated as false, the instruction does not write an y results or have any pipeline operation after E1.

Figure 4−7 shows a functional block diagram of the pipeline stages. The pipe- line operation is based on CPU cycles. A CPU cycle is the period during which a particular execute packet is in a particular pipeline phase. CPU cycle bound- aries always occur at clock cycle boundaries.

As code flows through the pipeline phases, it is processed by different parts of the C67x DSP. Figure 4−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 4−1.

In the DC phase portion of Figure 4−7, one box is empty because a NOP was the eighth instruction in the fetch packet in DC, and no functional unit is needed for a NOP. Finally, Figure 4−7 shows six functional units processing code during the same cycle of the pipeline.

SPRU733

Pipeline

4-9

Page 341
Image 341
Texas Instruments TMS320C67X/C67X+ DSP manual Adddp