Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
_АРХ_ТЕКТУРА.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
3.42 Mб
Скачать

13. Переривання. Типи переривання. Системні та програмні переривання. Процес обробки переривання центральним процесором. Організація введення-виведення за перериванням.

Переривання – це особлива подія в системі, на яку необхідна моментальна реакція системи, це призупинення виконання поточного процесу для виконання даної події.

Програмні переривання викликають самі програми. Для цього вони використовують команду int. Їх зручно використовувати для організації доступу до окремих загальних програм або їх модулів. Наприклад, програмні модулі ОС доступні прикладним програмам саме через переривання.

Апаратні. Викликають фізичними пристроями і проходять асинхронно. Ці переривання інформують системи про її стан на апаратному рівні. Використання переривання при роботі з повільними пристроями дозволяє підвищити загальну швидкодію системи.

Внутрішні переривання (логічні) формуються самим процесором, коли він зустрічається з деякими особливими подіями (div ).

Масковані. Обробка маскованих переривань здійснюється контролерами переривань, які приймають запити від декількох пристроїв. Назначають їм пріоритети і переривають роботу процесора за входом int. Даний тип переривань може бути дозволений або заборонений значенням прапорця IF.

Немасковані. Використовуються для катастрофічних подій (знаходження помилки у пам’яті, відключення живлення, повідомлення про процеси, що визначені як катастрофічні) (процесор підходить до критичної температури).

Номер немаскованого переривання наперед відомий, тому він не передається процесору і обробка даного переривання виконується швидше.

Пріоритет немаскованих переривань вищий, ніж у маскованих.

14. Організація введення-виведення в режимі прямого доступу до пам’яті. Робота контролера прямого доступу до пам’яті. Канали прямого доступу до пам’яті.

При роботі в режимі прямого доступу до пам’яті контролер прямого доступу до пам’яті (ПДП) виконує наступні функції:

  1. приймає запит на ПДП від зовнішнього пристрою;

  2. формує запит мікропроцесору на захват шин системної магістралі;

  3. приймає сигнал підтвердження входу мікропроцесора в стан захвату (перехід в z-стан, при якому процесор відключається від системної магістралі);

  4. формує сигнал, який повідомляє зовнішній пристрій про початок виконання циклів ПДП;

  5. видає на шину адреси системної магістралі адресу комірки оперативної пам’яті, призначеної для обміну;

  6. видає сигнали, що забезпечують управління обміном даними;

  7. після закінчення ПДП контролер або організовує повторення циклу ПДП, або призупиняє режим ПДП, перехоплюючи запити на нього.

Цикли ПДП виконуються з послідовно розташованими комірками пам’яті, тому контролер ПДП має лічильник числа переданих байтів.

На рис.1 приведена схема взаимодействия устройств микропроцессорной системы в режиме ПДП.

Контроллеры ПДП (КПДП) в ЮМ PC совместимы снизу-вверх, т.е. программы, написанные с использованием КПДП ранних моделей ЭВМ, нормально работают и на более поздних моделях ЭВМ.

Каждый канал КПДП состоит из четырех 16-разрядных регистров (рис.2): регистр текущего адреса (CAR), регистр циклов ПДП (CWR), регистр хранения базового адреса (BAR), регистр хранения базового числа Циклов ПДП (WCR) и 6-разрядный регистр режима (MR).

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

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

Рис. 1. Взаимодействие устройств в режиме ПДП

OUT из микропроцессора или в режиме инициализации - из регистра хранения базового числа циклов ПДП.

Регистры BAR и WCR предназначены для хранения констант - базового адреса и базового числа циклов. Они загружаются в режиме программирования КПДП одновременно с регистрами CAR и CWR. В процессе выполнения циклов ПДП их содержимое не изменяется. Прочитать состояние этих регистров невозможно.

Регистр режима определяет режим работы канала. Он содержит информацию о номере канала, типе цикла ПДП (чтение (ОП <- ВУ), запись (ОП -> ВУ), проверка), необходимости автоинициализации, режиме изменения регистра текущего адреса (CAR) - увеличение или уменьшение и режиме работы канала - передача по запросу, одиночная передача, блочная передача, каскадирование (работа в составе каскада КПДП).

Регистр команд блока управления режимом определяет основные параметры работы канала. Загружается при программировании КПДП микропроцессором.

Регистр условий хранит разрешение на ПДП каждому каналу (устанавливаемые программно) и запоминает факт перехода через 0 в регистре хранения базового числа циклов каждого канала.

Контроллер ПДП может работать в двух основных режимах: в режиме программирования и режиме выполнения циклов ПДП.

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

Рис. 2. Структурная схема контроллера ПДП

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

Несмотря на большую самостоятельность ПДП, ведущее положение в МП-системе остается все-таки за микропроцессором, который, запустив обмен информацией в режиме ПДП, продолжает выполнять свою работу.

15. Розподіл простору пам’яті комп’ютера й зовнішніх пристроїв. Непряма адресація. Регістри стану зовнішніх пристроїв. Взаємодія зовнішніх пристроїв з центральним процесором в режимі програмного управління введенням-виведенням.

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

Непряма адресация. В этом случае адрес может храниться в регистре. Инструкции будут обращаться к регистру, содержащему адрес. То есть, для получения данных, инструкция должна декодировать данные соответствующего регистра. Содержимое регистра будет обработано как адрес, используя который, будет считана/записана информация из/в соответствующую область памяти.

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

  1. сформировать начальный адрес области обмена ОП;

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

  3. выдать команду чтения информации из УВВ; при этом на шину адреса из МП выдается адрес УВВ, на шину управления - сигнал чтения данных из УВВ, а считанные данные заносятся во внутренний регистр МП;

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

  5. модифицировать регистр, содержащий адрес оперативной памяти;

  6. уменьшить счетчик длины массива на длину переданных данных;

  7. если переданы не все данные, то повторить шаги 3-6, в противном случае закончить обмен.

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

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

Бит регистра состояния

Название

Назначение

3

ERR

0 - принтер сигнализирует об ошибке

4

SEL

1 - принтер "выбран"

5

PO

1 - нет бумаги

6

ACK

0 - готов к приему следующ. символа

7 (инвертирован по отношению к сигналу на контакте разъема)

BSY

0 - занят или отключен

Таблица 3. Формат регистра состояния порта принтера

20

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]