Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Shpory_AVMiS_4kurs.docx
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
3.45 Mб
Скачать

77. Защита. Проверка достоверности указателя. Защита страниц и каталогов.Проверка достоверности указателя.

Проверка достоверности сводится к нахождению границ, в которых могут находиться данные. Достоверность указателей является важной частью выявления программных ошибок. Она необходима также для поддержания изоляции между уровнями привилегий и состоит из следующих трех шагов: 1) проверки соответствия типа сегмента его ожидаемому использованию, 2) проверки превышения указателем границы сегмента, 3) проверки полномочий задатчика указателя обращаться к данному сегменту. Процессор авто. выполняет 1 и 2 шаги во время исполнения команды, но 3 шаг должны помочь программные средства. Это делает непривилегированная команда ARPL настройки поля RPL селектора. Выполнить первый и второй шаги проверки можно также и программными средствами, а не ожидать обработки исключения.

Защита страниц и каталогов. Каждый вход в таблицу страниц имеет два бита, связанных с типом защиты: U/S и R/W. Бит присутствия может быть использован для ограничения адресуемой области. На уровне адресации страниц определены 2 типа доступа: только чтение (R/W = 0) и чтение и запись (R/W = 1). Если процессор работает на уровне супервизора (CPL < 3), состояния U/S и R/W неважны. Все страницы разрешены как по чтению, так и по записи. На уровне пользователя (CPL = 3) записывать можно только те страницы, которые принадлежат 'уровню пользователя (U/S =1) и помечены как доступные по записи (R/W = 1). Страницы, принадлежащие уровню супервизора, не доступны с уровня пользователя ни по чтению, ни по записи.

Ограничение доступа к страницам реализовано присвоением каждой странице одного из двух уровней. Текущий уровень относится к уровню CPL. Если уровень CPL равен 0, 1 или 2, процессор работает на уровне супервизора. Если же уровень CPL = 3, процессор работает на уровне пользователя.

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

Существуют возможности обойти защиту страниц. Определенные доступы проверяются так, как будто они являются ссылками с уровнем привилегий 0, даже если уровень CPL равен 3. К таким доступам относятся любые ссылки на таблицы LDT, GDT, IDT, TSS или же доступ к внутреннему стеку в кольце чередующихся команд CALL и INT.

В режиме разбиения на страницы процессор сначала проверяет защиту сегментов, а затем оценивает защиту страниц. Если МП 80386 обнаруживает нарушение защиты либо на уровне сегментов, либо на уровне страниц, он запрещает дальнейшее выполнение запрашиваемой операции и вызывает обработку исключения по защите.

78. Конвейеризация.

Конвейер — это способ организации вычислений, используемый в современных процессорах и контроллерах с целью повышения их производительности (увеличения числа инструкций, выполняемых в единицу времени), технология, используемая при разработке компьютеров и других цифровых электронных устройств.

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

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

RISC сделал конвейеры меньше и значительно проще в конструировании, чисто отделив каждый этап обработки инструкций и сделав время их выполнения одинаковым — один цикл. Процессор в целом функционирует на манер сборочной линии с инструкциями, поступающими с одной стороны и результатами, выходящими с другой. Из-за уменьшенной сложности классического RISC-конвейера, конвейерезированное ядро и кэш инструкций могли быть размещены на кристалле того же размера, который содержал бы лишь ядро в случае CISC архитектуры. Это и было истинной причиной того, что RISC был быстрее.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]