e200z215An3 Nexus 3 Module
66.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, or a not-taken indirect 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 branch was not taken.
Branch History Messages solve predicated instruction tracking and save bandwidth since
only indirect branches cause messages to be queued.
66.12.1.4 BTM using Traditional Program Trace Messages
Based on the PTM bit in the DC1 Register, Program Tracing can utilize either Branch
History Messages (PTM = 1) or traditional Direct/Indirect Branch Messages (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.
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.
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.
66.12.2
BTM Message For mats
The Nexus 3 block supports three types of traditional BTM Messages — Direct, Indirect, and
Synchronization Messages. It supports two types of branch history BTM Messages —
Indirect Branch History, and Indirect Branch History with Synchronization Messages.
66.12.2.1 Indirect branch messages (history)
Indirect branches include all taken branches whose destination is determined at run time,
interrupts, and exceptions. If DC1
out in the following format:
(1-32 bits)
Branch History
Max length = 83 bits; Min length = 14 bits
66.12.2.2 Indirect branch messages (traditional)
If DC1
PTM
format:
1952/2058
Figure 1163. Indirect branch message (history) format
(1–32 bits)
Relative Address
is cleared to '0', indirect branch information is messaged out in the following
DocID027809 Rev 4
is set to '1', indirect branch information is messaged
PTM
(1–8 bits)
Sequence Count
(1 bit)
(4 bits)
Source
TCODE (011100)
(0)
Proc.
RM0400
(6 bits)
Need help?
Do you have a question about the SPC572L series and is the answer not in the manual?