logo

Was ist ALU (Arithmetic Logic Unit)?

Im Computersystem ist ALU eine Hauptkomponente der Zentraleinheit, die für Arithmetic Logic Unit steht und arithmetische und logische Operationen ausführt. Es wird auch als Ganzzahleinheit (Integer Unit, IU) bezeichnet, bei der es sich um einen integrierten Schaltkreis innerhalb einer CPU oder GPU handelt, der als letzte Komponente Berechnungen im Prozessor durchführt. Es ist in der Lage, alle Prozesse im Zusammenhang mit arithmetischen und logischen Operationen wie Addition, Subtraktion und Verschiebungsoperationen durchzuführen, einschließlich boolescher Vergleiche (XOR-, OR-, AND- und NOT-Operationen). Außerdem können Binärzahlen mathematische und bitweise Operationen ausführen. Die arithmetisch-logische Einheit ist in AU (arithmetische Einheit) und LU (logische Einheit) unterteilt. Die von der ALU verwendeten Operanden und Codes sagen ihr, welche Operationen gemäß den Eingabedaten ausgeführt werden müssen. Wenn die ALU die Eingabeverarbeitung abgeschlossen hat, werden die Informationen an den Speicher des Computers gesendet.

Was ist ALU?

Außer der Durchführung von Berechnungen im Zusammenhang mit Addition und Subtraktion verarbeiten ALUs die Multiplikation zweier Ganzzahlen, da sie für die Ausführung ganzzahliger Berechnungen konzipiert sind. daher ist sein Ergebnis auch eine ganze Zahl. Allerdings werden Divisionsoperationen üblicherweise nicht von ALU durchgeführt, da Divisionsoperationen möglicherweise zu einem Ergebnis in einer Gleitkommazahl führen. Stattdessen übernimmt normalerweise die Gleitkommaeinheit (FPU) die Divisionsoperationen; Auch andere nicht-ganzzahlige Berechnungen können von der FPU durchgeführt werden.

Darüber hinaus können Ingenieure die ALU so konzipieren, dass sie jede Art von Operation ausführen kann. Allerdings wird ALU mit zunehmender Komplexität der Vorgänge teurer, da ALU mehr Wärme vernichtet und mehr Platz in der CPU einnimmt. Aus diesem Grund haben Ingenieure leistungsstarkes ALU entwickelt, das die Sicherheit bietet, dass die CPU auch schnell und leistungsstark ist.

Die von der CPU benötigten Berechnungen werden von der Arithmetik-Logik-Einheit (ALU) durchgeführt; Die meisten Operationen sind logischer Natur. Soll die CPU leistungsstärker gemacht werden, ist diese auf Basis der ALU ausgelegt. Dann entsteht mehr Wärme und es wird mehr Leistung bzw. Energie benötigt. Daher muss die Komplexität und Leistungsfähigkeit von ALU in Maßen gehalten werden und darf nicht teurer sein. Dies ist der Hauptgrund dafür, dass schnellere CPUs teurer sind; Daher verbrauchen sie viel Strom und vernichten mehr Wärme. Arithmetische und logische Operationen sind die Hauptoperationen, die von der ALU ausgeführt werden. Es führt auch Bitverschiebungsoperationen durch.

Obwohl die ALU eine Hauptkomponente des Prozessors ist, können Design und Funktion der ALU bei den verschiedenen Prozessoren unterschiedlich sein. Einige ALUs sind beispielsweise nur für die Durchführung von Ganzzahlberechnungen konzipiert, andere für Gleitkommaoperationen. Einige Prozessoren umfassen eine einzelne arithmetische Logikeinheit zur Durchführung von Operationen, andere enthalten möglicherweise zahlreiche ALUs zur Durchführung von Berechnungen. Die von ALU durchgeführten Operationen sind:

    Logische Operationen:Die logischen Operationen bestehen aus NOR, NOT, AND, NAND, OR, XOR und mehr.Bitverschiebungsoperationen:Es ist für die Verschiebung der Bitpositionen nach rechts oder links um eine bestimmte Anzahl von Stellen verantwortlich, was als Multiplikationsoperation bezeichnet wird.Rechenoperationen:Obwohl es Multiplikationen und Divisionen durchführt, bezieht sich dies auf Bitaddition und -subtraktion. Multiplikations- und Divisionsoperationen sind jedoch kostspieliger. Anstelle der Multiplikation kann auch die Addition als Ersatz und die Subtraktion die Division ersetzen.

