«КОЛОСС»
Британский математик Алан Тьюринг (1912-1954) считается одним из отцов современной информатики благодаря своей статье 1931 года под названием «О вычислительных числах». Эта работа была признана математическим сообществом одним из главных достижений столетия. В ней намечались основы того, что сегодня называется машиной Тьюринга, — теоретической схемы, содержащей базу, на которой позже были созданы компьютерные программы. С момента этой публикации карьера Тьюринга быстро пошла в гору. В итоге он стал профессором математики в Королевском колледже Кембриджа, где и проработал до 4 сентября 1939 года. На следующий день после того, как Англия объявила Германии войну, Тьюринг вошел в команду криптоаналитиков Блетчли-парка. Им удалось добиться больших успехов в расшифровке кодов «Энигмы» — машины, которую использовали немцы при передаче сообщений. Тьюринг продемонстрировал такой выдающийся талант к расшифровке, что стал главным криптоаналитиком Великобритании. Целью специалистов Блетчли-парка были немецкие подводные лодки. Если бы им удалось расшифровать послания, которые немецкое командование отправляло на субмарины при помощи «Энигмы», то их можно было бы перехватить до выполнения задания. Тьюринг спроектировал «Колосс» — электромеханическую машину для расшифровки кодов. Большие шумные устройства прозвали «бомбами». Они занимали в Блетчли несколько ангаров и не только сыграли решающую роль в криптоанализе Тьюринга, но и послужили основой для компьютеров, появившихся годы спустя. Криптография в то время была военной тайной, как и эти огромные машины, показавшие свою эффективность в дешифровке. Это были настоящие прародители современных компьютеров. Неудивительно, что и ENIAC — первый компьютер, к которому имел отношение фон Нейман,— тоже был военной тайной, ведь он использовался для создания первой атомной бомбы.
«Колосс», один из первых компьютеров в истории. Был сконструирован в Блетчли-парке в 1943 году и приведен в действие в феврале 1944 года.
Оказавшись перед новым компьютером, фон Нейман спросил у Экерта, какова логическая структура системы. Это был ключевой вопрос, после которого инженеры ENIAC сразу же захотели начать сотрудничество. Оно продлилось до самого конца войны. Фон Нейман решил создать совокупность инструкций, которые отражали бы все этапы, проходимые при решении задачи с помощью ручки и бумаги. Эти инструкции могли быть сохранены в центральной памяти. Для того чтобы все данные могли поместиться в компьютере, надо было добавить к нему новую составляющую, помимо той, в которой происходили вычисления, так, чтобы, с одной стороны, можно было вводить и данные, и программы, а с другой — получать результаты. Так фон Нейман начинал обрисовывать понятие программного обеспечения (software), хорошо знакомое нам сегодня.
Итак, в 1945 году в Лос-Аламосской национальной лаборатории началась работа над новым компьютером с сохраняемыми в памяти программами.
АРХИТЕКТУРА КОМПЬЮТЕРОВ
Система, которую сегодня мы называем архитектурой фон Неймана, основана на понятии сохраняемой в памяти программы. В наши дни такие вычислительные машины еще существуют. Это, например, карманный калькулятор: на нем можно выполнить ряд сложных вычислений, но нельзя написать текст. Напротив, если нам нужна программа обработки текстов, мы можем легко установить ее и начать работу. Но так было не всегда. Как мы уже упоминали, в первых компьютерах, таких как ENIAC, поменять программу означало поменять всю структуру устройства, для этого нужно было сначала нарисовать на бумаге эскиз, а затем переделать систему проводов машины.
Для упрощения операций ENIAC фон Нейман перепробовал несколько вариантов проводки, но понимал, что как бы он ни оптимизировал систему, этого недостаточно — компьютер все равно имеет ограничения. Идея ученого заключалась в том, что данные программы, которые в конце концов можно выразить в битах в виде 0 и 1, должны сохраняться в памяти вместе с другими данными. Это позволяет менять адресацию памяти и сами программы во время работы. Большинство современных компьютеров основаны на этой архитектуре.
Она предполагает наличие пяти составляющих (см. рисунок на следующей странице).
1. Арифметико-логическое устройство.
2. Память.
3. Устройство ввода и вывода.
4. Устройство управления.
5. Системная шина (данные, адреса и управление).
Идея сохранения программ вместе с данными была высказана еще Аланом Тьюрингом в статье 1936 года, опубликованной Лондонским математическим обществом. В ней подробно описывалась так называемая универсальная вычислительная машина — теоретическая модель компьютера, сегодня известная как машина Тьюринга. В ней содержались и данные, и программы, а память была бесконечной. Вполне вероятно, что фон Нейман знал о работах Тьюринга, так как они общались в 1936-1937 годах, когда Тьюринг работал в Принстонском университете. К тому же этот проект был представлен в Кембридже в 1935 году. Совершенно точно, что в работах и Тьюринга, и фон Неймана описываются компьютеры с хранимыми программами, однако работа фон Неймана была опубликована раньше, поэтому эта архитектура носит его имя.
ГЛАВА 5
Электронный мозг
В последние годы жизни фон Нейман по-новому объединил прикладную математику, применявшуюся главным образом в военных целях, с чистой. В результате ученый занялся исследованием логической структуры репродукции живых существ и работой над клеточными автоматами, а также математикой, на которой основана работа нашего мозга. Ученый рассматривал мозг как нейронную сеть, которую можно сконструировать с помощью компьютера.
В конце Второй мировой войны многие ученые захотели отойти от военных задач и вернуться к привычной академической деятельности. В этих обстоятельствах основной костяк исследователей, работавших на Министерство обороны США, сокращался с каждым днем. Однако из-за огромного прогресса в создании ядерного оружия в мире сохранялось военное напряжение, для которого появился эвфемизм «холодная война».
К сугубо профессиональным мотивам ученых добавлялись и этические. Научное сообщество разделилось на две группы. С одной стороны были те, кто не хотел принимать участие в наращивании ядерного вооружения, с другой — те, кто считал это единственной гарантией достижения мира во всем мире. Несомненно, фон Нейман относился к последним. Ситуация осложнялась еще и тем, что исследования в области оружия массового поражения не только не прекратились, но и двигались все дальше: появилась термоядерная бомба — самый большой разрушительный механизм, когда-либо созданный человеком.
ВОДОРОДНАЯ БОМБА
Существует мнение, что термоядерное оружие, или водородная бомба, — самый значительный научный проект в истории. Вычислительные задачи, которые пришлось решать в ходе его разработки, были гораздо сложнее тех, с которыми столкнулись участники Манхэттенского проекта. Чтобы справиться с ними, фон Нейман создал новые программы для вычислительной техники, которая выпускалась на основе архитектуры, спроектированной им самим. Он даже задался вопросом, превышает ли объем предстоящих вычислений те, что выполнены за всю историю человечества. Однако ученый быстро пришел к выводу, что это невозможно, учитывая вычисления, которые делают дети в школе.
Принцип действия водородной бомбы основывается на энергии, высвобождаемой в результате синтеза двух ядер - дейтерия и трития (двух изотопов водорода), которые образуют ядро гелия и порождают цепную реакцию нейтронов с последующим выбросом энергии. Для этого синтеза нужно огромное количество энергии — столько, сколько получается в результате ядерного взрыва. Таким образом, к его получению ведет процесс деления — синтеза — деления. Вначале провоцируется ядерный взрыв, порождающий энергию, достаточную для того, чтобы расплавить ядра и, в свою очередь, высвободить еще больше энергии, которая пойдет на расщепление новых ядер,— энергия, получившаяся при этом, и будет результатом взрыва. Из этого краткого описания уже понятно, что используемые вычисления были гораздо сложнее тех, которые применялись при конструировании первой бомбы. Однако вся вычислительная часть была готова за шесть месяцев — рекордно короткий срок для того времени.