→ Архитектура x86 x64 что. Windows x64 или x86 - какой ставить? Отслеживание системных вызовов

Архитектура x86 x64 что. Windows x64 или x86 - какой ставить? Отслеживание системных вызовов

Множество пользователей при установке на свой персональный компьютер операционной системы Windows искренне недоумевают, какую из версий платформы выбрать - x64 или x86? И вообще, что на самом деле означают указанные сокращения?

Программы с x64 или x86: разница есть

Как уже было сказано выше, как правило, сопровождаются странными аббревиатурами. Однако вы можете увидеть их и во время скачивания различных программ, которые тоже часто предоставляют пользователю право выбрать версию x64 или x86. Давайте вместе попробуем разобраться во всех числовых загадках. Начнем с того, что в мире компьютеров существуют различные типы процессоров, которые имеют разную архитектуру. Выражение о движении семимильными шагами как нельзя лучше подходит к отрасли компьютерных чипов, но особенно быстро развиваться и совершенствоваться процессоры начали в последнее десятилетие.

Откуда повелось

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

Пионером в сфере разработки 64-битных вычислительных чипов считается компания AMD. Поэтому разработчики программного обеспечения обобщают подобные процессоры под общим именем "Amd64". Важно понять, что такое обозначение не значит, что игры, в характеристиках которых указан пункт amd64, не будут запускаться на компьютерах под управлением 64-битных процессоров авторства компании Intel.

В описанном случае речь идет об обычном обобщении, которому удалось прочно войти в практику. Сами сокращения x64 или x86 соответствуют именно разной архитектуре процессоров - 64 или 32 соответственно. Если говорить о применении этих обозначений к современным операционным системам, то они обозначают разрядность.

Как узнать x64 или x86 ОС установлена на ПК?

Часто пользователи пытаются определить, какая разрядность или, другими словами, тип операционной системы установлен на их компьютере в настоящий момент. Чтобы решить поставленную задачу, необходимо навести курсор мыши на значок «Компьютер» на рабочем столе (стандартный для системы Windows) и кликнуть по нему один раз правой кнопкой.

Далее в открывшемся контекстном меню следует выбрать «Свойства». После проделанных действий перед вами должно открыться окно с полным списком характеристик вашего компьютера, а также установленной операционной системы. Таким образом, вы сможете увидеть один из пары вариантов: 32-разрядная операционная система или 64-разрядная.

Вот таким нехитрым образом мы разобрались, как проверить, x86 или x64 программы следует устанавливать. Далее необходимо сказать, что особенность 64-битных программ заключена в их невероятной производительности, но с другой стороны - они слишком требовательны по отношению к памяти. Вот оно, подтверждение правила о том, что все хорошо в меру: установка 64-битной операционной системы на слабый ноутбук с парой гигабайт ОЗУ и 32-битным классическим процессором - это ошибка, однако, с другой стороны, 32-разрядные программы и системы не в силах видеть свыше 3 Гб ОЗУ. В случае, если в вашем распоряжении имеется персональный компьютер, оперативная память у которого равна 4 и более гигабайтам, можете смело устанавливать 64-разрядную Windows-платформу, соответственно, программы также должны быть 64-битные. Программы такого типа используют ресурсы, имеющиеся на компьютере, по максимуму, По сути, актуальный вопрос о том, что лучше - windows x86 или x64, сформулирован не вполне корректно, так как обе платформы хороши, а выбор необходимой определяется конфигурацией отдельно взятого компьютера.



Windows x64: подводные камни

В настоящее время из-за нерешенности некоторых вопросов, над которыми бьются разработчики и инженеры всего мира, вышло так, что у самой совершенной платформы Windows x64, кроме множества неоспоримых преимуществ, о которых мы говорили
выше, есть и ряд недостатков, о которых тоже не следует забывать. Начнем с того, что, если вы пользуетесь своим компьютером достаточно давно и имеете ряд комплектующих, которые вас уже многие годы не подводили, есть вероятность, что с переходом на 64-разрядную версию операционной системы найти драйверы для указанных устройств может быть довольно проблематично. Дело в том, что разработчики всевозможных гаджетов не очень охотно выпускают обновления для продуктов, которые были сняты с производства, тем самым пытаясь стимулировать клиентов приобретать новую технику. И тут уж мало кто прислушается к аргументу, будто ваш сканер или принтер лучше всех на свете.

Мы уже отмечали, что Windows x64 потребляет больше ресурсов, однако следует сказать, что все программы для 64-разрядной среды также начинают «желать большего». И наконец, если вы решите установить неподписанный потребует ряда дополнительных действий.

На другой чаше весов лежит доступ ко всем ресурсам установленной на компьютере ОЗУ. При наличии Windows x64 даже некоторые 32-битные программы могут воспользоваться доступом к 4 ГБ ОЗУ, например игры "Сталкер" и "Готика". Для сравнения: в среде 32-битной операционной системы игры и программы получают доступ к 2 Гб памяти, и в крайне редких случаях - к 3 Гб.

Некоторые авторы утверждают, что, независимо от того, какую платформу - x64 или x86 - выберет пользователь, быстродействие программ останется на одном уровне. Весьма сложно опровергнуть это мнение полностью, ибо показатели быстродействия зависят от целого ряда обстоятельств и факторов, однако практикой доказано, что программы для обработки звука и видео, а также архиваторы и ряд профессиональных программ начинают вести себя намного активнее.

Если с дилеммой «x86 или x64: что ставить» вы окончательно определились в пользу последней, однако не хотите расставаться со старыми добрыми программами, вам следует знать, что 99 процентов 32-битных приложений без снижения производительности и любых проблем работают в 64-битной среде. Что касается производительности в играх, то она прежде всего зависит от показателей вашего видеодрайвера.


P.S: все, о чем не успели упомянуть выше

Мы уже точно знаем, как определить x86 или x64, но остался ряд мелочей, о которых тоже стоит упомянуть. К примеру, мы уже узнали практически все о разрядности, кроме определения этого термина, поэтому заметим, что разрядностью называют способность обрабатывать одновременно определенное количество информации, которая измеряется в битах.


Недостижимая граница

Интересно, что у 64-разрядной архитектуры также есть свои пределы касательно воспринимаемой оперативной памяти: x64 не может увидеть более 192 Гб ОЗУ. Еще один любопытный момент: натуральный объем 64-разрядных приложений, как
правило, на 20-40% больше, чем у 32-разрядных аналогов, однако не стоит сразу же бежать за новым жестким диском, ведь данное правило не распространяется на такие развлекательные материалы, как видеоролики (кинофильмы) или музыку.



Число сомнения - 4

Отдельно следует обсудить судьбу ПК с 4 гигабайтами ОЗУ. Вот в чем штука: с одной стороны, 32-разрядные ОС видят только 3 Гб памяти, и выбор в пользу 64х кажется очевидным, однако не забывайте, что Windows x64 просто для того, чтобы заставить себя работать, потребует вдвое больше ОЗУ, чем ее 32-разрядная «сестра», и победа в таком случае кажется весьма неоднозначной. В таких условиях выбор должен определяться не математическим подсчетом, а вашими потребностями и теми задачами, которые вы намерены ставить перед компьютером. И не ждите внешних эффектов, ведь с точки зрения дизайна 32 и 64-разрядные операционные системы идентичны.

Новости от Adobe

Если вы художник или дизайнер, огорчим вас или порадуем недавним заявлением компании Adobe о том, что все современные приложения Adobe CS5 станут исключительно 64-битными. Другими словами, Dreamweaver CS5, Photoshop CS5 и тому подобные знаменитые приложения смогут запуститься исключительно на 64-битной системе. 32-битная платформа их просто не распознает.



Все оказалось просто

Вот мы и разобрались, как узнать, x64 или x86 система у вас установлена, и какой вариант выбрать. Как видите, все оказалось не слишком сложно и отняло всего несколько минут вашего времени. Важно понять, что в данном случае отличия исключительно внутренние, и определить с максимальной точностью, чего именно вы хотите от персонального компьютера, что он для вас - рабочий инструмент или друг, который дарит вам развлечения. Если ПК будет настроен наилучшим образом, его способности преобразятся.

