- •Введение
- •Организация кэш-памяти
- •1. Где может размещаться блок в кэш-памяти?
- •2. Как найти блок, находящийся в кэш-памяти?
- •3. Какой блок кэш-памяти должен быть замещен при промахе?
- •4. Что происходит во время записи?
- •Принципы организации основной памяти в современных компьютерах Общие положения
- •Увеличение разрядности основной памяти
- •Память с расслоением
- •Использование специфических свойств динамических зупв
- •Виртуальная память и организация защиты памяти Концепция виртуальной памяти
- •Страничная организация памяти
- •Сегментация памяти
- •Управление вводом-выводом
- •Физическая организация устройств ввода-вывода
- •Организация программного обеспечения ввода-вывода
- •Обработка прерываний
- •Драйверы устройств
- •Независимый от устройств слой операционной системы
- •Пользовательский слой программного обеспечения
- •Системы ввода вывода Организация ввода - вывода микропроцессорного устройства
- •Ввод вывод в режиме прямого доступа к памяти
- •Ввод вывод
- •Защищенный режим
- •Дескрипторы
- •Привилегии
- •Переключение задач
- •Страничное управление памятью
- •Режим виртуального 86 (v86)
- •Характеристика системы команд процессора
- •Простые типы данных. Операции над простыми данными.
- •Машинные форматы данных.
- •Слово. Полуслово. Двойное слово.
- •Числа с плавающей запятой
- •Представление простых типов данных языков программирования
- •Вместо заключения
- •2.2 Типы данных
- •Логическое устройство компьютеров
- •1. Принцип программного управления. Из него следует, что программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в определенной последовательности.
- •3. Принцип адресности. Структурно основная память состоит из перенумерованных ячеек; процессору в произвольный момент времени доступна любая ячейка.
- •Основные принципы функционирования компьютеров
- •Принципы Неймана
- •Общее устройство компьютеров
- •Арифметические основы компьютера
- •Перевод чисел в десятичную систему счисления
- •Перевод чисел из десятичной системы в двоичную, восьмеричную и шестнадцатиричную
- •Перевод чисел из двоичной системы счисления в восьмеричную и шестнадцатиричную и обратно
- •Арифметические операции в позиционных системах счисления
- •Сложение
- •Вычитание
- •Триггер
- •Сумматор
- •Принципы организации основной памяти в современных компьютерах Общие положения
- •Увеличение разрядности основной памяти
- •Память с расслоением
- •Использование специфических свойств динамических зупв
- •Виртуальная память и организация защиты памяти Концепция виртуальной памяти
- •Страничная организация памяти
- •Сегментация памяти
- •Глава 5 Управление памятью
- •Глава 1. Общие принципы организации памяти эвм
Привилегии
В защищенном режиме имеется 4-уровневая система привилегий, которая управляет использованием привилегированных инструкций и доступом к дескрипторам. Уровни привилегий нумеруются от 0 до 3, нулевой имеет высшие привилегии. Уровни привилегий обеспечивают защиту задач изолируемых друг от друга локальными таблицами дескрипторов. Программы, операционные системы, обработчики прерываний и другое системное обеспечение могут включаться в виртуальное адресное пространство каждой задачи и защищаться системой привилегий. Каждая часть системы работает на своем уровне привилегий. Задачи, дескрипторы и селекторы имеют свои атрибуты привилегий. Привилегии задач действуют на выполнение инструкций и использование дескрипторов. Текущий уровень привилегий и задачи CPL определяются двумя младшими битами регистра CS, и может изменяться только при передаче управления к новому сегменту через дескриптор вентиля. Привилегии дескриптора задаются полем DPL байта управления доступом. DPL определяет наименьший уровень привилегий с которым возможен доступ к данному дескриптору. Привилегии селектора задаются полем RPL т.е. двумя младшими битами селектора. С помощью RPL можно урезать эффективный уровень привилегий EPL, который определяется как максимальное арифметическое из значений CPL и RPL. Контроль доступа к сегментным данным производится при исполнении команд загрузки селекторов в SS, DS, ES, FS и GS. Для получения доступа эффективный уровень привилегий EPL должен быть EPL DPL. Контроль типов и привилегий при передаче управления производится при загрузке селектора в регистр CS. Тип дескриптора на который ссылается данный селектор должен соответствовать выполняемой инструкции. Нарушение типа порождает исключение 13. Привилегии и битовая карта разрешения ввода вывода и управляет флагом прерываний IF. Уровень привилегий ввода вывода определяется полем IOPL регистра флагов. Значение IOPL можно изменить только при CPL=0.
Защита
Защита микропроцессора предназначена для предотвращения несанкционированного выполнения критических инструкций: команды HLT, которая останавливает микропроцессор и команд влияющих на сегменты кода и данных. Механизмы защиты делятся на 3 группы:
ограничение использования сегментов, например, запрет записи в только читаемый сегмент данных. Доступность использования только сегментов дескрипторы которых описаны в GDT и LDT;
ограничение доступа к сегментам через правила привилегий;
выделение привилегированных инструкций или операций, которые можно выполнять только при определенных уровнях CPL и IOPL.
Проверки, порождающие исключения можно тоже разделить на 3 группы:
проверка при загрузке сегментных регистров;
проверка ссылок операндов;
проверка привилегий инструкций.
Для того, чтобы задачи не нарывались на срабатывание защиты, в систему команд введены специальные инструкции тестирования указателей. Они позволяют быстро удостовериться в возможности использования селектора или сегмента без риска порождения исключения.
Переключение задач
Для многозадачных и многопользовательских операционных систем важна способность микропроцессора к быстрому переключению выполняемых задач. Операция переключения задач сохраняет состояние микропроцессора и связь с предыдущей задачей, загружает состояние новой задачи и начинает ее выполнение. Переключение задач выполняется по инструкции межсегментного перехода JMP или вызова CALL ссылающейся на сегмент состояния задачи TSS или дескриптор вентиля задачи в GDT или LDT. Переключение задач может происходить также по операциям и программным прерываниям и исключениям, если соответствующий элемент в IDT является дескриптором вентиля задачи. Дескриптор TSS указывает на сегмент, содержащий полное состояние микропроцессора, а дескриптор вентиля задачи содержит селектор указывающий на дескриптор TSS. Для возврата управления вызвавшей текущую или ей прерванной используется задачи инструкция IRET. Каждая задача должна иметь связанный с ней TSS. В формате TSS содержатся образы регистров микропроцессора, раздельные указатели стеков для уровней привилегий 0, 1, 2., и обратную ссылку на селектор TSS вызвавшей задачи. Кроме того, в TSS содержится битовая карта разрешения ввода вывода и бит отладочной ловушки Т. Карта разрешения ввода вывода расположена в конце TSS и имеет по одному биту на каждый адрес портов ввода вывода. Разрешению обращения соответствует единичное значение бита. Текущий TSS идентифицируется регистром задачи TR в нем содержится селектор, ссылающийся на дескриптор текущего TSS. Смена контекста сопроцессора при переключении задач автоматически не производится, однако микропроцессор обнаруживает первое использование сопроцессора после переключения задач и вырабатывает исключение 7, обработчик которого сам определяет, необходима ли смена контекста.