PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : wie funzt (zB) eine einfache additions logik?


ethrandil
2002-07-29, 13:52:11
hmm...
ja, das hat mich schon immermal interessiert.
wie sieht so eine prozessorinterne schaltung aus, die addieren kann???
wie bekommt sie die daten?
wenn das jemand weiß (respekt!) dann postet es doch mal ... ich habe nichts gegen illustration ... oder entsprechende URLs.
mfg ethrandil

Olodin
2002-07-29, 14:00:05
Das ganze wird mit logischen Verknüpfungen realisiert.
Mal zwei pdf links dazu:
http://www.informatik.hu-berlin.de/~mwerner/lec/robin/arith.pdf
http://www.delta.uni-dortmund.de/scripts/Elektronik_SS01/ELEKT_10.PDF

Vielleicht kannst damit was anfangen. :)

Marcel
2002-07-29, 14:18:21
Addiert wird bitweise, mit Halb- bzw. Voll-Addierern.

Ein Halb-Addierer hat zwei Eingänge, hier mal x und y genannt (zwei Bits gleicher Wertigkeit in den zu addierenden Zahlen), und zwei Ausgänge, mal s und u gennant.
s ist die Summe, ist einfach, s = x XOR y = (x AND NOT y) OR (NOT x AND y).
u ist der Überlauf, auch einfach, u = x AND y.

Damit haste aber nur ein Bit addiert; ab dem zweiten muss der Überlauf beachtet werden.

Dafür nimmt man Voll-Addierer, die einen zusätzlichen Eingang (nennwa ma u') haben, einen Überlauf-Eingang.
Ein Voll-Addierer besteht aus zwei Halb-Addierern.
Halb-Addierer 1 hat x und y als Eingang; HA2 hat u und die Summe aus HA1 als Eingang. Die Summe aus HA2 ergibt dann s (die Summe des Voll-Addierers), und die beiden Überläufe verORt ergeben u'.
Wenn Du zur Addition zweier n Bit breiten Integers also 1 HA und n-1 VA nebeneinander setzt, nennt man das Carry Ripple Adder.
Problem: Bit n kann erst berechnet werden, wenn Bit n-1 (das rechts davon) berechnet wurde, wegen dem Überlauf. Je breiter die Zahl ist, desto langsamer ist das also.
Man kann aber für jede Stelle i die Überläufe aller i-1 Additionen rechts davon in zwei Schritten (einmal AND, einmal, OR, rundherum, das ist nicht schwor) berechnen. Wird nur immer komplexer (mehr AND- und OR-Gatter, also mehr Transistoren), je breiter die Zahlen sind.
nennt sich Carry Lookahed Adder.

Sprich: Je schneller, desto mehr Transistoren.

Mal ein Vergleich:
16Bit:
CRA: 128 Gatter, Laufzeit 33 (Einheit? k.A.)
CLA: 1168 Gatter, Laufzeit 3

64 Bit:
CRA: 512 Gatter, Laufzeit 129
CLA: 50240 Gatter, Laufzeit 3
(nach Giloi-Liebig)

Um noch eine Ebene tiefer zu gehen:
AND- und OR-Gatter werden aus wenigen Transistoren zusammengestöpselt (allerdings, glaube ich, meist als NAND- und NOR-Gatter, weil einfacher; dann einfach ein NOT dabei und alle sind glücklich).

Gruß,
Marcel

ethrandil
2002-07-29, 14:24:50
Originally posted by Marcel
Addiert wird bitweise, mit Halb- bzw. Voll-Addierern.

.
.
.

(allerdings, glaube ich, meist als NAND- und NOR-Gatter, weil einfacher; dann einfach ein NOT dabei und alle sind glücklich).

Gruß,
Marcel

:confused: :bonk:
aber danke für die schnellen antworten ... ich kämpf mich mal durch die Materie ... *puh*

mofa84
2002-07-29, 17:35:19
Originally posted by Marcel
Um noch eine Ebene tiefer zu gehen:
AND- und OR-Gatter werden aus wenigen Transistoren zusammengestöpselt (allerdings, glaube ich, meist als NAND- und NOR-Gatter, weil einfacher; dann einfach ein NOT dabei und alle sind glücklich).

Gruß,
Marcel Ob die CPUs auch nur NAND und NOR-Gatter haben weiss bzw. glaub ich nicht, es ist nur so dass die ICs die man im Laden kaufen kann nur NANDs und NORs sind, weil man aus diesen beiden Gattern alle anderen Gatter bauen kann und es deshalb billiger / einfacher für die Hersteller ist.

Marcel
2002-07-29, 19:33:51
Originally posted by mofa84
Ob die CPUs auch nur NAND und NOR-Gatter haben weiss bzw. glaub ich nicht,

Mit dem Spruch "Glauben heißt nicht genau wissen" habe ich mir mal eine Obegrenze für die Note im Religionsunterricht gesetzt, die jahrelang (bis zur letzten Relistunde) gültig war....

Originally posted by mofa84
es ist nur so dass die ICs die man im Laden kaufen kann nur NANDs und NORs sind, weil man aus diesen beiden Gattern alle anderen Gatter bauen kann und es deshalb billiger / einfacher für die Hersteller ist.

Sicher, sowohl {NAND} als auch {NOR} sind jeweils funktional vollständige Mengen, allerdings werden Schaltungen ziemlich fies komplex, wenn Du nur mit NAND bzw. NOR was bauen willst. Selbst die Nutzung von {NAND, NOR} wäre nicht wirklich sinnvoll, denn zumindestens wäre die Tatsache, dass ich ein NOT auch mit einem NAND oder mit einem NOR bauen kann, kein Grund, darauf zu verzichten.

Ein NAND oder ein NOR ist aber schon mit zwei Transistoren und einem Widerstand zu haben, ein NOT mit einem Transistor weniger; bekommt man ein AND auch anders hin als durch eine Kombination von einem NAND und einem NOT? Wenn nicht, dann hätte ich hier ein gutes Argument dafür, dass CPUs auch nur NANDs, NORs und NOTs inside haben, weshalb ich momentan noch daran glaube. (Auch wieder glauben i.S.v. nicht genau wissen, aber immerhin schonmal durch ein Argument gestützt.)

Gruß,
Marcel

mofa84
2002-07-29, 20:28:06
Originally posted by Marcel
Mit dem Spruch "Glauben heißt nicht genau wissen" habe ich mir mal eine Obegrenze für die Note im Religionsunterricht gesetzt, die jahrelang (bis zur letzten Relistunde) gültig war....Auf jeden Fall weiss ich dass du damit recht hattest! ;)

Marcel
2002-07-29, 20:37:06
Originally posted by mofa84
Auf jeden Fall weiss ich dass du damit recht hattest! ;)
Das glaubte ich bislang auch immer zu wissen.

Interessanter ist zu wissen, ob Glaube zwangsläufig das Wissen darüber, dass der Glaube nicht genaues Wissen enthält, ein- oder ausschließt. Aber spätestens, wenn man weder ein noch ausweiß, sollte man zu glauben anfangen.