41 / 63 · Konzept
Zykluslatenz und Durchsatz unterscheiden
Beobachtungsbezug einer N-stufigen Leitung definieren und Latenz sowie Durchsatz berechnen.
Lektionen sind frei lesbar. Schreibe dich ein, um deinen Fortschritt zu speichern.
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:
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. 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.
Wellenformdaten anzeigen
| Signal | Wellenform | Buswerte |
|---|---|---|
| edge | 2345 | E0 → E1 → E2 → E3 |
| accepted | 2345 | A → B → C → D |
| stage0 after | 2345 | A → B → C → D |
| stage1 after | 2345 | - → A → B → C |
| stage2 after | 2.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.