Студопедия — Сегментные регистры и трансляция сегментов
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Сегментные регистры и трансляция сегментов






При использовании сегментированной математической памяти необходима процедура преобразования адреса сегментированной (математической памяти) в адреса линейной физической памяти при каждом обращении к памяти.

Адрес объекта в сегментированной памяти задается двумя компонентами базовым адресом сегмента и смещением в сегменте. В команде задается только смещение в сегменте. Базовый адрес сегмента задается содержимым одного из четырех сегментных регистров (рис. 2.3).

 

МП IA-16 содержали 4 сегментных регистров по 16 бит:

· ES – дополнительного сегмента данных,

· CS – сегмента кода,

· SS – сегмента стека,

· DS – сегмента данных,

 

  Базовые адреса сегментов        
  ES – Доп. сегмент данных    
  CS – Сегмент кода    
  SS – Сегмент стека    
  DS – Сегмент данных    
Рис.2.3. Сегментные регистры IA-16.

 

Использование регистров CS, SS, DS и ES возможно по умолчанию и с использованием префикса замены сегмента. Базовые адреса сегментов используются для преобразования адреса сегментированной памяти в линейную.

Емкость физической памяти в МП IA-16 позволяет разместить одновременно до 16 полных сегмента по 64 Кбайт (216 байт). Но одновременно, без изменения содержимого сегментных регистров, в реальном режиме IA-16 можно обращаться только к четырем, по числу сегментных регистров.

Переход на использование остальных сегментов (кроме кодовых), размещенных в оперативной памяти можно производить:

· при помощи загрузкой базовых адресов в соответствующие сегментные регистры командами пересылки (mov),

· командами загрузки сегментных регистров (LES, LDS и LSS).

Все операции работы со стеком ориентированы на словарную организацию стека. По этой причине адрес указателя стека и базовый адрес сегментного регистра SS должны бить четными.

Переходы на новые кодовые сегменты производятся командами межсегментных передач управления.

Преобразование адреса сегментированной памяти в адрес линейной (плоской) памяти производится процедурой трансляции сегмента: сложением базового адреса сегмента с адресом операнда в сегменте.

Но сегментные регистры - 16-и битные, а базовые адреса должны быть 20 - битными. Поэтому при использовании сегментных регистров их содержимое умножается на 16, добавлением четырех нулей после младшего разряда

Таким образом, адрес в сегменте математической памяти МП IA-16 задается тремя компонентами: B (база), X (индекс) и disp (смещение).

Для вычисления адреса обращения к физической памяти (при сегментированной структуре математической памяти) требуются, по крайней мере, две процедуры:

· Вычисления по компонентам (В), (Х) и disp прямого адреса в сегменте.

· Преобразования адреса в сегменте сегментированной памяти в адрес линейной физической памяти.

Результатом первого преобразования адреса является получение одной компоненты логического адреса – смещения в сегменте, результатом второго преобразования – получения смещения в линейной памяти.

Для уменьшения неопределенности при использовании вышеописанных смещений используют термины:

· disp – для обозначения смещения в кадре сегмента,

· offset – для обозначения смещения в сегменте,

· линейный адрес – для обозначения адреса (смещения) в линейной (не сегментированной) памяти.

Схема вычисления смещения в сегменте (offset)по компонентам адреса, включая смещение в кадре сегмента (disp), и трансляции сегмента (вычисление линейного адреса в несегментированной памяти) представлена на рис.2.4.

Трансляция сегментов связана с проблемой с (20-й адресной шиной) оперативной памяти. Эта проблема заключается в следующем.

Максимальный адрес сегмента, который может быть записан с сегментный регистр (с учетом четырех нулей в младших разрядах) составляет число:

А max = 220 -24 –1.при использовании этого адреса, как базового адреса сегмента, то в оставшиеся ячейки памяти можно будет записать только 16 слов. В МП с 20-й битовой адресной шиной, остальные данные сегмента запишутся в ячейки оперативной памяти, начиная с нулевого адреса.

В МП IA-32 при работе в реальном режиме (эмуляции МП IA-16) приходится учитывать это явление, используя прием (заворота) 20-й шины адреса.

В защищенном режиме, если включен механизм виртуальной памяти, происходит еще одно преобразование адреса – трансляции страниц.

В (МП IA-16) – трансляция страниц (виртуальная память) не реализована.

Указатель команд IP.

Это 16-ти битный регистр – счетчик, вычисляющий адрес следующей команды (в кодовом сегменте) по числу байт в текущей команде. Программе указатель команд доступен только частично по командам передачи управления. В начальное состояние IP устанавливается автоматически в процедуре включения процессора. Прямой доступ к IP по записи или чтению не предусмотрен (но возможен доступ к содержимому IP после его копирование в стеке).

 

Регистр состояния (флагов).

Это 16-ти битный регистр, в котором сгруппированы управляющие сигналы режимов работы основных систем процессора и флаги кодов условий для условных команд передач управления.

Флаги кодов условий передач управления:

· CF – арифметический перенос в старшие разряды,

· PF – четность (наличие четности кода результата),

· AF – дополнительный (десятичный) перенос из младшей тетрады,

· ZF – нулевой результат,

· SF – знак результата (для дополнительного кода),

· OF – переполнение,

· TF – трассировка (прерывание после выполнения каждой команды для работы в режиме отладки программы),

· IF – разрешение прерывания,

· DF – направление обработки строк.

Вопросы для самопроверки:

1. Основные группы пользовательских регистров,

2. Группа регистров данных в составе РОН МП IA-16?

3. Группа регистров адресов в составе РОН МП IA-16

4. Предназначение регистра IP в МП IA-16,

5. Предназначение регистра F (флагов) в МП IA-16,

6. Основные биты кода условий передачи управления в регистра F (флагов),

7. Назначение сегментных регистров в МП IA-16,

8. Число сегментных регистров в МП IA-16,

9. Спецификации сегментных регистров в МП IA-16,

10. Команды загрузки сегментных регистров в МП IA-16,

11. Причины использования задания адреса в сегменте тремя компонентам,

12. Компоненты адреса, используемые при задании адресов объектов в сегменте памяти,

13. Компонента disp при задании адреса в МП IA,

14. Компонента offset при задании адреса в МП IA,

15. Термин " линейный адрес" при задании адреса в МП IA,

16. Процедура трансляции сегмента при обращении к памяти в МП IA-16.

 







Дата добавления: 2014-11-12; просмотров: 1014. Нарушение авторских прав; Мы поможем в написании вашей работы!



Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Демографияда "Демографиялық жарылыс" дегеніміз не? Демография (грекше демос — халық) — халықтың құрылымын...

Субъективные признаки контрабанды огнестрельного оружия или его основных частей   Переходя к рассмотрению субъективной стороны контрабанды, остановимся на теоретическом понятии субъективной стороны состава преступления...

ЛЕЧЕБНО-ПРОФИЛАКТИЧЕСКОЙ ПОМОЩИ НАСЕЛЕНИЮ В УСЛОВИЯХ ОМС 001. Основными путями развития поликлинической помощи взрослому населению в новых экономических условиях являются все...

Билиодигестивные анастомозы Показания для наложения билиодигестивных анастомозов: 1. нарушения проходимости терминального отдела холедоха при доброкачественной патологии (стенозы и стриктуры холедоха) 2. опухоли большого дуоденального сосочка...

Сосудистый шов (ручной Карреля, механический шов). Операции при ранениях крупных сосудов 1912 г., Каррель – впервые предложил методику сосудистого шва. Сосудистый шов применяется для восстановления магистрального кровотока при лечении...

Трамадол (Маброн, Плазадол, Трамал, Трамалин) Групповая принадлежность · Наркотический анальгетик со смешанным механизмом действия, агонист опиоидных рецепторов...

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия