Все о тюнинге авто

Классическая архитектура фон неймана. Классическая архитектура эвм и принципы фон неймана. Эволюция шинной системы архитектуры

Архитектура фон Неймана (англ. von Neumann architecture) - широко известный принцип совместного хранения программ и данных в памяти компьютера. Вычислительные системы такого рода часто обозначают термином «машина фон Неймана», однако, соответствие этих понятий не всегда однозначно. В общем случае, когда говорят об архитектуре фон Неймана, подразумевают физическое отделение процессорного модуля от устройств хранения программ и данных.

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

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

Джон фон Нейман. Биография

Янош Лайош Нейман родился старшим из трёх сыновей в состоятельной еврейской семье в Будапеште, бывшем в те времена городом Австро-Венгерской империи. Его отец, Макс Нейман (венг. Neumann Miksa, 1870-1929), переселился в Будапешт из провинциального городка Печ в конце 1880-х годов, получил степень доктора от юриспруденции и работал адвокатом в банке. Мать, Маргарет Канн (венг. Kann Margit, 1880-1956), была домохозяйкой и старшей дочерью (во втором браке) преуспевающего коммерсанта Якоба Канна - партнёра в фирме «Kann-Heller», специализирующейся на торговле мельничными жерновами и другим сельскохозяйственным оборудованием.

Янош, или просто Янси, был необыкновенно одарённым ребёнком. Уже в 6 лет он мог разделить в уме два восьмизначных числа и беседовать с отцом на древнегреческом. Янош всегда интересовался математикой, природой чисел и логикой окружающего мира. В восемь лет он уже хорошо разбирался в математическом анализе. В 1911 году он поступил в Лютеранскую Гимназию. В 1913 году его отец получил дворянский титул, и Янош вместе с австрийским и венгерским символами знатности - приставкой фон (von) к австрийской фамилии и титулом Маргиттаи (Margittai) в венгерском именовании - стал называться Янош фон Нейман или Нейман Маргиттаи Янош Лайош. Во время преподавания в Берлине и Гамбурге его называли Иоганн фон Нейман. Позже, после переселения в 1930-х годах в США, его имя на английский манер изменилось на Джон. Любопытно, что его братья после переезда в США получили совсем другие фамилии: Vonneumann и Newman. Первая, как можно заметить, является "сплавом" фамилии и приставки "фон", вторая же - дословным переводом фамилии с немецкого на английский.

Фон Нейман получил степень доктора философии по математике (с элементами экспериментальной физики и химии) в университете Будапешта в 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 года;

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

Принципы фон Неймана

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

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

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

2. Программное управление ЭВМ. Работа ЭВМ контролируется программой, состоящей из набора команд. Команды выполняются последовательно друг за другом. Созданием машины с хранимой в памяти программой было положено начало тому, что мы сегодня называем программированием.

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

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

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

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

Для сравнения, программа компьютера ENIAC (где не было хранимой в памяти программы) определялась специальными перемычками на панели. Чтобы перепрограммировать машину (установить перемычки по-другому) мог потребоваться далеко не один день. И хотя программы для современных компьютеров могут писаться годы, однако они работают на миллионах компьютеров после несколько минутной установки на жесткий диск.

Машина фон Неймана

В соответствии с принципами фон Неймана компьютер состоит из арифметико-логического устройства - АЛУ (англ. ALU, Arithmetic and Logic Unit), выполняющего арифметические и логические операции; устройства управления, предназначенного для организации выполнения программ; запоминающих устройств (ЗУ), в т.ч. оперативного запоминающего устройства (ОЗУ) и внешнего запоминающего устройства (ВЗУ); внешних устройств для ввода-вывода данных. Фон-неймановская архитектура компьютера считается классической, на ней построено большинство компьютеров. В общем случае, когда говорят об архитектуре фон Неймана, подразумевают физическое отделение процессорного модуля от устройств хранения программ и данных.

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

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

Команда состоит из указания, какую операцию следует выполнить (из возможных операций на данном «железе») и адресов ячеек памяти, где хранятся данные, над которыми следует выполнить указанную операцию, а также адреса ячейки, куда следует записать результат (если его требуется сохранить в ЗУ).

