Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

Tools

Performance Monitoring with PAPI


June, 2005: Performance Monitoring with PAPI

Advanced PM Features

Traditionally, performance monitoring hardware counts the occurrence or duration of events. However, recent CPUs, such as the Intel Itanium2 and IBM Power4/5, include more advanced features. The Itanium2 contains such features as:

  • • Address and opcode matching. With address matching, the event counting can be constrained to events that are triggered by instructions that either occupy a certain address range in the code or reference data in a certain address range. The first case enables you to measure, for instance, the number of mispredicted branches within a procedure in a program. In the second case, you can measure things like all the cache misses caused by references to a particular array.
  • Opcode matching constrains counting to events caused by instructions that match a given binary pattern. This allows the counting of instructions of a certain type or execution on a particular functional unit.
  • • Branch traces. A CPU with a branch trace buffer (BTB) can store the source and target addresses of branch instructions in the PMU as they happen. On the Itanium2, the branch trace buffer consists of a circular buffer of eight registers in which source and target addresses are stored. Address capturing can be constrained by the type of branch, whether it was correctly predicted and whether the branch was taken.
  • • Event addresses. With event address capturing, addresses and latencies associated with certain events are stored in Event Address Registers (EARs). This means that the PM hardware captures the data and instruction addresses that cause, for example, an L1 D-cache miss together with the latency (in cycles) of the associated memory access.

—P.M., N.S., and P.E.


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.