In a computer’s central processing unit (CPU), the accumulator is a Register in which intermediate arithmetic and logic results are stored.
Without a Register like an accumulator, it would be necessary to write the result of each calculation (addition, multiplication, Shift, etc.) to main memory, perhaps only to be read right back again for use in the next operation.
Access to main memory is slower than access to a register like an accumulator because the technology used for the large main memory is slower (but cheaper) than that used for a register. Early electronic computer systems were often split into two groups, those with accumulators and those without.
Modern computer systems often have multiple general-purpose registers that can operate as accumulators, and the term is no longer as common as it once was. However, to simplify their design, a number of special-purpose processors still use a single accumulator.
Mathematical operations often take place in a stepwise fashion, using the results from one operation as the input to the next. For instance, a manual calculation of a worker’s weekly payroll might look something like:
- look up the number of hours worked from the employee’s time card
- look up the pay rate for that employee from a table
- multiply the hours by the pay rate to get their basic weekly pay
- multiply their basic pay by a fixed percentage to account for income tax
- subtract that number from their basic pay to get their weekly pay after tax
- multiply that result by another fixed percentage to account for retirement plans
- subtract that number from their basic pay to get their weekly pay after all deductions