Из арифметико-логического устройства результаты выводятся в память или устройство вывода. Принципиальное различие между ЗУ и устройством вывода заключается в том, что в ЗУ данные хранятся в виде, удобном для обработки компьютером, а на устройства вывода (принтер, монитор и др.) поступают так, как удобно человеку.

УУ управляет всеми частями компьютера. От управляющего устройства на другие устройства поступают сигналы «что делать», а от других устройств УУ получает информацию об их состоянии.

Управляющее устройство содержит специальный регистр (ячейку), который называется «счетчик команд». После загрузки программы и данных в память в счетчик команд записывается адрес первой команды программы. УУ считывает из памяти содержимое ячейки памяти, адрес которой находится в счетчике команд, и помещает его в специальное устройство - «Регистр команд». УУ определяет операцию команды, «отмечает» в памяти данные, адреса которых указаны в команде, и контролирует выполнение команды. Операцию выполняет АЛУ или аппаратные средства компьютера.

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

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

Государственное образовательное учреждение

высшего профессионального образования Тюменской области

ТЮМЕНСКАЯ ГОСУДАРСТВЕННАЯ АКАДЕМИЯ

МИРОВОЙ ЭКОНОМИКИ, УПРАВЛЕНИЯ И ПРАВА

Кафедра математики и информатики

по дисциплине

«ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ, СЕТИ И ТЕЛЕКОМУНИКАЦИИ»

«ПРИНЦИПЫ ФОН НЕЙМАНА»

1. Введение………………………………………………………………....2

2. Основные принципы архитектуры Джона фон Неймана…………….3

3. Структура ЭВМ…………………………………………………………3

4. Как работает машина Джона фон Неймана…………………………...4

5. Заключение……………………………………………………………...6

Список литературы………………………………………………………...8


Введение

С середины 60-х годов очень сильно изменился подход к созданию вычислительных машин. Вместо разработки аппаратуры и средств математического обеспечения стала проектироваться система, состоящая из синтеза аппаратных (hardware) и программных (software) средств. При этом на главный план выдвинулась концепция взаимодействия. Так возникло новое понятие - архитектура ЭВМ.

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

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

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

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

Архитектура ЭВМ включает в себя как структуру, отражающую состав ПК, так и программно – математическое обеспечение. Структура ЭВМ - совокупность элементов и связей между ними. Основным принципом построения всех современных ЭВМ является программное управление.

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

Основные принципы архитектуры Джона фон Неймана

Джон фон Нейман (1903 – 1957) – американский математик, внесший большой вклад в создание первых ЭВМ и разработку методов их применения. Именно он заложил основы учения об архитектуре вычислительных машин, подключившись к созданию первой в мире ламповой ЭВМ ENIAC в 1944 году, когда ее конструкция была уже выбрана. В процессе работы, во время многочисленных дискуссий со своими коллегами Г.Голдстайном и А.Берксом, Джон фон Нейман высказал идею принципиально новой ЭВМ. В 1946 году ученые изложили свои принципы построения вычислительных машин в ставшей классической статье «Предварительное рассмотрение логической конструкции электронно-вычислительного устройства». С тех пор прошло более полувека, но выдвинутые в ней положения сохраняют свою актуальность и сегодня.

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

Еще одной революционной идеей, значение которой трудно переоценить, является предложенный Нейманом принцип «хранимой программы». Первоначально программа задавалась путем установки перемычек на специальной коммутационной панели. Это было весьма трудоемким занятием: например, для изменения программы машины ENIAC требовалось несколько дней, в то время как собственно расчет не мог продолжаться более нескольких минут – выходили из строя лампы, которых было огромное количество. Нейман первым догадался, что программа может также храниться в виде набора нулей и единиц, причем в той же самой памяти, что и обрабатываемые ею числа. Отсутствие принципиальной разницы между программой и данными дало возможность ЭВМ самой формировать для себя программу в соответствии с результатами вычислений.

Структура ЭВМ

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

Архитектура ЭВМ, построенная на принципах Джон фон Неймана.

