Есть ли у 64-битных (x86-64) приложений и ОС принципиальные преимущества по сранению с 32-битными?
Всем, кто застал те времена и уже был программистом или "продвинутым пользователем" известно, что переходы с 16-разрядной архитектуры Windows 3.1 на "386-й расширенный режим" Windows 3.11, затем на полноценный 32-битный защищённый режим Windows 95 и в последствии на ядро Windows NT несли с собой существенные качественные различия глубоко системного уровня, позволявшие добиваться повышенной надёжности и, на некоторых конфигурациях, и повышенной производительности в решении тех же самых задач по сравнению с предшествующими программными архитектурами на том же железе. Есть ли подобные преимущества и у x86-64 или единственное, зачем она нужна - это адресация большего объёма оперативной памяти?
Если кратко - x86-64 в режиме Long Mode имеет больше регистров, приче мбольшего размера, чем в Legacy Mode. Так же в длинном режиме отключены рудименты от x86, в частности сегментная модель памяти.
x64 процессоры обладают регистрами общего назначения большего объема (64 бита против 32, оно и понятно, адреса надо где-то считать и хранить), и насколько я помню, их там больше, что позволяет компилятору запихнуть больше данных в регистры за счет чего в определенных случаях можно получить неплохой прирост производительности.
Как уже написали 1 прирост производительности тем кто на эту архитектуру расчитан (блокнот быстрей не станет). Второе это максимальный объем памяти доступной приложению и ОС (больше адресов-больше памяти), для 64битной OS он будет больше чем для 32битной, на сколько больше зависит от конкретной OS.