Stellen Core i3 / 5/7-CPUs einen Mechanismus zur Messung von IPC bereit?

8

Alle Intel-CPUs im letzten Jahrzehnt (mindestens) enthalten eine Reihe von Leistungsmonitoren, die eine Vielzahl von Ereignissen zählen. Verfügen die neuesten Intel-CPUs, Core i3, i5 und i7 (alias Nehalem) über einen Mechanismus zum Zählen von Anweisungen pro Uhr (IPC)? Wenn ja, wie werden sie verwendet?

Wenn das möglich ist, werde ich wahrscheinlich den Code dafür in Assembly schreiben, aber Windows- oder Linux-Systemaufrufe können auch nützlich sein.

    
Nathan Fellman 25.10.2010, 21:17
quelle

2 Antworten

3

Ja, der Vtune von Intel (Linux und Windows) kann IPC messen.

Wenn Sie es selbst mit genauen Zählern für einen Teil des Codes messen möchten, müssen Sie einige Leistungs-API wie PAPI oder Perfctr (beide für Linux) verwenden.

Sie verwenden Hardware-Leistungsindikatoren, die in Intel-Handbüchern Ссылка

beschrieben sind

Volumen 3D, Kapitel 30 & amp; Anhang A. Ссылка

Vtune verwendet das Verhältnis von "Instructions Retired" und "Non-sleep clockticks" zur Berechnung von CPI ("Cycles per instructions retired"). Für Core2 werden folgende Leistungsindikatoren verwendet: "CPU_CLK_UNHALTED.CORE", "INST_RETIRED.ANY"

Diese Zähler sind für alle Core * CPUs gleich: Anhang A1 von Band 3B, Seite 384:

%Vor%     
osgx 10.11.2010, 04:23
quelle
-3

IPC wird mit der aktuellen Menge von Befehlen mit mehreren Befehlen pro Takt bedeutungslos.

Von i7 propoganda Dokument:

  

Der Chip bot eine breitere Ausführung   Kern, so dass der Prozessor zu   Füllen Sie bis zu vier vollständige Anweisungen aus   gleichzeitig, zusammen mit einem mehr   effiziente 14-stufige Pipeline-Verbesserung   IPC (Anweisungen pro Uhr) in   Vergleich zu Pentium 4 / D

Diese IPC-Anzahl hängt vom Typ des Codes ab, der ausgeführt wird.

    
Dekker500 25.10.2010 21:33
quelle

Tags und Links