Ports/x8664

Материал из ALT Linux Wiki

64-битный порт был начат Антоном Качаловым (mouse@) в 2004 году, на данный момент является штатным/синхронным (и по факту рекомендованным).

Особенности работы с портом

Особенности архитектуры x86_64

  • Нативная поддержка 64-битных целых (соответственно ускорение работы с ними).
  • Удвоенное количество регистров (вместо 8 - 16). Соответственно можно больше информации загрузить в регистры и оперировать с ними.
  • Вдвое больше SIMD регистров (SSE) (8-16).
  • Больше виртуального адресного пространства (2^48 байт); см. тж. мнение Линуса насчёт PAE.
  • Больше физической памяти (очевидно).
  • Поддержка смещения по указателю текущей инструкции (%rip). Полезна для всяких -fPIC и -fPIE, то есть для relocatable objects.
  • SSE и SSE2 во всех 64-битных процессорах. Соответственно, все программы в бинарных дистрибутивах типа Альт автоматически собраны под более совершенную архитектуру, чем i586.
  • Аппаратный NX bit. Полезен, например для ExecShield, когда все стеки маркируются как неисполняемые.
  • Pacifica/AMD-V.

Проблемы архитектуры x86_64

  • Большие указатели -- больше памяти требуется программам, хуже используется кэш, программы могут работать медленнее (см. тж. X32 ABI)
  • Закрытый софт (десять лет спустя уже не так актуально, плюс см. biarch).