Accumulator (ENIAC)
Twintig kasten die geheugen en rekenwerk in één waren – het complete snelle geheugen van ENIAC bevatte twintig getallen, elk in de eenheid die het ook optelde.
Elke accumulator bevatte één decimaal getal van tien cijfers met teken. De cijfers zaten niet in registers in moderne zin, maar in ringtellers: tien flipflop-trappen per cijfer, gebouwd van elektronenbuizen en voortgeschoven door binnenkomende pulsen. Dat kwam neer op ongeveer 550 buizen per eenheid. Getallen reisden als pulstreinen over gedeelde cijferbussen tussen de eenheden – het getal zeven was zeven pulsen – en een getal ontvangen was hetzelfde als die pulsen tellen. Optellen was geen bewerking bovenop opslag. Het was de opslag.
Eén optelling duurde 200 microseconden, oftewel 5000 optellingen per seconde. Twee accumulatoren konden worden gekoppeld voor twintig cijfers nauwkeurigheid, en de vermenigvuldiger, deler en worteltrekker hadden geen eigen registers: ze leenden accumulatoren zolang ze werkten. Wat nu een registerbestand, een ALU en werkgeheugen is, was hier dezelfde twintig kasten.
Die beperking bepaalde het programmeren meer dan wat ook. Twintig getallen is weinig, dus tussenresultaten werden op ponskaarten gestanst en voor de volgende stap weer ingelezen. Toen het EDVAC-concept een jaar later pleitte voor één groot, uniform en goedkoop geheugen, was dat precies het antwoord op dit rekenprobleem.