
MPC509
USER’S MANUAL
DEVELOPMENT SUPPORT
Rev. 15 June 98
MOTOROLA
8-13
The L-data comparators can operate on integer data, floating-point single-precision
data, and the integer value stored using the
stfiwx
instruction. Integer comparisons
can be performed on bytes, half words, and words. The operands can be treated as
signed or unsigned values.
The comparators generate match events. The I-bus match events enter the I-bus
AND-OR logic, where the I-bus watchpoints and breakpoint are generated. When
asserted, the I-bus watchpoints may generate the I-bus breakpoint. Two of them may
decrement one of the counters. When a counter that is counting one of the I-bus
watchpoints expires, the I-bus breakpoint is asserted.
The I-bus watchpoints and the L-bus match events (address and data) enter the L-bus
AND-OR logic where the L-bus watchpoints and breakpoint are generated. When
asserted, the L-bus watchpoints may generate the L-bus breakpoint, or they may dec-
rement one of the counters. When a counter that is counting one of the L-bus
watchpoints expires, the L-bus breakpoint is asserted.
L-bus watchpoints can be qualified by I-bus watchpoints. If qualified, the L-bus watch-
point occurs only if the L-bus cycle was the result of executing an instruction that
caused the qualifying I-bus watchpoint.
A watchpoint progresses in the machine along with the instruction that caused it (fetch
or load/store cycle). Watchpoints are reported on the external pins when the associ-
ated instruction is retired.
8.2.1.1 Restrictions on Watchpoint Detection
There are cases when the same watchpoint can be detected more than once during
the execution of a single instruction. For example, the processor may detect an L-bus
watchpoint on more than one transfer when executing a load/store multiple or string
instruction or may detect an L-bus watchpoint on more than one byte when working in
byte mode. In these cases only one watchpoint of the same type is reported for a single
instruction. Similarly, only one watchpoint of the same type can be counted in the
counters for a single instruction.
Since watchpoint events are reported upon the retirement of the instruction that
caused the event, and more than one instruction can retire from the machine in one
clock, separate watchpoint events may be reported in the same clock. Moreover, the
same event, if detected on more than one instruction (e.g. tight loops, range detec-
tion), in some cases is reported only once. However, the internal counters still count
correctly.
8.2.1.2 Byte and Half-Word Working Modes
Watchpoint and breakpoint support enables the user to detect matches on bytes and
half words even when accessed using a load/store instruction of larger data widths,
e.g. when loading a table of bytes using a series of load word instructions.
To use this feature the user needs to program the byte mask for each of the L-data
comparators and to write the needed match value to the correct half word of the data