Non-Exception Message Byte - Intel XScale Core Developer's Manual

Table of Contents

Advertisement

Intel XScale® Core Developer's Manual
Software Debug
9.13.1.2

Non-exception Message Byte

Non-exception message bytes are used for direct branches, indirect branches, and rollovers.
In a non-exception message byte, the 4-bit message type field (MMMM) specifies the type of
message (refer to
The incremental word count (CCCC) is the instruction count since the last control flow change
(excluding the current branch). The instruction count includes instructions that were executed and
conditional instructions that were not executed due to the condition of the instruction not matching
the CC flags. In the case of back-to-back branches the word count would be 0 indicating that no
instructions executed after the last branch and before the current one.
A rollover message is used to keep track of long traces of code that do not have control flow
changes. The rollover message means that 16 instructions have executed since the last message
byte was written to the trace buffer.
If the incremental counter reaches its maximum value of 15, a rollover message is written to the
trace buffer following the next instruction (which will be the 16th instruction to execute). This is
shown in
have executed after the last branch and before the current non-branch instruction that caused the
rollover message.
Example 9-1. Rollover Messages Examples
If the 16th instruction is a branch (direct or indirect), the appropriate branch message is placed in
the trace buffer instead of the roll-over message. The incremental counter is still set to 0b1111,
meaning 15 instructions executed between the last branch and the current branch.
150
Table
9-18).
Example
9-1. The count in the rollover message is 0b1111, indicating that 15 instructions
count = 5
BL label1
branch message placed in trace buffer after branch executes
count = 0
count = 0b0101
MOV
count = 1
MOV
count = 2
MOV
...
count = 14
MOV
count = 15
rollover message placed in trace buffer after 16th instruction executes
MOV
count = 0b1111
count = 0
January, 2004
Developer's Manual

Advertisement

Table of Contents
loading

Table of Contents