Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Романов.Модуль2.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.88 Mб
Скачать
  1. Согласование устройство и цп с помощью прерываний. Контроллер единственного периферийного устройства. Рисунок, пояснения.

Большинство процессоров имеют, по крайней мере, один контакт разъема (вывод, пин) предназначенный для входящих прерываний, и многие чипы управления (контроллеры) периферийными устройства имеют контакт выходящих прерываний. Линия запросов прерываний (IRL) соединяет чип контроллера периферийного устройства с контактом входящих прерываний на ЦП (рисунок 10.7).

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

  1. Согласований устройство и ца с помощью прерываний. Несколько контроллеров соединенные с цп через пкп (программируемый контроллер прерываний)

Теперь предположим, что система оборудованная чипом программируемого контроллера прерываний (PIC) который может обрабатывать сразу несколько периферийных контроллеров и поддерживает 8 или 16 периферийных устройств. Линии запросов на прерывание от периферийных контроллеров соединяются с чипом контроллера прерываний. Рисунок 10.8 иллюстрирует аппаратное приспособление (расположение, компоновку) способное обрабатывать несколько периферийных устройств

На рисунке 10.8 показаны несколько контроллеров периферийного оборудования соединенные с ЦП через PIC. Обратите внимание, что устройства совместно используют общую шину данных, что обеспечивается (достигается) тремя состояниями (tristating) неактивных устройств через линии (шину) к периферийным

устройствам. Чип контроллера прерываний демультиплексирует (разделяет, распаковывает), комбинируя два или больше IRL в один IRL, который соединяется с ЦП. Контроллеры прерываний могут быть расположены каскадом ведущий-подчинённый (master-slave fashion). Когда прерывание достигает одного из ведомых (slave) контроллеров прерываний, ведомое устройство посылает прерывание в основной контроллер, который в свою очередь посылает прерывание ЦП. Таким образом (методом) аппаратные прерывания могут протягиваться (удлиняться, наращиваться, расширятся).

Как реагирует система, когда несколько устройств одновременно генерируют прерывания? Конечно же, каждому аппаратному прерыванию присваивается уникальный приоритет. Для систем, которые используют контроллер прерываний, независимо является ли контроллер встроенным на микросхеме или внешним, приоритеты запрограммированы в контроллер программным путем, как правило, когда система инициализируется (хотя могут быть случаи, где предпочтительно динамическое назначение приоритетов). То есть, если два или больше прерывания происходят одновременно, у одного из них будет высший приоритет. В системах, поддерживающих несколько прерываний одновременно, контроллер прерываний отслеживает ожидающие прерывания, и передает их в ЦП в порядке их приоритета. В большинстве систем, контроллер прерываний отвечает на прерывание, устанавливая бит в векторе прерывания, чтобы указать, что прерывание обслуживается. Затем, в конце обработки прерывания, процедура обработки прерывания (ISR) выполняет инструкцию, которая сообщает контроллеру прерываний, что ISR завершен. Затем контроллер прерываний очищает соответствующий бит векторе прерывания.Когда ЦП подтверждает запрос на прерывание, ЦП опрашивает контроллер прерываний и считывает вектор прерывания. ЦП использует номер прерывания для направления к корректному (правильному) ISR, т.е. с устройством, которое инициировало прерывание.