# Вопрос 42: Режимы работы IA-64
К началу 2000-х годов стало очевидно, что 32-битное адресное пространство архитектуры x86 ограничивает производительность приложений, работающих с большими объёмами данных. 32-разрядное адресное пространство позволяет процессору осуществлять непосредственную адресацию лишь 4 ГБ данных. Этого может оказаться недостаточным для некоторых приложений, связанных, например, с обработкой видео или обслуживанием баз данных.
Для решения этой проблемы Intel разработала новую архитектуру IA-64 — основу семейства процессоров Itanium. Для обеспечения обратной совместимости со старыми приложениями, использующими 32-разрядный код, в IA-64 был предусмотрен режим эмуляции. Однако на практике данный режим работы оказался чрезвычайно медленным.
Компания AMD предложила альтернативное решение проблемы увеличения разрядности процессора. Вместо того, чтобы изобретать совершенно новую систему команд, было предложено ввести 64-разрядное расширение к уже существующей 32-разрядной архитектуре x86. Первоначально новая архитектура называлась x86-64, позже она была переименована в AMD64. Первоначально новый набор инструкций поддерживался процессорами семейств Opteron, Athlon 64 и Turion 64 компании AMD. Успех процессоров, использующих технологию AMD64, наряду с вялым интересом к архитектуре IA-64, побудили Intel лицензировать набор инструкций AMD64. При этом был добавлен ряд специфических инструкций, не присутствовавших в изначальном наборе AMD64. Новая версия архитектуры получила название EM64T.
Процессоры могут работать в трех режимах.
- Реальный режим (16-разрядное программное обеспечение).
- Режим IA-32:
- защищенный режим (32-разрядное программное обеспечение);
- виртуальный реальный режим (16-разрядное программное обеспечение в 32-разрядной среде).
- Расширенный 64-разрядный режим IA-32e (также называемый AMD64, x86-64 и EM64T):
- 64-разрядный режим (64-разрядное программное обеспечение);
- режим совместимости (32-разрядное программное обеспечение).
64 разрядный расширенный режим IA"32e (AMD64, x86"64, EM64T)
Этот режим процессора является расширением архитектуры IA-32, разработанным компанией AMD и в дальнейшем поддержанным Intel. Процессоры, поддерживающие 64-разрядные расширения, могут работать в реальном режиме (8086), режиме IA-32 или IA-32e. При использовании режима IA-32 процессор может работать в защищенном или виртуальном реальном режиме. Режим IA-32e позволяет работать в 64-разрядном режиме или в режиме совместимости, что подразумевает возможность одновременного выполнения 64- и 32-разрядных приложений. Режим IA-32e включает в себя два подрежима.
- 64-разрядный режим. Позволяет 64-разрядной операционной системе выполнять 64-разрядные приложения.
- Режим совместимости. Позволяет 64-разрядной операционной системе выполнять 32-разрядные приложения.
Первый подрежим активизируется после загрузки 64-разрядной операционной системы и используется 64-разрядными приложениями. В 64-разрядном подрежиме доступно несколько новых функций:
- 64-разрядная линейная адресация памяти;
- Поддержка физической памяти объемом более 4 Гбайт (определенные ограничения накладываются процессором);
- 8 новых регистров общего назначения GPR (General-Purpose Register);
- 8 новых регистров для поточных расширений SIMD (MMX, SSE, SSE2 и SSE3);
- 64-разрядные регистры GPR и указатели инструкций.
Режим совместимости IE-32e позволяет запускать 32- и 16-разрядные приложения под управлением 64-разрядной операционной системы. К сожалению, старые 16-разрядные программы, работающие в виртуальном реальном режиме (например, приложения DOS), не поддерживаются, а значит, их выполнение невозможно. Данное ограничение наверняка будет представлять наибольшую проблему для пользователей. Подобно 64-разрядному режиму, режим совместимости активизируется операционной системой для отдельных приложений, благодаря чему становится возможным одновременное выполнение 64- и 32-разрядных приложений.
Для того чтобы все эти приложения работали, необходима 64-разрядная операционная система и, что гораздо важнее, 64-разрядные драйверы для всех устройств, предназначенные именно для этой операционной системы