Принципы построения ПК

Минусы архитектуры фон неймана

архитектура микропроцессорных систем фон Неймана (одношинная, или принстонская, архитектура) представляет собой архитектуру с общей, единой шиной для данных и команд. Соответственно, в составе системы в этом случае присутствует одна общая память, как для данных, так и для команд (рис. 5.1).

Рис. 5.2. Архитектура с общей шиной данных и команд.

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

Рис. 5.3. Архитектура с раздельными шинами данных и команд.

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

Рассмотрим некоторые достоинства и недостатки обоих архитектурных решений.

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

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

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

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

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

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

Архитектура фон Неймана

Архитектура вычислительной машины фон Неймана состоит из

  • памяти;
  • арифметико-логического блока;
  • управляющего устройства;
  • устройства ввода-вывода.

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

Готовые работы на аналогичную тему

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

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

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

3. Перспективные направления развития компьютеров

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

Это серверы в глобальной компьютерной сети, управляющие её работой и хранящие огромные объёмы информации.

Это многопроцессорные системы параллельной обработки данных, обеспечивающие:

• сокращение времени решения вычислительно сложных задач;
• сокращение времени обработки больших объёмов данных;
• решение задач реального времени;
• создание систем высокой надёжности.

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

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

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

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

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

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

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

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

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

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

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

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

Следствия

Кроме того, архитектура Фоннеймановской машины обладает следующими особенностями:

1. Ячейки памяти имеют адреса, которые пронумерованы последовательно

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

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

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

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

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

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

Любая команда должна состоять из:

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

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

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

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

классическая структура машины фон Неймана

Что такое архитектура фон Неймана?

Архитектура фон Неймана

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

  • Блок управления: В ответственность за этапы сбора и декодирования командного цикла.
  • Логико-арифметический блок или АЛУ: В ответственность за выполнение математических и логических операций, требуемых программами.
  • Память: Память, в которой хранится программа, известная как оперативная память.
  • Устройство ввода: С которого мы общаемся с компьютером.
  • Устройство вывода: С которой компьютер общается с нами.

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

Принцип построения и работы ЭВМ фон Неймана

Принципы построения и работы ЭВМ Джона фон Неймана

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

АЛУ отвечает за исполнение команды. Итог операции отправляется в память или на вывод. ВЗУ сходно с устройством вывода тем, что используется для недолгого хранения параметров. Только содержит информацию в непонятном для оператора формате. Исключительно для машины.

Если кратко, основной функцией АЛУ является поддержка незатейливых действий: арифметических, логических, перемещением данных. Еще анализируется результат. Решения по анализу принимаются УУ.

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

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

Характерная особенность компьютеров от всего прочего технического оборудования — это программное управление их функционированием.

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

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

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

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

  1. Чтение команды из памяти и её дешифровка;
  2. Составления адреса конкретной команды;
  3. Исполнение команды.

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

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector