в 1945 году был опубликован «Первый проект отчета о EDVAC» под редакцией Джона Фон Неймана, в котором были изложены принципы «архитектуры Фон Неймана», перевернувшие все представления об ЭВМ

von_neumann

Этот документ родился из дискуссий, которые начались еще во время работы над компьютером ENIAC. Машина получилась неплохой для своего времени, но имела ряд критических недостатков.

Поэтому Джон Уильям Мокли, Джон Экерт, Герман Голдстайн и Артур Бёркс еще в 1944 году начали раздумывать о новой ЭВМ -EDVAC (Electronic Discrete Variable Automatic Computer). Тогда же к ним присоединился знаменитый математик Джон Фон Нейман, и через год он выпустил свой отчет, в котором изложил принципы работы такой ЭВМ.

Сразу оговоримся, что хоть архитектура и носит имя Фон Неймана, ее авторами на самом деле являются все вышеперечисленные светила науки.

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

Настоящей революцией стала идея «хранимой программы». Сегодня вполне очевидно, что программа должна храниться на каком-то носителе и для исполнения загружаться в компьютер. Однако в ENIAC ничего подобного не было. Программы для него вводились путем переключения перемычек на коммутационной панели, и для каких-нибудь пустяковых вычислений, занимавших 10 минут, иногда требовалось возиться несколько дней.

789px-Edvac

EDVAC

А в EDVAC предлагалось хранить программу в виде единиц и нулей в той же памяти, что и обрабатываемые ею числа! Это еще больше упрощало работу с компьютером.

Вообще, известно четыре основных принципа фон Неймана:

  • Принцип однородности памяти. Команды (программа) и данные хранятся в одной и той же памяти.
  • Принцип адресности. Память состоит из пронумерованных ячеек, и процессору доступна любая из них. Двоичные коды команд и данных разделяются на единицы информации, называемые словами, и хранятся в ячейках памяти, а для доступа к ним используются номера соответствующих ячеек — адреса.
  • Принцип программного управления. Все вычисления представлены в виде программы, состоящей из последовательности управляющих слов — команд. Каждая команда предписывает определенную операцию. Команды программы хранятся в последовательных ячейках памяти и выполняются той последовательности, в которой они расположены в программе. При необходимости, с помощью специальных команд, эта последовательность может быть изменена.
  • Принцип двоичного кодирования. Вся информация (данные и команды) кодируются двоичными цифрами 0 и 1. Каждый тип информации представляется двоичной последовательностью и имеет свой формат. Последовательность битов в формате, имеющая определенный смысл, называется полем. В числовой информации обычно выделяют поле знака и поле значащих разрядов. В формате команды можно выделить два поля: поле кода операции и поле адресов.

Архитектура_фон_Неймана

Что любопытно, первой машиной, построенной на принципах фон Неймана, стал не EDVAC. Вот перечень таких ЭВМ в порядке их появления:

  1. прототип — Манчестерская малая экспериментальная машина (SSEM) — Манчестерский университет, Великобритания, 21 июня 1948 года;
  2. EDSAC — Кембриджский университет, Великобритания, 6 мая 1949 года;
  3. Манчестерский Марк I — Манчестерский университет, Великобритания, 1949 год;
  4. BINAC — США, август 1949 года;
  5. CSIR Mk 1 — Австралия, ноябрь 1949 года;
  6. SEAC — США, 9 мая 1950 года
  7. EDVAC — США, август 1949 года — фактически запущен в 1952 году;

MESM_smile

МЭСМ Лебедева

СССР тоже не отставал. Первой советской ЭВМ, близкой к принципам фон Неймана, стала МЭСМ, построенная Лебедевым (на базе киевского Института электротехники АН УССР) и прошедшая государственные приемочные испытания в декабре 1951 года.