Übungsblatt 5
01.07.2008 10:51:43
Eine Frage zu Aufgabe 4:

Müssten die Eingänge beim n-Bit Addierer nicht eigentlich nur bis n-1 gehen?
Ansonsten wär das doch ein n+1 Bit Addierer ohne Carry-out, oder?
Re: Übungsblatt 5
01.07.2008 12:30:14
Hallo,

wenn wir n Eingänge und n+1 Ausgänge hätten, gäbe es keinen Überlauf. Da aber i. d. R. Rechner mit festen Bitbreiten rechnen, muss das Ergebnis wieder mit n Bits dargestellt werden. Dann können jedoch Überläufe auftreten. Kriterien, wann bei der Addition von Zweierkomplementzahlen ein Überlauf vorliegt, wurden in TI behandelt.

Bei Zweierkomplementzahlen ist es üblich, a_n als Vorzeichenbit zu nehmen und a_{n-1},...,a_0 als die eigentliche Zahl. Man kann den Addierer dafür natürlich auch als (n+1)-Bit-Addierer ansehen.

Gruß,
Ralf.
Re: Übungsblatt 5
02.07.2008 10:17:31
Hallo Ralf,

Was bedeutet eigentlich der gültige Zahlenbereich von -2^n bis 2^n -1?
Heißt das an der Ausgabe dürfen nur Werte in diesem Bereich rauskommen?
Wenn das so ist, dann muss die Ausgabe n+1 Bit haben, weil diese Zahlen im Zweierkomplement nicht mit n Bit darstellbar sind. Falls das nicht so ist verstehe ich nicht, was die Angabe bedeuten soll.
Die Ergebnisse, die bei der Addition rauskommen können liegen nämlich zwischen -2^n und 2^n -2.

Also antweder ich verstehe die Frage komplett falsch, oder sie enthält einen Fehler.
Denn wenn man dann wirklich auch als Ausgabe nur n Bit verwenden darf, wozu dann diese Schranken,
die n+1 Bits benötigen?

Und wenn ich wirklich n+1 Bits an der Ausgabe haben darf, warum darf ich dann intern nicht einfach einen "normalen" Addierer mit carry_out benutzen?

Nach dem was du geschrieben hast, nehme ich mal an, dass an der Ausgabe nur n Bits sein dürfen, oder?
Dann müsste der zulässige Bereich für die Ausgabe -2^(n-1) bis 2^(n-1)-1 lauten, oder?

Danke schonmal!
Re: Übungsblatt 5
02.07.2008 10:42:52
Hi,

da haben wir wohl aneinander vorbei geschrieben, sorry.

Ich habe oben geschrieben:

"Bei Zweierkomplementzahlen ist es üblich, a_n als Vorzeichenbit zu nehmen und a_{n-1},...,a_0 als die eigentliche Zahl."

Das sind n+1 Bits. Der darstellbare Zahlenbereich für eine solche Zahl [a_n,...,a_0] ist (-2^n,...,2^n - 1), also genau der, der auf dem Zettel angegeben ist. Bei der Darstellung des Addierers aus Abb. 3 auf Blatt 5 sind als Eingänge ebenfalls a_n,...a_0 bzw. b_n,...,b_0 angegeben und als Ausgänge s_n,...s_0.
Ich gebe zu, die Angabe "n-Bit-Addierer" ist wohl mindestens etwas verwirrend. Ersetze es durch "(n+1)-Bit-Addierer ohne Carry-Out". Dann sollte alles konsistent sein.

Da die Schaltung mit n Eingängen und n Ausgängen (a_{n-1},...a_0 bzw. b_{n-1},...b_0 und s_{n-1},...s_0) bis auf die Tatsache, dass dann ein paarmal ein "-1" dasteht, mit der anderen identisch ist, darfst Du auch diese Variante nehmen. Wichtig ist nur, dass die Bitbreite der Zahlen vor und nach der Addition gleich ist.

Gruß,
Ralf.
Re: Übungsblatt 5
02.07.2008 11:28:55
Alles klar, ich denke damit komm ich weiter.

Vielen Dank für die Erklärung!

Gruß,
Thomas