Сплошные линии со стрелками указывают направление потоков информации, пунктирные – управляющих сигналов.

Как работает машина Джона фон Неймана

Теперь более подробно поговорим о том, как же работает машина построенная на данной архитектуре. Машина фон Неймана состоит из запоминающего устройства (памяти) – ЗУ, арифметико-логического устройства – АЛУ, устройства управления – УУ, а также устройств ввода и вывода, что видно их схемы и о чем говорилось ранее.

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

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

Арифметико-логическое устройство выполняет указанные командами операции над указанными данными. Из него результаты выводятся в память или устройство вывода.

Управляющее устройство (УУ) управляет всеми частями компьютера. От него на другие устройства поступают сигналы «что делать», а от других устройств УУ получает информацию об их состоянии. Оно содержит специальный регистр (ячейку), который называется «счетчик команд». После загрузки программы и данных в память в счетчик команд записывается адрес первой команды программы, а УУ считывает из памяти содержимое ячейки памяти, адрес которой находится в счетчике команд, и помещает его в специальное устройство - «Регистр команд». УУ определяет операцию команды, «отмечает» в памяти данные, адреса которых указаны в команде, и контролирует выполнение команды.

АЛУ – обеспечивает арифметическую и логическую обработку двух переменных, в результате которых формируется выходная переменная. Функции АЛУ обычно сводятся к простым арифметическим и логическим операциям и операциям сдвига. Также формирует ряд признаков результата (флагов), характеризующих полученный результат и события, произошедшие в результате его получения (равенство нулю, знак, четность, переполнение). Флаги могут анализироваться УУ с целью принятия решения о дальнейшей последовательности выполнения команд.

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


Заключение

Итак, выделим ещё раз основные принципы, предложенные фон Нейманом:

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

· Принцип однородности памяти. Как программы (команды), так и данные хранятся в одной и той же памяти (и кодируются в одной и той же системе счисления - чаще всего двоичной). Над командами можно выполнять такие же действия, как и над данными.

· Принцип адресуемости памяти. Структурно основная память состоит из пронумерованных ячеек; процессору в произвольный момент времени доступна любая ячейка.

· Принцип последовательного программного управления. Все команды располагаются в памяти и выполняются последовательно, одна после завершения другой.

· Принцип условного перехода. Команды из программы не всегда выполняются одна за другой. Возможно присутствие в программе команд условного перехода, которые изменяют последовательность выполнения команд в зависимости от значений данных. (Сам принцип был сформулирован задолго до Джона фон Неймана Адой Лавлейс и Чарльзом Бэббиджем, однако он логически включен в фон-неймановский набор как дополняющий предыдущий принцип.)

Джон фон Нейман внес огромный вклад в развитие первых ЭВМ и разработку методов их применения. Разработанные фон Нейманом основы архитектуры вычислительных устройств оказались настолько фундаментальными, что получили в литературе название «фон-неймановской архитектуры». Принципы этой архитектуры широко используются и сегодня. Подавляющее большинство вычислительных машин на сегодняшний день – фон-неймановские машины. Исключение составляют лишь отдельные разновидности систем для параллельных вычислений, в которых отсутствует счетчик команд, не реализована классическая концепция переменной и имеются другие существенные принципиальные отличия от классической модели (примерами могут служить потоковая и редукционная вычислительные машины).

Устройство управления и арифметико-логическое устройство в современных компьютерах объединены в один блок – процессор, являющийся преобразователем информации, поступающей из памяти и внешних устройств (сюда относятся выборка команд из памяти, кодирование и декодирование, выполнение различных, в том числе и арифметических, операций, согласование работы узлов компьютера).

У современных компьютеров запоминающее устройство, хранящее информацию и программы, «многоярусно». Оно включает в себя оперативное запоминающее устройство (ОЗУ), хранящее ту информацию, с которой компьютер работает непосредственно в данное время (исполняемая программа, часть необходимых для нее данных, некоторые управляющие программы), и внешние запоминающие устройства (ВЗУ) гораздо большей емкости, чем ОЗУ, но с существенно более медленным доступом. На ОЗУ и ВЗУ классификация устройств памяти не заканчивается – определенные функции выполняют и СОЗУ (сверхоперативное запоминающее устройство), и ПЗУ (постоянное запоминающее устройство), и другие подвиды компьютерной памяти.

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


