SPRUHM8K December 2013 – May 2024 TMS320F28374D , TMS320F28375D , TMS320F28376D , TMS320F28377D , TMS320F28377D-EP , TMS320F28377D-Q1 , TMS320F28378D , TMS320F28379D , TMS320F28379D-Q1
The majority of the CLA instructions do not require any special pipeline considerations. This section lists the few operations that do require special consideration.
In both the C28x pipeline and the CLA pipeline, the read operation occurs before the write. This means that if a read operation immediately follows a write, then the read completes first as shown in Table 6-2. In most cases this does not cause a problem since the contents of one memory location does not depend on the state of another. For accesses to peripherals where a write to one location can affect the value in another location, the code must wait for the write to complete before issuing the read as shown in Table 6-3.
This behavior is different for the C28x CPU. For the C28x CPU, any write followed by read to the same location is protected by what is called write-followed-by-read protection. This protection automatically stalls the pipeline so that the write completes before the read. In addition, some peripheral frames are protected such that a C28x CPU write to one location within the frame always completes before a read to the frame. The CLA does not have this protection mechanism. Instead, the code must wait to perform the read.
Instruction | F1 | F2 | D1 | D2 | R1 | R2 | E | W |
---|---|---|---|---|---|---|---|---|
I1 MMOV16 @Reg1, MR3 | I1 | |||||||
I2 MMOV16 MR2, @Reg2 | I2 | I1 | ||||||
I2 | I1 | |||||||
I2 | I1 | |||||||
I2 | I1 | |||||||
I2 | I1 | |||||||
I2 | I1 | |||||||
I2 | I1 |
Instruction | F1 | F2 | D1 | D2 | R1 | R2 | E | W |
---|---|---|---|---|---|---|---|---|
I1 MMOV16 @Reg1, MR3 | I1 | |||||||
I2 | I2 | I1 | ||||||
I3 | I3 | I2 | I1 | |||||
I4 | I4 | I3 | I2 | I1 | ||||
I5 MMOV16 MR2, @Reg2 | I5 | I4 | I3 | I2 | I1 | |||
I5 | I4 | I3 | I2 | I1 | ||||
I5 | I4 | I3 | I2 | I1 | ||||
I5 | I4 | I3 | I2 | I1 | ||||
I5 | I4 | I3 | ||||||
I5 | I4 | |||||||
I5 |
Referring to Example6-1, the following applies to delayed conditional instructions:
For a more detailed description, refer to the description for MBCNDD, MCCNDD, and MRCNDD.