Unité accumulateur (ENIAC)
Vingt armoires qui étaient à la fois la mémoire et l'arithmétique — toute la mémoire rapide de l'ENIAC tenait en vingt nombres, chacun logé dans l'unité qui l'additionnait.
Chaque accumulateur contenait un nombre décimal signé de dix chiffres. Les chiffres ne vivaient pas dans des registres au sens moderne, mais dans des compteurs en anneau : dix étages de bascules par chiffre, en tubes à vide, que les impulsions entrantes faisaient avancer. Cela représentait environ 550 tubes par unité. Les nombres circulaient entre les unités sous forme de trains d'impulsions sur des bus de chiffres partagés — le nombre sept, c'étaient sept impulsions — et recevoir un nombre revenait à compter ces impulsions. L'addition n'était pas une opération greffée sur le stockage. Elle était le stockage.
Un temps d'addition durait 200 microsecondes, soit 5 000 additions par seconde. Deux accumulateurs pouvaient être couplés pour une précision de vingt chiffres, et le multiplicateur, le diviseur et l'extracteur de racine carrée n'avaient aucun registre propre : ils empruntaient des accumulateurs le temps de leur travail. Ce qu'on appelle aujourd'hui banc de registres, UAL et mémoire centrale tenait ici dans les mêmes vingt armoires.
La limite a façonné la programmation plus que tout le reste. Vingt nombres, ce n'est pas beaucoup : on perforait donc les résultats intermédiaires sur des cartes pour les relire à l'étape suivante. Quand le brouillon de l'EDVAC, un an plus tard, a réclamé une mémoire unique, vaste, uniforme et bon marché, il répondait précisément à cette arithmétique.