Eine arithmetisch-logische Einheit (Arithmetic-Logic Unit -
In der Regel hat die ALU den direkten I/O-Zugriff auf den Prozessor-Controller, den
Der Operationscode teilt der ALU die durchzuführende Operation mit und gibt die bei der Operation zu nutzenden Operanden bekannt. (Zum Beispiel könnte es darum gehen, zwei Operanden zu addieren oder logisch zu vergleichen.)
Das Format kann mit dem Opcode kombiniert werden und teilt mit, ob es sich um eine feste oder Fießkommaanweisung handelt. Die Ausgabe besteht aus dem Ergebnis, das in ein Speicherregister gestellt wird und aus Einstelllungen, die angeben, ob die Operation erfolgreich durchgeführt wurde. (Wenn nicht, wird ein Status an einer permanenten Speicherstelle gespeichert, den man auch als Maschinen-Statuswort bezeichnet.)
Im Allgemeinen umfasst die ALU auch Speicherplätze für Input-Operanden, Operanden, die gerade addiert werden, das akkumulierte Ergebnis sowie die verschobenen Ergebnisse. Der Bitstrom sowie die in den Untereinheiten der ALU damit ausgeführten Operationen werden durch Gatterschaltkreise gesteuert. Die Gatter in diesen Schaltkreisen werden durch eine sequenzielle Logikeinheit gesteuert, die einen bestimmten Algorithmus oder Sequenz für jeden Opcode verwendet.
In der Arithmetikeinheit werden Multiplikationen und Divisionen durch reihenweises Addieren oder Subtrahieren sowie durch Verschiebungen durchgeführt. Es gibt einige Methoden, um negative Zahlen abzubilden. Die Logikeinheit kann eine von 16 möglichen Logikoperationen durchführen – beispielsweise den Vergleich von zwei Operanden und die Erkennung von nicht übereinstimmenden Teilen.
Das Design der ALU ist natürlich kritisch für den Prozessor und neue Ansätze zur Beschleunigung der Verarbeitung von Anweisungen werden kontinuierlich entwickelt.