Алан Кей: у ENIAC не было ни BIOS, ни чего-либо подобного
Alan Kay's answer to "Did the ENIAC have a BIOS"?
Алан Кей отвечает на вопрос, был ли у ENIAC BIOS. Он уверен, что нет, и относит ENIAC к машинам без хранимой программы. Кей рассуждает, обязательна ли прошивка для базового ввода-вывода, и напоминает, что вплоть до 60-х многие компьютеры запускались «холодным» способом — с помощью тумблеров оператор вводил несколько инструкций, чтобы считать остальной код с перфоленты. В качестве примера он приводит пульт CDC 6600 и уточняет, что первый BIOS появился в 1975 году для CP/M, а современное значение термина — около 1981 года для IBM PC.
Я почти уверен, что у него не было ни BIOS, ни чего-либо аналогичного BIOS. Я на стороне тех, кто не считает его компьютером с хранимой программой (можно было провернуть несколько трюков в этом духе, но, на мой взгляд, этого недостаточно, чтобы соответствовать).
- retrac
У EDSAC уже в 1949 году был модуль "initial orders". Загрузочный ROM. Там был блок поворотных переключателей, чтобы задавать восьмеричные цифры в каждом слове ROM.
Дэвид Уилер (известный своими подпрограммами) сообразил, что самое разумное, что можно поместить в крошечный ROM, — это загрузчик с перфоленты и мини-ассемблер, который догружал остаток себя с перфоленты. Так что при включении машина начинала читать входную ленту и запускалась. Программы можно было писать на телетайпе с мнемониками и относительными адресами в восьмеричной системе.
Кажется немного странным, что более продвинутые поздние машины, вроде оригинального PDP-11 1970 года, не могли так "автозапускаться" из ROM. Приходилось вручную вводить загрузчик переключателями.
Думаю, это потому, что память на магнитных сердечниках была энергонезависимой. (В EDSAC использовалась не память на сердечниках; у него была линия задержки, похожая на DRAM с регенерацией.) С памятью на сердечниках нужно было ввести загрузчик переключателями только один раз, и, если ваше ПО случайно его не перезаписывало, он оставался там после выключения питания. Так что повторный ввод загрузчика переключателями был не таким уж частым, несмотря на всю окружающую это легенду.
- NelsonMinar
Я заставил Claude Opus дизассемблировать панель dead start у CDC 6600. Самым сложным было найти изображение получше, чтобы зрение могло прочитать биты переключателей.¹
Содержимое не очень интересное, и комментарии Claude не слишком подробные. Но неплохо для двух минут работы над компьютером 62-летней давности. Берегись, Кен Ширрифф, ИИ идёт за тобой.²
Адрес Восьм. Инструкция Значение
0001 7512 DCN 12 Отключить канал 12 (перевести его в известное состояние простоя)
0002 7712 FNC 12, 4000? Отправить код функции устройству на канале 12
0003 4000? └ код функции (последний бит неясен: 4000 или 4001)
0004 7712 FNC 12, 0001 Отправить ещё один код функции
0005 0001 └ код функции
0006 7712 FNC 12, 1500? Отправить третий код функции
0007 1500? └ код функции (самая сомнительная строка)
0010 2000 LDC 0160? Загрузить в A счётчик слов
0011 0160? └ счётчик
0012 7412 ACN 12 Активировать канал 12
0013 7112 IAM 12, 0015 Прочитать A слов из канала 12 в память, начиная с 0015
0014 0015 └ адрес назначения
1. https://dyninst.github.io/scalable_tools_workshop/petascale2...
2. Не совсем. Я понятия не имею, правильный ли этот дизассемблер.
3. Quora — тюрьма для слов.
- jshier
Я почти уверен, что Кей не совсем прав насчёт того, что ENIAC не был компьютером с хранимой программой. В своей первоначальной форме он, очевидно, им не был, так как его приходилось физически переконфигурировать для решения разных задач. Однако после войны его перестроили так, чтобы он работал как любой другой компьютер с хранимой программой (архитектура фон Неймана), поскольку он стал первым получателем той философии проектирования, что видна в отчёте EDVAC. В этом режиме он работал с 1948 по 1955 год, когда его вывели из эксплуатации.
«ENIAC in Action: Making and Remaking the Modern Computer» — отличное описание первоначального проекта и переделки ENIAC.
- adamddev1
Алан Кей отвечает на вопросы на Quora. Какой классный подарок миру!
Это одна из тех вещей, которые мы теряем, когда всё больше разговоров сводится к тому, что люди в приватном порядке спрашивают что-то у LLM, которые изо всех сил выскребают ответы из существующей информации или делают лучшее предположение. Люди теряют способность спрашивать экспертов с реальными, уникальными знаниями, а затем делиться этими знаниями с человечеством.
- cold_boot
Кей попадает в точку: «BIOS» у ENIAC был буквально командой людей с патч-кабелями. Это заставляет ценить современные загрузчики.