Definition und Funktion:
 In der Computerarchitektur und insbesondere bei speicherprogrammierbaren Steuerungen (SPS) ist ein Akkumulator ein spezielles Register (ein schneller Speicherbereich innerhalb der CPU), das zur temporären Speicherung von Zwischenergebnissen arithmetischer und logischer Operationen verwendet wird. Der Akkumulator ist sozusagen der „Arbeitsspeicher“ der Recheneinheit: Eine typische Operation lädt einen Wert in den Akkumulator, führt eine Berechnung mit diesem Wert und einem anderen Operanden durch, und speichert das Ergebnis zurück in den Akkumulator.
Historisch gesehen war der Akkumulator oft das einzige Register, in dem Rechenoperationen durchgeführt werden konnten. Bei vielen älteren oder einfacheren Prozessoren waren Befehle implizit auf den Akkumulator bezogen. Das bedeutet, dass zum Beispiel ein „ADD“-Befehl automatisch den Inhalt des Akkumulators mit einem anderen Wert addiert und das Ergebnis wieder im Akkumulator ablegt.
Entwicklung und heutige Relevanz:
 In modernen SPS-Architekturen und Mikroprozessoren ist die Rolle des Akkumulators oft nicht mehr so prominent oder explizit sichtbar wie früher. Die meisten modernen CPUs verfügen über mehrere universelle Register, die für Berechnungen verwendet werden können, wodurch die Notwendigkeit eines einzelnen, dedizierten Akkumulators, der als Engpass fungieren könnte, entfällt. Programmierer heute arbeiten meist mit symbolischen Variablen und lassen die Zuweisung zu Registern der Compiler-Software über.
Nichtsdestotrotz bleibt das Konzept des Akkumulators als zentrales Element für die Verarbeitung von Zwischenergebnissen in der Computerarchitektur bestehen. Bei älteren SPS-Programmiersprachen wie der Anweisungsliste (AWL) oder bei der Programmierung von Mikrocontrollern ist der direkte Bezug zum Akkumulator oft noch explizit in den Befehlen vorhanden und somit für den Programmierer relevant.
Anwendungsbeispiele (historisch/spezifisch):
- Arithmetische Operationen: Eine Addition (ADD), Subtraktion (SUB), Multiplikation (MUL) oder Division (DIV) würde den aktuellen Wert im Akkumulator mit einem Operand verknüpfen.
- Logische Operationen: Boolesche Operationen wie UND (AND), ODER (OR), NICHT (NOT) oder EXKLUSIV-ODER (XOR) würden ebenfalls oft den Akkumulator als primären Operanden nutzen.
- Datenmanipulation: Befehle zum Laden (LD) eines Wertes in den Akkumulator oder zum Speichern (ST) des Akkumulatorinhalts in einen Speicherbereich.
Auch wenn der Begriff „Akkumulator“ in der täglichen SPS-Programmierung mit modernen Tools seltener direkt angesprochen wird, ist das zugrunde liegende Prinzip der temporären Zwischenspeicherung von Rechenergebnissen weiterhin ein fundamentaler Bestandteil jeder Daten verarbeitenden Einheit in einer Steuerung.
→ Siehe auch: Register, CPU (Central Processing Unit), SPS, AWL (Anweisungsliste), Operation

