
READI Module
MPC561/MPC563 Reference Manual, Rev. 1.2
24-48
Freescale Semiconductor
24.8.4.2
Instruction Fetch Snooping
Instruction fetches are snooped on the U-bus. There is a one-to-one correspondence between instruction
fetches marked with the U-bus program trace attribute and the indication of RCPU VF signal (only 3, 4,
5, and 6) between two synchronization events.
Since U-bus program trace attribute occurs after the indication of VF, it is latched and paired with the
nearest (previous) unpaired VF (3, 4, 5, and 6) indication to determine the instruction address.
For all other VF indications, except 3, 4, 5, and 6, it is not possible to determine the instruction address.
24.8.4.3
Instruction Execution Tracking
Instruction execution tracking is performed by capturing the RCPU VF and VFLS signals, and decoding
them to infer the state of the processor. The RCPU VF signals indicate two classifications of information:
The current instruction type which is being loaded into the RCPU instruction queue. For further
details refer to the RCPU Reference Manual.
The number of instructions which are currently being flushed from the RCPU instruction queue.
For further details refer to the RCPU Reference Manual.
24.8.4.4
Instruction Flush Cases
The various conditions under which the RCPU may signal instruction flushes of the RCPU prefetch queue
or RCPU history buffer are:
1. A taken branch (direct, indirect, interrupt or exception) will cause the instruction prefetch queue
(which contains instructions from the now old stream) to be flushed, and fetching will start from
the branch target stream. The sequential instruction count will be updated to reflect this.
2. A mispredicted branch will cause instructions fetched from the new stream to be flushed, and
fetching will resume from the old stream. It will also require a program trace message to be
cancelled and the trace to be corrected.
3. An exception can cause cancellation of multiple taken branches which may require cancelling
multiple program trace messages.
24.8.5
Branch Trace Message Queueing
READI implements a queue 16 or 32 messages deep (depending on the silicon version) for program trace,
data trace, and ownership trace messages. Messages that enter the queue are transmitted via the output
auxiliary port in the order in which they are queued.
NOTE
If multiple trace messages need to be queued at the same time, program trace
messages will have the highest priority unless the data trace buffers are full,
in which case the data trace messages are given temporary higher priority
than the program trace messages.