
- •1. Общие положения
- •Характеристики универсальных микропроцессоров:
- •Организация внутренней памяти данных (озу) Преимущества разделения на банки:
- •Память программ
- •3. Аппаратные и программные средства микроконтроллера для обработки битовой информации
- •Сброс флагов запросов прерывания
- •5. Блок таймеров/счетчиков: назначение, структура, режимы работы, применение.
- •Режимы работы таймер/счетчик
- •6. Организация последовательного ввода/вывода в микроконтроллере.
- •7.Включение микроконтроллера в систему управления.
- •0, 1
- •3. Универсальные микропроцессоры
- •Основные функциональные регистры
- •Основные функциональные регистры -Сегментные регистры
- •Типы логического адресного пространства
- •Формирование линейного адреса
- •Формат селектора
- •Формат дескриптора
- •Обращение к глобальной таблице дескрипторов
- •Обращение к локальной таблице дескрипторов
- •Двухэтапное преобразование
- •Формат элемента ктс (таблицы страниц)
- •Структура tlb
- •Механизм замещения строк (lru)
- •Средства защиты должны предотвращать:
- •Обращение к более привилегированным программам через шлюз вызова
- •Структура дескриптора шлюза вызова
- •Для аппаратной поддержки многозадачности используется:
- •Содержимое tss:
- •Дополнительная часть tss:
- •Структура команды межсегментной передачи управления
- •Структура байта доступа в дескрипторе tss
- •Типы кэш памяти
- •Пример:
- •Порядок обработки прерываний
- •Рефлекторные действия процессора
- •Пример (для рефлекторного мк):
- •Типы прерываний
- •Определение адреса обработчика прерываний
- •Шлюзы ловушки и прерывания
- •Шлюз задачи
- •Регистр типов
- •Пример:
- •Время выполнения n-команд
- •Конфликты:
- •Структурные конфликты
- •Причины:
- •Пути решения для Запоминающих Устройств (зу):
- •Традиционные методы
- •Ограничения:
- •Ограничения:
- •Современные направления
- •Достоинства данного подхода:
- •Недостатки:
- •4. Структура и особенности функционирования современных микропроцессоров
Формирование линейного адреса
В защищённом режимесегментные регистры содержат селекторы, которыеуказывают на дескриптор данного сегмента. Дескрипторы хранятся в специальных таблицах: GDT (доступны всем задачам) иLDT(доступен только данной задачи)
Формат селектора
INDEX– номер дескриптора в соответствующей
таблице дескрипторов (максимум 213дескриптора)
RPL– уровень привилегий запроса, который при обращении сравнивается с уровнем привилегий дескриптора DPL, к которому происходит обращение.
МП на аппаратном уровне различает 4 уровня привилегий.
Формат дескриптора
G– определяет, в каких единицах измеряется
длинна сегмента
D– размерность операндов и адресов по умолчанию
X– может использовать ОС
U– пользовательский бит.
Поле DPL– показывает, командам с каким уровнем привилегий можно обращаться к данному сегменту.
Поле P– бит присутствия.P=0Сегмент отсутствует в ОП, при этом остальные поля дескриптора игнорируются.
Поле A– бит обращения. Устанавливается в 1 при любом обращении к данному сегменту.
Тип:
Сегмент кода;
Сегмент данных (данные + стек);
Системные объекты (Дескриптор локальной таблицы дескрипторов (LDT); сегмент состояния задач)
Обращение к глобальной таблице дескрипторов
Чтобы
найти i дескриптор надо знать:
Начало таблицы
Смещение
При последующем обращении к тому же сегментному регистру, обращение идёт через регистровую память в МП. Таблицы GDTиIDTдолжны быть определены при начале работы.
В Глобальной таблице дескрипторов, дескриптор 0 не определён, обращение к 0 адресу вызывает прерывание. Если таблицы не определены, то происходит обращение к 0 дескриптору. Если смещение больше предела, то выходим за границу таблицы.
Обращение к локальной таблице дескрипторов
Если
селектор TI=1 => дескриптор находится в
локальной таблице регистров.
Регистр LDTR(16 разрядов) – обычный селектор (INDEX=0)
2– находим начало Локальной таблицы дескрипторов.
Если смещение больше предела, то выходим за границы таблицы.
В GDT дескриптор 0не определен. Обращение по нулевому адресу вызывает прерывание.
При переводе микропроцессора в защищенный режим должны быть 2 таблицы: GDTиIDT.
Два обращения к ОП => для последующих обращений к этому же сегменту, обращение идёт к теневым регистрам.
Основой сегментного преобразования является логический адрес, состоящий:
селектор сегмента, находящегося в сегментном регистре;
смещение в сегменте.
По селектору находим дескриптор сегмента в GDTилиLDT. Базовый адрес сегмента извлекаемый из его дескриптора складывается со смещением, в результате получаемлинейный адрес.
Если страничный механизм выключен(PGCR0=0), тофизическийадрес, выдаваемый на адресные шины,равен линейному.
Если страничный механизм включен(PGCR0=1), то происходиттрансляция линейного адреса в физическийблоком страничной адресации MMU (блок управления памятью)
Кэширование дескрипторов.
Кэширование осуществляется с использованием теневых регистров внутри МП. Необходимо для уменьшения числа обращений к ОП за дескриптором. В случае сегментно-страничного преобразования используется TLB.
С
труктура расширенного кода командыx86. Вычисление смещения
Постбайт– используется для указания режима адресации операторов. По крайней мере, один из операндов должен находиться в РОН (№ которого кодируется в полеREG(3 порядка)). Режим адресации другого операнда задаётся полями:MD=2разряда,R/M– 3 разряда.
Если R/M= 100, то это означает что за постбайтом следуетSIB байт.
D–
разрядность операндов. Чтобы работал
режим
(8-16) используемOperandSIZE (8-16 или 8-32)
Формат sib-байта:
При
использованииSib-байта
смещение находится в сегменте и
вычисляется:
,
({}-необязательные поля). При использовании
всех трех полей получаем относительную
базово-индексную адресацию.
Особенность расширенного кода команды
Возможность использования любого из РОН, для формирования адреса (для 16 разрядов использовались: для INDEX = регистр SI DI, Base = BX BP).
Ведение масштабирования индексного регистра, что упрощает работу с различными форматами данных.
Виртуальная память. Страничное ЛАП. Структура линейного адреса в страничном ЛАП. Назначение каталога таблиц страниц и таблиц страниц.
Страничное преобразование адреса
Виртуальная память предполагает динамическое распределение памяти. В начале в ОП загружается первая страница программы и первая страница данных, если к ним происходит обращение. Программа выполняется до тех пор пока адреса обращений не выходят за пределы страницы. После этого, в память подгружается следующая страница, при этом, возможно, вытесняя одну из загруженных.
Виртуальн адрес
Каждая стр обрабат 2 машинных такта (в Intel). 1 стр имеет объем – 4 Кбайта(2^12 байт).
Стратегии преобразования адреса
Недостатки одноэтапного преобразования адреса:
Необходимо
постоянно хранить в ОП таблицу
преобразований для каждой из задач.
Рассмотрим на примере страницу объемом 4 кб, тогда виртуальный адрес
Для каждой программы требуется таблица объёмом 220строк по 4 байта в каждой (4 Мб). И эти таблицы должны быть постоянно в ОП.
Двухэтапное_преобразование
Достоинства:
КТС постоянно находится в ОП, табл стр могут вытесняться во внешн пам и загружаться из неё, т.е. в ОП должно обязательно храниться 4кб КТС и 4кб активной стр, что экономит ОЗУ, но при этом каждое страничн преобразов требует двух дополн обращений к ОП. Для сокращен врем страничн преобразов используется буфер ассоциативной трансляции страничного адреса (TLB)
Трансляция линейного адреса в физический при страничной организации памяти. Структура элемента каталога таблиц страниц и элемента таблицы страниц. Буфер ассоциативной трансляции: назначение, структура, механизм замещения.