10 / 24 · Konzept
Latenz, Durchsatz und Initiierungsintervall
Berechnen Sie die Verzögerung einer einzelnen Transaktion getrennt von der dauerhaften Abschlussrate.
Lektionen sind frei lesbar. Schreibe dich ein, um deinen Fortschritt zu speichern.
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.
| Struktur | Ausgabelatenz | II | Dauerhafter Durchsatz ohne Wartezyklen |
|---|---|---|---|
| Operator mit einem Register | 1 Takt | 1 | 1 Transaktion/Takt |
| Zweistufige Pipeline | 2 Takte | 1 | 1 Transaktion/Takt |
| Gemeinsam genutzte Berechnung über vier Flanken | Abhängig vom Schnittstellenablauf | Größer als 1 | Weniger 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.