Алгоритм - Учебный центр

Версия сайта для слабовидящих
Заполните форму ниже! Мы вам перезвоним!

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


Микропроцессор, прерывания (ликбез).

 Микропроцессор, прерывания (ликбез).

Любой микропроцессор (МП) предназначен для выполнения набора команд, определенных для него разработчиками данного микропроцессора. Для эффективного выполнения команд аппаратура МП выполняет ряд вспомогательных функций:

- выполняет процедуры прерывания;

- выполняет арбитраж запросов на захват интерфейса;

- реализует выполнение циклов шины с холостыми тактами ожидания (асинхронный обмен);

- реализует функции энергосбережения;

- автоматически формирует адрес первой выбираемой команды

- автоматически формирует адрес следующей выбираемой команды;

- инициирует операции обмена по системному интерфейсу;

- выполняет автоматическое отключение при повышении температуры выше заданного уровня и др.

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

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

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

- аппаратные ошибки, определяемые схемами контроля устройств: ошибка четности; ошибка ввода-вывода (немаскируемые прерывания NMI);

- внутренние ошибки МП (ошибка деления на 0, нарушение прав доступа к сегменту памяти и др.);

- выполнение команд INT (программные прерывания);

- запросы на обслуживание от внешних устройств (маскируемые прерывания по сигналам IRQ);

- запрос на переход в режим управления системой (SMI) и др.

Все события, вызывающие прерывания, пронумерованы от 0 через единицу до ff (256 событий).

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

Различают аппаратные и программные прерывания. Аппаратные прерывания инициируются аппаратурой, либо с системной платы, либо с адаптеров внешних устройств, сетевых адаптеров. Они могут быть вызваны сигналом таймера, сигналом от адаптера принтера, по нажатию клавиши на клавиатуре - из контроллера клавиатуры и множеством других причин. Аппаратные прерывания от контроллеров устройств инициируются с помощью сигналов IRQ (Interrupt ReQuest - запрос прерывания) - сигнал от одного из узлов компьютера, требующий внимания процессора к этому узлу. Возникает при наступлении какого-либо события (например, нажатии клавиши, завершении операции чтения/записи на диске и т.п.). Cигналы IRQ идут на контроллер прерываний который своим выходом подключен к входу Intr микропроцессора. Аппаратные прерывания асинхронны по отношению к выполняемым программам. Программы, обслуживающие события, вызывающие прерывание, являются обычными процедурами, выполняющими рутинную работу, такую, как обработка нажатия клавиши на клавиатуре или вывод на экран монитора и т. п. Эти подпрограммы обычно являются частью операционной системы, и механизм прерываний дает процессору возможность обратиться к ним при возникновении соответствующего события. Программные прерывания инициируются командами INT, INTO, INT xx и могут быть «вложенными» друг в друга. Программа обслуживания аппаратного прерывания может получить управление при выполнении программного прерывания. При этом не возникает конфликтов, так как каждая программа обработки прерывания сохраняет значения всех используемых ею регистров и затем восстанавливает их при выходе.


Лицензия