Программирование на JAVA

Сегментация памяти для семейства процессоров IA-32

В разделе 5.1 кратко рассказывалось об использовании сегментных регистров в архитектуре IA-32 для формирования адресов памяти (см. рис. 5.1). Мы про­должим развивать эту тему. Для начала читателю полезно будет узнать, как сег­ментные регистры использовались в процессоре 8086. Более современные про­цессоры IA-32 способны функционировать в так называемом реальном режиме, где они могут выполнять машинный программный код процессора 8086.

Реальный режим

Реальный режим процессоров IA-32 — это режим генерирования адресов, исполь­зуемый процессором 8086. В нем память рассматривается как последователь­ность сегментов объемом по 64 Кбайт. Для каждого сегмента 16-разрядные ис­полнительные адреса формируются с использованием режимов адресации про­цессора 8086. Для доступа к сегментам кода, стека и двум сегментам данных в этом процессоре применяются сегментные регистры CS, SS, DS и ES. В процес­сор 80386 были включены еще два сегментных регистра — FS и GS.

На рис. 9.6.1 представлен процесс генерирования 20-разрядных внешних адре­сов памяти. Заданное в сегментном регистре 16-разрядное


<< назад вперед >>