- •1. Понятие «архитектура эвм»
- •2. Cisc-процессоры. Risc-процессоры
- •2.1. Сравнительный анализ cisc- и risc-процессоров
- •2.2. Структура процессора Intel 8086
- •Регистры общего назначения
- •Регистры сегментов
- •3. Рабочий цикл процессора
- •4. Память
- •4.1. Иерархия памяти
- •4.2 Физическая организация памяти
- •Внутренняя память
- •Сегментированная модель оперативной памяти
- •Формирование физического адреса в реальном режиме
- •Формирование физического адреса в защищенном режиме
- •Страничная модель оперативной памяти
- •Сегментно-страничная модель распределения памяти
- •Плоская модель памяти
- •Внешняя память
- •Винчестеры (накопители на жестких магнитных дисках)
- •Дискеты (накопители на гибких магнитных дисках)
- •Компакт-диски
Сегментированная модель оперативной памяти
В сегментированной модели оперативной памяти для каждой программы выделяются сегменты, представляющие собой независимые, поддерживаемые на аппаратном уровне блоки памяти: сегмент данных, сегмент стека и сегмент кода. Программа никогда не знает, по каким физическим адресам будут размещены ее сегменты. Этим занимается операционная система, причем в зависимости от режима работы процессора.
Существует два режима работы процессора: реальный и защищенный.
В реальном режиме эти адреса помещаются непосредственно в соответствующие сегментные регистры. В защищенном режиме они размещаются в элементы специальной системной дескрипторной таблицы.
Формирование физического адреса в реальном режиме
Реальный режим был введен для процессоров Intel 8086. Следующие характеристики этого процессора и определили характеристики механизма адресации физической памяти в реальном режиме:
Диапазон изменения физического адреса — от 0 до 1 Мбайт. Эта величина определяется тем, что шина адреса i8086 имела 20 линий.
Максимальный размер сегмента — 64 Кбайт. Это объясняется 16-разрядной архитектурой i8086. В регистры могут быть записаны значения от 0 до 216-1, что применительно к памяти и определяет размер сегмента 216байт=26210байт=64 Кбайт.
Для обращения к конкретному физическому адресу оперативной памяти необходимо определить адрес начала сегмента (сегментную составляющую) и смещение внутри сегмента.
В сегментном регистре содержатся только старшие 16 битов физического адреса начала сегмента. Недостающие младшие четыре бита 20-разрядного адреса получаются сдвигом значения в сегментном регистре влево на 4 разряда. Эта операция сдвига выполняется аппаратно и для программного обеспечения абсолютно прозрачна. Получившееся 20-разрядное значение и является настоящим физическим адресом, соответствующим началу сегмента. Что касается второго компонента (смещения), участвующего в образовании физического адреса некоторого объекта в памяти, то он представляет собой 16-разрядное значение. Это значение может содержаться явно в команде либо косвенно в одном из регистров общего назначения. В процессоре эти две составляющие складываются на аппаратном уровне, в результате получается физический адрес памяти размерностью 20 бит (рис. 8).
Рис. 8. Механизм формирования физического адреса в реальном режиме.
Недостатки реального режима:
сегменты бесконтрольно размещаются с любого адреса кратного 16, и, как следствие, программа может обращаться по любым адресам, в том числе и реально несуществующим;
сегменты имеют максимальный размер 64 Кбайт;
сегменты могут перекрываться другими сегментами.
Желанием ввести в архитектуру средства, позволяющие избавиться от указанных недостатков, и обусловлено, в частности, появление защищенного режима, в котором работают все современные операционные системы.
Формирование физического адреса в защищенном режиме
Защищенный режим впервые появился в процессоре Intel 80286. Основная идея защищенного режима — защитить исполняемые процессором программы от взаимного влияния. В защищенном режиме процессор поддерживает два типа защиты — по привилегиям и по доступу к памяти.
Организуя защиту программ по доступу к памяти, фирма Intel оставила принцип сегментации, свойственный ее процессорам. Так как каждая программа занимает один или несколько сегментов в памяти, то каждому из сегментов были присвоены определенные атрибуты. Тем самым часть функций по контролю за доступом к сегментам были переложены на процессор. Любой сегмент памяти в защищенном режиме имеет следующие основные атрибуты: расположение сегмента в памяти; размер сегмента; уровень привилегий (определяет права данного сегмента относительно других сегментов); тип доступа (определяет назначение сегмента). В отличие от реального режима, в защищенном режиме программа уже не может запросто обратиться по любому физическому адресу памяти. Для этого она должна иметь определенные полномочия и удовлетворять ряду требований.
Ключевым объектом защищенного режима является специальная структура - 8-байтовый дескриптор сегмента, содержащий атрибуты. На рисунке 9 приведена структура дескриптора сегмента для 32-разрядных процессоров с 32-разрядной шиной адреса.
Рис. 9. Структура дескриптора сегмента защищенного режима процессора.
Назначение некоторых полей дескриптора сегмента:
limit_l (16 разрядов) и limit_2 (4 разряда) — 20-разрядное поле, определяющее размер сегмента;
base_l (16 разрядов), base_2 (8 разрядов) и base_3 (8 разрядов) — 32-разрядное поле, определяющее значение физического адреса начала сегмента в памяти;
AR — байт, поля которого определяют права доступа к сегменту;
G — бит гранулярности.
В защищенном режиме перед использованием любой области памяти должна быть проведена определенная работа по созданию и заполнению соответствующего дескриптора. Эту работу выполняет операционная система. Все дескрипторы собираются вместе в одну из дескрипторных таблиц:
глобальная дескрипторная таблица (Global Descriptor Table, GDT), ее адрес хранится в регистре процессора GDTR;
локальная дескрипторная таблица (Local Descriptor Table, LDT), ее адрес хранится в регистре процессора LDTR.
В какую именно таблицу должен быть помещен дескриптор, определяется его назначением. Адрес, по которому размещаются эти дескрипторные таблицы, может быть любым.
Схема, показанная на рисунке 10, иллюстрируют принцип формирования физического адреса в защищенном режиме.
Рис. 10. Сегментированная модель памяти в защищенном режиме
