RM0400
66.12.1
Branch Trace Messaging types
Traditional Branch Trace Messaging facilitates program trace by providing the following
types of information:
•
Messaging for taken direct branches includes how many sequential instructions were
executed since the last taken branch or exception, including the taken direct branch.
Branch instructions are included in the count of sequential instructions.
•
Messaging for taken indirect branches and exceptions includes how many sequential
instructions were executed since the last taken branch or exception and the unique
portion of the branch target address or exception vector address. Branch instructions
are included in the count of sequential instructions. For taken indirect branches that
trigger generation of a message, the branch is also included in the count.
Branch History Messaging facilitates program trace by providing the following information.
•
Messaging for taken indirect branches and exceptions includes a) how many
sequential instructions (I-CNT) were executed since the last predicate instruction,
taken/not taken direct branch, taken/not-taken indirect branch, or exception, b) the
unique portion of the branch target address or exception vector address, and c) a
branch/predicate instruction history field. Each bit in the history field represents a direct
branch or predicated instruction where a value of one (1) indicates taken, and a value
of zero (0) indicates not taken. Not-taken indirect branches will generate a history bit
with a value of zero (0). Instructions that generate history bits are not included in
instruction counts. For taken indirect branches that trigger generation of this message
type, the branch is included in the count, but not in the history field.
66.12.1.1 Indirect Branch Message instructions
Table 1099
Messages or Branch History Messages to be encoded.
Source of Indirect Branch Message
Taken branch relative to a register value
System Call / Trap exceptions taken
Return from interrupts / exceptions
Exit from reset with Program Trace Enabled
66.12.1.2 Direct Branch Message Instructions
Table 1100
toggle a bit in the instruction history buffer to be messaged out in a Resource Full Message
or Branch History Message.
Source of Direct Branch Message
Taken direct branch instructions
Instruction Synchronize
shows the types of instructions and events that cause Indirect Branch
Table 1099. Indirect Branch Message sources
shows the types of instructions that will cause Direct Branch Messages or will
Table 1100. Direct Branch Message sources
DocID027809 Rev 4
Instructions / Detail
bcctr, bcctrl, bclr, bclrl, se_bctr, se_bctrl, se_blr, se_blrl
se_rfi, se_rfci, se_rfdi
Indirect branch with Sync, target address is initial instruction,
b, ba, bl, bla, bc, bca, bcl, bcla, se_b. se_bc,
se_bl, e_b, e_bc, e_bl, e_bcl, se_isync
e200z215An3 Nexus 3 Module
se_sc, tw
count = 1
Instructions
1951/2058
1982
Need help?
Do you have a question about the SPC572L series and is the answer not in the manual?