Список литературы

1. Х.Крейгон. Архитектура компьютера и её реализация. Учебное пособие. – С-Пб., Мир, 2004.

2. Э.Таненбауэм. Архитектура компьютера. Научная литература. – С-Пб., Питер, 2003.

Основы учения об архитектуре вычислительных машин заложил фон Нейман в 1944 году, когда подключился к созданию первого в мире лампового компьютера ЭНИАК . В процессе работы над ЭНИАКом в в Пенсильванском Университете во время многочисленных дискуссий фон Неймана с его коллегами Джоном Уильямом Мокли , Джоном Экертом , Германом Голдстайном и Артуром Бёрксом, возникла идея более совершенной машины под названием EDVAC . Исследовательская работа над EDVAC продолжалась параллельно с конструированием ЭНИАКа.

Первая страница отпечатанной копии «Первого отчёта по EDVAC»

В марте 1945 года принципы логической архитектуры были оформлены в документе, который назывался «Первый проект отчёта о EDVAC » - отчёт для Баллистической Лаборатории Армии США, на чьи деньги осуществлялась постройка ЭНИАКа и разработка EDVACа . Отчёт, поскольку он являлся всего лишь наброском, не предназначался для публикации, а только для распространения внутри группы, однако Герман Голдстайн - куратор проекта со стороны Армии США - размножил эту научную работу и разослал её широкому кругу учёных для ознакомления. Так как на первой странице документа стояло только имя фон Неймана , у читавших документ сложилось ложное впечатление, что автором всех идей, изложенных в работе, является именно он. Документ давал достаточно информации для того, чтобы читавшие его могли построить свои компьютеры, подобные EDVACу на тех же принципах и с той же архитектурой, которая в результате стала называться «архитектурой фон Неймана».

После завершения Второй Мировой войны и окончания работ над ЭНИАКом в феврале 1946 года команда инженеров и учёных распалась, Джон Мокли , Джон Экерт решили обратиться в бизнес и создавать компьютеры на коммерческой основе. Фон Нейман, Голдстайн и Бёркс перешли в , где решили создать свой компьютер «IAS-машина », подобный EDVACу , и использовать его для научно-исследовательской работы. В июне 1946 года они изложили свои принципы построения вычислительных машин в ставшей классической статье «Предварительное рассмотрение логической конструкции электронно-вычислительного устройства» . С тех пор прошло более полувека, но выдвинутые в ней положения сохраняют свою актуальность и сегодня. В статье убедительно обосновывается использование двоичной системы для представления чисел, а ведь ранее все вычислительные машины хранили обрабатываемые числа в десятичном виде. Авторы продемонстрировали преимущества двоичной системы для технической реализации, удобство и простоту выполнения в ней арифметических и логических операций. В дальнейшем ЭВМ стали обрабатывать и нечисловые виды информации - текстовую, графическую, звуковую и другие, но двоичное кодирование данных по-прежнему составляет информационную основу любого современного компьютера.

Помимо машин, работавших с двоичным кодом, существовали и существуют троичные машины . Троичные компьютеры имеют ряд преимуществ и недостатков перед двоичными. Среди преимуществ можно выделить быстродействие (операции сложения выполняются примерно в полтора раза быстрее), наличие двоичной и троичной логики, симметричное представление целых чисел со знаком (в двоичной логике либо будут иметь место два нуля (положительный и отрицательный), либо будет иметь место число, которому нет пары с противоположным знаком). К недостаткам - более сложная реализация по сравнению с двоичными машинами.

Ещё одной революционной идеей, значение которой трудно переоценить, является принцип «хранимой программы». Первоначально программа задавалась путём установки перемычек на специальной коммутационной панели. Это было весьма трудоёмким занятием: например, для изменения программы машины ЭНИАК требовалось несколько дней, в то время как собственно расчёт не мог продолжаться более нескольких минут - выходили из строя лампы, которых было огромное количество. Однако программа может также храниться в виде набора нулей и единиц, причём в той же самой памяти, что и обрабатываемые ею числа. Отсутствие принципиальной разницы между программой и данными дало возможность ЭВМ самой формировать для себя программу в соответствии с результатами вычислений.

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

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