Signale der Arithmetisch-Logischen Einheit (ALU).

Die ALU enthält eine Vielzahl elektrischer Eingangs- und Ausgangsverbindungen, was dazu führte, dass die digitalen Signale zwischen der externen Elektronik und der ALU übertragen wurden.

Der ALU-Eingang erhält Signale von den externen Schaltkreisen, und als Reaktion darauf erhält die externe Elektronik Ausgangssignale von der ALU.

int parseint

Daten: Die ALU enthält drei parallele Busse, die zwei Eingangs- und Ausgangsoperanden umfassen. Diese drei Busse verarbeiten die Anzahl der Signale, die gleich sind.

Opcode: Wenn die ALU die Operation ausführen wird, wird durch den Operationsauswahlcode beschrieben, welche Art von Operation eine ALU arithmetische oder logische Operation ausführen wird.

Status

    Ausgabe:Die Ergebnisse der ALU-Operationen werden von den Statusausgängen in Form von Zusatzdaten bereitgestellt, da es sich um Mehrfachsignale handelt. Normalerweise sind Statussignale wie Überlauf, Null, Übertrag, Negativ und mehr in allgemeinen ALUs enthalten. Wenn die ALU jeden Vorgang abschließt, enthalten die externen Register die Statusausgangssignale. Diese Signale werden in den externen Registern gespeichert, wodurch sie für zukünftige ALU-Operationen verfügbar gemacht werden.Eingang:Wenn ALU den Vorgang einmal ausführt, ermöglichen die Statuseingänge ALU den Zugriff auf weitere Informationen, um den Vorgang erfolgreich abzuschließen. Darüber hinaus wird der gespeicherte Übertrag aus einer vorherigen ALU-Operation als einzelnes „Übertragsbit“ bezeichnet.
Was ist ALU?

Konfigurationen der ALU

Nachfolgend wird beschrieben, wie ALU mit dem Prozessor interagiert. Jede arithmetisch-logische Einheit umfasst die folgenden Konfigurationen:

  • Befehlssatzarchitektur
  • Akkumulator
  • Stapel
  • Registrieren Sie sich, um sich zu registrieren
  • Stapel registrieren
  • Speicher registrieren

Akkumulator

Das Zwischenergebnis jeder Operation ist im Akkumulator enthalten, was bedeutet, dass die Befehlssatzarchitektur (ISA) nicht komplexer ist, da nur ein Bit gehalten werden muss.

Im Allgemeinen sind sie viel schneller und weniger komplex, aber um den Akkumulator stabiler zu machen; Die zusätzlichen Codes müssen geschrieben werden, um sie mit den richtigen Werten zu füllen. Leider ist es bei einem einzelnen Prozessor sehr schwierig, Akkumulatoren zu finden, um Parallelität auszuführen. Ein Beispiel für einen Akkumulator ist der Tischrechner.

Stapel

Immer wenn die letzten Operationen ausgeführt werden, werden diese auf dem Stapel gespeichert, der die Programme in der Reihenfolge von oben nach unten enthält, einem kleinen Register. Wenn die neuen Programme zur Ausführung hinzugefügt werden, drängen sie darauf, die alten Programme zu platzieren.

Register-Register-Architektur

