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

  • 25.01.2024

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Введение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Заключение

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

Принцип программного управления; принцип однородности памяти; принцип адресности. По истечении более 60 лет большинство компьютеров так и имеют «фон-неймановскую архитектуру», причем обычно принципы фон Неймана реализованы в следующей форме:

  • оперативная память (ОП или ОЗУ - оперативное запоминающее устройство) организована как совокупность машинных слов (МС) фиксированной длины или разрядности (имеется в виду количество двоичных единиц или бит, содержащихся в каждом МС). Например, ранние ПЭВМ имели разрядность 8, затем появились 16-разрядные, а затем - 32- и 64-разрядные машины. В свое время существовали даже 45-разрядные (М-20, М-220), 35-разрядные (Минск-22, Минск-32) и др. машины;
  • ОП образует единое адресное пространство, адреса МС возрастают от младших к старшим;
  • в ОП размещаются как данные, так и программы, причем в области данных одно слово, как правило, соответствует одному числу, а в области программы - одной команде (машинной инструкции - минимальному и неделимому элементу программы);
  • команды выполняются в естественной последовательности (по возрастанию адресов в ОП), пока не встретится команда управления (условного/безусловного перехода, или ветвления - branch), в результате которой естественная последовательность нарушится;
  • ЦП может произвольно обращаться к любым адресам в ОП для выборки и/или записи в МС чисел или команд.

Функциональные блоки (агрегаты, устройства)

Краткий список основных устройств, входящих в состав вычислительных машин, приведен на рис. 2.1.

Центральное устройство (ЦУ) представляет основную компоненту ЭВМ и в свою очередь включает ЦП - центральный процессор (central processing unit - CPU) и ОП (Main Storage, Core Storage, Random Access Memory - RAM).

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

2.1. Структуры и архитектуры ЭВМ

Рис. 2.1. Перечень устройств ЭВМ

* Данные устройства здесь не рассматриваются. Читатель может обратиться, например, к .

мяти, их выполнение и запись результатов в ОП, включение и отключение ВУ. Рассмотрим в качестве примера процессор Intel Pentium (рис. 2.2). Он состоит из следующих блоков :

Ядро (Core). Основное исполнительное устройство, которое включает в себя арифметико-логическое устройство (АЛУ, или Arithmetic and Logical Unit - ALU) регистры, конвейеры. АЛУ - часть процессора, выполняющая арифметические и логические операции над данными, работает в соответствии с сообщаемыми ему кодами операций, которые должны быть выполнены над переменными, помещаемыми в регистры. Повышение производительности достигалось благодаря двум конвейерам, позволяющим выполнить одновременно несколько инструкций. Это два параллельных 5-ступенчатых конвейера обработки целых чисел, которые позволяют читать, интерпретировать, исполнять две команды одновременно. Целочисленные команды могут выполняться за один такт синхронизации. Эти конвейеры неодинаковы: U-конвейер выполняет любую команду системы команд семейства 86; V-конвейер выполняет только «простые» команды, т. е. команды, которые полностью встроены в схемы МП и не требуют микропрограммного управления (microcode) при выполнении (это команды, до-


Рис. 2.2.

пускающие спаривание с другими командами: регистр-регистр, память-регистр, регистр-память, переходы, вызовы, арифметико-логические операции);

  • предсказатель переходов (Branch Predictor) - блок, который «пытается угадать» направление ветвления программы и заранее загрузить информацию в блоки пред- выборки и декодирования команд ;
  • буфер адреса переходов (Branch Target Buffer - ВТ В). Обеспечивает динамическое предсказание переходов. Он улучшает выполнение команд путем запоминания состоявшихся переходов (256 последних переходов) и с опережением выполняет наиболее вероятный переход при выборке команды ветвления. При статических методах предсказания предписывается всегда выполнять или нет определенные виды переходов. При динамических методах исследуется поведение команд перехода за предшествующий период;
  • блок плавающей точки (Floating Point Unit). Выполняет обработку чисел с плавающей точкой;
  • кэш-память 1-го уровня (Level 1 cache). Процессор имеет два банка памяти по 8 Кбайт, один - для команд, второй - для данных, которые обладают большим быстродействием, чем более емкая внешняя кэш-память (L2 cache).
  • интерфейс шины (Bus Interface). Передает в ЦП поток команд и данных, а также передает данные из ЦП.

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

Интерфейсы служат для сопряжения центральных узлов машины с ее внешними устройствами.

Однотипные ЦУ и устройства хранения данных могут использоваться в различных типах машин. Известны примеры того, как фирмы, начавшие свою деятельность с производства управляющих машин, совершенствуя свою продукцию, перешли к выпуску систем, которые в зависимости от конфигурации ВУ могут исполнять как роль универсальных, так и управляющих машин (машины Hewlett-Packard - HP и Digital Equipment Corporation - DEC).

