accumulator
<processor> In a central processing unit, a register in which
intermediate results are stored. Without an accumulator, it would be necessary
to write the result of each calculation (addition, multiplication, shift, etc.)
to main memory and read them back. Access to main memory is slower than access
to the accumulator which usually has direct paths to and from the arithmetic and
logic unit (ALU).
The canonical example is summing a list of numbers. The accumulator is set to
zero initially, each number in turn is added to the value in the accumulator and
only when all numbers have been added is the result written to main memory.
Modern CPUs usually have many registers, all or many of which can be used as
accumulators. For this reason, the term "accumulator" is somewhat archaic. Use
of it as a synonym for "register" is a fairly reliable indication that the user
has been around for quite a while and/or that the architecture under discussion
is quite old. The term in full is almost never used of microprocessor registers,
for example, though symbolic names for arithmetic registers beginning in "A"
derive from historical use of the term "accumulator" (and not, actually, from
"arithmetic"). Confusingly, though, an "A" register name prefix may also stand
for "address", as for example on the Motorola 680x0 family.
2. <programming> A register, memory location or variable being used for
arithmetic or logic (as opposed to addressing or a loop index), especially one
being used to accumulate a sum or count of many items. This use is in context of
a particular routine or stretch of code. "The FOOBAZ routine uses A3 as an
accumulator."
[Jargon File]
(1999-04-20)
Nearby terms:
accounting management « Account Representative «
ACCU «
accumulator » accuracy » ACE » ACF
|