Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура ПЭВМ.doc
Скачиваний:
16
Добавлен:
23.04.2019
Размер:
10.46 Mб
Скачать

2) Программное управление вводом/выводом

Все ПФУ (медленные и быстрые) имеют программно управляемый обмен, то есть работают по прерываниям. На старых ПК после формирования вектора прерывания и после отсылки inta МП считывает регистр состояния контроллера ПФУ, выставившего запрос. Далее ожидает сигнал готовности данного устройства и затем начинает собственно обмен данными (байтом или словом). В современных ПК применяется программный ввод/вывод с аппаратным контролем потока. Это высокоскоростной обмен, где темп обмена определяет подключённое устройство, а сам обмен контролируется с помощью регистров МП SI, DI. Такой обмен впервые использовали винчестеры IDE, так как у них не было режима ПДП. То есть они применяли инструкции блочных пересылок. В современных IDE винчестерах есть режим ПДП, но блочные пересылки в режиме прерываний используют другие устройства.

3) Ввод/вывод по прерываниям

ПОВТОРИТЬ:

а) понятие о прерываний

б) характеристики системы прерываний

в) процесс обслуживания маскируемого прерывания ввода/вывода

г) Организация приоритета обслуживания ПФУ через систему прерываний

Для обслуживания системы прерываний используется контроллер прерываний I8259A. C 8 входами IRQ0-IRQ7. На новых матках ПКП интегрированы в чипсет контроллера периферии (южный мост). Количество входов 16 (IRQ0-IRQ15) либо 24 (IRQ0-IRQ23). В первом случае (где 16) 2 контроллера включены каскадно, а во втором случае – 3. То есть при наличии 2-х, 3-х микросхем применяется каскадирование контроллеров, где каждая линия использует свой приоритет.

Таблица 5 - Стандартное распределение аппаратных прерываний

IRQ

Назначение

Тип адаптера

00

От таймера

-

01

От клавиатуры

-

02

Каскадное прерывание

-

03

COM2-COM4

8 или 16 разрядный адаптер

04

COM1,COM3

8 или 16 разрядный адаптер

05

LPT2 или звуковая карта

8 или 16 разрядный адаптер

06

Контроллер флоппи

8 или 16 разрядный адаптер

07

LPT1

8 или 16 разрядный адаптер

08

Текущее время

-

09

Сетевая карта

8 или 16 разрядный адаптер

10

Свободен

11

SCSI адаптер или свободен

16 или 32 разрядный адаптер

12

Порт мыши PS/2 или свободен

16 или 32 разрядный адаптер

13

Сопроцессор

-

14

Первичный контроллер

винчестера IDE

16 или 32 разрядный адаптер

15

Вторичный контроллер

винчестера IDE или CD

16 или 32 разрядный адаптер

Схема подключения 2 микросхем КП

Рисунок 28 - Схема подключения 2 микросхем КП

Каскадное включение контроллеров происходит через входы IRQ2 первого контроллера. Каждая линия IRQ0-IRQ15 используют свой приоритет. IRQ0 – наивысший. Линии IRQ8-IRQ15 имеют приоритет ниже, чем IRQ1, но выше, чем IRQ3. Каждой линии IRQ соответствует вектор прерывания, который указывает начальный адрес прерывающей программы в ROM BIOS.

д) Внутренние прерывания

Внутреннее прерывание МП генерируются при возникновении ошибок в процессе выполнения текущей программы. Они неожиданны, под них фирма Intel зарезервировала первые 32 вектора таблицы прерываний в PM и RM. Это немаскируемые прерывания, которые обрабатываются микропроцессором независимо от состояния флагов PSW. Это прерывание приходит на МП по линии NMI от логики немаскируемых прерываний NMI Logic. А если МП поддерживает режим системного управления, то и на вход МП SMI.

1 NMI

Сигнал для генерации этого сигнала приходит на NMI Logic:

- От схем контроля паритета памяти PCK

- Ошибки ввода/вывода IoChk шины EISA

- Ошибки по шине PCI SERR

- В IBM PC XT ошибка от сопроцессора MPU

Если во время обработки немаскируемого прерывания снова установился NMI, то вложенного прерывания не будет до тех пор, пока не исполнится первая обрабатывающая программа, то есть пока не исполнится инструкция iret после первого NMI.

2 SMI

System Management Interrupt

Оно возникает от схем контроля чипсета, участвующего в управлении энергопотреблением. SMI имеет наивысший приоритет и обслуживается абсолютно по-другому. Здесь МП переходит в режим системного управления SMM System Management Mode, сохраняя свой контекст (почти все регистры) в специальной памяти SMRAM. Это выделенная ОС область физической памяти. После этого МП переходит к выполнению обработчика SMI, который расположен в той же области SMRAM. При входе в SMM запрещаются аппаратные прерывания (маскируемые и немаскируемые – INT & NMI) и блокируется вся физическая ОП кроме SMRAM. После обработки SMI МП восстанавливает свой контекст из SMRAM и возвращается в обычный режим, в обычное адресное пространство.

е) Программные прерывания

Если аппаратные прерывания (маскируемые и немаскируемые) вызываются электрическими сигналами на входах МП (INT, NMI, SMI), то программные прерывания выполняются по команде Int xxh. Программные прерывания прерываниями как таковыми не являются. Это лишь своеобразный способ вызова процедур обслуживания прерываний. Каждому номеру программного прерывания от 0 до 255 соответствует вектор прерывания в таблице прерываний реального режима работы или элемент в таблице дескрипторов прерываний в защищённом режиме работы. Первые 5 типов прерываний определены явно, остальные отведены для команд прерываний или внешних прерываний по IRQ.