Принципы организации и структура архитектуры фон неймана. Классическая архитектура эвм и принципы фон неймана. Джон фон Нейман. Биография

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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


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

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

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

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


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

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


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


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


Процессор

В 1945 году Джон фон Нейман создает архитектуру ЭВМ.

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

Устройство ввода

Устройство вывода



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

Герман Голдстайн

Артур Беркс

Джон фон Нейман



В двоичной системе счисления используются всего две цифры 0 и 1. Другими словами, двойка является основанием двоичной системы счисления.

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


Системы счисления

Десятичная

Двоичная

Восьмеричная

Шестнадцатеричная


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


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


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


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


Достижения Джона фон Неймана.

Джон фон Нейман был удостоен высших академических почестей. Он был избран членом Академии точных наук (Лима, Перу), Американской академии искусств и наук, Американского философского общества, Ломбардского института наук и литературы, Нидерландской королевской академии наук и искусств, Национальной академии США, почетным доктором многих университетов США и других стран.



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

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

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

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

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

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

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

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

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

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

3. Принципы фон Неймана. Архитектура классической ЭВМ, Принципы фон Неймана

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

Свойства алгоритмов

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

    детерминированность - воспроизводимость результатов выполнения алгоритма;

    массовость - возможность применения алгоритма для различных исходных данных из допустимого множества

Программа - описание алгоритма на каком-либо языке.

Принцип программного управления (ППУ) впервые был сформулирован венгерским математиком и физиком Джоном фон Нейманом, при участии Гольцтайна и Берца в 1946 году и является доминирующим на данном этапе развития вычислительной техники.

ППУ включает в себя несколько архитектурно - функциональных принципов.

1) Принцип двоичного кодирования Информация кодируется в двоичной форме и разделяется на единицы (элементы) информации, называемые словами. Использование двоичной системы счисления определяется спецификой электронных схем. Слово является неделимой единицей информации.

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

3) Адресная организация оперативной памяти. Слова информации размещаются в ячейках памяти машины и идентифицируются номерами ячеек, называемых адресами слов. Определяет специфику хранения и идентификации информации. Адрес ячейки является машинным идентификатором величины и команды.

4)Вычислительная машина имеет ограниченный набор команд . Каждая отдельная команда определяет простой (единичный) шаг преобразования информации.

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

Простота реализации аппаратной части.

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

Недостатки:

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

пЗ. предполагает линейную организацию памяти. Это усложняет вычисление элементов расположения сложных типов данных.

Архитектура классической ЭВМ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Структура отдельной команды имеет вид:

<код операции> <операнды>,

где <код операции> определяет, какая операция должна выполняться;

<операнды> - список (возможно, одноэлементный) тех констант, адресов или имен переменных, над которыми выполняется данная операция.

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

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



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

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

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

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

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

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

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

Машина фон Неймана состояла из памяти, представлявшей собой набор регистров, АЛУ, устройства ввода-вывода и устройства управления (рис. 3.7).

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

Рис. 3.7. Машина фон Неймана

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

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

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

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то