- Kernbeziehung: Zeit = (NI × CPI)/f und Leistung = (f × CPI)/NI, wobei CPI/CPI die wichtigsten Hebel sind.
- Echte Skalierbarkeit: Amdahl und Gustafson begrenzen die Beschleunigung; die Effizienz nimmt mit zunehmendem Overhead ab.
- Speicherregeln: Treffer/Fehlschlag, DDR und Bandbreite beeinflussen den CPI ebenso stark wie die Frequenz.
- WPA-Methode: Kritischer Pfad, Threads (Bereit/Läuft/Wartend), DPC/ISR und Prioritäten erklären Engpässe.
Wenn Sie nach allen Formeln zur Berechnung der Leistung einer CPU suchen, ist es ideal, wenn diese gut erklärt sind und Kontext und praktische Fälle enthalten., nicht nur eine lose Liste von Gleichungen. Dieser Leitfaden fasst die Metriken, Formeln, Nuancen und Techniken der professionellen Analyse zusammen und formuliert sie auf klare und umfassende Weise neu. (einschließlich der Verwendung des Windows Performance Analyzer), die oft über viele Quellen verstreut erscheinen.
Hier finden Sie alles von den klassischen Einheiten (IPS, IPC, CPI und FLOPS) bis hin zur genauen Beziehung zwischen Ausführungszeit und Leistung, den Gesetzen von Amdahl und Gustafson, Speicher und Bandbreite und sogar Informationen zur Untersuchung von Thread-Interferenzen und DPC/ISR mit WPA.Darüber hinaus enthält es eine Berechnung des CPU-Stromverbrauchs (C·V²·F), Tools zur Messung und Empfehlungen für praktische Effizienz- und Leistungsverbesserungen.
Grundlegende Einheiten und Metriken: IPS, IPC, CPI, FLOPS und Frequenz

