Проблема, с которой фон Нейман столкнулся в Гарварде, состояла в том, что Mark I с его электромеханическими переключателями считал мучительно медленно. Расчеты атомной бомбы заняли бы несколько месяцев. Хотя ввод с помощью бумажной ленты делал процесс перепрограммирования компьютера более удобным, каждый раз, когда возникала команда перехода к подпрограмме, необходимо было вручную менять ленту. Фон Нейман пришел к убеждению, что единственное решение – создать компьютер, который работал бы на электронных скоростях и мог хранить и изменять программы с помощью внутренней памяти.
Таким образом, он созрел для того, чтобы стать участником следующего большого прорыва – разработки архитектуры компьютера с программами, сохраняемыми в памяти. Поэтому становится понятным, какой удачей было то, что в конце августа 1944 года он оказался на платформе железнодорожной станции полигона Абердин.
Фон Нейман в Пенне
Капитан Герман Голдстайн, военный связист, который работал с Мокли и Эккертом на ENIAC, в это же время случайно оказался в Абердине на той же платформе, что и фон Нейман, в ожидании поезда на север. Они никогда раньше не встречались, но Голдстайн узнал его мгновенно. Встретив фон Неймана – знаменитость в мире математики – он пришел в возбуждение, поскольку всегда преклонялся перед выдающимися личностями. “Было большим нахальством с моей стороны подойти к этому всемирно известному человеку, представиться и начать разговор, – вспоминал он. – К счастью для меня, фон Нейман оказался милым и дружелюбным, он всегда всячески старался сделать так, чтобы люди чувствовали себя спокойно”. Беседа стала еще оживленней, когда фон Нейман узнал, чем занимается Голдстайн. “Когда фон Нейман понял, что я был связан с разработкой электронного компьютера, способного проделывать 333 умножения в секунду, тональность нашего разговора изменилась, из легкой и шутливой она превратилась в ту, что бывает на устном экзамене при соискании докторской степени по математике”>50.
По приглашению Голдстайна несколько дней спустя фон Нейман посетил Пенн, чтобы взглянуть на ENIAC в процессе его строительства. Пресперу Эккерту было любопытно познакомиться со знаменитым математиком, и он подумал, что если его первым вопросом будет вопрос о логической структуре машины, то он “действительно гений”. Как раз таким на самом деле и оказался первый вопрос, заданный фон Нейманом, и он таким образом заработал уважение Эккерта>51.
ENIAC мог решить менее чем за час дифференциальное уравнение в частных производных, которое Mark I /Harvard решал бы около восьмидесяти часов. Это впечатлило фон Неймана. Тем не менее перепрограммирование ENIAC на другие задачи могло занять несколько часов, и фон Нейман понял, насколько это серьезный недостаток, поскольку в этот момент нужно было решать кучу разнородных проблем. Весь 1944 год Мокли и Эккерт пытались найти способ хранения программ внутри машины. Прибытие фон Неймана, набитого идеями Гарварда, Bell Labs и других мест, подняло на более высокий уровень обсуждение конструкции компьютера с сохраненными программами.
Фон Нейман, который стал консультантом команды ENIAC, выдвинул идею о том, что компьютерная программа должна быть сохранена в той же памяти, что и исходные данные, и тогда программу можно будет легко модифицировать во время работы. Его деятельность в команде Пенна началась с первой недели сентября 1944 года, когда Мокли и Эккерт в деталях объяснили ему устройство машины и поделились своими мыслями о конструкции следующей версии, в которой будет “одно устройство хранения с адресуемыми ячейками”, которое будет служить в качестве устройства для хранения и исходных данных, и команд программы. На той же неделе Голдстайн изложил эту идею в письме к своему армейскому командиру: “Мы предлагаем централизованное программируемое устройство, в котором стандартные программы хранятся в закодированном виде в тех же типах устройств хранения информации, которые были предложены ранее”