EasyManua.ls Logo

Freescale Semiconductor MPC5553 - Page 1085

Default Icon
1208 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
MPC5553/MPC5554 Microcontroller Reference Manual, Rev. 5
25-46 Freescale Semiconductor
25.11.12.1.1 e200z6 Indirect Branch Message Instructions (Power Architecture Book E)
Table 25-33 shows the types of instructions and events which cause indirect branch messages or branch
history messages to be encoded.
25.11.12.1.2 e200z6 Direct Branch Message Instructions (Power Architecture Book E)
Table 25-34 shows the types of instructions which will cause direct branch messages or will toggle a bit in
the instruction history buffer to be messaged out in a resource full message or branch history message.
25.11.12.1.3 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 which are both reported as consecutive bits in
the history field.
Branch history messages solve predicated instruction tracking and save bandwidth because only indirect
branches cause messages to be queued.
25.11.12.1.4 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 will save bandwidth and keep consistency between methods of program trace, yet may lose
temporal order between BTM messages and other types of messages. Because 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.
Traditional BTM messages maintain their temporal ordering because each event that can cause a message
to be queued will enter the FIFO in the order it occurred and will be messaged out maintaining that order.
Table 25-33. Indirect Branch Message Sources
Source of Indirect Branch Message Instructions
Taken branch relative to a register value bcctr, bcctrl, bclr, bclrl
System Call / Trap exceptions taken sc, tw, twi
Return from interrupts / exceptions rfi, rfci, rfdi
Table 25-34. Direct Branch Message Sources
Source of Direct Branch Message Instructions
Taken direct branch instructions b, ba, bl, bla, bc, bca, bcl, bcla
Instruction Synchronize isync

Table of Contents

Related product manuals