Pipeline Execution of Instruction Types
5-11
TMS320C62x Pipeline
5.2
Pipeline Execution of Instruction Types
The pipeline operation of the ’C62x instructions can be categorized into six
instruction types. Five of these are shown in Table 5–2 (NOP is not included
in the table), which is a mapping of operations occurring in each execution
phase for the different instruction types. The delay slots associated with each
instruction type are listed in the bottom row.
Table 5–2. Execution Stage Length Description for Each Instruction Type
ÁÁÁÁ
ÁÁÁÁ
ÁÁ
ÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
Instruction Type
ÁÁÁÁ
Á
ÁÁ
Á
ÁÁÁÁ
ÁÁ
ÁÁ
ÁÁ
ÁÁÁÁÁÁ
Á
ÁÁÁÁ
Á
ÁÁÁÁÁÁ
Single Cycle
ÁÁÁÁÁÁ
Á
ÁÁÁÁ
Á
ÁÁÁÁÁÁ
Multiply
ÁÁÁÁÁÁÁ
Á
ÁÁÁÁÁ
Á
ÁÁÁÁÁÁÁ
Store
ÁÁÁÁÁÁ
Á
ÁÁÁÁ
Á
ÁÁÁÁÁÁ
Load
ÁÁÁÁÁ
Á
ÁÁÁ
Á
ÁÁÁÁÁ
Branch
Execution
phases
E1
Compute result
and write to
register
Read operands
and start
computations
Compute
address
Compute
address
Target code
in PG
‡
ÁÁÁÁ
Á
ÁÁ
Á
Á
ÁÁ
Á
ÁÁÁÁ
ÁÁ
ÁÁ
ÁÁ
ÁÁ
E2
ÁÁÁÁÁÁ
Á
ÁÁÁÁ
Á
Á
ÁÁÁÁ
Á
ÁÁÁÁÁÁ
ÁÁÁÁÁÁ
Á
ÁÁÁÁ
Á
Á
ÁÁÁÁ
Á
ÁÁÁÁÁÁ
Compute result
and write to
register
ÁÁÁÁÁÁÁ
Á
ÁÁÁÁÁ
Á
Á
ÁÁÁÁÁ
Á
ÁÁÁÁÁÁÁ
Send address
and data to
memory
ÁÁÁÁÁÁ
Á
ÁÁÁÁ
Á
Á
ÁÁÁÁ
Á
ÁÁÁÁÁÁ
Send address to
memory
ÁÁÁÁÁ
Á
ÁÁÁ
Á
Á
ÁÁÁ
Á
ÁÁÁÁÁ
E3
Access memory
Access memory
ÁÁÁÁ
Á
ÁÁ
Á
ÁÁÁÁ
ÁÁ
ÁÁ
ÁÁ
E4
ÁÁÁÁÁÁ
Á
ÁÁÁÁ
Á
ÁÁÁÁÁÁ
ÁÁÁÁÁÁ
Á
ÁÁÁÁ
Á
ÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
Á
ÁÁÁÁÁ
Á
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁ
Á
ÁÁÁÁ
Á
ÁÁÁÁÁÁ
Send data back
to CPU
ÁÁÁÁÁ
Á
ÁÁÁ
Á
ÁÁÁÁÁ
E5
Write data into
register
Delay
slots
0
1
0
†
4
†
5
‡
† See section 5.2.3 and 5.2.4 for more information on execution and delay slots for stores and loads.
‡ See section 5.2.5 for more information on branches.
Notes:
1) This table assumes that the condition for each instruction is evaluated as true. If the condition is evaluated as false,
the instruction does not write any results or have any pipeline operation after E1.
2) NOP is not shown and has no operation in any of the execution phases.
The execution of instructions can be defined in terms of delay slots. A delay
slot is a CPU cycle that occurs after the first execution phase (E1) of an instruc-
tion. Results from instructions with delay slots are not available until the end
of the last delay slot. For example, a multiply instruction has one delay slot,
which means that one CPU cycle elapses before the results of the multiply are
available for use by a subsequent instruction. However, results are available
from other instructions finishing execution during the same CPU cycle in which
the multiply is in a delay slot.