Accumulator, in computing, is a data processing apparatus used for the storage and/or manipulation of data. It is typically used in the processing of algorithms in order to achieve certain results. Accumulators are typically used in digital electronic computations and in analog processing.
In digital electronic computing, accumulators are typically integrated into specialized digital processors known as accumulator-based processors. These concepts are quite broad and may incorporate many of the data manipulation techniques utilized in computers such as arithmetic, logic, and memory operations. They are also used broadly in computer program control, computer communication processing, and in the optimization and ordering of instruction sequences.
An accumulator is usually constructed with a register, where data is stored, and arithmetic or logic circuitry, where data is manipulated. In addition, some accumulators also employ a control unit which coordinates and sequences the use of the register and the manipulation circuitry to perform specific tasks.
Analog accumulators are also used in the processing of signals in analog computers. In this context, the accumulator is typically a circuit consisting of a sample-and-hold stage, a scaling stage, and a device for summing signals.
In any situation where data needs to be stored and/or manipulated, an accumulator can be useful. Its use is pervasive in the fields of computer engineering, digital signal processing, communication systems, and statistical analysis.