Unité de multiplication (ENIAC)
Le seul multiplicateur de l'ENIAC ne savait pas vraiment multiplier — il cherchait la réponse dans une grille de résistances et laissait les accumulateurs faire le reste.
Construire un multiplicateur électronique en 1945 n'était pas un problème d'algorithme mais de nombre de tubes. La solution : une matrice de résistances jouant le rôle de table de multiplication figée — on y entre deux chiffres décimaux, on récupère leur produit sous forme de niveaux de tension. L'unité prenait un chiffre du multiplicateur à la fois, tirait les produits partiels de la table, et laissait les accumulateurs les additionner avec le bon décalage. Le multiplicateur ne détenait aucun nombre en propre : il réquisitionnait jusqu'à quatre accumulateurs, indisponibles pour tout le reste pendant ce temps.
Une multiplication de dix chiffres prenait quatorze temps d'addition, soit environ 2,8 millisecondes, contre 0,2 pour une addition. Un coût multiplié par quatorze : les programmeurs de l'ENIAC comptaient les multiplications d'un montage comme on compte aujourd'hui les appels à la base de données dans une boucle. Et il n'y avait qu'un seul multiplicateur dans toute la machine : deux multiplications ne pouvaient jamais se chevaucher, si parallèle que soit le reste de l'ENIAC.