- •Введение
- •Организация кэш-памяти
- •1. Где может размещаться блок в кэш-памяти?
- •2. Как найти блок, находящийся в кэш-памяти?
- •3. Какой блок кэш-памяти должен быть замещен при промахе?
- •4. Что происходит во время записи?
- •Принципы организации основной памяти в современных компьютерах Общие положения
- •Увеличение разрядности основной памяти
- •Память с расслоением
- •Использование специфических свойств динамических зупв
- •Виртуальная память и организация защиты памяти Концепция виртуальной памяти
- •Страничная организация памяти
- •Сегментация памяти
- •Управление вводом-выводом
- •Физическая организация устройств ввода-вывода
- •Организация программного обеспечения ввода-вывода
- •Обработка прерываний
- •Драйверы устройств
- •Независимый от устройств слой операционной системы
- •Пользовательский слой программного обеспечения
- •Системы ввода вывода Организация ввода - вывода микропроцессорного устройства
- •Ввод вывод в режиме прямого доступа к памяти
- •Ввод вывод
- •Защищенный режим
- •Дескрипторы
- •Привилегии
- •Переключение задач
- •Страничное управление памятью
- •Режим виртуального 86 (v86)
- •Характеристика системы команд процессора
- •Простые типы данных. Операции над простыми данными.
- •Машинные форматы данных.
- •Слово. Полуслово. Двойное слово.
- •Числа с плавающей запятой
- •Представление простых типов данных языков программирования
- •Вместо заключения
- •2.2 Типы данных
- •Логическое устройство компьютеров
- •1. Принцип программного управления. Из него следует, что программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в определенной последовательности.
- •3. Принцип адресности. Структурно основная память состоит из перенумерованных ячеек; процессору в произвольный момент времени доступна любая ячейка.
- •Основные принципы функционирования компьютеров
- •Принципы Неймана
- •Общее устройство компьютеров
- •Арифметические основы компьютера
- •Перевод чисел в десятичную систему счисления
- •Перевод чисел из десятичной системы в двоичную, восьмеричную и шестнадцатиричную
- •Перевод чисел из двоичной системы счисления в восьмеричную и шестнадцатиричную и обратно
- •Арифметические операции в позиционных системах счисления
- •Сложение
- •Вычитание
- •Триггер
- •Сумматор
- •Принципы организации основной памяти в современных компьютерах Общие положения
- •Увеличение разрядности основной памяти
- •Память с расслоением
- •Использование специфических свойств динамических зупв
- •Виртуальная память и организация защиты памяти Концепция виртуальной памяти
- •Страничная организация памяти
- •Сегментация памяти
- •Глава 5 Управление памятью
- •Глава 1. Общие принципы организации памяти эвм
Дескрипторы
Дескрипторы имеют 8 байтный формат, назначение определяется полями байта управления доступа. Два стартовых байта содержат расширение полей базового адреса и лимита, бит дробности G определяющий в каких единицах задан лимит (0 в байтах, 1 в страницах по 4К). Дескрипторы сегментов кода и данных определяют базовый адрес, размер сегмента, права доступа (чтение, чтение/запись, только исполнение кода или исполнение/чтение), а для систем с виртуальной памятью еще и присутствие сегментов физической памяти. В байте управления доступом в этих дескрипторах бит S=1, бит Р присутствие в памяти, биты DPL- уровень привилегий сегмента, бит А - обращения, бит Е - определяет тип сегмента данных или кода, свойства сегмента определяет поле TYPE. В этом поле бит ED контролируемое направления задает расширение вверх, т.е. смещение не должно превышать значение лимита, или расширение вниз (для стека, у которого смещение должно превышать значение лимита). Бит В в предпоследнем байте дескриптора сегмента стека определяет разрядность используемого указателя стека. Бит WQ разрешение или запрет записи данных в сегмент. В сегмент кода запись невозможна, лимит указывает на его последний байт, а биты поля типа имеют следующие назначения: бит С _ подчиненность, при С=1 код может исполняться если текущий уровень привилегий CPL не ниже уровня привилегий дескриптора; DPL при С=0 управление к данному сегменту передается если DPL=CPL; бит R _ это разрешение или запрет чтения сегмента, запись в сегмент кода возможна только через псевдоним, т.е. сегмент данных с разрешенной записью имеющий те же значения базы и лимита; бит D в предпоследнем байте определяет разрядность адресов и данных по умолчанию. Системные сегменты предназначены для хранения LDT и TSS. Их дескрипторы определяют базовый адрес, лимит от 1 до 64Кбайт, права доступа и присутствие сегментов физической памяти. В байте управления доступом байт S у них равен 0. Бит Р определяет действительность или недействительность данного сегмента. Поле DPL используется только в дескрипторах TSS. Поле типа определяет тип сегмента 2 _ LDT, 9 _ доступный TSS, В _ занятый TSS. Межсегментная передача управления непосредственно (командами JMP, CALL, INT, RET и IRET) возможно только к сегментам кода с тем же уровнем привилегий либо к подчиненным сегментам, уровень привилегий которых выше чем CPL (при этом CPL не изменяется). Для переходов с изменение уровней привилегий используются вентили иногда называемые шлюзами. Для каждого способа косвенной передачи управления имеются соответствующие вентили, их использование позволяет микропроцессору автоматически выполнять контроль защиты. Вентили вызова используются для вызова процедур со сменой уровня привилегий. Вентили задач используются для переключения задач. Вентили прерываний и ловушек определяют процедуру обслуживания прерываний. Вентили вызова позволяют автоматически копировать заданное число слов из старого стека в новый. Вентили прерываний отличаются от вентилей ловушек только тем, что они запрещают прерывания сбрасывая IF, а вентили ловушек не запрещают. Для каждого типа вентилей используются соответствующие дескрипторы вентилей.