Als Erstes müssen wir berücksichtigen, welche Einheiten am wichtigsten sind, mit denen wir uns befassen werden:
- IPS (Anweisungen pro Sekunde) misst, wie viele Anweisungen der Prozessor in einer Sekunde ausführt (normalerweise MIPS, Millionen von IPS). Es ist eine nützliche Metrik, um eine globale Vorstellung vom Durchsatz zu bekommen, obwohl es die Komplexität der Anweisungen oder die Unterschiede in der Mikroarchitektur nicht gut erfasst. Historische und moderne Beispiele zeigen die Kluft zwischen Designs und Epochen, und beim Übertakten kann es variieren.
- IPC (Anweisungen pro Zyklus) Gibt an, wie viele Anweisungen die CPU durchschnittlich pro Taktzyklus ausführt. Es ist wichtig, die Effizienz pro Zyklus unabhängig von der Frequenz zu verstehen. Der Vergleich von IPC erfordert die Verwendung desselben Programms oder Benchmarks auf verschiedenen Maschinen, da Anzahl und Art der Anweisungen von der Software abhängen.
- CPI (Zyklen pro Anweisung) Es handelt sich um das konzeptionelle Gegenteil des Verbraucherpreisindex (CPI): wie viele Zyklen jeder Befehl im Durchschnitt benötigt. Der CPI variiert je nach Befehlstyp und Mikroarchitektur. (zum Beispiel kann eine Last mehr Zyklen erfordern als ein Sprung), daher wird es normalerweise berechnet als gewichteter Durchschnitt nach Unterrichtsklassen.
- FLOPS (Gleitkommaoperationen pro Sekunde) quantifiziert Gleitkommaberechnungen, die für HPC, KI und Wissenschaft von entscheidender Bedeutung sind. Man unterscheidet zwischen einfacher Genauigkeit (SP) und doppelter Genauigkeit (DP) und die Energieeffizienz wird auch als FLOPS/W bezeichnet.. Es ist wichtig, zwischen nativen FLOPS und normalisierten FLOPS zu unterscheiden. beim Vergleich heterogener Plattformen.
- Frequenz (Hz) markiert den Rhythmus der Uhr, aber ist nicht direkt gleichbedeutend mit Leistung. Der Mythos des MHz: Heutzutage kann eine CPU mit niedrigerer Frequenz eine schnellere übertreffen, indem Parallelität, bessere IPC und effizientere Mikroarchitekturen. Darüber hinaus bestimmen die Pipeline-Tiefe und die kritische Logik die erreichbare Frequenz..
Wesentliche Formeln: Ausführungszeit, Durchsatz, IPC, CPI, IPS und FLOPS
Einige Wesentliche Formeln zur Berechnung/Messung der Leistung eines Prozessors, die Sie kennen sollten, sind:
- Ausführungszeit: Eine Standardmethode, dies auszudrücken, ist Zeit = NI × VPI × TWo NI ist die Anzahl der Anweisungen im Programm, CPI die durchschnittliche Anzahl der Zyklen pro Befehl und T die Taktperiode (T = 1/Frequenz). Äquivalent: Zeit = (NI × CPI) / Frequenz. Hardware und Compiler greifen häufig CPI und Frequenz an; NI ist von der Software abhängig..
- Performance ist die Umkehrung der Zeit: Leistung = 1 / Zeit. Umschreiben, Leistung = (Häufigkeit × VPI) / NI. Dies verdeutlicht das Dreieck der Verpflichtungen: Erhöhung der Frequenz und des Verbraucherpreisindex und/oder Senkung des NI (besserer Algorithmus, bessere Kompilierung) erhöht die Leistung.
- CPU-Zeit auf Multiprozessorsystemen Dies wird durch das Hinzufügen von Thread-Zeiten oder durch die Verwendung von Aggregationen ausgedrückt, die Folgendes berücksichtigen: P-Prozessoren. Parallel dazu begrenzen der tatsächlich parallelisierbare Anteil und der Koordinationsaufwand den Nutzen. (siehe Amdahls und Gustafsons Gesetze unten).
- Effektiver VPI für ein bestimmtes Programm wird es bezogen von tatsächliche durchschnittliche Anzahl von Anweisungen pro Zyklus beobachtet während der Ausführung; für Vergleiche, verwendet den gleichen Benchmark auf beiden Maschinen, sodass NI und Befehlsmischung vergleichbar sind.
- Gewichteter durchschnittlicher Verbraucherpreisindex Es wird normalerweise wie folgt berechnet: Σ (CPI_i × Gewicht_i), wo jeder CPI_i entspricht einer Unterrichtsklasse und Gewicht_i ist der Anteil dieser Klasse im Programm. Diese klassenbasierte Ansicht ermöglicht es Ihnen zu erkennen, wo Optimierungen erforderlich sind (z. B. langsame Ladevorgänge oder teure Splits)..
- IPS (Anweisungen pro Sekunde) wird oft angenähert als IPS ≈ Häufigkeit × VPI. Seien Sie vorsichtig mit Pipelines, Abhängigkeiten, Vorhersagen und Kanalentleerung: in der Praxis Bursts und Strafen können Sie von der theoretischen Zahl wegbringen.
- FLOPS In einem einfachen System wird es wie folgt geschätzt: Frequenz × Floating-Operationen pro Zyklus (abhängig von der Vektorbreite und den FPU-Einheiten) und parallel als Gesamt-FLOPS ≈ Σ FLOPS jedes Prozessors. Unterschied, ob Sie in SP oder DP arbeiten und denken Sie an den Unterschied zwischen Native und normalisierte FLOPS.
Skalierbarkeit: Amdahls Gesetz, Gustafsons Gesetz, Beschleunigung, Effizienz und Isoeffizienz
Weitere wichtige Formeln zur Berechnung von Computerleistung, Effizienz etc.:
- Ley de Amdahl modelliert den Gewinn durch die Beschleunigung eines Teils des Systems. Wenn ein Bruchteil f der Zeit nicht von der Verbesserung profitiert, ist die maximale Beschleunigung durch 1/f begrenzt. Parallel zu, mit parallelisierbarem Bruchteil p, wird der typische Grenzwert ausgedrückt als S(N) = 1 / ((1 − p) + p/N). Die Verbesserung des Engpasses (Verringerung des effektiven sequentiellen Teils) ist das, was sich am meisten auszahlt.
- Anwendung auf der Pipeline: Pipelining reduziert die Latenzen pro Befehl im stationären Zustand, aber Blasenbildung, Datenrisiken und Vorhersagefehler Sie fügen Strafen hinzu, die begrenzen Sie die ideale Beschleunigung. Durch die Vertiefung der Pipeline erhöht sich die Häufigkeit, es kommt jedoch auch zu Strafen für die Entleerung..
- Gustafsons Gesetz vertritt eine andere Ansicht: Da das Problem mit der Anzahl der Prozessoren wächst, S(N) ≈ N − α (N − 1), wobei α den sequentiellen Anteil durch Skalierung der Last approximiert. Er betont, dass die tatsächliche Effizienz von der Lastverteilung und dem Overhead abhängt..
- Leistungsfähigkeit ist definiert als E = S(N) / N. Wenn N zunimmt, nimmt E tendenziell ab durch Koordination, gemeinsames Gedächtnis und Ungleichgewichte. Isoeffizienz suchen, wie das Problem vergrößern n die Halten Sie E konstant, wenn p (Prozessoren) zunimmt, wodurch der Overhead absorbiert wird.
Arbeitsspeicher, Caches, Bandbreite und Speicher: die anderen 50 % der Leistung

