Forum: Mikrocontroller und Digitale Elektronik Arithmetisch logische Einheit in CPU


von Hans M. (anno)


Lesenswert?

Hallo zusammen,

es gibt ja eine Arithmetisch logische Einheit (ALU) in der CPU.

Wenn man diese bspw. mit UND- und XOR-Gattern aufbaut bekommt man ja 
einen Addierer bzw. Subtrahierer hin.

Wie sieht es aber aus, wenn man anstatt UND-Gatter ODER-gatter 
verwendet. Ist das dann immer noch ein Addierer bzw. Subtrahierer oder 
hat das Teil dann andere Funktionen?

Denn ich finde nirgends ein Beispiel mit Oder Gattern.

von De Morgan (Gast)


Lesenswert?

De Morgan? schonmal was von Full-NAND bzw. NOR gehört?

von mr. mo (Gast)


Lesenswert?

wenn du es 1 zu 1 mit den anderen gattern aufbaust, dann wird die 
funktion wohl anders sein.

man muss aber auch wissen, das in der praxis kein subtrahierwerk 
vorhanden ist. die subtraktion wird auf eine addition mit einer 
negativen zahl zurückgeführt.

von Hans M. (anno)


Lesenswert?

ja, davon schon, aber welche funktionalität ist das dann wenn ich es 
austausche?

multiplikation ....?

von Floh (Gast)


Lesenswert?

Hans Müller schrieb:
> es gibt ja eine Arithmetisch logische Einheit (ALU) in der CPU.
ja.
> Wenn man diese bspw. mit UND- und XOR-Gattern aufbaut bekommt man ja
> einen Addierer bzw. Subtrahierer hin.

Du meinst so:
Summe = a exor b
Übertrag = a und b

allerdings fehlen hier sowieso die Überträge von den niedrigeren 
Stellen.

> Wie sieht es aber aus, wenn man anstatt UND-Gatter ODER-gatter
> verwendet. Ist das dann immer noch ein Addierer bzw. Subtrahierer oder
> hat das Teil dann andere Funktionen?

Es ändert sich ja die Gleichung, also wird was anderes sein.

> Denn ich finde nirgends ein Beispiel mit Oder Gattern.

Naja wenn man EXOR hat, nimmt kein Mensch beim Addierer das normale OR, 
weil der Fall a=1 und b=1 dann wieder mühsam weggemacht werden muss.
:-)

von Murkser (Gast)


Lesenswert?

Hallo,

so wie ich die Frage verstanden habe ist die Fragestellung ziemlich 
sinnlos. Willst Du wirklich wissen was passiert, wenn Du beispielsweise 
alle AND-Gatter mit OR-Gattern austauschst? Das ist so ähnlich als ob Du 
fragst, was passiert, wenn Du bei einem Auto alle Schrauben durch Nägel 
austauschst. Von weit weg sieht es noch wie ein Auto aus, aber sobald Du 
dem Ex-Gefährt näherkommst, fällt der Blechhaufen in sich zusammen...

Murkser

von (prx) A. K. (prx)


Lesenswert?

Hans Müller schrieb:

> Wie sieht es aber aus, wenn man anstatt UND-Gatter ODER-gatter
> verwendet.

Der Computer der Apollo-Kapsel und der Mondladefähre aus den 60ern wurde 
mit einem einzigen Gatter/IC-Typ aufgebaut. Das war ein NOR-Gatter mit 3 
Eingängen.

Allerdings geht das nicht mit jedem Gattertyp. Mit NAND geht das, mit 
NOR geht das, mit Open-Collector-Invertern geht das. Aber 
ausschliesslich mit AND-Gattern geht das nicht, ebensowenig mit OR oder 
XOR Gattern.

Warum das so ist, das erklärt dir Augustus De Morgan.

von Hans M. (anno)


Lesenswert?

Mal angenommen ich habe so eine ALU http://analyseandbet.de/alu.png