x86-64 (x64/AMD64/Intel64/EM64T) — аппаратная платформа. Автором технологии является компания AMD. Платформа создана для выполнения 64-разрядных приложений.

Представляет собой расширение x86-архитектуры, обладает практически полной обратной совместимостью.

Компании Microsoft и Oracle применяют для индикации данного набора инструкций термин «x64», хотя каталог с файлами в дистрибутивах Linux имеет название «amd64» (в случае с архитектурой x86, именуется как «i386»).

На сегодняшний день, платформу x86-64 поддерживают следующие компании:

  • AMD : процессоры Z-серии, C-серии, G-серии, E-серии, E1, E2, A4, A6, A8, A10, FX, Athlon 64, Athlon 64 FX, Athlon 64 X2, Athlon II, Phenom, Phenom II, Turion 64, Turion 64 X2, Turion II, Opteron, последние модели Sempron;
  • Intel : реализует данную платформу, используя название «Intel 64» EM64T » и «IA-32e») . Поздние модели процессоров Pentium 4, серии Pentium D, Pentium Extreme Edition, Celeron D, Celeron G-серии, Celeron B-серии, Pentium Dual-Core, Pentium T-серии, Pentium P-серии, Pentium G-серии, Pentium B-серии, Core 2 Duo, Core 2 Quad, Core 2 Extreme, Core i3, Core i5, Core i7, Atom и Xeon;
  • VIA : Nano, Eden, QuadCore.


Название

Есть несколько вариаций названия данной технологии. Порой, противоречия в именовании платформы в каждой отдельной компании создают общую путаницу. Попробуем разобраться в терминологии:

  • x86-64 — изначальный вариант названия, под которым компания AMD опубликовала первую предварительную спецификацию.
  • x64 — название версий ОС Windows и Solaris. Используется в качестве названия для архитектуры компаний Microsoft и Sun Microsystems.
  • AA-64 (AMD Architecture 64) — название архитектуры, автором которого стал известный неофициальный справочник sandpile.org, по аналогии с IA-64.
  • Hammer Architecture — название основывается на первых ядрах процессоров, поддерживавших данную архитектуру — Clawhammer и Sledgehammer.
  • AMD64 — название технологии, данное фирмой-разработчиком - компанией AMD. Появилось после выпуска первых Clawhammer и Sledgehammer процессоров. На данный момент, является официальным названием для реализации от AMD.
  • Yamhill Tehnology — первичное название аналогичной технологии от Intel. Порой также встречалось название CT (Clackamas Technology).
  • EM64T (Extended Memory 64 Technology) — первое официальное название реализации Intel.
  • IA-32e — название порой употреблялось вместе с EM64T. В основном, использовалось для обозначения "длинного" режима (в документации Intel именуется «режимом IA-32e»).
  • Intel 64 — новое официальное название архитектуры Intel, использующееся в настоящее время. Intel потихоньку отходит от названий IA-32, IA-32e и EM64T, используя это. Теперь оно является единственным официальным названием данной архитектуры со стороны компании Intel.

В настоящее время, самыми распространенными названиями выступают: «x64», «x86-64» и «AMD64». Порой это путает AMD-пользователей - вплоть до отказа использования родных дистрибутивов ОС: пользователь не уверен, будет ли работать выбранная версия на AMD процессоре. На самом же деле, распространители программного обеспечения применяют название amd64 лишь для того, чтобы подчеркнуть, что именно компания AMD является новатором в разработке данной технологии.

Зачастую, пользователи сами путают архитектуру Intel 64 с IA-64. Важно помнить, что Intel 64 и IA-64 — совершенно разные, несовместимые между собой платформы:

  • Представители Intel 64 : последние версии Pentium 4, некоторые модели Celeron D, линейка Core 2, Core i3, Core i5, Core i7, некоторые модели Intel Atom;
  • Представители IA-64 : семейства Itanium и Itanium 2.


Режимы

