Организация памяти в 64-битном режиме

Архитектура Intel 64 поддерживает физическое адресное пространство более 64 ГБ; фактический размер физического адреса процессоров IA-32 специфичен для реализации. В 64-битном режиме имеется архитектурная поддержка для 64-битного линейного адресного пространства. Однако процессоры, поддерживающие архитектуру Intel 64, могут реализовывать менее 64 бит (см. Раздел 3.3.7.1). Линейное адресное пространство отображается в физическое адресное пространство процессора через механизм поискового вызова PAE.

Режимы работы против модели памяти

При написании кода для процессора IA-32 или Intel 64 программист должен знать режим работы, в котором процессор будет работать при выполнении кода и используемой модели памяти. Связь между режимами работы и моделями памяти выглядит следующим образом:

• Защищенный режим. В защищенном режиме процессор может использовать любую из моделей памяти, описанных в этом разделе. (Модель памяти режима реальной адресации обычно используется только тогда, когда процессор находится в режиме виртуального 8086.) Используемая модель памяти зависит от дизайна операционной системы или исполнительной власти. Когда многозадачность реализована, отдельные задачи могут использовать разные модели памяти.

• Режим реального адреса - в режиме реального адреса процессор поддерживает только модель памяти режима реального времени.

• Режим управления системой. Когда в SMM процессор переключается на отдельное адресное пространство, называемое ОЗУ управления системой (SMRAM). Модель памяти, используемая для адреса байтов в этом адресном пространстве, похожа на модель режима реального адреса. Для получения дополнительной информации о модели памяти, используемой в SMM, см. Главу 34 «Режим управления системой» в Руководстве разработчика программного обеспечения Intel® 64 и IA-32, том 3C.

• Режим совместимости. Программное обеспечение, которое необходимо запустить в режиме совместимости, должно соответствовать той же модели памяти, что и для 32-разрядного защищенного режима. Эффект сегментации такой же, как и в семантике защищенного режима в 32 бит.

• 64-разрядный режим. Сегментация обычно (но не полностью) отключена, создавая плоское 64-битное линейно-адресное пространство. В частности, процессор обрабатывает базу сегментов CS, DS, ES и SS как ноль в 64-битном режиме (это делает линейный адрес равным эффективному адресу). Сегментированные и реальные режимы адреса недоступны в 64-битном режиме.


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



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