Es enthält Platz für einen Zielbefehl und zwei Quellbefehle und wird auch als 3-Register-Operationsmaschine bezeichnet. Diese Befehlssatzarchitektur muss länger sein, um drei Operanden, 1 Ziel und 2 Quellen zu speichern. Nach Abschluss der Operationen wäre es schwierig, die Ergebnisse zurück in die Register zu schreiben, und außerdem sollte die Wortlänge länger sein. Allerdings kann es zu weiteren Problemen bei der Synchronisierung kommen, wenn an dieser Stelle die Rückschreibregel befolgt würde.

Die MIPS-Komponente ist ein Beispiel für die Register-zu-Register-Architektur. Für die Eingabe verwendet es zwei Operanden und für die Ausgabe eine dritte eindeutige Komponente. Der Speicherplatz ist schwer zu verwalten, da jeder einen eigenen Speicher benötigt. Daher muss es jederzeit Premium sein. Darüber hinaus kann es schwierig sein, einige Vorgänge auszuführen.

Registrieren – Stack-Architektur

Im Allgemeinen wird die Kombination von Register- und Akkumulatoroperationen als Register-Stack-Architektur bezeichnet. Die Operationen, die in der Register-Stack-Architektur ausgeführt werden müssen, werden oben auf dem Stapel abgelegt. Und die Ergebnisse werden ganz oben auf dem Stapel aufbewahrt. Mit Hilfe der Reverse-Polish-Methode können komplexere mathematische Operationen zerlegt werden. Einige Programmierer verwenden zur Darstellung von Operanden das Konzept eines Binärbaums. Das bedeutet, dass die Reverse-Polish-Methodik für diese Programmierer einfach sein kann, während sie für andere Programmierer schwierig sein kann. Um Push- und Pop-Operationen ausführen zu können, muss neue Hardware geschaffen werden.

Registrieren und Speicher

Bei dieser Architektur kommt ein Operand aus dem Register und der andere aus dem externen Speicher, da es sich um eine der kompliziertesten Architekturen handelt. Der Grund dafür ist, dass jedes Programm sehr lang sein kann, da es im vollen Speicherplatz gehalten werden muss. Im Allgemeinen ist diese Technologie in die Register-Register-Register-Technologie integriert und kann praktisch nicht separat verwendet werden.

Scanner Java

Vorteile von ALU

ALU hat verschiedene Vorteile, die wie folgt sind:

  • Es unterstützt parallele Architektur und Anwendungen mit hoher Leistung.
  • Es ist in der Lage, die gewünschte Ausgabe gleichzeitig zu erhalten und Ganzzahl- und Gleitkommavariablen zu kombinieren.
  • Es ist in der Lage, Anweisungen für einen sehr großen Satz auszuführen und verfügt über einen hohen Genauigkeitsbereich.
  • Zwei arithmetische Operationen im selben Code wie Addition und Multiplikation oder Addition und Subtraktion oder zwei beliebige Operanden können von der ALU kombiniert werden. Für den Fall A+B*C.
  • Während des gesamten Programms bleiben sie einheitlich und sind so beabstandet, dass sie keinen Teil dazwischen unterbrechen können.
  • Im Allgemeinen ist es sehr schnell; Daher liefert es schnell Ergebnisse.
  • Mit ALU gibt es keine Empfindlichkeitsprobleme und keine Speicherverschwendung.
  • Sie sind kostengünstiger und minimieren die Anforderungen an Logikgatter.

Nachteile von ALU

Die Nachteile von ALU werden im Folgenden erläutert:

  • Bei der ALU kommt es bei Gleitvariablen zu mehr Verzögerungen und der entworfene Controller ist nicht leicht zu verstehen.
  • Die Fehler würden in unserem Ergebnis auftreten, wenn der Speicherplatz eindeutig wäre.
  • Für Amateure ist es schwierig, sie zu verstehen, da ihre Schaltung komplex ist; Außerdem ist das Konzept des Pipelinings komplex zu verstehen.
  • Ein nachgewiesener Nachteil von ALU besteht darin, dass es zu Unregelmäßigkeiten bei den Latenzen kommt.
  • Ein weiterer Nachteil ist das Abrunden, das sich auf die Genauigkeit auswirkt.