MOTOROLA
Chapter 23. Development Support
23-11
Watchpoints and Breakpoints Support
The L-data comparators can operate on fix point data of load or store. When operating on
fix point data the L-data comparators are able to perform compare on bytes, half-words and
words and can treat numbers either as signed or as unsigned values.
The comparators generate match events. The match events enter the instruction AND-OR
logic where the instruction watchpoints and breakpoint are generated. The instruction
watchpoints, when asserted, may generate the instruction breakpoint. Two of them may
decrement one of the counters. If one of the instruction watchpoints expires in a counter
that is counting, the instruction breakpoint is asserted.
The instruction watchpoints and the load/store match events (address and data) enter the
load/store AND-OR logic where the load/store watchpoints and breakpoint are generated.
The load/store watchpoints, when asserted, may generate the load/store breakpoint or they
may decrement one of the counters. When a counter that is counting one of the load/store
watchpoints expires, the load/store breakpoint is asserted.
Watchpoints progress in the machine and are reported on retirement. Internal breakpoints
progress in the machine until they reach the top of the history buffer when the machine
branches to the breakpoint exception routine.
In order to enable the use of the breakpoint features without adding restrictions on the
software, the address of the load/store cycle that generated the load/store breakpoint is not
stored in the DAR (data address register), like other load/store type exceptions. In case of
a load/store breakpoint, the address of the load/store cycle that generated the breakpoint is
stored in an implementation-dependent register called the BAR (breakpoint address
register).
Key features of internal watchpoint and breakpoint support are:
Four I-address comparators (each supports equal, not equal, greater than, less than)
Two L-address comparators (each supports equal, not equal, greater than, less than)
including least significant bits masking according to the size of the bus cycle for the
Two L-data comparators (each supports equal, not equal, greater than, less than)
including byte, half-word and word operating modes and four byte mask bits for
each comparator. Can be used for fix point data. Match is detected only on the valid
part of the data bus (according to the cycle’s size and the two address least
significant bits).
No internal breakpoint/watchpoint matching support for unaligned words and
half-words
The L-data comparators can be programmed to treat fix point numbers as signed
values or as unsigned values
Combine comparator pairs to detect in and out of range conditions (including either
signed or unsigned values on the L-data)