Имеется два режима работы данной архитектуры:

  • Long mode («длинный» режим);
  • Legacy mode («наследственный» режим).

«Long Mode»

«Длинный» режим, будучи родным для AMD64, позволяет воспользоваться всеми дополнительными преимуществами архитектуры. Для активации данного режима требуется 64-битная ОС. К примеру, Windows 7 x64 или 64-битные версии UNIX-подобных систем (GNU/Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Mac OS X - от версии 10.4.7 и выше).

Данный режим дает возможность работать 64-битным программам, кроме того, доступна и обратная совместимость: имеется поддержка 32-битного кода для работы 32-битных приложений. Но 32-битные программы не имеют возможности читать 64-битные системные библиотеки, а также - наоборот. Для того, чтобы побороть эти ограничения, большая часть 64-разрядных операционных систем предоставляет два набора необходимых системных файлов (для родных 64-битных приложений и для их 32-битных версий). Такая же методика применялась в ранних 32-битных системах (Windows 95) для запуска 16-битных программ.

«Длинный» режим не содержит в себе некоторые «рудименты» x86-архитектуры. Например, режим виртуального 8086, сегментированную модель памяти, аппаратную мультизадачность, и прочее.

«Длинный» режим имеет одну яркую особенность: его активация производится посредством установки флага CR0.PG. Он применяется для включения страничного MMU (если это переключение разрешено (EFER.LME=1). Если переключение недопустимо, включение MMU происходит в «наследственном» режиме.

Так, исполнение 64-битного кода с запрещенным страничным преобразованием невозможно, что приводит к определенным сложностям в программировании, ведь при переключении из «длинного» в «наследственный» режим (и обратно) необходим двойной сброс MMU. Для этого код переключения должен быть в тождественно отображенной странице.

«Legacy Mode»

Этот режим зовется «наследственным» по той причине, что дает возможность процессору AMD64 работать с инструкциями, которые рассчитаны для x86-процессоров. Кроме того, в рамках активации данного режима, осуществляется полная совместимость с 32-битным кодом и соответствующими ОС.

Процессор в «наследственном» режиме работает точно так же, как стандартный x86-процессор. Дополнительные функции, доступные под архитектурой AMD64, становятся неактивны.

При активации данного режима, 64-битные программы и соответствующие операционные системы функционировать не будут.

Особенности

Набор инструкций x86-64 (позже - AMD64), выпущенный компанией AMD — это расширение Intel IA-32 (x86-32). Ключевая отличительная черта AMD64 кроется в поддержке 64-битных регистров общего назначения, а также 64-битных арифметических/логических операций над целыми числами и 64-битных виртуальных адресов.

Чтобы осуществить адресацию регистров, для команд введены специальные «префиксы расширения регистра». Специально для них был выбран диапазон кодов 40h-4Fh, использующихся для команд INC и DEC в 32-битных режимах. Команды INC и DEC в 64-битном режиме кодируются в общей двухбайтовой форме.

Платформа x86-64 включает в себя:

  • Шестнадцать целочисленных 64-битных регистра общего назначения (RAX, RBX, RCX, RDX, RBP, RSI, RDI, RSP, R8 — R15);
  • Восемь 80-битных регистров с плавающей точкой (ST0 — ST7);
  • Восемь 64-битных регистров Multimedia Extensions (MM0 — MM7, общее пространство с регистрами ST0 — ST7);
  • Шестнадцать 128-битных регистров SSE (XMM0 — XMM15);
  • 64-битный указатель RIP и 64-битный регистр флагов RFLAGS.


Сегментирование

В ходе создания архитектуры x86-64, специалисты компании AMD пришли к решению окончательно покончить с главным «рудиментом» архитектуры x86 — сегментной моделью памяти. Она поддерживалась еще во времена 8086/80286.

При создании новой версии продукта виртуализации, программисты VMware обнаружили ряд непреодолимых трудностей. Загвоздки возникали в процессе реализации виртуальной машины для 64-битных систем. Чтобы отделить код монитора от кода «гостя», программа применяла механизм сегментации, но данная задача так и не была реализована на практике.

После ряда неудачных экспериментов, компания AMD возобновила ограниченный вариант сегментной организации памяти (начиная с ревизии D архитектуры AMD64). Это дало возможность запускать 64-битные операционные системы в виртуальных машинах. Компания Intel не стала следовать такому примеру. Чтобы осуществить проверку процессора на предмет возможности запуска 64-битных гостевых операционных систем, VMware снабжает продукты специальной утилитой.

Команды LAHF и SAHF , вырезанные изначально, были возвращены в систему команд из-за их активного использования в программном обеспечении виртуализации.

По мере развития средств аппаратной виртуализации (Intel VT, AMD-V), необходимость в сегментации постепенно утрачивается.

Когда-то я очень путался, увидев в описании программ x86 или x64 и не мог понять, почему если для 64-битной указывают x64, то для 32-битной x86, а не x32. Последнее должно быть намного привычнее и логичнее, а x86 не то что бы не запомнить, логике эта цифра не поддаётся: математически 86 больше чем 64, а на деле оказывается меньше в два раза. Из чисел "x86 x64 x32" таким образом можно даже загадку сделать. А ведь на самом деле...

x86 равна x32, а также равна и x64

При всей этой путанице на деле оказывается всё просто и как всегда ошибка идет за теми авторами, кто пишет вместе связку x86 и x64. Это попросту неправильно, несмотря на то, что так пишут практически все.

Дело в том, что x86 - это архитектура микропроцессора и аппаратная платформа, которая применима к тридцати двух битным и к шестидесяти четырех битным программам. Название x86 получено от наименования первого процессора intel i8086 и ряда последующих, в которых в конце всегда приписывалась 86. Через какое-то время цифровые обозначения новых процессоров стали заменяться именами, так публика узнала о Pentium и Celeron, но платформа x86 не изменилась до наших дней.

Значения два, а обозначения три? x86, x32 и x64 - как правильно писать?

И если x86 это архитектура процессора, то x32 и x64 это его разрядность – адресное пространство, а также количество информации, которую процессор в силах обработать за один такт.

Когда же пишут о совместимости программ указывая разрядность x86, подразумевая 32-битную платформу, это неправильно и только вводит в заблуждение. Правильно указывать х86_32bit или х86_64bit. Либо сокращенно интуитивно понятные x32 или x64.

Так что можно подытожить: сейчас x86 указывают по старинке (даже Майкрософт этим грешит), когда эта платформа была в единственном числе и 64-битных еще никто не знал. При появлении платформы x64 её стали указывать как есть, а прежняя 32-битная так и осталась в большинстве случаев как x86. И сейчас это не актуально, ошибочно и сбивает с толку тех, кто не понимает суть. А вы её теперь понимаете. :)

