Pipeline-Addierer mit mehreren Operanden

Um zu erklären, wie ein Pipeline-Multioperanden-Addierer implementiert werden könnte, zeigt mein Buch das unten gemeldete Bild. Die Idee ist, drei Addierer mit einer 4-stufigen Pipeline zu verwenden. Ich habe jedoch versucht, selbst ein einfaches Zeitdiagramm zu erstellen, um zu überprüfen, ob ich gut verstanden habe, was mein Buch bedeutet, aber ich kann kein Zeitdiagramm schreiben, daher bin ich mir ziemlich sicher, dass ich das Konzept nicht gut verstanden habe.

Also ... Frage, wie dieses Bild interpretiert werden sollte? Praktisches Beispiel?

Geben Sie hier die Bildbeschreibung ein

Ich berichte, was meine Referenz sagt: Abbildung 8.3 (die von mir gepostete) zeigt, dass, wenn der Addierer als vierstufige Pipeline implementiert ist, drei Addierer verwendet werden können, um den maximal möglichen Durchsatz von einem Operanden pro Taktzyklus zu erreichen. Obwohl der Taktzyklus jetzt aufgrund des Pipelining kürzer ist, bleibt die Latenzzeit vom ersten Eingang bis zum letzten Ausgang bei h-stufigem Pipelining für jedes feste h asymptotisch gleich.

Ich denke, wir brauchen etwas mehr Kontext für dieses Diagramm. Anstatt es einen "Multioperanden-Addierer" zu nennen, sieht es eher so aus, als ob es beabsichtigt ist, eine Sliding-Window-Summe über einen sequentiellen Strom von Werten zu berechnen - dh eine Art FIR-Filter.
Ich weiß nicht, wie und warum Sie einen FIR-Filter für dieses Diagramm abgeleitet haben, aber ich stimme zu, dass dieses Diagramm überhaupt nicht gut ist.

Antworten (1)

xwird um 1 Zyklus verzögert und das verzögerte Signal aufgerufen X 1 (ist eins älter als x). Die Berechnung scheint 4 Zyklen zu dauern, weil das Ergebnis benannt ist X 4 + X 5 (es ist X + X 1 aber ab 4 Zyklen vorher).

Dieses Schema wird in Stufe 2 wiederholt, jedoch mit einer Verzögerung von 2 Zyklen bei Operand 1. Das Ergebnis von Stufe 2 wurde aus x vor 8, 9, 10 und 11 Zyklen berechnet (sagt das Bild).

Die Endsumme summiert alle Eingaben. Ich denke, es ist kein gleitendes Fenster, weil es immer inkrementiert.

Die resultierende Summe heißt s, aber es liegt ein Fehler vor.
(a) Das ist immer eine von der Verzögerung unabhängige Summe, daher ist der Index -12 irrelevant. ODER
(b) Dem Index soll das erste Ergebnis ungleich Null gespendet werden. Dann muss der Index -15 sein, weil Stufe 3 auch einen Addierer mit 4 Zyklen Verzögerung verwendet.

Ich denke, der richtige Name muss sein S 15 .

Es ist ein Multioperand, bei dem jedes x(i) bei jedem Taktzyklus weitergegeben wird. Ich werde die Erklärung berichten
Bitte schauen Sie sich das Update zu meiner ursprünglichen Frage an.