Altifigence Academy

41 / 63 · Konzept

Zykluslatenz und Durchsatz unterscheiden

Beobachtungsbezug einer N-stufigen Leitung definieren und Latenz sowie Durchsatz berechnen.

Den Startpunkt von „nach N Zyklen“ definieren

Ein an Flanke k in Bit 0 erfasstes Bit erreicht Bit N−1 eines N-Bit-SchieberegistersRegister Speichert einen Zustand aus mehreren Bits. Die synchronen Register dieses Kurses übernehmen festgelegte Eingaben an Taktflanken. Mehr erfahren an k+N−1. Zwischen erster und letzter Erfassung liegen N−1 Perioden.

Erzeugt dagegen ein vorgelagertes Register das neue Bit erst an k, erfolgt die erste Erfassung normalerweise an k+1; bis zum Ausgang sind es dann N Perioden. Unterschiedliche Startpunkte erklären die Angaben, sie widersprechen sich nicht.

Definieren wir d[k] als die an Flanke k angenommene Eingabe, gilt nach ausreichendem Füllen:

qi[k]=d[k−i],qN−1[k]=d[k−N+1]q_i[k]=d[k-i],\qquad q_{N-1}[k]=d[k-N+1]

Lange Latenz erlaubt trotzdem ein Ergebnis je Zyklus

Bei Periode T und einem Bit je Flanke ist der stationäre DurchsatzDurchsatz Anzahl angenommener oder abgeschlossener Aufgaben je Zeiteinheit. Eine Pipeline kann ihn erhöhen, ohne die Latenz einer einzelnen Aufgabe zu verkürzen. 1/T1/T Bit/s. Größeres N erhöht Tiefe und Latenz, aber der Durchsatz bleibt bei fortlaufender Annahme gleich.

Eine vierstufige Verzögerungsleitung bei 100 MHz hat 10 ns Periodendauer und 100 Mbit/s stationären Durchsatz. „Ein Bit braucht Zeit zum Durchlaufen“ bedeutet nicht „das nächste Bit muss so lange warten“.

Jede Spalte dokumentiert eine steigende FlankeSteigende Flanke Übergang des Takts von 0 auf 1. Nicht zu verwechseln mit dem gesamten hohen Pegelintervall CLK=1. Mehr erfahren. Eingänge gelten unmittelbar davor, Zustände mit „after“ unmittelbar nach der Aktualisierung. Die Spalten zeigen die Reihenfolge der Abtastungen, keine physische LaufzeitLaufzeit Zeit nach einer Eingangsänderung, bis der Ausgang auf dem richtigen Wert stabil ist. Logische Äquivalenz und zeitliche Eigenschaften sind getrennte Aussagen. Mehr erfahren. In der dreistufigen Leitung tritt A bei E0 in die erste Stufe ein und erreicht die letzte direkt nach E2. Gleichzeitig füllen B und C die vorderen Stufen. Striche markieren noch ungültige Plätze.

Von der ersten bis zur letzten Übernahme
Wellenformdaten anzeigen
Wellenformdaten: Jedes Zeichen steht für ein Intervall, ein Punkt hält den vorherigen Zustand und p ist ein Taktzyklus.
SignalWellenformBuswerte
edge2345E0 → E1 → E2 → E3
accepted2345A → B → C → D
stage0 after2345A → B → C → D
stage1 after2345- → A → B → C
stage2 after2.34- → A → B

Bei Stopps gültige Verschiebungen zählen

Flanken mit enable=0 oder accept=0 bewegen keine Bits. Dann ist keine feste Zeitlatenz, sondern nur eine Latenz in angenommenen Flanken definiert. valid muss unter derselben Bedingung wie Daten wandern, um Ausgangsgültigkeit anzuzeigen.

PipeliningPipeline Teilt Berechnungen durch Register in Stufen und verarbeitet mehrere Eingaben überlappend. Daten, valid und Steuersignale müssen stufengerecht ausgerichtet sein. Mehr erfahren nur als Latenzverkürzung zu erklären wäre irreführend. Häufig werden kombinatorische Pfade für höheren Takt aufgeteilt und dafür Registerstufen und Zykluslatenz hinzugefügt. Ein späterer Kurs vertieft den Flächen-, Leistungs- und Frequenzkompromiss.

Selbst ausprobieren

Ein Bit wird an Flanke 10 in Bit 0 einer 5-Bit-Leitung erfasst. Wann erreicht es ohne Stopps Bit 4, und wann mit zwei enable=0-Flanken dazwischen?

Erklärung lesen

Ohne Stopps an Flanke 14, mit zwei Stopps an 16. Nach der ersten Erfassung sind vier Verschiebungen nötig. Bezug ist die Erfassung in Bit 0, nicht die Aktualisierung eines externen Eingangsregisters.

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