x32 или x64? Что выбрать? Что лучше?

Очень часто возникает вопрос, выбрать операционную систему x32 или x64? То есть тридцати двух битную или шестидесяти четырех битную?
Это вопрос риторический, теоретический и спорный. Очевидно, что x64 лучше, но не всегда и не в случае, если вы пользуетесь Windows. Нет, любая Windows x64 работает чуть шустрее чем Windows x32, но только если есть все программы и все драйвера под 64-битную систему. Очень часто, если компьютер современный, все системные драйвера к комплектующим у него обычно есть. Но проблема кроется тогда в программах и особенно видео и аудио кодеках. Обязательно чего-то да не будет. И если тридцати двух битные программы могут работать в системе x64, то драйвера и кодеки к ней обязательно нужны тоже x64. Год от года эта проблема исчезает, но до сих пор она не развеяна полностью. С системами x32 таких проблем нет и для дома лучше выбирать именно такую.
p.s. до 2010 года действительно существовала дилемма выбора 32-битной или 64-битной операционной системы. Причины описаны абзацем выше. Прошло с тех пор пять лет и такой проблемы уже не наблюдается. Безусловно, лучше поставить 64-битную даже не задумываясь, если, конечно же, не существует каких-то особых важных причин в пользу 32-битности.

В сегодняшней статье разберемся, какая платформа лучше подойдет Вашему компьютеру: x64 или x86(x32)? Ведь многие задают себе вопрос: что лучше? 32 или 64 битная версия ОС - решать Вам, но, думаю, лучше знать, как сделать правильный выбор!

