пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ


Формальная модель ВС.

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

Пример. Например, нам нужно переслать данные из памяти в регистр процессора. Имя  регистра R0, адрес, по которому располагается информация – ADR1. Команда будет выглядеть следующим образом:

mov R0, ADR1.

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

служебные регистры: регистр команд (Instruction Register, IR); счетчик команд (Program Counter, PC); регистр адреса (Memory Address Register, MAR); регистр данных (Memory Data Register, MDR).

регистры общего назначения (РОН).

В регистре команды содержится код выполняемой в данный момент команды. Результат ее выполнения доступен управляющим схемам, которые вырабатывают сигналы для управления различными схемами процессора участвующими в выполнении команды. Счетчик команд служит для контроля за выполнения программы. В нем содержится адрес следующей команды подлежащей выборке и выполнению. Пока очередная команда выполняется, содержимое PC обновляется – в него записывается адрес следующей команды. Говорят, что регистр PC указывает на команду, которая должна быть выбрана из памяти. Еще два служебных регистра обеспечивают взаимодействие с памятью.  В регистре MAR содержится адрес, по которому производится обращение к памяти, а в регистре MDR – данные, которые должны быть записаны в память либо прочитаны из нее по этому адресу (Рис. 3).

Рассмотрим процесс выполнения программы компьютером. Программа обычно располагается в оперативной памяти, куда попадает через входное устройство. Ее выполнение начинается с записи в PC адреса первой команды. Содержимое этого регистра пересылается в MAR, а в память направляется сигнал Read. Когда истекает время необходимое для доступа в память, адресуемое слово (в данном случае первая команда программы) считывается в MDR. Затем содержимое MDR попадает в регистр IR после этого, команда готова к декодированию и выполнению.

Если команда требует, чтобы АЛУ выполнило операцию, то для нее требуются операнды. Операнды могут располагаться в памяти либо в регистрах общего назначения. Если операнды находятся в памяти, то они  извлекается из нее пересылкой в MAR их адресов и инициализацией цикла Read. После пересылки из памяти в регистр MDR операнд будет направлен в АЛУ. После получения операндов АЛУ выполняет требуемую операцию. Если после выполнения операции результат должен быть сохранен в памяти, он будет записан в MDR. После этого адрес, по которому должна произойти запись помещается в MAR и инициализируется цикл Write. В какой-то момент в ходе выполнения текущей инструкции содержимое PC увеличивается и он начинает указывать на следующую команду, подлежащую выполнению.

Компьютер не только пересылает данные между памятью и процессором, но и принимает их от входных устройств и отсылает выходным устройствам. Поэтому среди машинных команд имеются команды ввода-вывода. Во время выполнения программы компьютер не только производит вычисления, но и обменивается информацией с различными периферийными устройствами. Так как ПУ работают с разной скоростью предугадать момент прихода информации от ПУ невозможно. Для синхронизации обмена информацией между ПУ и процессором используется так называемый механизм прерываний. Прерывание (interrupt) – это запрос, поступающий от ПУ с требованием предоставления ему процессорного времени. Для обслуживания этого запроса процессор выполняет так называемую программу обработки прерывания. Выполнение этой программы может изменить внутреннее состояние процессора, поэтому перед обслуживанием прерывания необходимо сохранить это состояние в памяти. В ходе этой операции обычно сохраняется содержимое регистра PC, РОН и некоторая управляющая информация. По завершении программы обработки прерывания состояние процессора восстанавливается и прерванная программа продолжается. Процессор (рис 3) обычно реализуется в виде одной микросхемы. На этой же микросхеме располагается, по крайней мере, одно устройство кэш-памяти.

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

 Для синхронизации работы устройств в их контроллеры встраивают так называемые буферные регистры, в которых хранится информация. Рассмотрим, например передачу информации из ОЗУ принтеру. Поскольку ОЗУ работает быстрее, для синхронизации работы передаваемая информация поступает не непосредственно принтеру, а записывается в буферный регистр контроллера принтера. Буферный регистр контроллера работает примерно стой же скоростью что и ОЗУ поэтому шина быстро освобождается.

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

  • получает информацию с заданного адреса памяти либо из буферного регистра ВУ;
  • обрабатывает полученную информацию;
  • передает ее по шине в память или в буферный регистр контроллера ВУ.

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

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


20.02.2015; 14:15
хиты: 615
рейтинг:0
Точные науки
информатика
Теория вычислений
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь