2010-10-25 35 views
8

Tous les processeurs Intel de la dernière décennie (au moins) incluent un ensemble de moniteurs de performances qui comptabilisent divers événements. Est-ce que les derniers processeurs Intel, Core i3, i5 et i7 (alias Nehalem) fournissent un mécanisme pour compter les instructions par horloge (IPC)? Si oui, comment sont-ils utilisés?Les processeurs Core i3/5/7 fournissent-ils un mécanisme de mesure IPC?

Si cela est possible, j'écrirai probablement le code dans Assembly, mais les appels système Windows ou Linux peuvent également être utiles.

Répondre

3

Oui, le Vtune d'Intel (linux et windows) peut mesurer IPC.

Si vous voulez le mesurer vous-même avec des compteurs précis pour une partie du code, vous devez utiliser des API de performance comme PAPI ou perfctr (les deux pour Linux).

Ils utilisent des compteurs de performance du matériel, décrites dans les manuels intel http://www.intel.com/products/processor/manuals/

Volume 3D, chapitre 30 & annexe A. http://www.intel.com/Assets/PDF/manual/253669.pdf

VTune utilise le ratio "Instructions à la retraite" et "clockticks non-sommeil" calculer l'IPC («Cycles per instructions retired»). Pour Core2 les compteurs de performance utilisés sont les suivants: "CPU_CLK_UNHALTED.CORE", "INST_RETIRED.ANY"

Ce compteurs sont les mêmes pour tous les processeurs de base *: Annexe A1 de 3B Volume, page384:

Table A-1. Architectural Performance Events 

Event | Event Mask Mnemonic | Umask | Description 
num. 
3CH | UnHalted Core Cycles| 00H | Unhalted core cycles 
C0H | Instruction Retired | 00H | Instruction retired 
+0

et pour obtenir des statistiques (pas la mesure précise), vous pouvez utiliser VTune en mode échantillonnage ou Oprofile. – osgx

-3

IPC devient sans signification avec le recadrage actuel de plusieurs commandes d'instructions par horloge.

De i7 document propoganda:

La puce vante une plus grande exécution noyau, ce qui permet au processeur de compléter jusqu'à quatre instructions complètes simultanément, avec une plus pipeline efficace 14 étages améliorer IPC (instructions par cycle d'horloge) en comparaison avec Pentium 4/D

Ces chiffres dépendent tous de la CIB le type de code qui est en cours réalisé.

+5

C'est pourquoi vous le * MEASURE *, au lieu de le chercher dans la fiche technique CPU. –