Поскольку у Вас уже наверняка установлена операционная системы, Вы можете легко .

Я не буду вдаваться в "дебри" процессорной эволюции и "начинке", а попытаюсь объяснить основные положения.

Давайте вначале разберемся, откуда вообще взялись все эти архитектуры и разрядности?

32-битная архитектура x86 (286-, 386-, 486-совместимые микропроцессоры) названы так по своей -86 концовке. А х32 и х64 - это уже разрядность процессора. Поэтому корректно различать два основных типа архитектур: x86 и х64 (x32 - это некорректное название x86).

Итак, в чем же их отличие?

Это - потребляемость аппаратных ресурсов компьютера. Дело в том, что некоторые Intel и AMD процессоры на x64 не рассчитаны.
Кроме того, x64 рассчитана на не менее 4 GB ОЗУ Вашего ПК . Собственно, для этого она и разрабатывалась.
И третье - какую нагрузку испытывает компьютер при работе. Если Вы - дизайнер, верстальщик или человек, которые использует очень мощные приложения компаний Adobe и прочих мультимедиа-гигантов, то Вам приоритетнее будет х64. Если же у Вас 4

Так что же выбрать?

Поэтому при выборе архитектуры микропроцессора, всегда реально оценивайте мощности и возможности вашего компьютера. Кроме того, для x64 разрядных систем требуются свои(!) драйвера, отличные от x32. Да, x64, может, и будет работать быстрее, но со своими приложениями. А тридцати двух разрядные в свою очередь как работали, так и будут, что там, что там.

Удачи!

Похожие новости:


Разное


Краткая историческая справка.

Эволюция микропроцессоров исторически подразумевала увеличение разрядности целочисленных регистров , т.е. максимального числа бит, образующих числа, над которыми можно было выполнять элементарные арифметические действия путём исполнения соответствующих команд. Также от этого параметра зависит объём линейно (без всяческих ухищрений, замедляющих работу) адресуемой , к которой может обращаться .
Самый первый микропроцессор Intel 4004 был 4-битным, а основатель семейства x86, т.е. первый процессор, использующий наиболее популярный до сих пор базовый набор команд, Intel 8086 был 16-битным. Эпоха 32-битных микропроцессоров началась с 1985 года с Intel 386, с тех пор вплоть до Intel Pentium4 и AMD AthlonXP включительно система команд только дополнялась (MMX, SSE/SSE2/SSE3, 3Dnow!), но, несмотря на увеличение разрядности внешних шин и шин кэшей вплоть до 256-бит в некоторых случаях, число разрядов целочисленных регистров общего назначения оставалось равным 32.
Тем временем, практически все высокопроизводительные процессоры более поздних, нежели x86, архитектур (преимущественно - варианты RISC) уже давно были 64-битными. (Первый такой процессор, MIPS R3000, появился в 1994 году и был известен в основном по рабочим станциям и серверам SGi). Более того, Intel продвигала уже второе поколение собственных изначально 64-битных процессоров с архитектурой IA64(базирующейся на технологии VLIW) с коммерческим названием Itanium, не обладавших программной x86-совместимостью.
Однако в 2002 году компания AMD представила развитие архитектуры x86 под названием AMD64, представляющее собой очередное расширение набора команд x86, но рассчитанное на работу с 64-битными целочисленными регистрами общего назначения. В "железе" этот набор команд впервые был реализован на процессорах семейства AMD K8: Opteron/Athlon64, полностью программно совместимых и с обычными x86 процессорами.
В течении последующих двух лет стало ясно, что полная реализация потенциала этих процессоров возможна только при работе в операционной системе, использующей соответствующий набор команд и 64-битную адресацию памяти, что, в первую очередь, позволяло без всяких ограничений работать с линейными массивами данных объемом более 4Гб.
В первую очередь на новые процессоры были портированы ОС семейства Linux вместе с достаточно представительным набором критичных к скорости процессора и требующих больших объёмов памяти приложений. Скорость и стабильность работы новых процессоров, а также принципиальные трудности с созданием настольного процессора с архитектурой Intel IA64 сподвигли компанию Microsoft заняться портированием своих ОС на эту платформу.
С этого момента стало ясно, что набор команд AMD64 станет новым индустриальным стандартом, и Intel не осталось ничего другого, как добавить в свои процессоры полный аналог набора команд AMD64, в реализации Intel названный EM64T (Extended Memory 64-bit Technology).

