Архитектура EM64T

Технология 64-разрядного расширения представляет расширение 32-разрядной архитектуры.

В результате модифицированная архитектура IA-32 подразумевает поддержку 64-разрядной адресации. Расширение включает новые режимы работы и новые расширенные инструкции, обеспечивающие увеличение функциональных возможностей процессоров.

В результате внедрения нововведений 32-разрядные процессоры с поддержкой технологии 64-разрядного расширения совместимы с существующим программным обеспечением. Они рассчитаны на поддержку как 32 бит адресации, так  64 бит прямой адресации больших объемов оперативной памяти.

Процессор с реализацией технологии 64-разрядного расширения полностью поддерживает все существующие особенности IA-32. В дополнение к ним вводится новый рабочий режим, получивший наименование IA-32e. Этот режим (mode) включает два подрежима (sub-modes). Первый sub-mode — режим совместимости, доступный 64-разрядной операционной системе, создан для эксплуатации существующего наследия немодифицированного 32-разрядного программного обеспечения. Второй sub-mode, названный 64-разрядным режимом, доступен 64-разрядной операционной системе, обеспечивающий работу приложений, написанных специально под 64-битную адресацию пространства памяти.

В 64-разрядном режиме, обеспеченного технологией 64 бит расширения, приложения могут использовать следующие возможности:

  • 64 бит линейной адресации,
  • 8 новых регистров общего назначения — GPR (general-purpose register),
  • 8 новых 128 бит регисторов для потоковых команд SIMD-расширений (SSE, SSE2 и SSE3),
  • 64-битные GPR и командные указатели,

64-расширения также добавляют унифицированную адресацию byte-register, быстрый механизм выставления приоритетов прерываний и новый режим относительной адресации. Итак, процессор с реализацией технологии 64-разрядного расширения может работать либо в режиме IA-32, либо в режиме IA-32e.

Традиционный режим IA-32 позволяет процессору работать в защищенном режиме, в режиме реальной адресации, режиме виртуальных 8086. Режим IA-32e – это режим процессора, используемый только в среде 64-разрядной операционной системы, позволяет использовать средства и преимущества технологии 64-разрядного расширения.

Режим IA-32e

Режим IA-32e содержит два подрежима — sub-modes: режим 64 бит и совместимый режим. Режим IA32e можно устанавливать только загрузкой 64-битной операционной системы. 

Режим 64 бит

Режим 64 бит используется 64-битными приложениями, запускаемыми под 64-битной операционной системой. Для реализации 64-разрядного режима были сделаны следующие модификации архитектуры:

  • Введены цепи поддержки 64 бит линейной адресации,
  • Регистровые расширения доступны через установку  нового префикса кода команд (REX),
  • Существующие регистры GPR расширены до 64 бит (RAX, RBX, RCX, RDX, RSI, RDI, RBP, RSP),
  • Восемь новых GPR (R8-R15),
  • Восемь новых 128 бит регистров для SIMD-расширений (XMM8–XMM15),
  • 64 бит счетчик команд (RIP),
  • Новый режим относительной адресации (RIP-relative data addressing),
  • Может использовать пространство плоской адресации одной командой,
  • Расширенные и новые команды,
  • Физическая адресация поддерживает более чем 64 Гбайт (зависит от особенностей  реализации),
  • Новый механизм контроля очередей прерываний

Режим совместимости

Режим совместимости позволяет запускать 16 и 32 разрядные приложения под 64-разрядной ОС без перекомпиляции. Тем не менее, приложения, которые запускаются  в виртуальном режиме 8086, не будут работать. Как и 64-разрядный, режим совместимости должен поддерживаться операционной системой. Это в частности означает, что 64-разр. приложения могут работать одновременно с неперекомпилированными 32-разрядными приложениями, запускаемыми в режиме совместимости.

Развитие экосистемы EM64T

Корпорация Intel работает с ключевыми участниками рынка для поддержки технологии 64 бит расширения в их решениях. Эта технология обеспечена поддержкой операционными системами Microsoft Windows Server 2003 и Windows XP Pro. Beta версия системы уже доступна от Microsoft (NDA),  Microsoft Server 2003 SP1 RTM ожидается в 3 квартале 2004.

В дополнение к этому поступили первые заявления производителей аппаратного обеспечения о поддержке технологии 64 бит расширения. Идет тестирование разработанных платформ и соответствующих драйверов.

Корпорация Intel, как это неоднократно подчеркивал Крейг Барретт, вкладывает значительные ресурсы в развитие технологий, ориентированных не только на текущие потребности, но и на перспективу.