
Enhanced Time Processing Unit (eTPU2)
MPC5644A Microcontroller Reference Manual, Rev. 6
956
Freescale Semiconductor
•
flag ILF1/2 on register ETPU_MCR is set to indicate this occurrence to the Host.
•
a breakpoint occurs, if NDEDI is present and configured to do so.
24.5.9.6
Microinstruction parallelism issues
This section clarifies parallelism issues that arise when two non-commutative microoperations appear in
the same microinstruction.
24.5.9.6.1
ALU operations and read match registers
ALU operations have only one destination register, but there is one case where source selection determines
destination: read Match register in ERTA and ERTB registers. In this case if ALU destination is ERTA or
ERTB a conflict arises. The ALU destination value overwrites the value read from the match registers.
24.5.9.6.2
ALU and SPRAM operations
P and DIOB registers can be selected as destination by both ALU and SPRAM (read) microoperations in
the same microinstruction. Since P and DIOB update from SPRAM data happens after P and DIOB update
for ALU/MDU microoperations, the data read from SPRAM remains in P or DIOB after an operation when
one of them is specified as destination for both ALU and SPRAM microoperations In this case, the value
loaded into P or DIOB is the one read from SPRAM However, the ALU operation is executed and its flags
are updated accordingly
When P or DIOB is destination of an SPRAM read and also an ALU source at the same microinstruction,
the value before the read is used for the ALU operation
If DIOB is the ALU destination and P is loaded from SPRAM or vice-versa, no conflict occurs, and the
result is the same as if operations occurred separately.
All the above also applies to Zero SPRAM operations.
When using P or DIOB as destination for ALU operations and also as source for a SPRAM write operation,
the data written in SPRAM is the one calculated by ALU, which means it is possible to calculate a value
and write it in an SPRAM address using only one microinstruction.
The old value of DIOB or the old value minus 4 (pre-decrement) is always used when DIOB is selected as
address (indirect address mode), no matter if DIOB is selected as destination of either the SPRAM or ALU.
For the value loaded into DIOB, refer to
Table 24-117. DIOB load from SPRAM and ALU
DIOB selected as
SPRAM read destination?
DIOB selected as
ALU destination?
DIOB load value
no
no
DIOB,
--DIOB (pre-decrement),
or DIOB++ (post-increment)
yes
no
SPRAM read data
(post-inc and pre-dec ignored)
Summary of Contents for MPC5644A
Page 2: ...MPC5644A Microcontroller Reference Manual Rev 6 2 Freescale Semiconductor...
Page 24: ...MPC5644A Microcontroller Reference Manual Rev 6 24 Freescale Semiconductor...
Page 26: ...MPC5644A Microcontroller Reference Manual Rev 6 26 Freescale Semiconductor...
Page 52: ...Introduction MPC5644A Microcontroller Reference Manual Rev 6 52 Freescale Semiconductor...
Page 56: ...Memory Map MPC5644A Microcontroller Reference Manual Rev 6 56 Freescale Semiconductor...
Page 1228: ...Decimation Filter MPC5644A Microcontroller Reference Manual Rev 6 1228 Freescale Semiconductor...
Page 1440: ...FlexCAN Module MPC5644A Microcontroller Reference Manual Rev 6 1440 Freescale Semiconductor...