FACTOID # 8: Bookworms: Vermont has the highest number of high school teachers per capita and third highest number of librarians per capita.
 
 Home   Encyclopedia   Statistics   States A-Z   Flags   Maps   FAQ   About 
   
 
WHAT'S NEW
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Accumulator (computing)

In a computer CPU, an 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 the accumulator because the technology used for the large main memory is slower (but cheaper) than that used for a register. Look up accumulator in Wiktionary, the free dictionary. ... This article is about the machine. ... CPU redirects here. ... In computer architecture, a processor register is a small amount of very fast computer memory used to speed the execution of computer programs by providing quick access to frequently used values—typically, these values are involved in multiple expression evaluations occurring within a small region on the program. ... A typical schematic symbol for an ALU: A & B are operands; R is the output; F is the input from the Control Unit; D is an output status In computing, an arithmetic logic unit (ALU) is a digital circuit that performs arithmetic and logical operations. ... Primary storage, or internal memory, is computer memory that is accessible to the central processing unit of a computer without the use of computers input/output channels. ...


The canonical example for accumulator use is summing a list of numbers. The accumulator is initially set to zero, then each number in turn is added to the value in the accumulator. Only when all numbers have been added is the result held in the accumulator written to main memory or to another, non-accumulator, CPU register.


An accumulator machine, also called a 1-operand machine, is a kind of CPU that -- although it may have several registers -- the CPU always stores the results of most calculations in one special register -- typically called "the" accumulator of that CPU. Historically almost all early computers were accumulator machines; and many microcontrollers still popular as of 2008 (such as the Freescale 68HC12 and the PICmicro) are accumulator machines. An instruction set, or instruction set architecture (ISA), describes the aspects of a computer architecture visible to a programmer, including the native datatypes, instructions, registers, addressing modes, memory architecture, interrupt and exception handling, and external I/O (if any). ... It has been suggested that this article or section be merged with embedded microprocessor. ... The 68HC12 (6812 or HC12 for short) is a 16-bit microcontroller family from Freescale Semiconductor. ... Microchip Technology Inc. ...


Modern CPUs are typically 2-operand or 3-operand machines -- the additional operands specify which one of many general purpose registers (also called "general purpose accumulators"[1]) are used as the source and destination for calculations. These CPUs are not considered "accumulator machines". In computer architecture, a processor register is a small amount of very fast computer memory used to speed the execution of computer programs by providing quick access to commonly used values—typically, the values being in the midst of a calculation at a given point in time. ...


The characteristic which distinguishes one register as being the accumulator of a computer architecture is that the accumulator (if the architecture were to have one) would be used as an implicit operand for arithmetic instructions. For instance, a CPU might have an instruction like: A typical vision of a computer architecture as a series of abstraction layers: hardware, firmware, assembler, kernel, operating system and applications (see also Tanenbaum 79). ... In mathematics, an operand is one of the inputs (arguments) of an operator. ... In computer science, an instruction typically refers to a single operation of a processor within a computer architecture. ...

 ADD memaddress 

This instruction would add the value read from the memory location at memaddress to the value from the accumulator, placing the result in the accumulator. The accumulator is not identified in the instruction by a register number; it is implicit in the instruction and no other register can be specified in the instruction. Some architectures use a particular register as an accumulator in some instructions, but in other instructions use register numbers for explicit operand specification. In computer science, a memory address is a unique identifier for a memory location at which a CPU or other device can store a piece of data for later retrieval. ...


In the common x86 microprocessor architecture, the 32-bit EAX register (or one of its subcomponents AX or AL, or part or all of the separate 32-bit EDX register for multiplication of large numbers) is an accumulator in some arithmetic instructions, such as MUL and DIV, but in other arithmetic instructions EAX is one of several registers that can be specified. For instance, MUL ecx will multiply the contents of 32-bit register ECX by those of EAX and split the result between EAX and EDX (for 64 bits total, avoiding overflow). ADD, however, accepts two arguments: ADD ecx, edx will add ECX and EDX and place the result in ECX, and likewise for most registers.[1] x86 or 80x86 is the generic name of a microprocessor architecture first developed and manufactured by Intel. ...


History of the "computer" accumulator

Historical convention dedicates a register to "the accumulator", an "arithmetic organ" that literally accumulates its number during a sequence of arithmetic operations:

"The first part of our arithmetic organ ... should be a parallel storage organ which can receive a number and add it to the one already in it, which is also able to clear its contents and which can store what it contains. We will call such an organ an Accumulator. It is quite conventional in principle in past and present computing machines of the most varied types, e.g. desk multipliers, standard IBM counters, more modern relay machines, the ENIAC" (Goldstine and von Neumann, 1946; p. 98 in Bell and Newell 1971).

Just a few of the instructions are, for example (with some modern interpretation):

  • Clear accumulator and add number from memory location x
  • Clear accumulator and subtract number from memory location x
  • Add number copied from memory location x to the contents of the accumulator
  • Subtract number copied from memory location x to the contents of the accumulator
  • Clear accumulator and shift contents of register into accumulator

No convention exists regarding the names for operations from registers to accumulator and from accumulator to registers. Tradition (e.g. Knuth's (1973) imaginary MIX computer), for example, uses two instructions called LOAD ACCUMULATOR from memory/register (e.g. "LDA r") and STORE ACCUMULATOR in register/memory (e.g. "STA r"). Knuth's model has many other instructions as well. Donald Knuth Donald Ervin Knuth (born January 10, 1938) is a renowned computer scientist and Professor Emeritus at Stanford University. ... In physics, the mixing (physics) of dynamical systems In chemistry, the interpenetration or interdiffusion of at least two gas, liquid or solid phases to a mixture. ...


References

  1. ^ Irvine, Kip R. (2007). Assembly Language for Intel-Based Computers, 5th edition, Pearson Prentice Hall, pp. 633, 622. ISBN 0-13-238310-1. 
  • Goldstine, Herman H., and von Neumann, John, "Planning and Coding of the Problems for an Electronic Computing Instrument", Rep. 1947, Institute of Advanced Study, Princeton. Reprinted on pp. 92-119 in Bell, C. Gordon and Newell, Allen (1971), Computer Structures: Readings and Examples, McGraw-Hill Book Company, New York. ISBN 0070043574}. A veritable treasure-trove of detailed descriptions of ancient machines including photos.

This article was originally based on material from the Free On-line Dictionary of Computing, which is licensed under the GFDL. This article does not cite any references or sources. ... “GFDL” redirects here. ...


 
 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments

Want to know more?
Search encyclopedia, statistics and forums:

 


Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms, 1022, m