Montecito
(Creation of the Intel Itanium-2 PMU overview) |
|||
Line 1: | Line 1: | ||
− | == | + | == 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
- Wikipedia Intel Itanium
- Wikipedia Montecito processor
- Intel Intel® Itanium® Architecture
- Intel Introduction to Microarchitectural Optimization for Itanium2 Processors
- Intel Dual-Core Update to the Intel® Itanium® 2 Processor Reference Manual (PDF 2.29MB)
Last edit by: --Dantruong 01:48, 28 August 2009 (UTC)