Принципы фон Неймана

Принцип однородности памяти

Команды и данные хранятся в одной и той же памяти и внешне в памяти неразличимы. Распознать их можно только по способу использования; то есть одно и то же значение в ячейке памяти может использоваться и как данные, и как команда, и как адрес в зависимости лишь от способа обращения к нему. Это позволяет производить над командами те же операции, что и над числами, и, соответственно, открывает ряд возможностей. Так, циклически изменяя адресную часть команды, можно обеспечить обращение к последовательным элементам массива данных. Такой приём носит название модификации команд и с позиций современного программирования не приветствуется. Более полезным является другое следствие принципа однородности, когда команды одной программы могут быть получены как результат исполнения другой программы. Эта возможность лежит в основе трансляции - перевода текста программы с языка высокого уровня на язык конкретной вычислительной машины.

Принцип адресности

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

Принцип программного управления

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

По плану, первым компьютером, построенным по архитектуре фон Неймана, должен был стать EDVAC (Electronic Discrete Variable Automatic Computer) - одна из первых электронных вычислительных машин. В отличие от своего предшественника ЭНИАК а, это был компьютер на двоичной, а не десятичной основе. Как и ЭНИАК, EDVAC был разработан в Пенсильванского Университета для Лаборатории баллистических исследований (англ.) Армии США командой инженеров и учёных во главе с Джоном Преспером Экертом и Джоном Уильямом Мокли при активной помощи математика, однако до 1951 года EDVAC не был запущен из-за технических трудностей в создании надёжной компьютерной памяти и разногласий в группе разработчиков. Другие научно-исследовательские институты, ознакомившись с ЭНИАКом и проектом EDVAC, сумели решить эти проблемы гораздо раньше. Первыми компьютерами, в которых были реализованы основные особенности архитектуры фон Неймана, были:

  1. прототип - Манчестерская малая экспериментальная машина - Манчестерский университет , Великобритания, 21 июня 1948 года;
  2. EDSAC - Кембриджский университет , Великобритания, 6 мая 1949 года;
  3. Манчестерский Марк I - Манчестерский университет , Великобритания, 1949 год;
  4. BINAC - США, апрель или август 1949 года;
  5. CSIR Mk 1
  6. EDVAC - США, август 1949 года - фактически запущен в 1952 году;
  7. CSIRAC - Австралия, ноябрь 1949 года;
  8. SEAC - США, 9 мая 1950 года;
  9. ORDVAC - США, ноябрь 1951 года;
  10. IAS-машина - США, 10 июня 1952 года;
  11. MANIAC I - США, март 1952 года;
  12. AVIDAC - США, 28 января 1953 года;
  13. ORACLE - США, конец 1953 года;
  14. WEIZAC - Израиль, 1955 год;
  15. SILLIAC - Австралия, 4 июля 1956 года.

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

Узкое место архитектуры фон Неймана

Совместное использование шины для памяти программ и памяти данных приводит к узкому месту архитектуры фон Неймана, а именно ограничению пропускной способности между процессором и памятью по сравнению с объёмом памяти. Из-за того, что память программ и память данных не могут быть доступны в одно и то же время, пропускная способность канала «процессор-память» и скорость работы памяти существенно ограничивают скорость работы процессора - гораздо сильнее, чем если бы программы и данные хранились в разных местах. Так как скорость процессора и объём памяти увеличивались гораздо быстрее, чем пропускная способность между ними, узкое место стало большой проблемой, серьёзность которой возрастает с каждым новым поколением процессоров [ ] .

Данная проблема решается совершенствованием систем кэширования , что в свою очередь усложняет архитектуру систем и увеличивает риск возникновения побочных ошибок (например, в 2017 году были обнаружены уязвимости Meltdown и Spectre , присутствовавшие в современных процессорах в течение десятилетий, но не обнаруженные ранее из-за сложности современных вычислительных систем и, в частности, их взаимодействия с кэш-памятью).

