Montecito

From Perf Wiki
(Difference between revisions)
Jump to: navigation, search
(Creation of the Intel Itanium-2 PMU overview)
 
Line 1: Line 1:
== Intel Itanium 2 Montecito processor PMU ==
+
== Intel® Itanium® 2 Montecito® processor PMU ==
  
  
Line 6: Line 6:
 
Intel defines the architected PMU in the 'Intel IA-64 Architecture Software Developer's Manual'. However the architected PMU is a bare bone version of what is actually implemented. It is noteworthy that the Itanium 2
 
Intel defines the architected PMU in the 'Intel IA-64 Architecture Software Developer's Manual'. However the architected PMU is a bare bone version of what is actually implemented. It is noteworthy that the Itanium 2
 
PMU has not changed too much, so support of the whole familly does not require rewriting the tools for each member
 
PMU has not changed too much, so support of the whole familly does not require rewriting the tools for each member
of the familly. Therefore readers interrested in the capabilities of the Itanium PMU should go directly to the specific documentation of a processor's functionality.
+
of the familly. Therefore readers interrested in the capabilities of the Itanium PMU should go directly to the model specific updated documentation of a processor's functionality.
  
 
The Itanium-1 (Merced) is obsolete, so there's two PMU implementations that are available: The McKinley class PMU (with 4 counters), and the Montecito class PMU (with 12 counters). The Montecito processor supports hardware threads
 
The Itanium-1 (Merced) is obsolete, so there's two PMU implementations that are available: The McKinley class PMU (with 4 counters), and the Montecito class PMU (with 12 counters). The Montecito processor supports hardware threads
Line 12: Line 12:
 
while the 8 new counters can only monitor thread activity.
 
while the 8 new counters can only monitor thread activity.
  
 +
== Overview ==
  
 +
Itanium defines configuration and data registers: PMC, PMDs. Counting registers are paired PMC/PMD, where you program what the counter will count in the PMC and read the actual counter in the PMD. Other PMC/PMDs that are not be counters may not be paired-up.
 +
 +
The Itanium PMU is a synchronized subsystem with a global state, where all counters can be started or stopped synchronously. When a counter wraps around, it can trigger a PMU overflow interrupt and freeze the whole PMU, which allows for consistent measurment of multiple events. The state of the PMU can be read in the overflow PMCs. Counters are 47bits physically but presented as a 64-bit sign extended entity.
 +
 +
The PMU can filter events through multiple mechanisms to focus on specific areas. It can filter by privilege level with a counter's plm bitmaks. It can filter by instruction op-codes, by virtual address range using the debug registers.
 +
 +
The PMU also has an [b]EAR[/b], event address registers which are special PMCs & PMDs to collect address traces and memory latencies; and the ETB, the event trace buffer, to collect branch history.
  
 
== External links ==
 
== External links ==
Line 18: Line 26:
 
* Wikipedia [[ http://en.wikipedia.org/wiki/Montecito_(processor) | Montecito processor ]]
 
* Wikipedia [[ http://en.wikipedia.org/wiki/Montecito_(processor) | Montecito processor ]]
 
* Intel [[ http://www.intel.com/design/itanium/manuals/iiasdmanual.htm | Intel® Itanium® Architecture ]]
 
* Intel [[ http://www.intel.com/design/itanium/manuals/iiasdmanual.htm | Intel® Itanium® Architecture ]]
 +
* Intel [[ http://cache-www.intel.com/cd/00/00/21/93/219348_software_optimization.pdf | Introduction to Microarchitectural Optimization for Itanium2 Processors  ]]
 +
* Intel [[ http://download.intel.com/design/Itanium2/manuals/30806501.pdf | Dual-Core Update to the Intel® Itanium® 2 Processor Reference Manual]] (PDF 2.29MB)
  
 
----
 
----
 
Last edit by: --[[User:Dantruong|Dantruong]] 01:48, 28 August 2009 (UTC)
 
Last edit by: --[[User:Dantruong|Dantruong]] 01:48, 28 August 2009 (UTC)

Revision as of 02:21, 28 August 2009

Contents

Intel® Itanium® 2 Montecito® processor PMU

Introduction

Intel defines the architected PMU in the 'Intel IA-64 Architecture Software Developer's Manual'. However the architected PMU is a bare bone version of what is actually implemented. It is noteworthy that the Itanium 2 PMU has not changed too much, so support of the whole familly does not require rewriting the tools for each member of the familly. Therefore readers interrested in the capabilities of the Itanium PMU should go directly to the model specific updated documentation of a processor's functionality.

The Itanium-1 (Merced) is obsolete, so there's two PMU implementations that are available: The McKinley class PMU (with 4 counters), and the Montecito class PMU (with 12 counters). The Montecito processor supports hardware threads (hyperthreading), so the 4 architected counters allow monitoring of activity of the whole core or the hardware thread, while the 8 new counters can only monitor thread activity.

Overview

Itanium defines configuration and data registers: PMC, PMDs. Counting registers are paired PMC/PMD, where you program what the counter will count in the PMC and read the actual counter in the PMD. Other PMC/PMDs that are not be counters may not be paired-up.

The Itanium PMU is a synchronized subsystem with a global state, where all counters can be started or stopped synchronously. When a counter wraps around, it can trigger a PMU overflow interrupt and freeze the whole PMU, which allows for consistent measurment of multiple events. The state of the PMU can be read in the overflow PMCs. Counters are 47bits physically but presented as a 64-bit sign extended entity.

The PMU can filter events through multiple mechanisms to focus on specific areas. It can filter by privilege level with a counter's plm bitmaks. It can filter by instruction op-codes, by virtual address range using the debug registers.

The PMU also has an [b]EAR[/b], event address registers which are special PMCs & PMDs to collect address traces and memory latencies; and the ETB, the event trace buffer, to collect branch history.

External links


Last edit by: --Dantruong 01:48, 28 August 2009 (UTC)

Personal tools