- •1. Общие положения
- •Характеристики универсальных микропроцессоров:
- •Организация внутренней памяти данных (озу) Преимущества разделения на банки:
- •Память программ
- •3. Аппаратные и программные средства микроконтроллера для обработки битовой информации
- •Сброс флагов запросов прерывания
- •5. Блок таймеров/счетчиков: назначение, структура, режимы работы, применение.
- •Режимы работы таймер/счетчик
- •6. Организация последовательного ввода/вывода в микроконтроллере.
- •7.Включение микроконтроллера в систему управления.
- •0, 1
- •3. Универсальные микропроцессоры
- •Основные функциональные регистры
- •Основные функциональные регистры -Сегментные регистры
- •Типы логического адресного пространства
- •Формирование линейного адреса
- •Формат селектора
- •Формат дескриптора
- •Обращение к глобальной таблице дескрипторов
- •Обращение к локальной таблице дескрипторов
- •Двухэтапное преобразование
- •Формат элемента ктс (таблицы страниц)
- •Структура tlb
- •Механизм замещения строк (lru)
- •Средства защиты должны предотвращать:
- •Обращение к более привилегированным программам через шлюз вызова
- •Структура дескриптора шлюза вызова
- •Для аппаратной поддержки многозадачности используется:
- •Содержимое tss:
- •Дополнительная часть tss:
- •Структура команды межсегментной передачи управления
- •Структура байта доступа в дескрипторе tss
- •Типы кэш памяти
- •Пример:
- •Порядок обработки прерываний
- •Рефлекторные действия процессора
- •Пример (для рефлекторного мк):
- •Типы прерываний
- •Определение адреса обработчика прерываний
- •Шлюзы ловушки и прерывания
- •Шлюз задачи
- •Регистр типов
- •Пример:
- •Время выполнения n-команд
- •Конфликты:
- •Структурные конфликты
- •Причины:
- •Пути решения для Запоминающих Устройств (зу):
- •Традиционные методы
- •Ограничения:
- •Ограничения:
- •Современные направления
- •Достоинства данного подхода:
- •Недостатки:
- •4. Структура и особенности функционирования современных микропроцессоров
Двухэтапное преобразование

Рисунок 3 – двухэтапное преобразование
Достоинства:
КТС постоянно находится в ОП, таблицы страниц могут вытесняться во внешнюю память и загружаться из неё, т.е.в ОП должно обязательно храниться 4кб КТС и 4кб активной страницы, что экономит ОЗУ, но при этом каждое страничное преобразование требует двух дополнительных обращений к ОП.
Для сокращения времени страничного преобразования используется буфер ассоциативной трансляции страничного адреса (TLB)
Формат элемента ктс (таблицы страниц)
P– бит
присутствия.
A– бит обращения.A=1, при любом обращении к данной странице
D – dirty bit (грязный бит). D=1при записи на данную страницу,D=0 в случае вытеснения данной таблицы из ОЗУ физически она во внешнюю память не копируется
R/W– разрешение только чтения, либо и чтения и записи на данной странице.
U/S–user/supervisor.Uсоответствует в сегменте уровню приоритета =3.Sсоответствует в сегменте уровню приоритетов =0, 1 или 2. На уровнеSразрешается запись и чтение страницы при любом значениеR/W.
PCD– запрещение кэширования страниц
PWT–
Структура tlb

