Arithmetische und logische Einheit

Die arithmetisch-logische Einheit ( ALU , englisch arithmetic-logic unit , ALU) ist der Computerkörper, um die Berechnungen durchzuführen. In den meisten Fällen ist die UAL in der Zentraleinheit oder im Mikroprozessor enthalten .

Verschiedene Arten von UAL

Die UALs können spezialisiert sein oder nicht. Elementare UALs berechnen mit ganzen Zahlen und können allgemeine Operationen ausführen, die in vier Gruppen unterteilt werden können:

  1. Rechenoperationen: Addition, Subtraktion, Vorzeichenwechsel usw.
  2. logische Operationen: Einsen, Zweien und, oder, oder-ausschließlich, nein, nicht-und usw.
  3. Vergleiche: Gleichheitsprüfung, überlegen, unterlegen und deren Äquivalente "oder gleich".
  4. möglicherweise Verschiebungen und Rotationen (aber manchmal werden diese Operationen externalisiert).

Einige UAL mit Spezialisierung auf die Manipulation Zahlen in Gleitkomma , einfacher oder doppelter Genauigkeit (wir sprechen von Floating-Point - Einheit (UVF auf Englisch Gleitkommaeinheit , FPU) oder in den Berechnungen Vektor . Typischerweise sind diese Einheiten wissen , wie die folgenden Operationen auszuführen :

Einige UALs, meistens der FPU- Klasse , insbesondere die von Supercomputern, bieten wahrscheinlich erweiterte Funktionen:

Moderne Prozessoren verwenden mehrere UALs, mindestens zwei: ein in der Lage Steuerweg der inkrementieren Programmregister (mit 1, 2, 4 oder 8 typischerweise) und einem weiteren in dem Datenpfad , die Informationen zu verarbeiten. Um ihre Leistung zu steigern, werden sie meistens in Pipelines ausgeführt .

Bewertung

Die nebenstehende Abbildung zeigt ein klassisches Diagramm von UAL. Dieser hat zwei Eingänge A und B, an denen die zu verarbeitenden Daten präsentiert werden. Der Eintrag F bezeichnet die durchzuführende Operation.

Schließlich hat die UAL zwei Ausgänge, R das Ergebnis der Operation und D die möglichen Flags.

Flaggen (D)

Es gibt verschiedene Flags, die entweder einen Fehler im Ergebnis (Division durch Null, Speicherüberlauf usw.) oder Bedingungscodes (höher, niedriger, gleich Null usw.) definieren.

Die meisten UALs haben Flags mit unterschiedlichen Bedeutungen, hier einige Beispiele:

Beispiele

4-Bit-UAL 74181 (TTL)

Hier ist zum Beispiel eine UAL, die weit verbreitet war, als nur integrierte TTL- Schaltungen verfügbar waren: die 74181, eine 4- Bit- UAL . Diese Schaltung soll in Kaskade mit anderen geschaltet werden, um ganze Zahlen größer als 4 Bit zu verarbeiten . Es ist die Grundlage von Alto UALs und in vielen PDP-11 (16- Bit ) Modellen .

Seine Wahrheitstabelle, die beschreibt, welche Operation gemäß den Werten der Eingänge M und S ausgeführt wird.

Funktion M = 1 M = 0
S3 S2 S1 S0 Logische Operation Cn = 0 Cn = 1
0 0 0 0 F = kein A F = A F = A + 1
0 0 0 1 F = nein (A oder B) F = A oder B F = (A oder B) + 1
0 0 1 0 F = (nicht A) und B F = A oder (nicht B) F = (A oder (nicht B)) + 1
0 0 1 1 F = 0 F = - 1 F = 0
0 1 0 0 F = nein (A und B) F = A + (A und (nicht B)) F = A + (A und (nicht B)) + 1
0 1 0 1 F = kein B F = (A oder B) + (A und (nicht B)) F = (A oder B) + (A und (nicht B)) + 1
0 1 1 0 F = A x oder B F = A - B - 1 F = A - B
0 1 1 1 F = A und (nicht B) F = (A und (nicht B)) - 1 F = A und (nicht B)
1 0 0 0 F = (nicht A) oder B F = A + (A und B) F = (A + (A und B)) + 1
1 0 0 1 F = nein (A x oder B) F = A + B F = A + B + 1
1 0 1 0 F = B F = (A oder (nicht B)) + (A und B) F = A oder (nicht B) + (A und B) + 1
1 0 1 1 F = A und B F = (A und B) - 1 F = A und B
1 1 0 0 F = 1 F = A + (A << 1) F = A + A + 1
1 1 0 1 F = A oder (nicht B) F = (A oder B) + A F = (A oder B) + A + 1
1 1 1 0 F = A oder B F = (A oder (nicht B)) + A F = A (nicht B) plus A plus 1
1 1 1 1 F = A F = A - 1 F = A

Achtung: Diese Tabelle kann Fehler enthalten.

Das Diagramm dieser Schaltung ist unten angegeben.

Verwendung von 4 zu 1 Multiplexern als UAL

Die Multiplexer- Technik wird in der UAL der IBM 7030 "Stretch" ( 1961 ) verwendet. Das Konzept basiert auf der wohlüberlegten Wahl des Funktionscodes F: Er entspricht auch dem Ergebnis der gewünschten Operation. Um beispielsweise ein UND zu bilden, wählen wir den Code F = 0001, der der Ergebnisspalte der Wahrheitstabelle von und der Logik entspricht. In ähnlicher Weise nehmen wir für eins oder F = 0111, für eins oder ausschließlich F = 0110 usw.


BEIM B A UND B
0 0 0
0 1 0
1 0 0
1 1 1

Für jedes zu verarbeitende Bitpaar werden die vier Signale konstruiert , , und . Diese Signale werden dem Eingang eines Multiplexers zugeführt, dessen Eingang F ist. Dies kommt daher der Anwendung der betreffenden Logikfunktion gleich.

Das folgende Beispiel zeigt einen solchen Zwei-Bit-Multiplexer. Der erste Multiplexer nimmt als Eingabe die beiden niederwertigsten Bits von A und B. Sie werden verwendet, um eine der Zeilen von F auszuwählen: 00 wählt die erste Zeile aus, 01 die zweite und so weiter. Der zweite Multiplexer verhält sich auf die gleiche Weise mit den beiden höchstwertigen Bits von A und B:

Das obige Diagramm der 4 zu 1 Multiplexer basiert auf vollständig standardmäßigen integrierten TTL- Schaltungen , deren Referenzen angezeigt werden. Dies sind NICHT-, UND- und NOR-Gatter.

Siehe auch

Verweise

  1. "  DSCPU ALU  " unter personal.denison.edu (abgerufen am 9. August 2016 )

Externe Links