Множительный блок (ENIAC)
Единственный умножитель ENIAC на самом деле не умел умножать — он искал ответ в сетке резисторов, а остальное делали аккумуляторы.
Построить электронный умножитель в 1945 году было задачей не алгоритма, а числа ламп. Решением стала резисторная матрица в роли фиксированной таблицы умножения: на вход две десятичные цифры, на выходе их произведение в виде уровней напряжения. Блок брал по одной цифре множителя, вытаскивал частичные произведения из таблицы, а аккумуляторы складывали их с нужным сдвигом. Собственных чисел у умножителя не было — он захватывал до четырёх аккумуляторов, недоступных для всего остального, пока он работал.
Десятизначное умножение занимало четырнадцать времён сложения, примерно 2,8 миллисекунды против 0,2 на сложение. Цена в четырнадцать раз означала, что программисты ENIAC считали умножения в наладке так, как сегодня считают обращения к базе данных внутри цикла. И умножитель на всю машину был ровно один: два умножения не могли перекрыться, сколько бы параллелизма ни было в остальном ENIAC.