Altifigence Academy

10 / 24 · Konzept

Latenz, Durchsatz und Initiierungsintervall

Berechnen Sie die Verzögerung einer einzelnen Transaktion getrennt von der dauerhaften Abschlussrate.

Früher fertig werden und häufiger fertig werden unterscheiden sich

Latenz misst die Zeit von der Übernahme einer Eingabe bis zur Ausgabe ihres Ergebnisses. Durchsatz zählt ausgegebene Transaktionen pro Beobachtungszeit. Das Initiierungsintervall II ist der kleinste Abstand in Takten zwischen neuen Starts. Verwenden Sie Takte oder Nanosekunden für die Latenz, Transaktionen pro Takt oder Sekunde für den Durchsatz und Takte pro Transaktion für II.

Alle Übertragungen erfolgen hier an steigenden Flanken. In einer Pipeline mit zwei Registern wird eine an Flanke 0 übernommene Eingabe nach Flanke 1 sichtbar und an Flanke 2 übertragen. Die Latenz von Übernahme bis Ausgabe beträgt zwei Takte. Verschiedene Stufen bearbeiten gleichzeitig verschiedene Transaktionen, sodass eine gefüllte Pipeline ohne Wartezyklen ein Ergebnis pro Flanke ausgibt. II=1 bedeutet nicht Latenz=1.

StrukturAusgabelatenzIIDauerhafter Durchsatz ohne Wartezyklen
Operator mit einem Register1 Takt11 Transaktion/Takt
Zweistufige Pipeline2 Takte11 Transaktion/Takt
Gemeinsam genutzte Berechnung über vier FlankenAbhängig vom SchnittstellenablaufGrößer als 1Weniger als 1 Transaktion/Takt

Berücksichtigen Sie beim Vergleich physikalischer Raten die Taktperiode. Angenommen, kombinatorische Arbeit benötigt sechs Nanosekunden und Registeraufwand einschließlich Reserve 0.5 ns. Eine Stufe ergibt geschätzt eine Periode von 6.5 ns. Ausgewogene Stufen mit jeweils drei Nanosekunden ergeben geschätzt 3.5 ns. Beide haben II=1 und liefern ungefähr 153.8 beziehungsweise 285.7 Millionen Transaktionen pro Sekunde. Trotzdem kann die Verzögerung eines einzelnen Elements von 6.5 auf sieben Nanosekunden steigen. Dies sind veranschaulichende Berechnungen, keine gemessenen Implementierungszeiten.

Die langsamste Stufe begrenzt den Takt. Eine Aufteilung von fünf plus einer Nanosekunde ergibt geschätzt 5.5 ns und ist schlechter als eine ausgewogene Aufteilung. Zusätzliche Register verursachen auch Aufwand für Register, Verdrahtung und Steuerung; untersuchen Sie das tatsächliche Implementierungs-Timing.

Bei vier an Flanke 0 bis 3 übernommenen Eingaben werden die Ausgaben an Flanke 2 bis 5 übertragen. Anlauf und Leeren beeinflussen kurze Stapel. Definieren Sie das Messfenster. Mit Wartezyklen variiert die Latenz pro Transaktion und anliegende, aber nie übernommene Eingaben zählen nicht. Erfassen Sie Eingabeübernahmen, Ergebnisausgaben und Wartezyklen getrennt, bevor Sie einen vermuteten Engpass optimieren.

Selbst ausprobieren

Bestimmen Sie dauerhaften Durchsatz und Ausgabelatenz einer dreistufigen Pipeline mit II=1 und einer Taktperiode von vier Nanosekunden. An welcher Flanke wird die fünfte Ausgabe übertragen, wenn die erste Eingabe an Flanke 0 übernommen wird?

Erklärung lesen

Der Durchsatz beträgt 250 Millionen Transaktionen pro Sekunde und die Latenz 12 ns. Die fünfte Eingabe wird an Flanke 4 übernommen und an Flanke 7 ausgegeben, sofern keine Wartezyklen auftreten.

Deine Auswahl gilt für diesen Browser. Du kannst sie jederzeit in der Fußzeile ändern.