das wäre ja ein Addierer-Subtrahierer. Wenn ich jetzt das UND in ein 
ODER Gatter tausche, ist es natürlich kein Addierer-Subtrahierer mehr. 
Aber was ist es dann?

von Floh (Gast)


Lesenswert?

Hans Müller schrieb:
> Aber was ist es dann?

Logisches Oder?
Mals dir auf, mach eine Wahrheitstabelle und find es selbst raus.
:-)

von Falk B. (falk)


Lesenswert?

q  Hans Müller (anno)

>ODER Gatter tausche, ist es natürlich kein Addierer-Subtrahierer mehr.
>Aber was ist es dann?

UNSINN!

von (prx) A. K. (prx)


Lesenswert?

Hans Müller schrieb:

> Mal angenommen ich habe so eine ALU http://analyseandbet.de/alu.png

Die dort gezeigten Gatter haben allerdings mit der Grundfunktion nur 
bedingt zu tun. Sie helfen dabei, den Addierer auch als Subtrahierer 
verwenden zu können und sie ermöglichen es, jeden Operanden als 0 
ansehen zu können egal was anliegt.

Der interessantere Teil steckt in den grossen Kasten.

> das wäre ja ein Addierer-Subtrahierer. Wenn ich jetzt das UND in ein
> ODER Gatter tausche, ist es natürlich kein Addierer-Subtrahierer mehr.

Doch. Das ist in diesem Fall eine ALU, bei der du die Operanden auf 1 
zwingen kansst, statt auf 0.

von P. M. (o-o)


Lesenswert?

Hans Müller schrieb:
> Wie sieht es aber aus, wenn man anstatt UND-Gatter ODER-gatter
> verwendet. Ist das dann immer noch ein Addierer bzw. Subtrahierer oder
> hat das Teil dann andere Funktionen?

Tipp: Lies dich ein wenig in Digitallogik/-technik ein. Ist ein ganz 
interessantes Gebiet! Stichworte: Boolesche Logik, De-Morgan-Theorem, 
Min-/Maxterme, kanonische Normalform, Karnaugh-Diagramme. Später Latches 
und Flipflops sowie synchrone Taktung, danach auch Automaten (Mealy, 
Moore, Medwedew).

von (prx) A. K. (prx)


Lesenswert?

Hans Müller schrieb:

> Denn ich finde nirgends ein Beispiel mit Oder Gattern.

Schmeiss deinen gezeigten dich nur irreführenden 4fach Addierer weg (*) 
und denk einzelbitweise. Ein Addierer sieht dann Bit für Bit so aus: 
http://de.wikipedia.org/wiki/Volladdierer

Und nun ersetze die ungewünschten Gattertypen entsprechend De Morgan 
durch gewünschte.

*: Nochmal im Klartext: Beide Gattertypen deines Bildes haben mit der 
Addition rein garnichts zu tun. Dir XORs darin dienen nur dazu, die 
Subtraktion über Addition des Einerkomplements zu implementieren.

von Karl H. (kbuchegg)


Lesenswert?

Die Frage ist ungefähr genauso sinnvoll wie:
Wenn ich beim Pythagoras

    c^2 = a^2 + b^2

das Quadrat gegen eine 3. Wurzel austausche und anstelle von Addieren 
Dividiere, ist das dann immer noch ein Pythagoras?

Natürlich nicht!
Das ist dann irgendeine andere Formel, die in manchen Fällen vielleicht 
sogar vorkommen kann, aber mehr auch nicht.

Allerdings.
Um einen pythagoras zu machen, benötigt man nicht unbedingt eine 
Potenzfunktion. Man kann sie so ersetzen

   c = sqrt( a * a + b * b )

d.h. man die Potenzierung durch eine funktional gleichwertige andere 
Operation ersetzt. Und genau hier sind wir dann beim bereits 
angesprochenen De Morgan. Der sagt dir wie du boolsche Operationen durch 
andere boolsche Operationen ersetzen kannst, so dass sich an der 
Gesamt-Funktionalität selber nichts ändert.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.