Архитектуры ЭВМ

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

Принстонская и гарвардская архитектуры. Архитектуру фон Неймана часто отождествляют с принстонской архитектурой, которая характеризуется использованием общей оперативной памяти для хранения программ и данных. Гарвардская же архитектура характеризуется физическим разделением памяти команд (программ) и памяти данных. Элементы гарвардской архитектуры часто используются в современных процессорах, когда в кэш-памяти ЦП выделяется память команд (I-cache) и память данных (D-cache).

Иерархическая архитектура (рис. 2.3, б) - ЦУ соединено с периферийными процессорами (вспомогательными процессорами, каналами, канальными процессорами), управляющими в свою очередь контроллерами, к которым подключены группы ВУ (системы IBM 360-375, ЕС ЭВМ);

Магистральная структура (общая шина - unibas, рис. 2.3, в) - процессор (процессоры) и блоки памяти (ОП) взаимодействуют между собой и с ВУ (контроллерами ВУ) через внутренний канал, общий для всех устройств (машины DEC, IBM РС-совмес- тимые ПЭВМ).

Технически шина представляет собой набор проводников (линий), соединяющий различные компоненты компьютера для подвода к ним питания и обмена данными. В минимальной комплектации шина имеет три типа линий:

управления; адреса; данных.

К этому типу архитектуры относится также архитектура персонального компьютера (ПК). Конечно, реальная структура ПК (рис. 2.3, г) отличается от теоретических схем - здесь используется несколько разновидностей шинных интерфейсов, которые соединяются между собой мостами - контроллерами памяти (Northbridge, «Северный мост») и периферийных устройств (Southbridge, «Южный мост»).


Рис. 2.3. Основные классы архитектур ЭВМ: а - централизованная; б - иерархическая; в - магистральная; г - общая структура персонального компьютера - архитектура Northbridge/Southbridge

Здесь приведен пример набора микросхем (chipset) Triton 430 ТХ:

  • Northbridge - микросхема 82439ТХ System Controller, МТХС. Интегрирует контроль кэш-памяти, ОП и шины PCI;
  • Southbridge - 82371АВ PCI ISA IDE Xcelerator, PIIX4 - многофункциональное устройство, реализующее связь PCI- ISA, функции концентратора (hub) USB и функции управления потреблением электроэнергии (Enhanced Power Management). Здесь реализована Dynamic Power Management Architecture (DPMA) - архитектура динамического управления энергопотреблением. Поддерживается также протокол прямого обращения к памяти (Ultra DMA), который обеспечивает скорость передачи в 33 Мбайт/с с НЖМД.

Современные системы включают два типа шин:

  • системная шина, соединяющая процессор с ОП и кэш-памятью 2-го уровня;
  • множество шин ввода-вывода, соединяющие процессор с различными периферийными устройствами.

Системная шина при архитектуре DIB (Dual independent bus, двойная независимая шина) физически разделена на две (рис. 2.3, г):

  • первичная шина (FSB, frontside bus), связывающая процессор с ОП и ОП с периферийными устройствами;
  • вторичная шина (BSB, backside bus) для связи с кэш-па- мятью.

Использование двойной независимой шины повышает производительность за счет возможности для процессора параллельно обращаться к различным уровням памяти. Обычно термины «FSB» и «системная шина» используют как синонимы.

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

Открытая архитектура IBM-PC и ее развитие

Впервые реализованная в машинах IBM PC, IBM PC/XT и PC/AT концепция открытой архитектуры предполагает, что периферийные устройства связываются с ЦУ (процессор

и ОП) посредством сменных карт расширения (или адаптеров), содержащих электронику, согласующую ЦУ и периферию - рис. 2.4. Развитие или замена одних внешних устройств на другие в таких условиях сопровождается простой заменой карты.


Рис. 2.4. Открытая архитектура IBM PC:

1 - системная плата (процессор, память, chipset); 2 - внутренний интерфейс (ISA, MCA, SCSI, LPC, AGP, HyperTransport, PCI, PCI-X и пр.); 3 - плата расширения (адаптер, интерфейсная карта, контроллер внешнего устройства); 4 - интерфейс внешнего устройства (RS-232, Centronics, USB, Firewire, инфракрасный, eSATA, Bluetooth и пр.); 5 - периферийное устройство (клавиатура, монитор, принтер, сканер и пр.)

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

На рисунках ниже иллюстрируются компоненты для двух типичных плат:

  • Baby АТ (ВАТ), где используется разъем Socket 7 для присоединения процессора, приблизительно 1995 г. (рис. 2.5, 2.7, а);
  • АТХ с разъемом Slot 1 для присоединения процессора Pentium И, типичный для системных плат, на рынке с конца 1998 г. (рис. 2.6, 2.7, б).

