Процессоры. История развития. Структура. Архитектура
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: реферат способы, древний египет реферат
| Добавил(а) на сайт: Полищук.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата
Real Address Mode – режим реальной адресации, полностью совместимый с
8086. В этом режиме возможна адресация до 1 Мб физической памяти (на самом
деле почти на 64 Кб больше).
Protected Virtual Address Mode – защищенный режим виртуальной
адресации. В этом режиме процессор позволяет адресовать до 4 Гб физической
памяти, через которые при использовании механизма страничной адресации
могут отображаться до 16 Тб виртуальной памяти каждой задачи. Существенным
дополнением является Virtual 8086 Mode – режим виртуального процессора
8086. Это режим является особым состоянием задачи защищенного режима, в
котором процессор функционирует как 8086. На одном процессоре в таком
режиме могут одновременно исполняться несколько задач с изолированными друг
от друга реальными ресурсами. При этом использование физического адресного
пространства памяти управляется механизмами сегментации и трансляции
страниц. Попытки выполнения команд, выхода за рамки отведенного
пространства памяти и разрешенной области ввода-вывода контролируется
системой защиты.
Процессоры могут оперировать с 8, 16 и 32-битными операндами байт, слов и двойных слов, а также с битам, битовыми полями и строками бит.
Рассмотрим базовую архитектуру, общую для всех существующих на данный
момент 32-разрядных процессоров: 386, 486, Pentium, Pentium Pro и Pentium
II.
2.1.1. Организация памяти
Память для процессоров 80х86 разделяются на байты (8 бит), слова (16 бит), двойные слова (32 бит). Слова записываются в двух смежных байтах, начиная с
младшего. Адресом слова является адрес его младшего байта. Двойные слова
записываются в четырех смежных байтах.
Более крупными единицами являются страницы и сегменты. Память может
логически организовываться в виде одного или множества сегментов переменной
длины ( в реальном режиме – фиксированной). Сегменты могут выгружаться на
диске и по мере необходимости с него подкачиваться в физическую память.
Кроме сегментации, в защищенном режиме возможно разбиение логической памяти
на страницы размером 4 Кб (Paging), каждая из которых может отображаться на
любую область физической памяти. Сегментация и разбиение на страницы могут
применяться в любых сочетаниях. Сегментация является средством организации
логической памяти, используемым на прикладном уровне. Разбиение на страницы
применяются на системном уровне для управлении физической памятью.
Применительно к памяти различают на три адресных пространства: логическое, линейное и физическое. Основным режимом работы 32-разрядных процессоров считается защищенный режим, в котором работают все механизмы преобразования адресных пространств.
Логический адрес, также называется виртуальным, состоит из селектора
(в реальном режиме – просто сегмента) и смещение. Смещение формируется
суммированием компонентов (base, index, disp) в эффективный адрес.
Поскольку каждая задача может иметь до 16К селекторов, а смещение, ограниченное размером сегмента, может достигать 4 Гб, логическое адресное
пространство для каждой задачи может достигать 64 Тб. Все это пространство
виртуальной памяти в принципе доступно программисту (этот ‘принцип” должна
реализовывать операционная система).
Блок сегментации транслирует логическое адресное пространство в 32- битное пространство линейных адресов. Линейный адрес образуется сложением базового адресного сегмента с эффективным адресом. Базовый адрес сегмента в реальном режиме образуется умножением содержимого используемого сегментного регистра на 16 (как и в 8086). В защищенным режиме базовый адрес загружается из дескриптора, хранящегося в таблице, по селектору, загруженному в используемый сегментный регистр.
Физический 32-битный адрес памяти образуется после преобразования линейного адреса блоком страничной переадресации. В простейшем случае (при отключенном блоке страничной переадресации) линейный адрес совпадает с физическим – присутствующим на внешней шине адреса процессора. Включенный блок страничной переадресации осуществляет трансляцию линейного адреса в физический блоками (страницами) размером 4 Гб. Этот блок может включаться только в защищенном режиме.
Как и у процессоров 8086/8088, для обращения к памяти процессор
(совместно с внешней схемой) формирует шинные сигналы MEMWR# (Memory Write)
и MEMRD (Memory Read) для операции записи и считывания соответственно. Шина
адреса разрядностью 32 бита позволяет адресовать 4 Гб физической памяти, но
в реальном режиме доступен только 1 Мб, начинающийся с младших адресов.
В реальном режиме по адресации памяти обеспечивается совместимость с
процессором 8086, который своей 16-битной адресной шиной охватывает
пространство физической памяти в 1Мб. Для обеспечения совместимости с 80286
32-разрядные процессоры реализуют его ошибку, связанную с переполнением, возникающим при сложении адресов сегмента с эффективным адресом. При
вычисление физического адреса возможно возникновение переполнение, которое
вызовет появление единицы на линии А20 шины адреса. Максимальное значение
адреса в реальном режиме 10FFEF достигается при Seg=FFFFh и EA=FFFFh. Для
обеспечения полной программной совместимости с 8086 в РС используется
вентиль Gate A20, принудительно обнуляющий бит А20 системной шины адреса.
Вентиль в РС управляется через программно-управляемый бит контроля
клавиатуры 8042 или более быстрым способом (Gate A 20 Fast Control), определяемым чипсетом системной платы.
В реальном режиме размер сегмента фиксирован – как и 8086, он
составляет 64 Кб (FFFFh). Попытка использования эффективного адреса, выходящего за границы сегмента, при 32-битной адресации вызывает исключение
типа 13. При 16-битной адресации при вычисление эффективного адреса
возможный перенос в разряд А16 игнорируется, и сегмент “сворачивается
кольцом” (как и в 8086). Средства контроля следят и за переходом через
границу сегмента во время обращения по “приграничному” адресу. При попытки
адресации к слову, имеющему смещение FFFFh, или двойному слову со смещением
FFFDh-FFFh (их старшие байты выходят за границу сегмента), или выполнения
инструкции, все байты которой не умещаются в данном сегменте, процессор
вырабатывает прерывание – исключение типа 13 (0Dh) – Segment Overrun
Exception. При попытки выполнения инструкции ESCAPE с операндом памяти, не
умещающимся в сегменте, вырабатывается исключение типа 9 – Processor
Extension Segment Overrun Interrupt (только для 386).
8Система команд 32-разрядных процессоров предусматривает 11 режимов адресации операндов. Из них только два не имеют отношение к памяти:
. операнд-регистр, который может находится в любом 8, 16 или 32- битном регистре процессора.;
. непосредственный операнд (8, 16 или 32-бит), который может содержаться в самой команде.
Остальные девять режимов (табл. 3.1.) используются при формировании эффективного адреса операнда из памяти.
Эффективный адрес вычисляется с использованием комбинации следующих компонентов:
Смещение (Displacement или Disp) – 8-, 16- или 32-битное число, включенное в команду.
База (Base) – содержимое базового регистра. Обычно используется для указания на начало некоторого массива.
Индекс (Index) – содержимое индексного регистра. Обычно используется для выбора элемента массива.
Масштаб (Scale) – множитель (1, 2, 4 или 8), указанный в коде инструкции. Этот элемент используется для указания размера элемента массива. Доступен только в 32-битном режиме адресации.
Эффективный адрес вычисляется по формуле EA=Base+Index*Scale+Disp.
Отдельные слагаемые в этой формуле могут и отсутствовать. Возможные режимы адресации приведены в табл. 3.1.
Таблица 3.1. Режимы адресации памяти 32-битных процессоров
Рекомендуем скачать другие рефераты по теме: реферат по русскому языку, урок реферат.
Категории:
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата