Выбрать главу

«Колосс», один из первых компьютеров в истории. Был сконструирован в Блетчли-парке в 1943 году и приведен в действие в феврале 1944 года.

Оказавшись перед новым компьютером, фон Нейман спросил у Экерта, какова логическая структура системы. Это был ключевой вопрос, после которого инженеры ENIAC сразу же захотели начать сотрудничество. Оно продлилось до самого конца войны. Фон Нейман решил создать совокупность инструкций, которые отражали бы все этапы, проходимые при решении задачи с помощью ручки и бумаги. Эти инструкции могли быть сохранены в центральной памяти. Для того чтобы все данные могли поместиться в компьютере, надо было добавить к нему новую составляющую, помимо той, в которой происходили вычисления, так, чтобы, с одной стороны, можно было вводить и данные, и программы, а с другой — получать результаты. Так фон Нейман начинал обрисовывать понятие программного обеспечения (software), хорошо знакомое нам сегодня.

Итак, в 1945 году в Лос-Аламосской национальной лаборатории началась работа над новым компьютером с сохраняемыми в памяти программами.

АРХИТЕКТУРА КОМПЬЮТЕРОВ

Система, которую сегодня мы называем архитектурой фон Неймана, основана на понятии сохраняемой в памяти программы. В наши дни такие вычислительные машины еще существуют. Это, например, карманный калькулятор: на нем можно выполнить ряд сложных вычислений, но нельзя написать текст. Напротив, если нам нужна программа обработки текстов, мы можем легко установить ее и начать работу. Но так было не всегда. Как мы уже упоминали, в первых компьютерах, таких как ENIAC, поменять программу означало поменять всю структуру устройства, для этого нужно было сначала нарисовать на бумаге эскиз, а затем переделать систему проводов машины.

Для упрощения операций ENIAC фон Нейман перепробовал несколько вариантов проводки, но понимал, что как бы он ни оптимизировал систему, этого недостаточно — компьютер все равно имеет ограничения. Идея ученого заключалась в том, что данные программы, которые в конце концов можно выразить в битах в виде 0 и 1, должны сохраняться в памяти вместе с другими данными. Это позволяет менять адресацию памяти и сами программы во время работы. Большинство современных компьютеров основаны на этой архитектуре.

Она предполагает наличие пяти составляющих (см. рисунок на следующей странице).

1. Арифметико-логическое устройство.

2. Память.

3. Устройство ввода и вывода.

4. Устройство управления.

5. Системная шина (данные, адреса и управление).

Идея сохранения программ вместе с данными была высказана еще Аланом Тьюрингом в статье 1936 года, опубликованной Лондонским математическим обществом. В ней подробно описывалась так называемая универсальная вычислительная машина — теоретическая модель компьютера, сегодня известная как машина Тьюринга. В ней содержались и данные, и программы, а память была бесконечной. Вполне вероятно, что фон Нейман знал о работах Тьюринга, так как они общались в 1936-1937 годах, когда Тьюринг работал в Принстонском университете. К тому же этот проект был представлен в Кембридже в 1935 году. Совершенно точно, что в работах и Тьюринга, и фон Неймана описываются компьютеры с хранимыми программами, однако работа фон Неймана была опубликована раньше, поэтому эта архитектура носит его имя.