Камень, ножницы, теорема. Фон Нейман. Теория игр - Коллектив авторов (книги читать бесплатно без регистрации txt) 📗
Но главным недостатком аппарата было то, что для замены программы нужно было заново его конфигурировать — примерно так, как это делает телефонистка на старой телефонной станции. Конфигурирование могло занимать несколько дней. Еще одной серьезной проблемой ENIAC было то, что он чаще был в починке, чем в работе. Несмотря на это ENIAC использовался на протяжении десяти лет, и за этот период он выполнил больше вычислений, чем было сделано за всю историю человечества до этого.
Фон Нейман начал заниматься ENIAC совершенно случайно. Американский математик Герман Хайн Голдстайн (1913-2004) поступил на военную службу в начале Второй мировой войны. Он имел звание лейтенанта и работал в BRL, баллистической лаборатории в Абердине, штат Мериленд. Голдстайн был специалистом по подготовке таблиц стрельбы и прекрасно понимал, что необходимо срочно автоматизировать длинные и утомительные вычисления. Поэтому он согласился быть посредником между школой Мура в Филадельфии, которая занималась созданием ENIAC, и полигоном в Абердине. Летом 1944 года Голдстайн случайно встретился с фон Нейманом на железнодорожном вокзале Абердина. Поскольку у того было множество обязательств перед различными государственными организациями, ему, одному из немногих ученых, разрешалось покидать базу Аламогордо. Голдстайн не был лично знаком с фон Нейманом, но знал его по конференциям, поэтому решил все-таки подойти к ученому.
EDVAC: ШАГ ВПЕРЕД
Несмотря на усовершенствования, сделанные фон Нейманом, возможности ENIAC были очень ограниченны. После войны ученый участвовал в работе над проектом нового компьютера, который должен был учесть ошибки ENIAC. Новая машина, EDVAC (Electronic Discrete Variable Automatic Computer), была гораздо быстрее предыдущей (ENIAC совершал 333 операции в секунду, в то время как EDVAC — 20 тысяч). К тому же он был полностью основан на архитектуре фон Неймана. Ученый не ограничился разработкой структуры компьютера — он также работал над алгоритмами, которые позволили бы совершать более сложные математические операции, чем простые вычисления, доступные до этого компьютерам. Фон Нейману удалось создать алгоритмы для решения различных типов уравнений, вычисления обратной матрицы, нахождения собственного вектора и вычисления соответствующего собственного значения, а также нахождения максимальных и минимальных значений функций с несколькими переменными.
Джон фон Нейман (слева) и Роберт Оппенгеймер перед EDVAC.
Фон Нейман со своей второй женой Кларой Дан в 1954 году.
Два оператора работают с контрольной панелью ENIAC в Электротехнической школе Мура при Пенсильванском университете, 1940-е годы.
Математики любопытны по своей природе и всегда интересуются работой друг друга. Разговор касался малозначительных тем, пока Голдстайн не упомянул, что работает над новым компьютером. Тут поведение фон Неймана изменилось, и, по словам самого Голдстайна, он начал допрос с пристрастием. Вопросы выдавали в нем эксперта, и Голдстайн решил пригласить коллегу в исследовательский центр Мура, чтобы лично познакомить его с инженерами Джоном Мокли и Джоном Преспером Экертом, работавшими над ENIAC. В этой истории, конечно, странно, что двое людей, каждый из которых работал над сверхсекретным проектом, едва познакомившись, стали обсуждать свои исследования в здании железнодорожного вокзала.
«КОЛОСС»
Британский математик Алан Тьюринг (1912-1954) считается одним из отцов современной информатики благодаря своей статье 1931 года под названием «О вычислительных числах». Эта работа была признана математическим сообществом одним из главных достижений столетия. В ней намечались основы того, что сегодня называется машиной Тьюринга, — теоретической схемы, содержащей базу, на которой позже были созданы компьютерные программы. С момента этой публикации карьера Тьюринга быстро пошла в гору. В итоге он стал профессором математики в Королевском колледже Кембриджа, где и проработал до 4 сентября 1939 года. На следующий день после того, как Англия объявила Германии войну, Тьюринг вошел в команду криптоаналитиков Блетчли-парка. Им удалось добиться больших успехов в расшифровке кодов «Энигмы» — машины, которую использовали немцы при передаче сообщений. Тьюринг продемонстрировал такой выдающийся талант к расшифровке, что стал главным криптоаналитиком Великобритании. Целью специалистов Блетчли-парка были немецкие подводные лодки. Если бы им удалось расшифровать послания, которые немецкое командование отправляло на субмарины при помощи «Энигмы», то их можно было бы перехватить до выполнения задания. Тьюринг спроектировал «Колосс» — электромеханическую машину для расшифровки кодов. Большие шумные устройства прозвали «бомбами». Они занимали в Блетчли несколько ангаров и не только сыграли решающую роль в криптоанализе Тьюринга, но и послужили основой для компьютеров, появившихся годы спустя. Криптография в то время была военной тайной, как и эти огромные машины, показавшие свою эффективность в дешифровке. Это были настоящие прародители современных компьютеров. Неудивительно, что и ENIAC — первый компьютер, к которому имел отношение фон Нейман,— тоже был военной тайной, ведь он использовался для создания первой атомной бомбы.
«Колосс», один из первых компьютеров в истории. Был сконструирован в Блетчли-парке в 1943 году и приведен в действие в феврале 1944 года.
Оказавшись перед новым компьютером, фон Нейман спросил у Экерта, какова логическая структура системы. Это был ключевой вопрос, после которого инженеры ENIAC сразу же захотели начать сотрудничество. Оно продлилось до самого конца войны. Фон Нейман решил создать совокупность инструкций, которые отражали бы все этапы, проходимые при решении задачи с помощью ручки и бумаги. Эти инструкции могли быть сохранены в центральной памяти. Для того чтобы все данные могли поместиться в компьютере, надо было добавить к нему новую составляющую, помимо той, в которой происходили вычисления, так, чтобы, с одной стороны, можно было вводить и данные, и программы, а с другой — получать результаты. Так фон Нейман начинал обрисовывать понятие программного обеспечения (software), хорошо знакомое нам сегодня.
Итак, в 1945 году в Лос-Аламосской национальной лаборатории началась работа над новым компьютером с сохраняемыми в памяти программами.
АРХИТЕКТУРА КОМПЬЮТЕРОВ
Система, которую сегодня мы называем архитектурой фон Неймана, основана на понятии сохраняемой в памяти программы. В наши дни такие вычислительные машины еще существуют. Это, например, карманный калькулятор: на нем можно выполнить ряд сложных вычислений, но нельзя написать текст. Напротив, если нам нужна программа обработки текстов, мы можем легко установить ее и начать работу. Но так было не всегда. Как мы уже упоминали, в первых компьютерах, таких как ENIAC, поменять программу означало поменять всю структуру устройства, для этого нужно было сначала нарисовать на бумаге эскиз, а затем переделать систему проводов машины.
Для упрощения операций ENIAC фон Нейман перепробовал несколько вариантов проводки, но понимал, что как бы он ни оптимизировал систему, этого недостаточно — компьютер все равно имеет ограничения. Идея ученого заключалась в том, что данные программы, которые в конце концов можно выразить в битах в виде 0 и 1, должны сохраняться в памяти вместе с другими данными. Это позволяет менять адресацию памяти и сами программы во время работы. Большинство современных компьютеров основаны на этой архитектуре.