4.5.3. Atom packet

In the PFT architecture, the PTM generates E and N atoms only for waypoint instructions that can be determined statically:

How the PTM assembles and outputs the atoms depends on whether you have enabled cycle-accurate tracing. See the following sections:

Atom packets when cycle-accurate tracing is not enabled

When you have not enabled cycle-accurate tracing, the PTM assembles E and N atoms into atom packets that are always one byte. In this case the atom packet is a packet header that also encodes between one and five atoms. Figure 4.3 shows the general format of this atom packet.

Figure 4.3. Atom packet, cycle-accurate tracing not enabled

To view this graphic, your browser must support the SVG format. Either install a browser with native support, or install an appropriate plugin such as Adobe SVG Viewer.


Table 4.3 shows how this header is encoded for different numbers of atoms.

Table 4.3. Atom header encoding when cycle-accurate tracing is not enabled

FormatEncodingMeaning [a]
Format 01000 00x0Reserved
Format 11000 01F0One atom, F
Format 21000 1FF0Two atoms, FF
Format 31001FFF0Three atoms, FFF
Format 4101FFFF0Four atoms, FFFF
Format 511FFFFF0Five atoms, FFFFF

[a] F is 0 for an E atom and 1 for an N atom. The least-significant F is the most recent waypoint.


Note

A non-exception branch address packet implies an E atom.

Atom packets when cycle-accurate tracing is enabled

When you have enabled cycle-accurate tracing, the PTM assembles every E or N atom with zero or more W atoms, and outputs a cycle-accurate atom packet, that is between one and five bytes long. Figure 4.4 shows the format of this packet.

Figure 4.4. Cycle-accurate atom packet

To view this graphic, your browser must support the SVG format. Either install a browser with native support, or install an appropriate plugin such as Adobe SVG Viewer.


The first byte of the packet, count byte 0, is also the packet header. It conforms to the general format of an atom packet header in Figure 4.3.

Note

Although the format of the atom packet header is the same regardless of whether cycle-accurate tracing is enabled, the meaning of bit [6] of the header is different. When cycle-accurate tracing is enabled, if bit [6] of the header is set to 1 then the packet has one or more additional bytes.

The fields in the cycle-accurate atom packet are:

Count

Cycle count. The number of cycles since the last cycle count output. The cycle count is compressed using leading zero compression. See Cycle count compression.

A W atom is generated for each clock cycle, and therefore the cycle count is identical to the number of W atoms issued since the last atom or branch address packet.

The possible range of cycle count values is the same as for a branch address packet. See Branch address packet cycle count information in cycle-accurate mode.

F

The E or N atom for this atom packet:

F==0

E atom.

F==1

N atom.

Copyright © 1999-2002, 2004-2008, 2011 ARM. All rights reserved.ARM IHI 0035B
Non-ConfidentialID060811