Схематическое изображение машины фон неймана
Принципы фон Неймана (Архитектура фон Неймана)
В 1946 году Д. фон Нейман, Г. Голдстайн и А. Беркс в своей совместной статье изложили новые принципы построения и функционирования ЭВМ. В последствие на основе этих принципов производились первые два поколения компьютеров. В более поздних поколениях происходили некоторые изменения, хотя принципы Неймана актуальны и сегодня.
По сути, Нейману удалось обобщить научные разработки и открытия многих других ученых и сформулировать на их основе принципиально новое.
Принципы фон Неймана
Самым главным следствием этих принципов можно назвать то, что теперь программа уже не была постоянной частью машины (как например, у калькулятора). Программу стало возможно легко изменить. А вот аппаратура, конечно же, остается неизменной, и очень простой.
Для сравнения, программа компьютера ENIAC (где не было хранимой в памяти программы) определялась специальными перемычками на панели. Чтобы перепрограммировать машину (установить перемычки по-другому) мог потребоваться далеко не один день. И хотя программы для современных компьютеров могут писаться годы, однако они работают на миллионах компьютеров после несколько минутной установки на жесткий диск.
Как работает машина фон Неймана
Программы и данные вводятся в память из устройства ввода через арифметико-логическое устройство. Все команды программы записываются в соседние ячейки памяти, а данные для обработки могут содержаться в произвольных ячейках. У любой программы последняя команда должна быть командой завершения работы.
Команда состоит из указания, какую операцию следует выполнить (из возможных операций на данном «железе») и адресов ячеек памяти, где хранятся данные, над которыми следует выполнить указанную операцию, а также адреса ячейки, куда следует записать результат (если его требуется сохранить в ЗУ).
Арифметико-логическое устройство выполняет указанные командами операции над указанными данными.
Из арифметико-логического устройства результаты выводятся в память или устройство вывода. Принципиальное различие между ЗУ и устройством вывода заключается в том, что в ЗУ данные хранятся в виде, удобном для обработки компьютером, а на устройства вывода (принтер, монитор и др.) поступают так, как удобно человеку.
УУ управляет всеми частями компьютера. От управляющего устройства на другие устройства поступают сигналы «что делать», а от других устройств УУ получает информацию об их состоянии.
Управляющее устройство содержит специальный регистр (ячейку), который называется «счетчик команд». После загрузки программы и данных в память в счетчик команд записывается адрес первой команды программы. УУ считывает из памяти содержимое ячейки памяти, адрес которой находится в счетчике команд, и помещает его в специальное устройство — «Регистр команд». УУ определяет операцию команды, «отмечает» в памяти данные, адреса которых указаны в команде, и контролирует выполнение команды. Операцию выполняет АЛУ или аппаратные средства компьютера.
В результате выполнения любой команды счетчик команд изменяется на единицу и, следовательно, указывает на следующую команду программы. Когда требуется выполнить команду, не следующую по порядку за текущей, а отстоящую от данной на какое-то количество адресов, то специальная команда перехода содержит адрес ячейки, куда требуется передать управление.
Закат архитектуры фон Неймана, о котором вы еще не слышали и что будет дальше?
За последние тридцать лет компьютеры настолько стали популярны, что успели изменить многие процессы в жизни человека и соответственно общества. С каждым годом, согласно закону Мура, они приобретают все больше вычислительных способностей, что позволяет им решать все более сложные задачи. Уже сегодня компьютеры столкнулись с рядом ограничений, которые не позволяют нам решать задачи из фильмов про будущее. Так ли будет и дальше, есть ли предел у современной архитектуры и что нам делать, если такой стремительный рост в дальнейшем невозможен?
На изображении отладочная плата с расположенными чипами Loihi.
Классическая архитектура фон Неймана
“Бутылочное горлышко” архитектуры фон Неймана.
Все классические компьютеры обладают так называемой архитектурой фон Неймана.
Рис. 1. The decline of von Neumanns architecture
Недостатком такой архитектуры является тот факт, что данные из области памяти цикл за циклом должны передаваться в область вычислительного юнита и обратно. Интерфейс, связывающий вычислительный юнит и память компьютера, ограничен в своей пропускной способности. Даже тот факт, что современные процессоры имеют несколько уровней кэша непосредственно в вычислительном юните, не решает проблему. Данный подход усугубляется необходимостью аккумулировать и структурировать данные для полного заполнения буфера вычисляемых операций. Можно привести метафору с поездом: пока все пассажиры не займут именно свои места в поезде, поезд никуда не поедет.
Физические ограничения материалов
Согласно закону Мура, количество транзисторов удваивается примерно каждые два года при уменьшении стоимости их производства. Реализуется этот факт посредством уменьшения размера транзистора. Уменьшение размеров транзистора приводит нас к еще одному ограничению: их размеры обусловлены физическими свойствами материалов из которых они производятся.
Реалии представляются таким образом, что этот закон начинает испытывать давление со стороны “законов физики микромира”.
Рис. 2. Уменьшение размеров транзистора приводит к ошибкам в его производстве
Тут мы сталкиваемся сразу с несколькими сложностями:
Отказоустойчивость и брак в производстве
Задумывались ли вы, как производят младшие модели процессоров и чипов для видеокарт? Вы наверное подумаете, что есть специально выделенные команды, которые разрабатывают каждый год новый упрощенный чип. На самом деле процесс выглядит по-другому. Компания разрабатывает один максимально мощный чип. Его устройство выглядит, как некая повторяющаяся архитектура. Обратите внимание на то, что практически все элементы дублируются, как и в авиации.
Рис. 3. Блок схема процессора Xeon
Это сделано для того, чтоб в том случае, если в каком-то блоке выйдет из строя большое количество транзисторов из-за брака во время производства, этот блок можно было отключить, а процессор целиком остался в рабочем состоянии. Как вы понимаете, производство процессоров очень дорогое, и одна из причин этого большой процент брака. Процент брака кристаллов для 28-ядерных процессоров Intel Xeon составляет до 65 %. Если у конечного процессора не работает один из блоков памяти или одно из ядер не проходит TDP тест, его отключают, а процессор упаковывают в коробку “младшей модели”.
Подход хороший, но он требует отключения очень больших блоков: в случае отказа нескольких транзисторов, которых в одном ядре может быть семьсот миллионов. То есть отказ 0.000000001% транзисторов приводит к потере 10% и более производительности устройства.
Если предположить, что мы можем создавать блоки, основанные на ста транзисторах при количестве этих самых блоков более миллиона мы бы получили значительный прирост отказоустойчивости в чипе. Это значит, что при выходе из строя небольшого количества транзисторов мы бы теряли очень маленький процент блоков от их общего числа. Этот подход сильно бы удешевил стоимость производства, и топовый чип стоил бы уже не, как малолитражный автомобиль, а как хорошая рубашка.
Потребление электроэнергии и размер суперкомпьютеров
В современном мире, когда мобильный телефон обладает вычислительными способностями компьютера пятилетней давности и при этом работает от аккумулятора, нам кажется, что мы почти достигли предела в уменьшении потребления энергии компьютерами. Но, если мы сравним вычислительные способности суперкомпьютера IBM Summit, его размеры и потребляемые им объемы энергии с мозгом мыши, окажется, что он неимоверно большой и очень неэффективный.
Рис 4. IBM Power System AC922, IBM POWER9 22C 3.07GHz, NVIDIA Volta GV100, Dual-rail Mellanox
EDR InfiniBand, 2.41 million cores, 148.6 petaflops
Пиковая потребляемая мощность: 13 000 000 W
Размеры: 4,608 nodes * 0.2 m^3 = 920 m^3
Мозг мыши способен обрабатывать куда более сложные задачи при потреблении всего 1-5 ватт.
Online learning and continuous-flow
Тут хочется сказать больше об алгоритмах, нежели об архитектуре, хотя в данном контексте алгоритмы продиктованы архитектурой. Современный компьютер хорошо справляется с дискретными данными, когда есть, пускай и большое количество, но все же порционных, конечных, желательно целочисленных данных, тут он может себя проявить очень хорошо. Но вот, когда речь заходит о последовательностях, непрерывности, бесконечно малых или бесконечно больших значениях, тут мы пытаемся найти некое приближение. В результате мы интерпретируем наши данные в последовательность дискретных кадров, дробим, разделяем и обрабатываем каждый фрейм как нечто статическое и конечное.
Да, сейчас существуют различные подходы bi-directional soft attention (см. BERT) для того, чтобы связывать эти самые кадры в работе с языковыми моделями. Также современные подходы машинного обучения лишены возможности обучаться непосредственно в процессе решения поставленной задачи. Это все еще две различные задачи.
Параллелизм и масштабируемость
Возвращаясь к архитектуре фон Неймана, мы видим, что весь поток данных проходит через некий вычислительный центр, то есть по сути еще одно узкое горлышко. Количество ядер в современных чипах растет, но вслед за этим возникает и новая проблема: сперва данные нужно распараллелить, а после синхронизировать результаты. То есть, если у вас множество независимых входных сигналов и они не связаны между собой ни во времени, ни в контексте, множество ядер процессоров и ядер видеокарт хорошо справляются с этой задачей. Но в том случае, если у вас большой входной сигнал, то задача параллелизма вычислений, синхронизации результатов может занять большую часть этих самых вычислений.
Оригинал статьи
В следующей статье я рассказываю как решают все перечисленные сложности по средствам Neuromorphic архитектуры.
Архитектура ЭВМ Джона фон неймана
Описание презентации по отдельным слайдам:
Архитектура ЭВМ Джона фон Неймана. Принципы формирования ЭВМ.
Архитектура ЭВМ – это внутренняя структура в машине, ее логическая организация, определяющая процесс обработки и методы кодирования данных, состав, назначение, принципы взаимодействия технических средств и программного обеспечения.
Как работает машина фон Неймана?
В 1946 году Д. фон Нейман, Г. Голдстайн и А. Беркс в своей совместной статье изложили новые принципы построения и функционирования ЭВМ. В последствие на основе этих принципов производились первые два поколения компьютеров. В более поздних поколениях происходили некоторые изменения, хотя принципы Неймана актуальны и сегодня. Герман Голдстайн Артур Беркс Джон фон Нейман
Использование двоичной системы счисления в вычислительных машинах. Программное управление ЭВМ. Память компьютера используется не только для хранения данных, но и программ. Ячейки памяти ЭВМ имеют адреса, которые последовательно пронумерованы. Возможность условного перехода в процессе выполнения программы. Принципы фон Неймана.
В двоичной системе счисления используются всего две цифры 0 и 1. Другими словами, двойка является основанием двоичной системы счисления. Преимущество перед десятичной системой счисления заключается в том, что устройства можно делать достаточно простыми, арифметические и логические операции в двоичной системе счисления также выполняются достаточно просто. Использование двоичной системы счисления в вычислительных машинах.
Системы счисления Десятичная Двоичная Восьмеричная Шестнадцатеричная 0 0 0 0 1 1 1 1 2 10 2 2 3 11 3 3 4 100 4 4 5 101 5 5 6 110 6 6 7 111 7 7 8 1000 10 8 9 1001 11 9 10 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F
Работа ЭВМ контролируется программой, состоящей из набора команд. Команды выполняются последовательно друг за другом. Созданием машины с хранимой в памяти программой было положено начало тому, что мы сегодня называем программированием. Программное управление ЭВМ.
При этом и команды программы и данные кодируются в двоичной системе счисления, т.е. их способ записи одинаков. Поэтому в определенных ситуациях над командами можно выполнять те же действия, что и над данными. Память компьютера используется не только для хранения данных, но и программ.
В любой момент можно обратиться к любой ячейке памяти по ее адресу. Этот принцип открыл возможность использовать переменные в программировании. Ячейки памяти ЭВМ имеют адреса, которые последовательно пронумерованы.
Не смотря на то, что команды выполняются последовательно, в программах можно реализовать возможность перехода к любому участку кода. Возможность условного перехода в процессе выполнения программы.
Джон фон Нейман был удостоен высших академических почестей. Он был избран членом Академии точных наук (Лима, Перу), Американской академии искусств и наук, Американского философского общества, Ломбардского института наук и литературы, Нидерландской королевской академии наук и искусств, Национальной академии США, почетным доктором многих университетов США и других стран. Достижения Джона фон Неймана.
Архитектурные принципы организации ЭВМ, указанные Джоном фон Нейманом, долгое время оставались почти неизменными, и лишь в конце 1970-х годов в архитектуре суперЭВМ и матричных процессоров появились отклонения от этих принципов.
Спасибо за внимание!
Курс повышения квалификации
Дистанционное обучение как современный формат преподавания
Курс профессиональной переподготовки
Методическая работа в онлайн-образовании
Курс профессиональной переподготовки
Математика и информатика: теория и методика преподавания в образовательной организации
Ищем педагогов в команду «Инфоурок»
Номер материала: ДБ-1292766
Не нашли то что искали?
Вам будут интересны эти курсы:
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.
Школьники из Москвы выступят на Международной олимпиаде мегаполисов
Время чтения: 3 минуты
Утверждены сроки заключительного этапа ВОШ
Время чтения: 1 минута
Путин поручил не считать выплаты за классное руководство в средней зарплате
Время чтения: 1 минута
Учителям предлагают 1,5 миллиона рублей за переезд в Златоуст
Время чтения: 1 минута
В школах Тюмени запустят раздельный сбор отходов
Время чтения: 1 минута
Петербургский Политех создал отдельное меню для вегетарианцев в своих столовых
Время чтения: 1 минута
Подарочные сертификаты
Ответственность за разрешение любых спорных моментов, касающихся самих материалов и их содержания, берут на себя пользователи, разместившие материал на сайте. Однако администрация сайта готова оказать всяческую поддержку в решении любых вопросов, связанных с работой и содержанием сайта. Если Вы заметили, что на данном сайте незаконно используются материалы, сообщите об этом администрации сайта через форму обратной связи.
Все материалы, размещенные на сайте, созданы авторами сайта либо размещены пользователями сайта и представлены на сайте исключительно для ознакомления. Авторские права на материалы принадлежат их законным авторам. Частичное или полное копирование материалов сайта без письменного разрешения администрации сайта запрещено! Мнение администрации может не совпадать с точкой зрения авторов.
Принципы построения и работы ЭВМ Джона фон Неймана
Человек, сформулировавший знаменитые принципы фон Неймана, родился в 1903 г. в Будапеште. Выходец из еврейской семьи, Янош Лайош Нейман, с детства проявлял задатки будущего математика, физика, химика.
В 30-х годах преподавал в Германии под именем Иоганна фон Неймана. Расцветающий нацизм и приглашение от американцев подтолкнули молодого ученого к решению перебраться в США. Там он окончательно стал Джоном.
Работал в Принстоне, в университете и Институте перспективных исследований. Одно время там же работал по близкой тематике Алан Тьюринг. Один из создателей информатики в современном виде. Повлияли ли на Джона работы последнего, достоверно неизвестно.
Принципы Джона фон Неймана
Ученый был специалистом широкого профиля, но в историю вошел как создатель новационной архитектуры компьютера. Радикально нового с тех пор не придумали.
Понятие «архитектура» означает необходимую организацию «железа» и программ для оптимального решения задач. При этом учитываются финансовые затраты, область приложения, функционал, комфортность в работе.
Не стоит путать со «структурой». Последняя не столь глобально описывают внутренние связи. Уточняет взаимодействие деталей устройства.
Идея возникла, когда фон Нейман занялся анализом недостатков первой электронной машины ENIAC (1944 г.). Сделанные ранее в Германии образцы были электромеханическими, на реле.
Концепция создания усовершенствованной ЭВМ EDVAC была представлена в 1946 г. Новшество заключалось в следующем:
Утверждается двоичная система счисления как наиболее логичная и простая для реализации в компьютере. В дальнейшем нововведение дало возможность работать не только с цифрами, но и с текстами, графикой, видео / звуком.
Для проведения операций используется программа, включающая выполняемые одна за другой команды. Последняя в последовательности сигнализирует об окончании процесса. В нашем понимании – это программирование.
Программы и данные размещаются в памяти ЭВМ, преобразовываясь в двоичный код (см. п. 1). Производимые над ними операции схожи, соблюдается однородность. Машина самостоятельно корректировала программу сообразно запрошенным операциям.
Ячейкам памяти присваиваются конкретные адреса. Таким образом вводятся переменные.
Команды могут исполняться не только последовательно, но допускается переход с соблюдением условия. Так, например, может запускаться циклическая обработка данных.
Качественным улучшением по сравнению с ЭНИАКом стала легкость загрузки программ. Последние больше не являлись компонентом устройства и без труда менялись.
Принцип построения и работы ЭВМ фон Неймана
Заносимые в память команды (программа) содержат информацию о необходимом действии и адреса требуемых данных. Также вводятся идентификатор ячейки для введения память результата (если нужно).
АЛУ отвечает за исполнение команды. Итог операции отправляется в память или на вывод. ВЗУ сходно с устройством вывода тем, что используется для недолгого хранения параметров. Только содержит информацию в непонятном для оператора формате. Исключительно для машины.
Если кратко, основной функцией АЛУ является поддержка незатейливых действий: арифметических, логических, перемещением данных. Еще анализируется результат. Решения по анализу принимаются УУ.
УУ предназначено для отправки указаний непосредственно отдельным деталям и получения от них подтверждений. Следит за очередностью выполнения команд и за их исполнением вообще.
Заключение
Фон Нейман привнес неоценимые новшества в создание машин электронного класса. Благодаря придуманной им схеме, улучшенный калькулятор (каковым являлся ЭНИАК) превратился со временем в инструмент обработки любой информации. При этом их «железный» состав изменился слабо. Электронные лампы, например, заменили на полупроводники.
УУ и АЛУ скомпоновали в моноблочный центральный процессор. Значительные качественные изменения претерпело ОЗУ. Возрос объем. Гораздо удобней стали аппараты ввода и вывода. Но принципиальных подвижек пока нет.
С другой стороны, заслуги представляются несколько преувеличенными. Основы «принципов» рождались в результате дискуссий с коллегами. Но в опубликованных итогах оказалась одна фамилия. Но безусловна роль фон Неймана как систематизатора. А на титул первооткрывателя он и не претендовал.
Архитектура фон Неймана
Материал из ПИЭ.Wiki
Архитектура фон Неймана (англ. von Neumann architecture) — широко известный принцип совместного хранения программ и данных в памяти компьютера. Вычислительные системы такого рода часто обозначают термином «машина фон Неймана», однако, соответствие этих понятий не всегда однозначно. В общем случае, когда говорят об архитектуре фон Неймана, подразумевают физическое отделение процессорного модуля от устройств хранения программ и данных.
Наличие заданного набора исполняемых команд и программ было характерной чертой первых компьютерных систем. Сегодня подобный дизайн применяют с целью упрощения конструкции вычислительного устройства. Так, настольные калькуляторы, в принципе, являются устройствами с фиксированным набором выполняемых программ. Их можно использовать для математических расчётов, но невозможно применить для обработки текста и компьютерных игр, для просмотра графических изображений или видео. Изменение встроенной программы для такого рода устройств требует практически полной их переделки, и в большинстве случаев невозможно. Впрочем, перепрограммирование ранних компьютерных систем всё-таки выполнялось, однако требовало огромного объёма ручной работы по подготовке новой документации, перекоммутации и перестройки блоков и устройств и т. п. Всё изменила идея хранения компьютерных программ в общей памяти. Ко времени её появления использование архитектур, основанных на наборах исполняемых инструкций, и представление вычислительного процесса как процесса выполнения инструкций, записанных в программе, чрезвычайно увеличило гибкость вычислительных систем в плане обработки данных. Один и тот же подход к рассмотрению данных и инструкций сделал лёгкой задачу изменения самих программ.
В настоящее время фон-неймановской архитектурой называется организация ЭВМ, при которой вычислительная машина состоит из двух основных частей — линейно-адресуемой памяти, слова которой хранят команды и элементы данных, и процессора, выполняющего эти команды. В основе модели вычислений фон Неймана лежат принцип последовательной передачи управления (счётчик команд) и концепция переменной (идентификатор).
Содержание
Джон фон Нейман. Биография
Фон Нейман получил степень доктора философии по математике (с элементами экспериментальной физики и химии) в университете Будапешта в 23 года. Одновременно он изучал химическую инженерию в швейцарском Цюрихе (Макс фон Нейман полагал профессию математика недостаточной для того, чтобы обеспечить надёжное будущее сына). С 1926 по 1930 год Джон фон Нейман был приват-доцентом в Берлине.
В 1930 году фон Нейман был приглашён на преподавательскую должность в американский Принстонский университет. Был одним из первых приглашённых на работу в основанный в 1930 году научно-исследовательский Институт перспективных исследований (англ. Institute for Advanced Study), также располагавшийся в Принстоне, где с 1933 года и до самой смерти занимал профессорскую должность.
В 1936—1938 годах Алан Тьюринг защищал в институте под руководством Алонзо Чёрча докторскую диссертацию. Это случилось вскоре после публикации в 1936 году статьи Тьюринга «О вычислимых числах в применении к проблеме разрешимости» (англ. On Computable Numbers with an Application to the Entscheidungs problem), которая включала в себя концепции логического проектирования и универсальной машины. Фон Нейман, несомненно, был знаком с идеями Тьюринга, однако неизвестно, применял ли он их в проектировании IAS-машины десять лет спустя.
В 1937 году фон Нейман стал гражданином США. В 1938 он был награждён премией имени М. Бохера за свои работы в области анализа.
Фон Нейман был женат дважды. В первый раз он женился на Мариэтте Кёвеши (Mariette Kövesi) в 1930 году. Брак распался в 1937 году, а уже в 1938 он женился на Кларе Дэн (Klara Dan). От первой жены у фон Неймана родилась дочь Марина — в последующем известный экономист.
В 1946 году Джон фон Нейман доказал теорему о плотности записи чисел в сдвоенных комбинированных показательных позиционных системах счисления. Первый успешный численный прогноз погоды был произведен в 1950 году с использованием компьютера ENIAC командой американских метеорологов совместно с Джоном фон Нейманом.
В 1957 году фон Нейман заболел раком кости, возможно, вызванным радиоактивным облучением при исследовании атомной бомбы в Тихом океане или, может быть, при последующей работе в Лос-Аламосе, штат Нью-Мексико (его коллега, пионер ядерных исследований Энрико Ферми, умер от рака желудка в 1954 году). Через несколько месяцев после постановки диагноза фон Нейман умер в тяжёлых мучениях. Рак также поразил его мозг, практически лишив его возможности мыслить. Когда он лежал при смерти в госпитале Вальтера Рида, он шокировал своих друзей и знакомых просьбой поговорить с католическим священником.
История
В середине 1940-х проект компьютера, хранящего свои программы в общей памяти был разработан в Школе электрических разработок Мура (англ. The Moore School of Electrical Engineering) в Университете штата Пенсильвания (англ. The University of Pennsylvania).В процессе работы во время многочисленных дискуссий со своими коллегами Г. Голдстайном и А. Берксом фон Нейман высказал идею принципиально новой ЭВМ. В 1946 г. ученые изложили свои принципы построения вычислительных машин в ставшей классической статье “Предварительное рассмотрение логической конструкции электронно-вычислительного устройства”.В статье убедительно обосновывается использование двоичной системы для представления чисел (нелишне напомнить, что ранее все вычислительные машины хранили обрабатываемые числа в десятичном виде). Авторы убедительно продемонстрировали преимущества двоичной системы для технической реализации, удобство и простоту выполнения в ней арифметических и логических операций (в дальнейшем ЭВМ стали обрабатывать и нечисловые виды информации – текстовую, графическую, звуковую и другие, но двоичное кодирование данных по-прежнему составляет информационную основу любого современного компьютера). Еще одной поистине революционной идеей, значение которой трудно переоценить, является предложенный Нейманом принцип “хранимой программы”. Первоначально программа задавалась путем установки перемычек на специальной коммутационной панели. Нейман первым догадался, что программа может также храниться в виде набора нулей и единиц, причем в той же самой памяти, что и обрабатываемые ею числа. Отсутствие принципиальной разницы между программой и данными дало возможность ЭВМ самой формировать для себя программу в соответствии с результатами вычислений.
Архитектура фон Неймана решала проблемы, свойственные компьютеру «ЭНИАК», который создавался в то время, за счёт хранения программы компьютера в его собственной памяти. Информация о проекте стала доступна другим исследователям вскоре после того, как в 1946 году было объявлено о создании «Эниака». По плану предполагалось осуществить проект силами Муровской школы в машине EDVAC, однако до 1951 года EDVAC не был запущен из-за технических трудностей в создании надёжной компьютерной памяти. Другие научно-исследовательские институты, получившие копии проекта, сумели решить эти проблемы гораздо раньше группы разработчиков из Муровской школы и реализовали их в собственных компьютерных системах. Первыми пятью компьютерами, в которых были реализованы основные особенности архитектуры фон Неймана, были:
— Манчестерский Марк I. Прототип — Манчестерская малая экспериментальная машина. Университет Манчестера (англ. The University of Manchester), Великобритания, 21 июня 1948 года;
— EDSAC. Кембриджский университет (англ. The Cambridge University), Великобритания, 6 мая 1949 года;
— BINAC. США, апрель или август 1949 года;
— CSIR Mk 1. Австралия, ноябрь 1949 года;
— SEAC. США, 9 мая 1950 года.
Принципы фон Неймана
В 1946 году Д. фон Нейман, Г. Голдстайн и А. Беркс в своей совместной статье изложили новые принципы построения и функционирования ЭВМ. В последствие на основе этих принципов производились первые два поколения компьютеров. В более поздних поколениях происходили некоторые изменения, хотя принципы Неймана актуальны и сегодня.
По сути, Нейману удалось обобщить научные разработки и открытия многих других ученых и сформулировать на их основе принципиально новое.
1. Использование двоичной системы счисления в вычислительных машинах. Преимущество перед десятичной системой счисления заключается в том, что устройства можно делать достаточно простыми, арифметические и логические операции в двоичной системе счисления также выполняются достаточно просто.
2. Программное управление ЭВМ. Работа ЭВМ контролируется программой, состоящей из набора команд. Команды выполняются последовательно друг за другом. Созданием машины с хранимой в памяти программой было положено начало тому, что мы сегодня называем программированием.
3. Память компьютера используется не только для хранения данных, но и программ. При этом и команды программы и данные кодируются в двоичной системе счисления, т.е. их способ записи одинаков. Поэтому в определенных ситуациях над командами можно выполнять те же действия, что и над данными.
4. Ячейки памяти ЭВМ имеют адреса, которые последовательно пронумерованы. В любой момент можно обратиться к любой ячейке памяти по ее адресу. Этот принцип открыл возможность использовать переменные в программировании.
5. Возможность условного перехода в процессе выполнения программы. Не смотря на то, что команды выполняются последовательно, в программах можно реализовать возможность перехода к любому участку кода.
Самым главным следствием этих принципов можно назвать то, что теперь программа уже не была постоянной частью машины (как например, у калькулятора). Программу стало возможно легко изменить. А вот аппаратура, конечно же, остается неизменной, и очень простой.
Для сравнения, программа компьютера ENIAC (где не было хранимой в памяти программы) определялась специальными перемычками на панели. Чтобы перепрограммировать машину (установить перемычки по-другому) мог потребоваться далеко не один день. И хотя программы для современных компьютеров могут писаться годы, однако они работают на миллионах компьютеров после несколько минутной установки на жесткий диск.
Машина фон Неймана
Первые компьютерные системы отличались жестко заданным набором исполняемых команд и программ. Примером такого рода вычислительных устройств являются калькуляторы. Идея хранения компьютерных программ в общей памяти позволяла превратить вычислительные машины в универсальные устройства, которые способны выполнять широкий круг задач.
Программы и данные вводятся в память из устройства ввода через арифметико-логическое устройство. Все команды программы записываются в соседние ячейки памяти, а данные для обработки могут содержаться в произвольных ячейках. У любой программы последняя команда должна быть командой завершения работы.
Команда состоит из указания, какую операцию следует выполнить (из возможных операций на данном «железе») и адресов ячеек памяти, где хранятся данные, над которыми следует выполнить указанную операцию, а также адреса ячейки, куда следует записать результат (если его требуется сохранить в ЗУ).
Из арифметико-логического устройства результаты выводятся в память или устройство вывода. Принципиальное различие между ЗУ и устройством вывода заключается в том, что в ЗУ данные хранятся в виде, удобном для обработки компьютером, а на устройства вывода (принтер, монитор и др.) поступают так, как удобно человеку.
УУ управляет всеми частями компьютера. От управляющего устройства на другие устройства поступают сигналы «что делать», а от других устройств УУ получает информацию об их состоянии.
Управляющее устройство содержит специальный регистр (ячейку), который называется «счетчик команд». После загрузки программы и данных в память в счетчик команд записывается адрес первой команды программы. УУ считывает из памяти содержимое ячейки памяти, адрес которой находится в счетчике команд, и помещает его в специальное устройство — «Регистр команд». УУ определяет операцию команды, «отмечает» в памяти данные, адреса которых указаны в команде, и контролирует выполнение команды. Операцию выполняет АЛУ или аппаратные средства компьютера.
В результате выполнения любой команды счетчик команд изменяется на единицу и, следовательно, указывает на следующую команду программы. Когда требуется выполнить команду, не следующую по порядку за текущей, а отстоящую от данной на какое-то количество адресов, то специальная команда перехода содержит адрес ячейки, куда требуется передать управление.
Подавляющее большинство вычислительных машин на сегодняшний день – фон-неймановские машины. Исключение составляют лишь отдельные разновидности систем для параллельных вычислений, в которых отсутствует счетчик команд, не реализована классическая концепция переменной и имеются другие существенные принципиальные отличия от классической модели (примерами могут служить потоковая и редукционная вычислительные машины). По-видимому, значительное отклонение от фон-неймановской архитектуры произойдет в результате развития идеи машин пятого поколения, в основе обработки информации в которых лежат не вычисления, а логические выводы.