Neben Berechnungen zur Verarbeitung ist auch die Speicherleistung wichtig, die wichtigsten Formeln hierfür sind:
- Die Speicherhierarchie bestimmt den CPI: Ein Cache-Zugriff kann 1 Zyklus dauern, während ein RAM-Zugriff Hunderte von Zyklen. Die Treffer-/Fehlerraten sind genauso wichtig oder sogar wichtiger als die reine Bandbreite und Latenz.. Bessere Trefferquote bedeutet weniger Strafen und weniger Energieaufwand beim Auswendiglernen.
- Wichtige Definitionen: Miss Rate = Anzahl der Fehler / Gesamtzahl der Zugriffe y Trefferquote = Anzahl der Treffer / Gesamtzahl der Zugriffe. Erhöhen Sie die Größe des Befehls- oder Datencaches und verbessern Sie die Lokalität Ihres Codes Erhöhen Sie die Trefferquote und senken Sie den CPI.
- DDR und effektive Frequenz: DDR-Speicher leisten 2 Transfers pro Zyklus des Controllers, deshalb DDR4-3200 entspricht 1600 MHz Memclk. Theoretische Bandbreite nach Modul wird angenähert als memclk × 2 × Busbreite (Bits) × Anzahl der Kanäleund wird in Bytes/s ausgedrückt (durch 8 teilen). Klassisches Beispiel für DDR4-3200, 64-Bit-Bus, Dual Channel: 1.600.000.000 × 2 × 64 × 2 = 409.600.000.000 Bits/s ≈ 51,2 GB / s.
- Rotationslatenz in der Festplatte (wenn der Kopf bereits auf der Spur ist): Es wird geschätzt als 0,5 Umdrehungen / (U/min/60). Für 7200 U/min: 0,5 / (7200/60) ≈ 4,16 ms. Festplattenpuffer und Caches können einen Teil der Zugriffszeit abfedern, aber sie beseitigen nicht die mechanische Natur der Verzögerung.
- Speicher- und Rechenbedarf: Bei HPC-Lasten besteht die Analyse aus Betriebsintensität (FLOP/Byte), in Bezug Gleitkommaanweisungen und Datenbewegung. Eine geringe Intensität verrät Speicherbeschränkung; ein hoher, Rechenbeschränkung. Optimieren Sie Layouts und sequenziellen Zugriff kann das Leistungsprofil komplett verändern.
Verbrauch und Effizienz: TDP, dynamische Leistung und Tools
Auf der anderen Seite stehen auch die Themen Verbrauch und Effizienz im Vordergrund:
- TDP ist nicht der tatsächliche Verbrauch: ist ein thermisches/Designziel. Der Verbrauch variiert je nach effektiver Last, Spannung und Frequenz. Unter leichter Belastung Der tatsächliche Durchschnittsverbrauch liegt meist deutlich unter der TDP.
- Ungefähre dynamische Leistung: P = C · V² · F. C ist die geschaltete Kapazität, V die Spannung und F die Frequenz. Eine Erhöhung der Spannung führt zu quadratischen Strafen; daher verursacht das Übertakten mit Overvolt große Sprünge im Verbrauch und Wärme. Zusätzlich zum dynamischen Teil gibt es Lecks, die mit der Temperatur und dem Prozess größer werden..