Таблицы функций (ENIAC)
Три шкафа с переключателями, выставленными вручную, хранили числа, которые машина не могла вычислить сама, — и в 1948 году превратили ENIAC в нечто очень близкое к компьютеру с хранимой программой.
Баллистике нужна функция сопротивления воздуха, а вывести её на лету в машине почти без памяти невозможно. Решением стали три переносных блока примерно по 1200 десятипозиционных поворотных переключателей в каждом; вместе они хранили 104 строки по двенадцать десятичных цифр со знаками. Значения выставляли вручную отвёрткой по справочнику таблиц. Для машины это были константы: память, на запись которой уходило утро, а на чтение — микросекунды.
В 1948 году это неожиданно пригодилось. Ричард Клиппингер предложил, а Адель Голдстайн разработала код-конвертер, в котором переключатели хранили не данные, а инструкции. ENIAC теперь держал программу в памяти — пусть эту память и приходилось крутить отвёрткой. Работать он стал примерно в шесть раз медленнее, зато несравнимо удобнее: перенастройка сократилась с дней перекоммутации до часов выставления переключателей. С полным правом это можно назвать первым ПЗУ.