Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Вопрос 15. Защищенный режим работы процессора. Таблицы дескрипторов



Защищенный режим – смысл – произошло увеличение памяти в 16 раз. Был придуман дескриптор, который за каждой программой закреплялось определенное количество памяти.

Процессор 80286 так же является 16 разрядным, однако в отличие от последнего может работать в новом режиме – защищенном. Обеспечивает аппаратную поддержку многозадачных операционных систем. Эта поддержка активно используется всеми мультизадачными ОС и оболочками, разработанными для компьютеров ИБМ ПЦ. Адресная шина увеличена до 24 разрядов. 2 в 24 степени = 16 МБ.

Следующие модели процессоров фирмы ИНТЕЛ i80386, i80486, i80586 (Pentium) были 32-х разрядными. Адресное пространство – 2 в 32 степени = 4 ГБ. В них реализована концепция страничной виртуальной памяти, возможной только для защищенного режима. Механизм этой памяти позволяет разместить часть оперативной памяти на диске, при этом размер виртуальной памяти, предоставляемой программой, ограничивается свободным пространством на диске. Новый метод адресации памяти (защищенный режим) позволил изолировать адресные пространства отдельных задач друг от друга. При этом прикладная программа, работающая среди ОС, использующей защищенный режим, не может случайно или намеренно разрушить целостность самой операционной системы. Программа может записывать данные только в те области памяти, которые выделены ей операционной системой. Это повышает надежность работы мультизадачных и мультипользовательских операционных систем.

Достоинства режима:

1) Возможность адресации за пределами первого мегабайта.

2) Реализован механизм, начиная с ИНТЕЛ 80386, страничной виртуальной памяти.

3) Аппаратная поддержка мультизадачности.

Адресация в защищенном режиме в микропроцессорах ИНТЕЛ 80286.

Дескриптор сегмента — служебная структура в памяти, которая определяет сегмент.

Дескриптор содержит физический адрес начала сегмента в памяти (базовый адрес), его размер, а также другую информацию. В 24 битах. Ага. Базовый адрес какой-то. Размещается в 24 битах. Размер сегмента указывается в 16 битах, и может принимать любые значения, меньшие или равные 64КБ. Размер сегмента может быть меньше или равным 64 КБ. В реальном – ЖОСТКО 64 КБ. В этом состоит фундаментальное отличие защищенного режима от реального. И сейчас зарисуем какую-то мега схему.

Вопрос 16. Виртуальный режим работы процессора типа ИНТЕЛ 8086

Режим виртуального 8086 (V86, VM86, иногда просто виртуальный режим) — режим адресации процессоров семейства x86 совместимый с прародителем семейства — процессором Intel 8086. Является подрежимом защищенного. Впервые появился в процессоре 80386 и предназначался главным образом для создания т. н. «виртуальных DOS-машин», виртуальных сред для исполнения приложений господствовавшей в то время в мире персональных ЭВМ операционной системы MS-DOS. Является первой попыткой корпорации Intel внедрить в свои процессоры технологии аппаратной виртуализации.

Задача виртуального 8086 представляет собой обычную задачу защищенного режима со следующими особенностями:

- Адрес, аналогично реальному режиму, является двухкомпонентным, состоящим из 16-битного номера 16-байтного параграфа, задающего базовый адрес сегмента и 16-битного смещения внутри сегмента;

- Прерывания обрабатываются обычными обработчиками ОС защищенного режима. Таблица векторов прерываний по адресу 0 не производится.

Вопрос 17. Прерывания

Идея прерывания была предложена в середине 50-х годов и основная цель введения прерываний – реализация синхронного режима работы и реализация параллельной работы отдельных устройств ЭВМ.

Прерывание (interrupt) – это сигнал, заставляющий ЭВМ менять обычный порядок выполнения команд процессором. Возникновение подобных сигналов обусловлено такими событиями, как:

завершение операций ввода-вывода.

истечение заранее заданного интервала времени.

попытка деления на нуль.

сбой в работе аппаратного устройства и др.

 

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

Например прерывание с номером 9 - прерывание от клавиатуры, которое генерируется при нажатии и при отжатии клавиши. Используется для чтения данных с клавиатуры. Обозначается в ОС как IRQ1, где IRQ – обозначение прерывания, а 1 – приоритет прерывания.

Обработчик прерываний – программа обработки прерывания, являющаяся частью ОС, предназначенная для выполнения ответных действий на условие, вызвавшее прерывание.

Предположим, что в момент поступления сигнала прерывания от некоторого источника программа А находится в решении. В результате управление автоматически передается обработчику прерываний. После завершения обработки управление может быть снова передано в ту точку программы А, где ее выполнение было прервано.

Векторы прерываний

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

Таблица векторов прерываний занимает первый килобайт оперативной памяти - адреса от 0000:0000 до 0000:03FF. Таблица состоит из 256 элементов - FAR-адресов обработчиков прерываний. Эти элементы называются векторами прерываний. В первом слове элемента таблицы записано смещение, а во втором - адрес сегмента обработчика прерывания. Векторами являются просто полные адреса памяти программы (в сегментированной форме), которая должна быть активизирована в случае возникновения прерывания.

Прерыванию с номером 0 соответствует адрес 0000:0000, прерыванию с номером 1 - 0000:0004 и т.д. Адрес такой состоит из пары 2-байтовых слов, поэтому каждый из векторов занимает четыре байта.

Механизм обработки прерываний

 

При обработке каждого прерывания должна выполняться следующая последовательность действий:

- Восприятие запроса на прерывание: прием сигнала и идентификация прерывания.

- Запоминание состояния прерванного процесса: определяется значением счетчика команд (адресом следующей команды) и содержимым регистров процессора.

- Передача управления прерывающей программе (в счетчик команд заносится начальный адрес подпрограммы обработки прерываний, а в соответствующие регистры – информация из слова состояния процессора).

- Обработка прерывания.

- Восстановление прерванного процесса и возврат в прерванную программу.

Типы прерываний:

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

Программы могут сами вызывать прерывания с заданным номером. Для этого они используют команду INT. По этой команде процессор осуществляет практически те же действия, что и при обычных прерываниях, но только это происходит в предсказуемой точке программы – там, где программист поместил данную команду. Поэтому программные прерывания не являются асинхронными (программа «знает», когда она вызывает прерывание).

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

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.