Джон Фон Нейман: принципы программного управления

0
0

Джон фон Нейман считается отцом-основателем современных компьютеров. Его революционные принципы 1946 года до сих пор лежат в основе архитектуры всех компьютеров и определяют, как мы пишем программы. Давайте разберемся, в чем заключаются эти принципы и почему они так важны, а также узнаем, как на основе этих принципов появились первые компьютеры с хранимой программой и возникла архитектура, лежащая в основе всех современных ЭВМ.

1. Джон фон Нейман: биография и вклад в науку

Джон фон Нейман родился в 1903 году в Будапеште. Его отец был банкиром, а мать — дочерью известного профессора химии. С детства Джон проявлял выдающиеся математические способности. В 1921 году он поступил в Будапештский университет, а в 1926 году защитил докторскую диссертацию по математике.

В начале 1930-х годов Джон фон Нейман эмигрировал в США, где продолжил работу в Принстонском университете. Он внес значительный вклад в развитие функционального анализа, теории множеств, квантовой механики. Также фон Нейман занимался экономикой и разработал основы теории игр.

Во время Второй мировой войны Джон фон Нейман участвовал в Манхэттенском проекте по созданию атомной бомбы. Он рассчитывал параметры взрыва и разрушительные последствия.

Портрет Джона фон Неймана за работой в его кабинете около 1950 года

2. Предпосылки создания принципов фон Неймана

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

Чтобы изменить программу ENIAC, инженерам требовались дни, а сам расчет выполнялся лишь несколько минут.

Параллельно с доработкой ENIAC в 1945 году началась разработка компьютера EDVAC. Фон Нейман предложил революционную идею хранить программу в памяти компьютера наравне с данными. Эта идея была изложена в Первом проекте отчета о EDVAC.

А в 1946 году Джон фон Нейман в соавторстве с Германом Голдстайном и Артуром Берксом опубликовали статью «Предварительное рассмотрение логической структуры электронно-вычислительной машины». В ней были сформулированы ключевые принципы организации работы компьютеров.

Фотография старого компьютера ЭНИАК 1946 года с банками электронных ламп, проводами и панелями управления

3. Основные принципы Джона фон Неймана

Принципы фон Неймана включают несколько ключевых положений:

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

Эти принципы кардинально отличались от архитектуры всех предыдущих компьютеров того времени.

В частности, они позволяли:

  • Легко менять программу, загружая ее в память
  • Выполнять сложные вычисления с ветвлениями и циклами
  • Создавать универсальные компьютеры для решения разных задач

Альтернативой принципам фон Неймана является гарвардская архитектура , в которой для команд и данных предусмотрены раздельные памяти. Но принципы фон Неймана получили гораздо большее распространение.

Примеры реализации принципов фон Неймана:

IAS-машина Первая в мире реализация архитектуры фон Неймана
EDSAC Впервые использовал двоичную систему счисления
МЭСМ Первая отечественная ЭВМ на принципах фон Неймана

Таким образом, благодаря революционным идеям Джона фон Неймана появился принципиально новый класс программно-управляемых компьютеров.

Эти принципы стали фундаментом архитектуры всех современных компьютеров. До сих пор мы пишем программы как последовательности команд для процессора и запускаем их на любом компьютере, используя принципы программного управления Джона фон Неймана .

4. Первые компьютеры на принципах фон Неймана

После публикации революционных идей фон Неймана, в разных странах началась гонка за создание первых компьютеров на этих принципах.

IAS-машина

Сам фон Нейман вместе с коллегами приступил к разработке IAS-машины в Институте перспективных исследований в Принстоне. Это была первая в мире реализация архитектуры фон Неймана, запущенная в 1951 году.

EDSAC

В Великобритании группа инженеров во главе с Морисом Уилксом создала компьютер EDSAC, который заработал в 1949 году. Он стал первой машиной с хранимой в памяти программой, которая использовала двоичную систему счисления.

МЭСМ

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

5. Проблемы архитектуры фон Неймана

Несмотря на революционность, принципы фон Неймана имели и некоторые недостатки. Главный из них – это ограниченная пропускная способность между процессором и памятью из-за того, что они используют одну шину.

Память программ и оперативная память данных не могут быть доступны одновременно, что снижает быстродействие. Эта проблема называется узким местом архитектуры фон Неймана.

6. Усовершенствование принципов фон Неймана

Со временем принципы организации работы компьютеров, сформулированные Джоном фон Нейманом в 1940-х годах, претерпели некоторые усовершенствования. Например, появились:

Конвейеризация

Конвейеризация исполнения команд позволяет повысить производительность за счет параллельной обработки. Пока одна команда выполняется, следующая уже читается из памяти.

Кэш-память

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

Многоядерные процессоры

Современные процессоры имеют сразу несколько вычислительных ядер, что позволяет выполнять множество потоков команд параллельно.

7. Попытки альтернативных архитектур

Несмотря на модернизации, основополагающие принципы фон Неймана в целом не менялись уже почти 80 лет. Предпринимались попытки создания принципиально иных архитектур.

Мемпроцессор

В 2015 году ученые из США и Италии представили опытный образец мемпроцессора с архитектурой, альтернативной фон Неймана. Он может быть эффективен для решения сложных оптимизационных задач.

Нейроморфные чипы

Разрабатываются процессоры, которые имитируют структуру нервных сетей мозга, а не последовательно выполняют команды. Пока такие чипы находятся на начальном этапе исследований.

Квантовые компьютеры

Еще одним потенциальным прорывом в архитектуре компьютеров могут стать квантовые технологии. Квантовые биты информации, или кубиты, могут находиться одновременно в состояниях 0 и 1. Это открывает принципиально новые возможности обработки данных.

Оптические и фотонные чипы

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

DNA-компьютеры

Самыми радикальными инновациями могут стать ДНК-чипы и РНК-вычисления, использующие для обработки данных исключительно биомолекулы. Уже существуют опытные образцы, но применение пока ограничено. Такие компьютеры могут стать по-настоящему биоорганическими.

8. Будущее принципов фон Неймана

Несмотря на все инновации, основополагающие принципы, разработанные Джоном фон Нейманом в 1940-х годах, до сих пор лежат в основе абсолютного большинства существующих компьютеров. Новые архитектурные решения пока не вышли за рамки научных экспериментов.

Сочетание подходов

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

Специализированные чипы

Для решения узкоспециализированных задач, вроде искусственного интеллекта или обработки больших данных, будут применяться чипы с кастомной архитектурой, оптимизированные под конкретные алгоритмы.

Распределенные системы

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

9. Выводы

Таким образом, основные принципы организации работы компьютеров, сформулированные Джоном фон Нейманом в 1940-х годах, по-прежнему актуальны и используются в подавляющем большинстве систем. Новые архитектурные решения пока не вышли из стадии научных исследований и экспериментов. Скорее всего, в ближайшие десятилетия произойдет постепенная гибридизация традиционных принципов фон Неймана с инновационными подходами.