Открытая архитектура первых ПК предполагала минимум устройств, контроллеры которых были интегрированы в системную плату (например, порт для клавиатуры). Все остальные, включая адаптер дисплея, принтера, модема, НГМД или контроллер жесткого диска, являлись дополнительными компонентами, подключаемыми через разъемы расширения.

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




Рис. 2.7. Разъемы и интерфейсы, размещенные на задней панели корпусов: а - плата Baby АТ (схематическое изображение), б - АТХ (то же); в - общий вид некоторых типов внешних интерфейсов: 1 - разъем для подсоединения шнура электропитания монитора (на ATX-корпусах может отсутствовать); 2 - разъем для подключения компьютера к сети переменного тока; 3 - разъем для подсоединения клавиатуры PS/2 (мини-DIN, 6 штырьков); 4 - разъем для подсоединения клавиатуры DIN-5; 5 - разъем для подключения мыши PS/2; 6 - USB-порты; 7 - последовательный порт (COM2); 8 - последовательный порт (СОМ1); 9 - параллельный порт (LPT); 10 - видеовыход (VGA/SVGA); 11 - разъем для подключения локальной сети (в соответствии с моделью компьютера); 12 - MIDI/Game порт (в соответствии с моделью компьютера); 13 - гнезда для подключения внешних аудиосистем (в соответствии с моделью компьютера)

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

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

Основы учения об архитектуре вычислительных машин заложил выдающийся американский математик Джон фон Нейман. Он подключился к созданию первой в мире ламповой ЭВМ ENIAC в 1944 г., когда ее конструкция была уже выбрана. В процессе работы во время многочисленных дискуссий со своими коллегами Г. Голдстайном и А. Берксом фон Нейман высказал идею принципиально новой ЭВМ. В 1946 г. ученые изложили свои принципы построения вычислительных машин в ставшей классической статье “Предварительное рассмотрение логической конструкции электронно-вычислительного устройства”. С тех пор прошло полвека, но выдвинутые в ней положения сохраняют актуальность и сегодня.

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

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

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

Рис. 1. Архитектура ЭВМ, построенной на принципах фон Неймана. Сплошные линии со стрелками указывают направление потоков информации, пунктирные – управляющих сигналов от процессора к остальными узлам ЭВМ

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

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

В построенной по описанной схеме ЭВМ происходит последовательное считывание команд из памяти и их выполнение. Номер (адрес) очередной ячейки памяти. из которой будет извлечена следующая команда программы, указывается специальным устройством – счетчиком команд в УУ. Его наличие также является одним из характерных признаков рассматриваемой архитектуры.

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

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

Что-то вроде ностальгии: принципы фон Неймана

Я не сумел отыскать тетрадь с первой частью лекций по Архитектуре ЭВМ, поэтому данные пришлось брать из других источников.
В 1945 году Джон фон Нэйман, физик и математик венгерского происхождения, работавший в США над проектом ENIAC, опубликовал доклад, в котором были намечены основные принципы построения компьютера. Высказанные в докладе положения получили название "Принципы фон Нэймана".

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


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

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


Таким образом для памяти всё равно, что хранится в данной ячейке — данные или команды. Также этот принцип позволяет программе в процессе выполнения подвергать себя переработке (так в программе организуется выполнение циклов и подпрограмм). Команды одной программы могут быть получены как результаты исполнения другой программы. На этом принципе основаны методы трансляции — перевода текста программы с языка программирования высокого уровня на язык команд конкретной машины.

Разные типы данных в свою очередь могут быть различены по форматам.

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

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


Оперативная память как бы разбивается на ячейки фиксированной длины. Каджая такая ячейка имеет адрес (а фактически номер), обращаясь по которому можно получить содержание ячейки.

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

Принципы фон Неймана (Архитектура фон Неймана)

    Архитектура компьютера

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Принципы фон Неймана[править | править исходный текст]

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

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

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

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

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

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

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

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

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

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

Рис. 1. Архитектура ЭВМ, построенной на принципах фон Неймана. Сплошные линии со стрелками указывают направление потоков информации, пунктирные – управляющих сигналов от процессора к остальными узлам ЭВМ

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

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

В построенной по описанной схеме ЭВМ происходит последовательное считывание команд из памяти и их выполнение. Номер (адрес) очередной ячейки памяти. из которой будет извлечена следующая команда программы, указывается специальным устройством – счетчиком команд в УУ. Его наличие также является одним из характерных признаков рассматриваемой архитектуры.

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

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

.

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

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

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

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

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

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

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

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

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

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

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

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

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

18.Архитектура и алгоритм работы эвм фон Неймана.

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

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

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

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

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

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

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

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

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

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

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

"