Термин «узкое место архитектуры фон Неймана» ввёл Джон Бэкус в 1977 в своей лекции «Можно ли освободить программирование от стиля фон Неймана?» , которую он прочитал при вручении ему Премии Тьюринга

Учёные из США и Италии в 2015 заявили о создании прототипа мем-процессора (англ. memprocessor ) с отличной от архитектуры фон Неймана и возможности его использования для решения -полных задач .

См. также

Примечания

  1. John von Neumann . First Draft of a Report on the EDVAC (неопр.) . University of Pennsylvania (30 июня 1945).
  2. Юрий Полунов. Автора!!! // PC Week/Russian Edition. - 2006. - № 20 (530) .
  3. Cragon, H. G. Computer Architecture and Implementation. - Cambridge University Press, 2000. - P. 2. - 238 p. - ISBN 978-0-521-65168-4 .
  4. , p. 255.
  5. Burks A. W., Goldstine H. H., Neumann J. Preliminary Discussion of the Logical Design of an Electronic Computing Instrument. - Institute for Advanced Study, Princeton, N. J., July 1946.

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

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

Принципы фон Неймана

  1. Использование двоичной системы счисления в вычислительных машинах . Преимущество перед десятичной системой счисления заключается в том, что устройства можно делать достаточно простыми, арифметические и логические операции в двоичной системе счисления также выполняются достаточно просто.
  2. Программное управление ЭВМ . Работа ЭВМ контролируется программой, состоящей из набора команд. Команды выполняются последовательно друг за другом. Созданием машины с хранимой в памяти программой было положено начало тому, что мы сегодня называем программированием.
  3. Память компьютера используется не только для хранения данных, но и программ . При этом и команды программы и данные кодируются в двоичной системе счисления, т.е. их способ записи одинаков. Поэтому в определенных ситуациях над командами можно выполнять те же действия, что и над данными.
  4. Ячейки памяти ЭВМ имеют адреса, которые последовательно пронумерованы . В любой момент можно обратиться к любой ячейке памяти по ее адресу. Этот принцип открыл возможность использовать переменные в программировании.
  5. Возможность условного перехода в процессе выполнения программы . Не смотря на то, что команды выполняются последовательно, в программах можно реализовать возможность перехода к любому участку кода.

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

Для сравнения, программа компьютера ENIAC (где не было хранимой в памяти программы) определялась специальными перемычками на панели. Чтобы перепрограммировать машину (установить перемычки по-другому) мог потребоваться далеко не один день. И хотя программы для современных компьютеров могут писаться годы, однако они работают на миллионах компьютеров после несколько минутной установки на жесткий диск.

Как работает машина фон Неймана

Машина фон Неймана состоит из запоминающего устройства (памяти) - ЗУ, арифметико-логического устройства - АЛУ, устройства управления – УУ, а также устройств ввода и вывода.

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

Команда состоит из указания, какую операцию следует выполнить (из возможных операций на данном «железе») и адресов ячеек памяти, где хранятся данные, над которыми следует выполнить указанную операцию, а также адреса ячейки, куда следует записать результат (если его требуется сохранить в ЗУ).

Арифметико-логическое устройство выполняет указанные командами операции над указанными данными.

Из арифметико-логического устройства результаты выводятся в память или устройство вывода. Принципиальное различие между ЗУ и устройством вывода заключается в том, что в ЗУ данные хранятся в виде, удобном для обработки компьютером, а на устройства вывода (принтер, монитор и др.) поступают так, как удобно человеку.

УУ управляет всеми частями компьютера. От управляющего устройства на другие устройства поступают сигналы «что делать», а от других устройств УУ получает информацию об их состоянии.

Управляющее устройство содержит специальный регистр (ячейку), который называется «счетчик команд». После загрузки программы и данных в память в счетчик команд записывается адрес первой команды программы. УУ считывает из памяти содержимое ячейки памяти, адрес которой находится в счетчике команд, и помещает его в специальное устройство - «Регистр команд». УУ определяет операцию команды, «отмечает» в памяти данные, адреса которых указаны в команде, и контролирует выполнение команды. Операцию выполняет АЛУ или аппаратные средства компьютера.

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

