Ports/x8664: различия между версиями
< Ports
м (чуть переработал/обновил, убрал плашку fs.i) |
Yaleks (обсуждение | вклад) Нет описания правки |
||
Строка 19: | Строка 19: | ||
= Проблемы архитектуры x86_64 = | = Проблемы архитектуры x86_64 = | ||
* Большие указатели -- больше памяти требуется программам, хуже используется кэш, программы могут работать медленнее (см. тж. | * Большие указатели -- больше памяти требуется программам, хуже используется кэш, программы могут работать медленнее (см. тж. [[:ruwp:X32_ABI|X32 ABI]]) | ||
* Закрытый софт (десять лет спустя уже не так актуально, плюс см. [[biarch]]). | * Закрытый софт (десять лет спустя уже не так актуально, плюс см. [[biarch]]). | ||
[[Category:Sisyphus]] | [[Category:Sisyphus]] | ||
{{Category navigation|title=Ports|category=Ports|sortkey=*}} | {{Category navigation|title=Ports|category=Ports|sortkey=*}} |
Текущая версия от 20:09, 26 марта 2016
64-битный порт был начат Антоном Качаловым (mouse@) в 2004 году, на данный момент является штатным/синхронным (и по факту рекомендованным).
Особенности работы с портом
- Сборка 32-битных пакетов в 64-битной системе
- Запуск 32-битных программ в 64-битной системе с использованием libGL (с помощью hasher)
Особенности архитектуры 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.