- •1 Введение
- •2 Основная часть
- •Раздел 1 архитектура и принципы построения эвм
- •Тема 1.1 Основные характеристики эвм
- •Тема 1.2 Общие принципы построения микро эвм
- •1) Протоколы обмена информации
- •2) Протоколы арбитража
- •3) Параллельная и последовательная передачи
- •4) Временная синхронизация процессов в микро эвм.
- •5) Режимы работы микро эвм
- •6) Формирование системной шины микро эвм.
- •Тема 1.3 Классификация средств вт
- •4 Микро эвм (пэвм).
- •Раздел 2. Функциональная и структурная организация эвм
- •Тема 2.1 Внутренняя структура эвм
- •1) Структурная схема эвм. Назначение базовых узлов и их функции.
- •Тема 2.2 Арифметическое логическое устройство (алу)
- •1) Формы представления информации в эвм
- •2) Представление алфавитно-цифровой информации и десятичных чисел
- •1 Классификация алу
- •2 Структура алу
- •Тема 2.3 Центральный процессор (цп)
- •2) Организация работы цп и оп
- •3) Система команд.
- •4) Программы и микропрограммное управления.
- •Тема 2.4 Устройство управления (уу)
- •2) Структурная схема уу
- •3) Способы адресации.
- •1. Прямая адресация.
- •4. Укороченная адресация.
- •4) Принцип организации системы прерываний
- •2. Характеристики системы прерываний
- •6) Маска прерываний
- •5) Прямой доступ к памяти
- •6) Интерфейс системной шины
- •Тема 2.5 Системная память
- •1) Иерархическая организация памяти в эвм.
- •2) Оперативная память
- •5) Основная память
- •6) Виртуальная память
- •1 Основные понятия
- •2 Виртуальная память при страничной организации.
- •3 Виртуальная память при сегментно-страничной организации.
- •7) Постоянная память для хранения bios
- •8) Защита памяти
- •Раздел 3 современные микро эвм
- •Тема 3.1 Технология сверхбыстрых ис и их влияние на архитектуру эвм
- •1) Архитектура эвм Фон-Неймана.
- •2 Раздельное кэширование кода и данных.
- •3 Введение блока предсказания перехода
- •2) Мп и микро эвм
- •3) Структура микро эвм
- •4) Особенности реализации оп в современных микро эвм
- •5) Периферийная организация эвм.
- •6) Мультипроцессорные системы
- •7) Системные ресурсы компьютера
- •Тема 3.2 Многопроцессорные и многомашинные вычислительные системы.
- •1) Общие сведения
- •2) Классификация вс
- •Тема 3.3 Архитектура памяти
- •1) Проблемы короткого машинного слова и архитектурные методы решения этих проблем.
- •2) Архитектура памяти (См. Раздел 2)
- •3) Форматы команд (См. Раздел 3)
- •Тема 3.4 Организация ввода/вывода и системы прерываний
- •1) Пространство ввода/вывода
- •2) Программное управление вводом/выводом
- •3) Ввод/вывод по прерываниям
- •4) Организация пдп
- •Раздел 4. Базовая архитектура 32 разрядных мп на примере i486
- •Тема 4.1 Регистровая структура мп
- •1) Пользовательские регистры мп (16 штук)
- •2) Сегментные регистры
- •3) Указатель команды eip/ip
- •4) Регистр флагов
- •Системные регистры мп i486 (15 штук)
- •1 Регистры pm
- •2 Регистры управления cr0 - cr3
- •3 Регистры отладки dr0 – dr7 – (Debug Registers)
- •4 Регистры проверки tr3-tr5, tr6, tr7.
- •Тема 4.2 Кодирование режимов адресации
- •1) 16 Битная адресация
- •2) 32 Битная адресация – применяется в защищённом режиме
- •Тема 4.3 Управление памятью
- •1 Сегментная организация памяти.
- •1) Общие понятия о сегментации.
- •2) Формат дескриптора сегмента
- •3) Права доступа сегмента ar
- •4) Дескрипторные таблицы
- •5) Селекторы сегментов
- •6) Образование линейного адреса
- •7) Локальная дескрипторная таблица (ldt)
- •8) Особенности сегментации
- •2) Страничная организация памяти
- •1 Структура страниц (лист 7)
- •2 Страничное преобразование адреса.
- •3 Формат элемента таблицы страниц pte
- •Тема 4.4 Защита по привилегиям
- •1) Уровни привилегий
- •2) Определение уровней привилегий
- •3) Привилегированные команды
- •4) Защита доступа к данным
2) 32 Битная адресация – применяется в защищённом режиме
Можно применять любой РОН, а индекс можно масштабировать (умножать) на 1, 2, 4, 8.
Рисунок 40 - 32 битная адресация
Адрес вычисляется также в 2 этапа – за 2 обращения к памяти.
1 этап – эффективный адрес вычисляется как сумма трёх компонент: база, индекс и смещение в команде.
2 этап – начинается с проверки характеристик сегмента, а конкретно размера сегмента и прав доступа. Затем вычисляется линейный адрес. К полученному эффективному адресу, который является смещением от базы сегмента, прибавляется базовый адрес сегмента, взятый из дескриптора сегмента. Если нет страничного преобразования, то полученный 32 битный линейный адрес выставляется на ША как физический, а при разрешённом страничном преобразовании линейный адрес преобразуется в физический с помощью таблиц страниц.
Задача: Сформировать физический адрес dword в ОП в PM with paging если содержимое регистров равно:
EBX=21B3D082h
EIP=01682F3Eh
ESI=0000082Ah
База сегмента в дескрипторе = 12003C4Ah
EBX |
21B3D082 |
EIP |
01682F3E |
|
231BFFC0 |
ESI |
0000082A |
|
231C07EA (эффективный адрес) |
БС |
12003C4A |
|
351C4434 (линейный адрес) |
Рисунок 41 – Формирование физического адреса
Преобразуем линейный адрес в физический с помощью таблицы страниц.
Тема 4.3 Управление памятью
МП, имеющий n разрядную ША, может обращаться к 2 n ячейкам ОП. Схема интерфейса памяти работают линейным образом. Поэтому память называется линейной или сплошной, или плоской.
1 Сегментная организация памяти.
1) Общие понятия о сегментации.
Сегмент – блок смежных ячеек ОП. Для программ всё адресное пространство ОП делится на сегменты, поэтому любая программа может обращаться к данным только внутри сегмента, где также применяется линейная адресация (байт 0, байт 1…).
а) Сегментация в RM
Размер сегмента равен 64К, и он явно определяется через сегментный регистр, то есть базой сегмента. Но здесь много недостатков:
- Тип сегмента не определён, то есть к каждому сегменту можно обращаться как на запись, так и на чтение или выполнение.
- Размещение сегмента в памяти произвольно, то есть сегменты могли частично или полностью перекрываться, или не иметь общих границ. Поэтому система часто зависала, или формировались сигналы на прерывание
б) В последующих моделях МП сегментация в памяти изменилась, то есть появился защищённый режим работы. Сегменты стали разной величины, поэтому для работы с каждым сегментом нужна подробная характеристика
сегмента: его базовый адрес, размер, целевое использование сегмента (кода, стека или данных и другие атрибуты). Сегмент стал определяться косвенно через дескрипторную таблицу.
2) Формат дескриптора сегмента
Рисунок 42 - Формат дескриптора сегмента.
Базовый адрес – 32 битное поле, занимает байты 2, 3, 4 и 7 дескриптора. Он определяет начальный адрес сегмента в линейном адресном пространстве в 4Гб.
Предел – 20 битное поле, называемое границей сегмента. Занимает байты 0 и 1 плюс младшие 4 бита 6-го байта дескриптора. Размер элементов сегмента задаёт специальный бит гранулярности G (55 бит дескриптора). Элементами сегмента могут быть байты или страницы по 4Кб каждая.
а) Сегмент с байтовой гранулярностью, когда G=0. Измеряется в байтах и его максимальный размер 220 равен 1 Мб, так как максимальное поле предела равно FFFFFH.
б) Сегмент со страничной гранулярностью (G=1). Измеряется в страницах и имеет максимальный размер 1 Мб страниц, то есть 4 Гб – всему линейному адресному пространству.
Права доступа – 5 байт дескриптора AR (Access Rights).
Бит P – бит присутствия. При P = 1 сегмент находится в физической ОП. При P = 0 сегмент считается как временно не присутствующий, то есть находится на ЖД. ОС отыскивает свободную область физической ОП, копирует запрашиваемый сегмент с диска , загружает в дескриптор новый базовый адрес сегмента и устанавливает бит P в 1 , осуществляет рестарт «виноватой» команды.
Подкачка сегментов с диска в физическую ОП называется Swapping.
DPL - descriptor privilege level. Определяет уровень привилегий, ассоциируемый с тем сегментом, который описывает данный дескриптор. 00 – наивысший уровень привилегий, 11 – наименьший.
S – system or segment. При S равном 1, дескриптор описывает сегмент памяти (кода, стека или данных). При S равном 0, дескриптор описывает системный объект: либо прерывание, либо LDT, либо TSS, которые, как правило, называются шлюзами (точками входа).
Type – 3-х битное поле – целевое использование сегмента.
000 – сегмент данных, только чт.
001 – сегмент данных, чт и зп.
010 – стека, только чт
011 – стека, чт и зп
100 – кода, только выполнение
101 – кода, выполнение и считывание
110 – подчинённый сегмент кода (только выполнение)
111 – подчинённый сегмент кода (выполнение, считывание)
A – бит доступа Accessed. Устанавливается в 1, когда идёт обращение к сегменту, описываемому данным дескриптором.
Дополнительные поля (в байте 6)
G – Гранулярность
D – Размер по умолчанию операндов. При D=0 все операнды – WORD, D=1 – DWORD
X – Резерв, должен быть в 0.
U – бит пользователя, используется программистом.