English
Language : 

PXN20RM Datasheet, PDF (1236/1376 Pages) Freescale Semiconductor, Inc – PXN20 Microcontroller
Nexus Development Interface (NDI)
Table 36-57. Indirect Branch Message Sources
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
Instructions
se_bctr, se_bctrl, se_blr, se_blrl
sc, se_sc, tw
se_rfi, se_rfci, se_rfdi
Indirect branch with Sync,
target address is initial instruction, count = 1
e200z6 Direct Branch Message Instructions
Table 36-58 shows the types of instructions that cause direct branch messages or toggle a bit in the
instruction history buffer to be messaged out in a resource full message or branch history message.
Table 36-58. Direct Branch Message Sources
Source of Direct Branch Message
Taken direct branch instructions
Instruction Synchronize
Instructions
se_b. se_bc, se_bl, e_b, e_bc,
e_bl, e_bcl
se_isync
BTM Using Branch History Messages
Traditional BTM messaging can accurately track the number of sequential instructions between branches,
but cannot accurately indicate which instructions were conditionally executed, and which were not.
Branch history messaging solves this problem by providing a predicated instruction history field in each
indirect branch message. Each bit in the history represents a predicated instruction or direct branch. A
value of one (1) indicates the conditional instruction was executed or the direct branch was taken. A value
of zero (0) indicates the conditional instruction was not executed or the direct branch was not taken.
Certain instructions (evsel) generate a pair of predicate bits that are both reported as consecutive bits in the
history field.
Branch history messages solve predicated instruction tracking and save bandwidth since only indirect
branches cause messages to be queued.
BTM Using Traditional Program Trace Messages
Based on the PTM bit in the DC register (DC[PTM]), program tracing can utilize either branch history
messages (DC[PTM] = 1) or traditional direct/indirect branch messages (DC[PTM] = 0).
Branch history saves bandwidth and keeps consistency between methods of program trace, yet may lose
temporal order between BTM messages and other types of messages. Since direct branches are not
messaged, but are instead included in the history field of the indirect branch history message, other types
of messages may enter the FIFO between branch history messages. The development tool cannot
determine the ordering of “events” that occurred with respect to direct branches simply by the order in
which messages are sent out.
36-86
PXN20 Microcontroller Reference Manual, Rev. 1
Freescale Semiconductor