Архитектура фон Неймана (англ. von Neumann architecture ) - широко известный принцип совместного хранения программ и данных в памяти компьютера. Вычислительные системы такого рода часто обозначают термином «машина фон Неймана», однако, соответствие этих понятий не всегда однозначно. В общем случае, когда говорят об архитектуре фон Неймана, подразумевают физическое отделение процессорного модуля от устройств хранения программ и данных.

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

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

Принципы фон Неймана

В 1946 году трое учёных - Артур Бёркс (англ. Arthur Burks ), Герман Голдстайн (англ. Herman Goldstine ) и Джон фон Нейман - опубликовали статью «Предварительное рассмотрение логического конструирования электронного вычислительного устройства» . В статье обосновывалось использование двоичной системы для представления данных в ЭВМ (преимущественно для технической реализации, простота выполнения арифметических и логических операций - до этого машины хранили данные в десятичном виде ), выдвигалась идея использования общей памяти для программы и данных. Имя фон Неймана было достаточно широко известно в науке того времени, что отодвинуло на второй план его соавторов, и данные идеи получили название «принципы фон Неймана».

  1. Принцип двоичного кодирования.

Для представления данных и команд используется двоичная система счисления.

  1. Принцип однородности памяти.

Как программы (команды), так и данные хранятся в одной и той же памяти (и кодируются в одной и той же системе счисления - чаще всего двоичной ). Над командами можно выполнять такие же действия, как и над данными.

  1. Принцип адресуемости памяти.

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

  1. Принцип последовательного программного управления.

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

  1. Принцип жесткости архитектуры

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

Компьютеры, построенные на этих принципах, относят к типу фоннеймановских.

Компьютеры, построенные на принципах фон Неймана

В середине 1940-х проект компьютера, хранящего свои программы в общей памяти был разработан в Школе электрических разработок Мура (англ. The Moore School of Electrical Engineering ) в Университете штата Пенсильвания (англ . The University of Pennsylvania ). Подход, описанный в этом документе, стал известен как архитектура фон Неймана, по имени единственного из названных авторов проекта Джона фон Неймана, хотя на самом деле авторство проекта было коллективным. Архитектура фон Неймана решала проблемы, свойственные компьютеру «ЭНИАК », который создавался в то время, за счёт хранения программы компьютера в его собственной памяти. Информация о проекте стала доступна другим исследователям вскоре после того, как в 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 года .

1 Понятие архитектуры ЭВМ. Принципы фон Неймана

Архитектурой ПК называется его описание на некотором общем уровне включающее описание пользовательских возможностей программирования систем команд систем адресации организации памяти Архитектура определяет принцип действия, информационные связи взаимное соединение основных логических узлов компьютера: процессора; оперативного ЗУ, Внешних ЗУ и периферийных устройств.

Классические принципы построения архитектуры ЭВМ были предложены в 1946 году и известны как принципы фон Неймана".

Они таковы:

Использование двоичной системы представления данных

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

Принцип хранимой программы Нейман первым догадался, что программа может также храниться в виде нулей и единиц, причем в той же самой памяти, что и обрабатываемые ею числа. Отсутствие принципиальной разницы между программой и данными дало возможность ЭВМ самой формировать для себя программу в соответствии с результатами вычислений. Устройство управления (УУ) и арифметико-логическое устройство (АЛУ) в современных компьютерах объединены в один блок - процессор, являющийся преобразователем информации, поступающей из памяти и внешних устройств.

Память (ЗУ) хранит информацию (данные) и программы. Запоминающее устройство у современных компьютеров "многоярусно" и включает оперативное запоминающее устройство (ОЗУ) и внешние запоминающие устройства(ВЗУ).

ОЗУ - это устройство, хранящее ту информацию, с которой компьютер работает непосредственно в данное время (исполняемая программа, часть необходимых для нее данных, некоторые управляющие программы).

ВЗУ - устройства гораздо большей емкости, чем ОЗУ, но существенно более медленны.

Принцип последовательного выполнения операций

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

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