Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив1 / doc92 / Ушаков.doc
Скачиваний:
23
Добавлен:
03.08.2013
Размер:
380.42 Кб
Скачать

4.2.3. Система прерывания программ

Система прерывания программ (для внешних прерываний) – радиальная макро. Это значит, что имеется индивидуальная линия запроса прерывания от каждого ПУ к контроллеру прерываний, который выдаёт на процессор сигнал прерывания, а в шину данных – вектор прерывания. Так же можно запрещать прерывания, используя маску прерываний (её можно задавать программно для запрещения каких-либо определённых прерываний, кроме немаскируемых прерываний). Запоминание состояния процессора идет на макро уровне (уровне команд). Приоритет зависит от номера входа на контроллер прерываний.

Контроллер прерываний

ЦП

ПУ 0

ПУ 1

ПУ k

Запрос 0

INT

Запрос1

..

. . VECT м

Запрос k а

с

к

а DB

Рис. 4 Система прерывания программ

Маска прерывания представляет собой двоичный код, разряды которого поставлены в соответствие запросам прерывания. Состояние «1» в данном разряде регистра маски разрешает, а состояние «0» запрещает (маскирует) прерывание от соответствующего запроса.

Способ формирования и передачи в ЦПУ вектора прерываний:

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

Принятый способ возврата из прерываний и его реализация:

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

Запоминание и восстановление состояния прерываемой программы:

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

  • Регистров общего назначения

  • регистр состояния

  • счётчик команд IP

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

4.2.4. Кэш команд

КЭШ - память это внутренняя память процессора, невидимая для пользователя и не увеличивающая объём памяти ЭВМ.

При считывании команд ЦП сначала обращается к КЭШу, и если есть КЭШ - совпадение, информация предоставляется в ЦП и обрабатывается там. Если нет КЭШ - совпадения, то ЦП обращается к ОП и считывает информацию оттуда и одновременно записывает ее в КЭШ.

      1. Клавиатура

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

Соседние файлы в папке doc92