Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на вопросы по СПО.docx
Скачиваний:
55
Добавлен:
25.09.2019
Размер:
263.19 Кб
Скачать
  1. Система прерываний и её место в современных вычислительных системах

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

2.

  1. Cистема прерываний в эвм типа ibm pc. Прерывания и исключения. Виды исключений.

Прерывания- запросы внешних устройств, работа которых асинхронна к работе ЦП.-аппаратное прерывание.

Исключения(внутр прерывания)-синхронны по отношению к решаемой ЦП задаче.

  1. Отказ- искл, котор выявляется и обрабат перед выполнением команды.

  2. Ловушка- после выполнения команды.

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

Типы исключений:

  1. ошибка деления(деление на 0)-отказ

  2. искл для отладки(любая комада при работе в режиме отладки) –ловушка

  3. немаскируемые прерывания(появление сигн на линии немаскир прерывания-прерывание

  4. однобайтная команда Останова(INT3) –ловушка

  5. переполнение(переп разрядной сетки)-отказ

  6. превышение граниз массива(любые операции с элементами массива)-отказ

  7. неразрешенный код команды(команда не вход в состав команд микропроцессора)-отказ

  8. математический сопроцессор FPU(недоступен матем сопроцессор)-отказ

  9. двойная ошибка(ош в программе обработки искл)-выход из процесса

  10. зарезервированно-выход из прцесса

  11. неразрешенный блок состояния задачи TSS(передача управления программам джамп колл)-отказ

  12. отсутствие сегмента(команды исп сегментный регистр)-отказ

  13. ошибка обращения к стэку(команд обращения к стэку)-отказ

  14. нарушение общей защиты(ош при обращении к памяти)-отказ

  15. отсутствие страницы(отсутств стр в физич памяти при страничной организациии виртуальной пам)

  16. зарезерв

  17. ошибки операции матем сопроцессора(команды)-отказ

  18. ошибка выравнивания(обращение к невыравненному адресу)-отказ

  19. -31 зарезервир

  20. 32-255 предоставл пользоват вешние маскированные данные- прерывания

  1. Система прерываний в эвм типа ibm pc. Порядок обработки прерываний и исключений

  1. Проверить ловушки только что завершенной команды

  2. Проверить сигналы на входящие маскир и немаски прерывания

  3. Проверить отказы сегментации мешающие выборке след команды(отсутствие сегмента и наруш общей защиты)

  4. Проверить отказы страничной организации, мешающие выборке след команды

  5. Проверить отказы дешифрации след команды

  6. Пров наличие искл недоступен матем сопроцессор, если имеет место обращение к матем сопроцессору

  7. Проверить на ош опрерации матем сопроцессора

  8. При каждом обращении к памяти сначала определ ош сегментации, а затем ош страничной организации

  1. Функционирование системы прерываний в реальном режиме работы микропроцессора

Реальное прерывание в реальном режиме работы в системе прерываний используется понятие вектора

прерывания, поскольку для указания адреса программы обработки прерывания

здесь требуется не одно значение, а два (значение для сегментного регистра кода

и значение для указателя команд), то есть мы имеем дело не со скалярной величиной,

а с «векторной», состоящей из двух скалярных.

Итак, каждый вектор прерывания состоит из четырех байтов, или двух слов: первые

два содержат новое значение для регистра IP, а следующие два — новое значение

для регистра CS. Таблица векторов прерывания занимает 1024 байт. Таким образом,

в ней может быть задано 256 векторов прерываний. В процессоре 18086 эта

таблица располагается на адресах 00000H-003FFH. Расположение этой таблицы

в процессорах i80286 и в более поздних определяется значением регистра IDTR

(Interrupt Descriptor Table Register — регистр таблицы дескрипторов прерываний).

При включении или сбросе процессора i80x86 этот регистр обнуляется. Однако

при необходимости можно в регистре IDTR указать смещение и таким образом

перейти на новую таблицу векторов прерываний.

Таблица векторов прерываний запблняется (инициализируется) при запуске системы,

но, в принципе, может быть изменена или перемещена.

Каждый вектор прерывания имеет свой номер, называемый номером прерывания,

который указывает его место в таблице. Этот номер, помноженный на четыре (сдвиг

на два разряда влево и заполнение освободившихся битов нулями) и сложенный

с содержимым регистра IDTR, дает абсолютный адрес первого байта вектора прерываний

в оперативной памяти.