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