Digitale Schaltungstechnik/ Addierer/ Alternativen/ Skip/ Rückspiegel

Aus Wikibooks
Zur Navigation springen Zur Suche springen
Titelseite
  1. Addierer
    1. Mehr-Bit Addierer
      1. BCD
    2. Binäre Quersumme
    3. mehrere Variablen
  2. Subtraktion
    1. kombiniertes Rechenwerk
  3. Alternative Addierer
    1. Carry-Ripple-Addierer
    2. Carry-Skip-Addierer
      1. Stufe 2 bis n
      2. Stufe 1
      3. Rückspiegel
    3. Carry-Look-Ahead-Addierer
    4. Serienaddierwerk

Problem[Bearbeiten]

Analyse[Bearbeiten]

Das wir immer von 000 an den Eingängen ausgingen, hatte Gründe, die wir nun hier ergründen.

Also, gehen wir davon aus, dass der vorherige Wert die Zusatzlogik getriggert hatte:

Adder Network 3 Bit Carry-Skip 030.svg
Nun ändern wir die Zahl so, dass der Übertrag der vorgehenden Stufe nicht mehr 1 ist: Adder Network 3 Bit Carry-Skip 031.svg
Beim Übertrag nehmen wir an, dass er durch die vorgehende Stufe 1200 ms verzögert wurde: Adder Network 3 Bit Carry-Skip 032.svg
Bis zum Oder-Gatter können wir wieder einfach rechnen:

Aber wie lange braucht nun das Oder zum Schalten?

Adder Network 3 Bit Carry-Skip 033.svg
Der Ausgang des Oders geht erst dann auf Null, wenn auch der Übertrag von der konventionellen Logik auf null geht! Adder Network 3 Bit Carry-Skip 034.svg
Nun, dies ist nun wirklich der Worst case und in diesem Fall ist unserer Carry Skip Addierer sogar langsamer als der Carry Ripple Addierer.

Lösung[Bearbeiten]

Wieso haben wir uns denn diesen Aufwand gemacht?

Um das zu verstehen müssen wir etwas ausschweifen: grosse Rechenwerke die wirklich zeitkritisch sind, werden nicht als Paralleladdierende TTL-Gräber aufgebaut sondern in Prozessoren intregiert. Jetzt muss man noch wissen, das eine CPU neben Rechnen auch vieles anderes macht, wie Daten lesen und Schreiben, Befehle dekodieren und so weiter. Sobald aber alle Daten bereitliegen, muss das Rechenwerk die Rechnung so schnell wie möglich lösen.

Aber wie löst das unser Problem?

Die Lösung ist verblüffend einfach: In den Takten, in denen der Prozessor sein Rechenwerk gerade nicht braucht, legt er einfach 000 an alle Eingänge. Das "Leeren" des Addierwerkes dauert gerade mal 400 ns, fällt also im Vergleich zum Berechnen also gar nicht mal so ins Gewicht.

Eigentlich ist es verblüffend: Obwohl wir das Addierwerk vor jeder Berechnung leeren müssen, ist es (aber einer gewissen Grösse) denoch schneller als ein konventionelles.

Optimierung[Bearbeiten]

In den Details gibt es bei der hier vorgestellten Schaltung noch Optimierungspotential, das wir hier aber nur in Stichwörtern wiedergeben:

Anwendungen[Bearbeiten]

Carry Skip Addierer für 4 Bit sind mit dem 74283 erhältlich.[1]


Quellen[Bearbeiten]

  1. http://ics.nxp.com/products/hc/datasheet/74hct283.pdf