Чем принципиально 64-битные x86 процессоры отличаются от 32-битных?
Помимо возможности быстрой работы с целыми 64-битными числами и прямой адресации несравнимо больших объёмов как виртуальной, так и физической памяти, новый индустриальный стандарт для x86 процессоров ликвидировал три принципиальных недостатка этой архитектуры:
1)Удвоение числа целочисленных регистров общего назначения - по этому параметру все потомки Intel 386 очень сильно отставали от современных RISC и VLIW процессоров. Использование компилятором этих регистров позволяет заметно улучшить эффективность реализации многих алгоритмов.
2)Использование для операций с плавающей точкой не стека, а регистров, используемых в наборе команд SSE2. Очень заметно отражается на производительности, но также требует перекомпиляции программного обеспечения.
3)DEP - Data Execution Protection (защита от передачи на выполнение содержимого сегмента данных при возникновении ошибки переполнения), также называется EVP (Enhanced Virus Protection), сильно затрудняет работу определённых классов вредоносных программ, в первую очередь - червей и троянцев. Не требует перекомпиляции ПО, поддерживается и 32-битными ОС Microsoft, начиная с WindowsXP SP2 и Wndows 2003 Server SP1.

Что нужно для работы 64-битных x86 приложений на моём ПК?
1)64-битный x86 процессор. На момент написания FAQ это были процессоры AMD с поддержкой технологии AMD64 и Intel c EM64T, соответственно. Конкретно речь идёт о AMD Opteron/Athlon64/Turion 64(мобильный аналог Athlon64)/Sempron 64/Phenom64. У Intel поддержка EM64T присутствует у процессоров Celeron D 3X1/3X6, Pentium4 5X1/5X6/6XX, Pentium D, Pentium XE (не Pentium4 XE!), всех Xeon DP с 800МГц с шиной и XeonMP c 667МГц шиной, а также у большинства будущих процессоров Intel за исключением Pentium M и Сeleron M.

Дополнение от января 2008 года - на данный момент набор команд AMD64/EM64T окончательно стал стандартом для всех производимых мобильных, настольных и серверных x86 процессоров Intel и AMD.

Также надо убедиться, что процессор корректно опознаётся BIOS"ом материнской платы (это означает, что в него загружен необходимый микрокод, несоблюдение этого условия может привести к серьёзным проблемам в работе компьютера). В некоторых ситуациях может потребоваться обновление BIOS материнской платы. В первую очередь это касается процессоров Intel, поскольку не все LGA775-материнские платы изначально поддерживали такие процессоры.
2)Операционная система.
На момент написания FAQ доступны следующие ОС:
Microsoft Windows XP Professional x64 Edition, Microsoft Windows 2003 Server x64 Editions (Standart/Enterprise/Datacenter), Windows Server 2008, также на платформу AMD64 перенесены Sun Solaris и различные варианты Linux и FreeBSD,(детальное рассмотрение особенностей unix-подобных ОС выходит за рамки данного FAQ), Windows Vista также имеет x64 версии всех редакций кроме начальных.
3)Драйверы. Все драйверы, работающие в ядре системы должны быть 64-битными, обратной совместимости не предусмотрено. Для наиболее распространённых комплектующих (видеокарты nVidia GeForce и ATi Radeon, чипсеты и дисковые контроллеры Intel, VIA, nVidia) такие драйверы уже написаны.

