Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Орг_Эвм_ГОТОВО.docx
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
373.13 Кб
Скачать
  1. Пространство ввода-вывода.

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

Инструкция ввода-вывода предусматривает:

  1. непосредственную адресацию порта;

  2. косвенное обращение через регистр.

В реальном режиме процессора программе доступно все пространство адресов ввода-вывода. В защищенном режиме, возможно, программно ограничить доступное пространство ввода-вывода, а внутри этой области можно также программно разрешить или запретить доступ к конкретному устройству. Размер области и карта разрешенных портов (IO Permission Bitmap) задаются ОС в дескрипторе сегмента состояния задачи (TSS).

Порты ввода-вывода.

ПВВ – это модули для реализации взаимодействия между МПС и внешней средой.

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

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

Если такие порты подключить к разным физическим шинам, то конфликт можно исключить за счет использования буфера данных. Каждой шине назначается своя область адресов ввода и дешифратор, расположенный на системной плате при чтении открывает соответствующий буфер данных. Для современных плат со встроенной периферией и несколькими шинами, распределением адресов управляет BIOS через регистры конфигурирования CHIPSET.

Т иповая схема подключения портов ввода-вывода. Портам ввода-вывода присваивается n-разрядный код, по которому процессор может отличать их друг от друга. В данной схеме порт вывода и порт ввода имеют одинаковый код за счет организации управляющих сигналов (вывод, ввод), подключенных через логику «и» на выход дешифратора адреса.

Существует три типа обмена между процессорной схемой и внешними устройствами: 1. Программно-управляемый обмен; 2. Обмен данными по прерываниям; 3. Прямой доступ к памяти.

  1. Аппаратные прерывания.

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

Существует 4 типа прерываний:

  1. Внутренние прерывания процессора и сопроцессора (исключения)

  2. Немаскируемые внешние прерывания

  3. Маскируемые внешние прерывания

  4. Программно вызываемые прерывания (не относятся к прерываниям, специфический вызов процедуры)

К внутренним прерываниям:

Генерируются при возникновении особых условий выполнения текущей инструкции. Под такие прерывания отводятся первые 32 вектора в таблице прерываний.

К программно-вызываемым прерываниям:

Не относятся к прерываниям как таковым, это специфический вызов процедуры, происходящей по номеру в таблице прерываний, а не по адресу прерываний.

Некоторые исключения «пересекаются» с внешними и программными прерываниями, что вызывает некоторые проблемы при программировании.

Немаскируемые прерывания.

Условия возникновения прерываний проверяются процессором на границе инструкций – все шинные операции текущей инструкции должны быть завершены до начала обработки прерывания. Имеют наивысший приоритет независимо от состояния флага расширения прерываний (IF).

Немаскируемые прерывания:

  1. - сигнал от схем контроля памяти. Во время работы прерывания вложенные запрещены.

  2. - прерывания возникает от схем чипсета участвующих в управлении энергопотреблением.

В случае прерывания по сигналу процессор не обращается к таблице прерываний, а переходит в специальном режиме (System Management Mode) системного управления. Этот режим использует отдельное адресное пространство, которое не связано с основным пространством памяти.

SMRAM – реализуется как часть физической оперативной памяти или отдельная микросхема энергонезависимой памяти.

Сначала в памяти SMRAM автоматически сохраняется контекст процессора, после этого выполняется код по определенному адресу в памяти SMRAM. Обычные прерывания запрещены, обычная память процессору недоступна. Выход из режима SMM происходит по инструкции RSM. По этой инструкции автоматически восстанавливается сохраненный контекст процессора, процессор входит в обычное адресное пространство и выполняет прерванную программу.

Маскируемые прерывания.

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

Прерывания завершаются по инструкции IRET в которой стек восстанавливается в контекст процессора.

Контекстное переключение – процессор сбора и записи содержимого регистров процессора в основную память.

Если во время обслуживания такого прерывания изменить состояния указателя стека или его содержимое, то система зависнет, также причиной сбоев может являться переполнение стека (в случае вложенных прерываний).

Контроллеры прерывания совместимые с процессорами INTEL могут подключаться каскадно (до 64 внешних устройств).

Вложенные прерывания.

Линии прерывания являются самым дефицитным ресурсом для компьютерной системы, поэтому, желательно, использовать эти линии, разделяемо, между несколькими устройствами. Этот способ для шин ISA невозможен, но этот способ реализован для шин PCI.

Для шины PCI используются 4 линии запроса. Обозначаются как, A, B, C, D. Срабатывание идет по низкому уровню. Этим разделение линий управляют опции BIOS, а также PnP.

В мультипроцессорных системах система аппаратных прерываний более сложная. Для реализации такой системы процессоры класса Pentium имеют встроенные контроллеры прерываний (APIC), которые соединяются шиной APIC.