Мегаобучалка Главная | О нас | Обратная связь

Основные концепции функционирования





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

1) Add R0,LOCA

Эта команда складывает операнд, хранящийся в памяти по адресу LOCA, с операндом, хранящимся в регистре R0 процессора, и помещает результат в этот же регистр. Исходное содержимое памяти по адресу LOCA не меняется, а содер­жимое регистра R0 перезаписывается. Данная команда выполняется в несколько этапов. Сначала она пересылается из памяти в процессор. Затем операнд коман­ды считывается из памяти по адресу LOCA и складывается с содержимым регист­ра R0, после чего результирующая сумма записывается в регистр R0.

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

1) Load R3,LOCA для Intel Architecture (IA-32): mov bx,loca

Add R0,R3 add ax,bx

Первая из этих команд копирует содержимое памяти по адресу LOCA в ре­гистр процессора R1, а вторая команда складывает содержимое регистров R1 и R0 и помещает сумму в регистр R0. Обратите внимание, что в результате выполне­ния двух команд исходное содержимое обоих регистров уничтожается, а содер­жимое памяти по адресу LOCA сохраняется.

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

На рис. 3.2 показано, как соединяются между собой память и процессор. Кро­ме того, рисунок иллюстрирует несколько важных особенностей функционирова­ния процессора, о которых мы с вами еще не говорили. На нем не показана реаль­ная схема соединений этих компонентов, поскольку пока мы обсуждаем только их функциональные характеристики. Более детально соединение компонентов описывается в разделе 8 при рассмотрении конструкции процессора.



Кроме АЛУ и управляющих схем процессор содержит множество регистров, предназначенных для разных целей. В регистре команды (Instruction Register, IR) содержится код выполняемой в данный момент команды. Ее результат доступен управляющим схемам, которые генерируют сигналы для управления различными элементами, участвующими в выполнении команды. Еще один специализирован­ный регистр, называемый счетчиком команд (Program Counter, PC), служит для контроля за ходом выполнения программы. В нем содержится адрес следующей команды, подлежащей выборке и выполнению. Пока выполняется очередная ко­манда, содержимое регистра PC обновляется — в него записывается адрес следую­щей команды. Говорят, что регистр PC указывает на команду, которая должна быть выбрана из памяти. Кроме регистров IR и PC на рис. 3.2 показано n регистров общего назначения, от R0 до R„-i. Для чего они нужны, объясняется в главе 2.

Наконец, еще два регистра обеспечивают взаимодействие с памятью. Это ре­гистр адреса (Memory Address Register, MAR) и регистр данных (Memory Data Register, MDR). В регистре MAR содержится адрес, по которому производится обращение к памяти, а в регистре MDR — данные, которые должны быть записа­ны в память или прочитаны из таковой по этому адресу.

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

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

Рис. 3.2. Соединения между процессором и памятью

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

Если возникает необходимость срочно обслужить некоторое устройство (на­пример, когда устройство мониторинга в автоматизированном промышленном процессе обнаружит опасную ситуацию), нормальное выполнение программы может быть прервано. Для того чтобы немедленно отреагировать на эту ситуа­цию, компьютер должен прервать выполнение текущей программы. С этой целью устройство генерирует сигнал прерывания. Прерывание (interrupt) — это запрос, поступающий от устройства ввода-вывода, с требованием предоставить ему про­цессорное время. Для обслуживания этого устройства процессор выполняет соот­ветствующую программу обработки прерывания. А поскольку ее выполнение мо­жет изменить внутреннее состояние процессора, перед обслуживанием прерыва­ния нужно сохранить его состояние в памяти. Обычно в ходе этой операции сохраняется содержимое регистра PC, регистров общего назначения и некоторая управляющая информация. По завершении работы программы обработки преры­вания состояние процессора восстанавливается и прерванная программа продол­жает свою работу. Процессор со всеми его элементами (рис. 3.2) обычно реализует­ся в виде одной микросхемы, на которой располагается как минимум одно устрой­ство кэш-памяти. Такие чипы называются VLSI (VLSI — аббревиатура от Very Large Scale Integration, что переводится как очень крупномасштабная интеграция).

Структура шины

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

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

Для соединения нескольких функциональных устройств компьютера проще всего использовать общую шину (single bus), как показано на рис. 3.3. К этой шине подсоединяются все устройства компьютера. Поскольку за один раз по шине мо­жет пересылаться только одно слово данных, в каждый конкретный момент шину могут использовать только два устройства. Для организации процесса параллель­ной обработки нескольких запросов используются линии управления шиной. Главным достоинством архитектуры с общей шиной является ее низкая стои­мость и гибкость в отношении подключения периферийных устройств. При на­личии в системе нескольких шин возможно одновременное выполнение несколь­ких операций пересылки данных, благодаря чему такая система работает быстрее, но и стоимость ее выше.

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

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

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





Читайте также:


Рекомендуемые страницы:


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

©2015-2020 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (457)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.005 сек.)