Будут ли работать обычные приложения на 64-битной ОС Windows?
1)32-битные приложения для Microsoft Windows - да, будут, при этом в некоторых ситуациях возможен прирост производительности по сравнению с выполнением на том же компьютере, но под 32-битной ОC(особенно если приложение использует очень большие объёмы оперативной памяти), но при этом 32-битные приложения не могут обращаться к 64-битным DLL и элементам Active Controls и наоборот. (На практике это выразилось в том, что в составе 64-х битных Windows Internet Explorer оставлен 32-битным для корректной работы со страницами, содержащими ActiveX элементы.)
2) 16-битные приложения для Microsoft Windows - нет, за исключением нескольких программ-инсталляторов.
3) DOS-приложения - нет. (На момент написания FAQ стало известно о портировании на 64-битные версии Windows прекрасно зарекомендовавшего себя OpenSource эмулятора DosBox, что почти полностью снимает возможные проблемы)
4)Приложения Windows для IA64(Itanium) - нет.

Что всё это даст мне в данный момент и что это может дать в будущем?
Для обычных пользовательских повседневных программ перенос их в данный момент на 64-битную платформу не даёт какого-либо качественно скачка в производительности. Исключением, (да и то относительным) являются только некоторые новейшие высокотехнологичные игры.
Наибольшую пользу от перехода на 64-бита получают программы для работы с базами данных, причём чем больше объём используемых данных, тем более заметен выигрыш, программы для CAD/CAE (автоматизированное проектирование, моделирование и т.п.), а также программы для создания цифрового контента (обработка изображений, звука, видео), более подробную информацию уже, как правило, можно узнать на сайте фирмы-разработчика используемого вами ПО - как правило, из сроков готовности 64-битных версий секретов никто не делает.
Из программ, портирование которых на 64-бит Windows завершено или близится к завершению стоит упомянуть Microsoft SQL Server 2000 и 2005, Cakewalk Sonar 4.0, CryTek FarCry, Epic Unreal Tournament 2004, SiSoft Sandra 2005 Полный список ПО, которое находится на разных стадиях переноса под Windows x64 можно найти .

Сравнительная таблица ограничений по максимальному объёму используемой оперативной памяти и числу процессоров для 32 и 64-битных версий операционных систем от Microsoft:

Общие ограничения по объёму используемой памяти 32-Bit 64-Bit
Полное виртуальное адресное пространство 4 ГБ 16 TБ
Виртуальное адресное пространство для 32-битного процесса 2 ГБ (3 ГБ c ключом загрузки /3ГБ) 4 ГБ если программа откомпилирована с ключом /LARGEADDRESSAWARE (2 ГБ без этого)
Виртуальное адресное пространство для 64-битного процесса Не применимо 8 TБ
Paged pool(Выгружаемый стек) 470 МБ 128 ГБ
Non-paged pool(Невыгружаемый стек) 256 МБ 128 ГБ
System Page Table Entry(PTE) 660 МБ to 900 МБ 128 ГБ
Ограничения по физическому объёму памяти и количеству процессоров 32-Bit 64-Bit
Windows XP Professional 4 ГБ / до 2 CPU 128 ГБ / до 2 CPU
Windows Server 2003, Standard Edition 4 ГБ / до 4 CPU 32 ГБ / до 4 CPU
Windows Server 2003, Enterprise Edition 64 ГБ / до 8 CPU 1 TБ / до 8 CPU
Windows Server 2003, Datacenter Edition 64 ГБ / 8 - 32 CPU 1 TБ / 8 - 64 CPU
Windows Server 2008, Web Edition 4 ГБ / до 4 CPU 32 ГБ / до 4 CPU
Windows Server 2008, Standart Edition 4 ГБ / до 4 CPU 32 ГБ / до 4 CPU
Windows Server 2008, Enterprise Edition 64 ГБ / до 8 CPU 2 TБ / до 8 CPU
Windows Server 2008, Datacenter Edition 64 ГБ / до 32 CPU 2 TБ / до 64 CPU
Windows Server 2008, HPC Edition - 128 ГБ / до 4 CPU

Cведения о максимально поддерживаемых объемах памяти для 64-битных версий Windows Vista можно найти .

 

 

Это интересно: