Таким образом, адрес в сегменте математической памяти МП 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.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: