- •Мп и их роль в современных компьютерах, cisc, risc и epic мп:
- •Поэтому, для risc – процессоров характерно:
- •К преимуществам мп с risc – архитектурой можно отнести:
- •Краткая история развития мп семейства х86:
- •4. Перспективы развития микропроцессорной техники.
- •Основные причины и результаты усовершенствования мп семейства х86:
- •Системные регистры мп семейства х86:
- •Дескрипторные таблицы Дескрипторные таблицы
- •Назначение и структура дескрипторов кода и данных:
- •Назначение и структура системных дескрипторов:
- •Назначение и структура дескрипторов шлюзов:
- •Теневые регистры и их назначение:
- •Регистр флагов и назначение его отдельных битов:
- •Принцип формирования линейных адресов в реальном режиме работы мп семейства х86:
- •Принцип формирования линейных адресов в защищенном режиме работы мп в семействе х86:
- •Страничное преобразование адресов, ее назначение и принцип реализации:
- •Источники и разновидности запросов прерываний процессора:
- •Организация системы прерываний в реальном режиме работы процессоров семейства х86:
- •Организация системы прерываний в защищенном режиме работы процессоров семейства х86:
- •Организация общей (базовой) защиты в мп х86:
- •Защита по привилегиям сегментов и ее организация:
- •Защита по привилегиям команд:
- •Принципы организации многозадачного режима работы:
- •Сегмент состояния задачи, его структура и назначение:
- •Принципы, лежащие в основе использования кэш-памяти, и организация кэш-памяти прямого отображения:
- •Принципы организации полностью ассоциативной и множественно-ассоциативной кэш-памятей:
- •Принципы организации целостности данных в подсистеме памяти с кэшированием:
- •Описание блок-схем алгоритмов обслуживания запросов в подсистеме памяти с кэшированием:
- •4. Двухуровневое кэширование.
- •Принципы организации конвейерной обработки сигналов в мп х86:
- •Циклы шины и режимы работы мп х86:
- •2. Реальный режим (r86)
- •3. Защищенный режим (p – режим)
- •4. Виртуальный режим (v86)
- •5. Режим smm
- •Принципы организации пакетного режима обмена информацией:
- •Основные особенности микроархитектуры Intel Sandy Bridge и ее структурная схема:
- •Сущность принципа «динамического исполнения команд»:
- •Структурная схема ядер мп Sandy Bridge и их функционирование:
- •Необходимость и общие принципы функционирования блока предсказаний ветвлений:
- •Необходимость предварительного и основного декодирования инструкций х86 в мп микроархитектуры Sandy Bridge:
- •Функционирование системы обнаружения программных циклов и суть работы блока pcu в мп микроархитектуры Sandy Bridge:
- •Сущность технологий макро- и микрослияний инструкций и микрокоманд в мп микроархитектуры Sandy Bridge:
Принцип формирования линейных адресов в реальном режиме работы мп семейства х86:
В МП 8086, а также при реальном режиме работы (R-режиме) всех последующих моделей процессоров семейства х86, определены четыре типа сегментов: сегмент кода (CS), где размещаются программы; сегмент стека (SS), для запоминания стековых данных и два сегмента данных, основной (DS) и дополнительный (ES). При этом все сегменты имеют один и тот же размер – 64Кбайта. Для того, чтобы определить начальные адреса этих сегментов во всём используемом адресном пространстве 1 мегабайт, необходим 20 разрядный физический адрес. Старшие 16 разрядов этого адреса размещаются в соответствующем сегментном регистре (CS, DS, SS, ES). Младшие 4 разряда этих адресов подразумеваются равными нулю. Следовательно, размещение указанных сегментов в адресном пространстве может осуществляться с дискретностью 16 байт.
Местоположение же в данном сегменте адресуемой ячейки памяти (байта), т.е. расстояние ее от начального адреса этого сегмента, которое называется смещением в сегменте, по умолчанию определяется:
В кодовом сегменте – содержимым регистра указателя инструкций IP.
В сегментах данных – указывается в команде: либо некоторой константой, при прямой адресации; либо содержимым одного из индексных регистров (SI, DI), при операциях со строками, или так называемым эффективным адресом EA (при косвенной адресации). Последний, в общем случае, может являться суммой трех составляющих: содержимого базового регистра BX или BP, одного из индексных регистров SI или DI, а также некоторой константы (смещения в команде). Причем, некоторые из них могут при этом отсутствовать.
В сегменте стека – определяется в большинстве случаев содержимым регистра указателя стека (SP). Однако, если при формировании эффективного адреса EA, вместо регистра BX используется регистр BP, то автоматически адресуется сегмент стека SS, а не сегмент данных DS. При этом, принцип стека «первый пришел – последний вышел» игнорируется, и ячейки стекового сегмента рассматриваются как ОЗУ с произвольной выборкой.
Следует, однако, отметить, что в ряде случаев, пользуясь так называемыми префиксами замены сегментов, можно изменить сегмент, заданный по умолчанию, для которого в команде указано внутрисегментное смещение. Но это не касается сегментов CS, SS и ES.
Формирование 20-ти разрядного физического адреса из логического (виртуального), т.е. из совокупности 16 разрядного указателя начального адреса сегмента (расположенного в сегментном регистре) и 16 разрядного смещения в сегменте осуществляется следующим образом. Указатель начального адреса сегмента выбирается из соответствующего регистра, сдвигается на 4 двоичных разряда влево (т.е. умножается на 16), образуя собственно начальный адрес сегмента, и суммируясь со смещением в сегменте, указанном в команде, образует физический адрес задаваемой ячейки памяти (см. рис III.1).
Обязательный сдвиг 16-разрядного указателя начального адреса сегмента дает возможность адресовать сегменты в любой точке адресного пространства в 1Мбайт, однако, при этом, создает дискретность в их задании по адресному пространству, равную 16 байтам.
Такая простая сегментация адресного пространства позволила использовать адресное пространство в 1Мбайт, с помощью 16 разрядных адресов, указываемых в команде. Однако она имеет и существенные недостатки, которые усложняют разработку мультизадачных систем. Они заключаются в следующем.
Сегменты памяти определяются только сегментными регистрами и описываются всего двумя атрибутами: начальным адресом и максимальным размером, равным 64Кбайт.
Размещение сегментов в памяти произвольно: сегменты могут пересекаться частично или полностью.
Программа может обращаться по любому адресу, как для считывания, так и записи данных, а также для выборки команд. Нет никаких препятствий для обращения даже к физически несуществующей памяти, что может привести к зависанию системы.
Рис.III.1 Формирование физического адреса МП семейства х86 в
реальном режиме работы (R-режиме).
Для устранения этих недостатков в МП семейства х86 дальнейших типов был введен, так называемый, защищенный режим работы процессора или P – режим. При этом режиме, в процессорах имеются гибкие средства организации сегментов с большим числом атрибутов и эффективные механизмы контроля и защиты доступа к сегментам. Однако поместить всю эту информацию в одном 16 разрядном сегментном регистре было просто невозможно. Поэтому для ее размещения были введены специальные 8 байтные структуры данных, названные дескрипторами, которые полностью описывали соответствующие сегменты. А обращение к этим дескрипторам осуществлялось через соответствующие сегментные регистры, содержимое которых, в этом случае, получило название селекторов. Поэтому, прежде чем рассматривать принципы формирования физического адреса в процессорах семейства Х86 в защищенном режиме работы, посмотрим, какие сегменты памяти определены в этом режиме, и каковы структуры дескрипторов, описывающих эти сегменты.
