Gatterlaufzeiten und Grundgatter für Addierer

Erste Frage Aufrufe: 230     Aktiv: 07.01.2024 um 10:21

0
  1. Wie viele Gatterlaufzeiten sind erforderlich, um die Summe von zwei 4-Bit-Dualzahlen mit einem Addierer zu berechnen? Wie viele Grundgatter werden für den Aufbau dieses Addierers benötigt?
  2. Wie viele Gatterlaufzeiten benötigt ein Ripple Carry Addierer für 8 Bit und für 16 Bit, um das Ergebnis zu berechnen? Bestimmen Sie die Anzahl der Grundgatter, die für den Aufbau dieser beiden Ripple Carry Addierer benötigt werden.

Kann mir das bitte einer erklären wie man hier am besten vorgeht und den entsprechenden Lösungsweg erklären. Würde mich sehr freuen!

Diese Frage melden
gefragt

Punkte: 10

 

Hallo info27, kannst du präzisieren was mit Gatterlaufzeit gemeint ist? 1 Gatter == 1 Laufzeit oder 1 Gatter sind z.B. 35 Nanosekunden? Weiß man wie der Addierer aussieht? Ich habe Beispiele (Wikipedia) mit 4 UND, 4 ODER und 1 Inverter oder 9 NAND, bzw. 9 NOR gesehen. Ist evtl. ein 74xx83 vorgegeben? Gruß jobe.

  ─   jobe 05.01.2024 um 14:55

Ja 1 Gatter== 1Laufzeit. Der Addierer sieht aus, wie bei Wikipedia, wenn man 4-Bit-Carry-Ripple-Addierer eingibt kommt (Aufbau: 4 Volladdierer). Schon mal vielen Dank für Ihr Arrangement!

  ─   info27 06.01.2024 um 14:36
Kommentar schreiben
1 Antwort
0

Hallo info27, in Wikipedia steht ja schon sehr viel Interessantes zu diesem Thema. Empfehlenswert das sich mal durchzulesen. Nun zu deinen Fragen. 1. der Addierer: Das einfache Addieren zweier Bits (Halbaddierer bei 2^0) ist eine EXOR Operation. Das wird durch ein Gatter, also eine Gatterlaufzeit (GLZ) erledigt. Allerdings kann dabei ein Übertrag (carry) entstehen. Das kann man durch ein UND Gatter herausfinden. Da aber das EXOR und das UND parallel arbeiten bleibt es bei einer GLZ. Das war aber erst 1 Bit. Wenn du die nächste binäre Stelle addieren willst, also 2^1, musst du das carry Bit der ersten Addition berücksichtigen und das ist dann ein Volladdierer. Der liefert nicht nur das Ergebnis und das carry wie der Halbaddierer sondern berücksichtigt als 3tes Bit noch einen carry Eingang. Dazu braucht es 2 Halbaddierer und ein ODER Gatter. Der erste Halbaddierer addiert deine beiden Bits. Das Ergebnis wird dem zweiten Halbaddierer zur Verfügung gestellt der dann den carry Eingang dazu addiert und das Ergebnis ausgibt. Das ODER Gatter verODERt die beiden carry Ergebnisse der Halbaddierer. Die carrys stehen aber erst nach den beiden Halbaddierern fest die ja selber einer nach dem anderen das korrekte Ergebnis liefern kann. Damit hast du also (maximal) 3 GLZ bis das endgültige Ergebnis feststeht. Addierst du jetzt 2x4, also 8 Bit musst du warten, bis das carry Bit durch alle Instanzen geschoben ist. Wenn du nur Volladdierer benutzt brauchst du immer 3 GLZ. 2^0 braucht also 3 GLZ. 2^1 braucht dann wieder 3 GLZ und so weiter. Zwar werden die Daten parallel verarbeitet (addiert), aber das endgültige Ergebnis steht erst dann fest, wenn das carry Bit der vorigen Operation sicher bestimmt ist. Somit hast du dann maximal 3 GLZ * 8 Bit. Wie viele Gatter benötigt werden hängt von der Realisierung ab. Oft ist es für den Hersteller einfacher immer dieselbe Art von Gatter (NAND oder NOR) zu benutzen als verschiedene Typen (EXOR, UND ODER) im ICs zu realisieren. Daher würde ich die Frage „akademisch“ beantworten und die Gatter des beschriebenen Volladdierers zu Grunde legen, also 2 EXOR, 2 UND und 1 ODER je Volladdierer. 2. Ripple Carry Addierer: Das ist der einfachste Addierer. Genau den habe ich unter 1. beschrieben. Damit solltest du jetzt alle Fragen beantworten können. Wie immer gilt: bei Fragen, fragen. Gruß jobe

Diese Antwort melden
geantwortet

Sonstiger Berufsstatus, Punkte: 505

 

Kommentar schreiben