Рисунок 4 - Структура TLB
Биты доступа:D,U/S,R/W(см. выше)
V– бит достоверности.V=0 – информация в данной строке не достоверна.
TLBхранит информацию о 32-х наиболее часто используемых страницах (8 блоков по 4 строке в каждой).
Задача:
Определить выполнялось ли преобразование адреса, если да – взять из ОЗУ, если нет, то выполнить преобразование и добавить информацию в TLB.
П
ри
преобразовании виртуального адреса
разряды 1214 определяют
№ блокаTLB. Поля тэгов
всех строк этого блока одновременно
ассоциативно сравниваются с разрядами
3115 линейного адреса,
если для какой либо строки произошло
совпадение – это означает, что № данной
виртуальной страницы уже преобразовывался
в № физической страницы и информация
об этой странице имеется в данной строке.
При несовпадении страничное преобразование
выполняется обычным образом, результаты
преобразования записываются в свободную
строку блока, если свободной строки
нет, то одна из строк освобождается по
механизмуLRU(lastrecentlyused).
Механизм замещения строк (lru)
|
Биты |
Последнее обращение | |
|
B0 |
0 |
Было обращение к строкам L2 или L3 |
|
1 |
Было обращение к строкам L0 или L1 | |
|
B1 |
0 |
Было обращение к L1 |
|
1 |
Было обращение к L0 | |
|
B2 |
0 |
Было обращение к L3 |
|
1 |
Было обращение к L2 | |
|
B0 |
B1 |
B2 |
Замена |
|
0 |
0 |
X |
L0 |
|
0 |
1 |
X |
L1 |
|
1 |
X |
0 |
L2 |
|
1 |
X |
1 |
L3 |
Механизмы защиты в 32-разрядном микропроцессоре. Защита при управлении памятью. Защита по привилегиям. Механизмы передачи управления между программами на разных уровнях привилегий. Шлюз вызова.
Средства защиты должны предотвращать:
Неразрешенное взаимодействие пользователей друг с другом
Несанкционированный доступ пользователей к данным
Повреждение программ и данных из-за ошибок в программе
Намеренные попытки разрушить целостность в системе
Средства защиты делятся на:
Защита при управлении памятью
Защита по привилегиям
Защита при управлении памятью
Выявляет большинство программных ошибок и попыток случайного искажения данных
До загрузки селектора в сегментный регистр данных и кэширования дескриптора выполняются проверки:
П
оле
INDEX селектора находится в пределах
таблицы, определённой битомTIПри загрузке селектора в сегментный регистр данных: DS,ES,FS,GSтип дескриптора должен разрешать считывание из сегмента. Только выполняемые сегменты запрещены, но сегменты с разрешёнными операциями выполнения и считывания допускаются.
Типы сегментов:
Сегмент данных
Сегмент кода
Системные объекты (Сегмент локальной таблицы дескрипторов)
Для SS(сегмент стека): должны быть разрешены операции чтения и записи.
Для CS–можно загружать селекторы ТОЛЬКО исполняемых сегментов.
На этапе обращения к сегменту проверяется:
разрешена ли данная операция (ЧТЕНИЕ / ЗАПИСЬ);
сформированное МП смещение в сегменте не превышает предела, указанного в дескрипторе;
проверка соответствия обращения к сегменту, его типу (нельзя обращаться к кодовому операнду, если он помечен на исполнение, чтобы не перемешалась информация).
Защита по привилегиям
Фиксирует более «тонкие» ошибки и намеренные попытки нарушить целостность системы.
Привилегии– свойства, определяющие какие операции и обращения к памяти, разрешается производить МП при выполнении текущей задачи.
На аппаратном уровне поддерживает до 4 уровня привилегий (00 – наиболее привилегированный)
К
ольца
защиты
Уровень 0– Ядро ОС обеспечивающее:
инициализацию работы;
управление доступом к памяти;
защиту;
ряд важных функций, нарушение которых выводит из строя МП.
Уровень 1– основная часть программ (утилиты)
Уровень 2– служебные программы ОС (драйверы, СУБД и т.д.)
Уровень 3– программы пользователя
Аппаратные средства МП постоянно контролируют: что данная программа достаточно привилегированна, для того, чтобы:
Выполнять некоторые команды (отдельные команды, например, обращения к системным таблицам или регистрам могут выполняться только на уровне 0).
Обращение к данным других программ (программа может обращаться к данным на текущем уровне или более низком уровне привилегий).
Передавать управление другим программам (вызывать другие программы). Передача управления возможна толькона текущем уровне привилегий. Вызов программ с более высокого уровня привилегий выполняется через шлюз вызова. Переход на более низкий уровень проходит через механизм подчинённых сегментов.
Программа достаточно привилегированна, чтобы выполнить операции ввода-вывода (т.е. если ей это разрешено) [Бит IOPL регистра EFLAGS] (т.к. некоторым операциям нужен 0 уровень, а мы будем использовать 3 уровень, то часть функций нам будут недоступны).
На уровне страниц используются 2 уровня привилегий, бит U/S (User/Supervisor).
Пользователь (уровень 3);
Супервизор (уровень 0,1,2).
Проверка проводится вначале на уровне сегмента, а потом на уровне страницы (т.к. в сегменте разные страницы)
