Какие процессоры поддерживают x64

Обновлено: 03.07.2024

Разрядностью (или битностью) центрального процессора (ЦП) называется количество бит, которые ЦП может обрабатывать за одну команду. Разрядность определяет количество бит, отводимых хранение одной ячейки данных. То есть, если архитектура вашего процессора, например, 32 битная, то он может работать с числами, которые представлены в двоичном коде из 32 бит, причём обрабатывать эти числа он может за одну команду.

Часто, читая описания ЦП, можно встретить обозначение x86 — это значит, что мы имеем дело с 32 битной архитектурой. Если же встречается надпись х64 – то можно сказать, что данный ЦП обладает битностью, равной 64.

Важно! Часто битность ЦП ошибочно принимается за основу при определении максимального объёма памяти, к которому он может обращаться. Это, естественно, не так. Шины адреса и данных практически любого ЦП имеют разную битность и никак не влияют друг на друга.

Значение битности ЦП играет не последнюю роль для пользователей, поскольку битности операционной системы (ОС) и процессора, которые используются друг с другом, должны совпадать. Однако, здесь работает принцип обратной совместимости: на 64 разрядный ЦП может быть установлена операционная система как 32 так и 64 разрядная.

Версия операционной системы в данном случае не играет роли: например, все ОС Windows или Linux, уже начиная с появления первых 64 разрядных ЦП имеют как 32 битные так и 64 битные сборки. То есть, существуют все версии Windows (от XP до 10-й), имеющие как 64 так и 32 битную среду.

Важно! Установить на ЦП семейств х86 ОС, в названии которой фигурирует «х64» невозможно! Мало того, невозможно запускать исполняемые файлы для 64 битных ЦП на 32 битных ОС.

Именно поэтому определение того, какие именно (32 или 64 разрядные) данные используются ЦП весьма важно. Часто от этого зависит работоспособность достаточно больших групп пользователей, использующих одинаковое программное обеспечение.

В данной статье будет рассмотрено, как узнать разрядность процессора при помощи различных способов.

Версия операционной системы в данном случае не играет роли: например, все ОС Windows или Linux, уже начиная с появления первых 64 разрядных ЦП имеют как 32 битные так и 64 битные сборки. То есть, существуют все версии Windows (от XP до 10-й), имеющие как 64 так и 32 битную среду.

Важно! Установить на ЦП семейств х86 ОС, в названии которой фигурирует «х64» невозможно! Мало того, невозможно запускать исполняемые файлы для 64 битных ЦП на 32 битных ОС.

Именно поэтому определение того, какие именно (32 или 64 разрядные) данные используются ЦП весьма важно. Часто от этого зависит работоспособность достаточно больших групп пользователей, использующих одинаковое программное обеспечение.

В данной статье будет рассмотрено, как узнать разрядность процессора при помощи различных способов.

Откроется консоль командного процессора. В ней следует ввести команду «systeminfo». Результатом её выполнения будет длинный перечень параметров системы. Интересующий нас пункт называется «Процессор(ы):» В нём будет написано название модели ЦП. И обязательно указана его битность (либо цифрами 32 или 64, либо надписями «х86» или «х64»).

Через свойства компьютера

Можно определить, какую разрядность поддерживает процессор, посмотрев свойства системы.

Один из способов сделать это – войти в параметр «Система» панели управления и там, в разделе «Тип системы» можно будет увидеть её разрядность. Если она равна 64, то и ЦП тоже 64 битный.

Однако, как уже было сказано ранее, поскольку на 64 разрядный ЦП может быть поставлена 32 разрядная система, необходимо будет уточнить тип используемого ЦП. Для этого следует зайти в «Диспетчер устройств», ссылка на который есть на той же странице, в «Устройствах» выбрать ЦП и открыть в его свойствах вкладку «Сведения».

В этой вкладке интересующий нас параметр называется «ИД оборудования». В нём будет указан тип используемого процессора – 64 или 32 разрядный.

Альтернативой является исследование свойств устройства, называемого в Диспетчере устройств «Компьютер». В нём может содержаться описание применяемого типа ПК с указанием его битности.

Аналогично свойствам процессора, следует зайти в свойства компьютера и во вкладке «Сведения» посмотреть описание устройства. Параметр может также называться «Выводимое имя». В любом случае, в нём будет присутствовать либо надпись «х86», либо «х64», что и будет соответствовать битности используемого ЦП в 32 или 64 соответственно.

Узнать разрядность через интернет

Для этого достаточно набрать в строке поиска фразу «узнать разрядность онлайн». Первые 5-10 результатов поиска дадут ссылки на сайты, определяющие этот параметр. После этого следует перейти на этот сайт и активный контент автоматически опознает количество разрядов ЦП и версию ОС.

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

Через BIOS

Самый простой способ, не требующий наличия программного обеспечения вообще. При загрузке ПК следует войти в BIOS, нажав F2 или Del. Далее следует выбрать раздел «System Settings», «Main» или «CPU Settings» – в зависимости от производителя BIOS он может называться по-разному, и посмотреть значение параметра «Processor Type». В нём будет указана фирма производитель, модель ЦП, его частота и разрядность.

В большинстве случаев, пользователи задумываются о разрядности операционной системы и процессора только тогда, когда им начинает не хватать 4 Гб оперативной памяти.

Тогда встает два вопроса. Во-первых, какая операционная система установлена, 32 или 64 разрядная. А во-вторых, можно ли установить 64 разрядную систему, поддерживает ли ее процессор.

На эти вопросы мы и постараемся ответить в этом материале. Здесь мы расскажем о том, как узнать какая система установлена на данный момент и поддерживает ли процессор установку 64 разрядной системы.

Разрядность системы и процессора в Windows 8 или Windows 10

Если вы используете Windows 8 или Windows 10, то для того чтобы узнать поддерживает ли процессор 64 разрядную систему, а также какая система сейчас установлена на вашем компьютере, не нужно никакого дополнительного программного обеспечения. Всю необходимую информацию можно получить через инструменты, встроенные в Windows.

Для этого нужно просто открыть окно «Просмотр сведений о вашем компьютере». Открыть это окно можно по-разному. Например, если на вашем рабочем столе есть иконка компьютера, то вы можете просто кликнуть по ней правой кнопкой мышки и в открывшемся меню выбрать пункт «Свойства». Либо можно открыть «Панель управления» и перейти в раздел «Система и безопасность – Система». Ну и самый простой способ открыть окно «Просмотр сведений о вашем компьютере» это комбинация клавиш Windows-Pause/Break.

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

Например, если у вас 64 разрядная система и 64 разрядный процессор, то это будет выглядеть так, как на скриншоте внизу.

окно Просмотр сведений о вашем компьютере в Windows 8/10

Если же у вас установлена 32 разрядная система, но процессор 64 разрядный, то это будет выглядеть так.

окно Просмотр сведений о вашем компьютере в Windows 8/10

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

Разрядность системы и процессора в Windows 7 и XP

Если вы используете Windows 7 или Windows XP, то описанный выше способ не даст вам всей информации. Например, в Windows 7 также есть окно «Просмотр сведений о вашем компьютере» и оно открывается точно также как в Windows 8 или Windows 10 (через свойства компьютера, через панель управления или через комбинацию клавиш Windows-Pause/Break). Но в Windows 7 в данном окне есть информация только о разрядности системы, данных о разрядности процессора нет.

окно Просмотр сведений о вашем компьютере в Windows 7

В Windows XP также можно открыть окно с информацией о компьютере, там оно называется «Свойства системы». Для его открытия нужно кликнуть правой кнопкой по иконке «Мой компьютер» и выбрать «Свойства» либо нажать комбинацию клавиш Windows-Pause/Break. В Windows XP в окне «Свойства системы» разрядность системы будет указываться только в том случае если используется 64 разрядная Windows XP.

окно Свойства системы в Windows XP

Если же Windows XP – 32 разрядная, то никаких упоминаний о разрядности не будет.

окно Свойства системы в Windows XP

Поэтому, если у вас Windows 7 или Windows XP, то для того чтобы узнать поддерживает ли ваш процессор 64 рядную систему вам нужно воспользоваться программой CPU-Z. Запустите данную программу на своем компьютере и посмотрите какие инструкции поддерживаются вашим процессором (на скриншоте внизу).

программа CPU-Z

Если в списке поддерживаемых инструкций есть « x86-64 » или « EM64T », то это означает, что у вас 64 разрядный процессор и он поддерживает 64 разрядную систему.

Что-то давненько не читал такой доходчивой статьи, поймет даже лузер, как я. Спасибо!

Эволюция микропроцессоров исторически подразумевала увеличение разрядности целочисленных регистров процессора, т.е. максимального числа бит, образующих числа, над которыми можно было выполнять элементарные арифметические действия путём исполнения соответствующих команд. Также от этого параметра зависит объём линейно (без всяческих ухищрений, замедляющих работу) адресуемой оперативной памяти, к которой может обращаться процессор.
Самый первый микропроцессор 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:

в этой спецификации подробно описываются процессоры, которые можно использовать с системами клиентов, включающими Windows продукты (включая пользовательские образы). Обновления этой спецификации могут быть выпущены в будущем при изменении требований.

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

Если после включения серии процессоров в этой спецификации ("перечисленный процессор") процессор станет коммерческим доступом, в котором используется то же соглашение об именовании или идентификатор, что и в списке процессоров, но есть дополнительные или другие функции или функции ("новый процессор"), компания не должна использовать новый процессор для систем клиентов без предварительного письменного разрешения Майкрософт. Если компания считает, что в этом списке отсутствует процессор, обратитесь к корпоративному менеджеру Microsoft OEM или ОДМ Account Manager.

процессоры, перечисленные в таблицах ниже, представляют последние версии и модели процессоров, которые поддерживаются в указанном выпуске Windows.

Некоторые выпуски продукта или конфигурации выпуска или процессора, перечисленные ниже, могут не поддерживаться или быть ограниченными. Сведения о поддержке доступны в разделе Служба поддержки Майкрософт политика и вопросы и ответы о жизненном цикле Майкрософт. Сведения о поддержке конкретных устройств см. на веб-узле поставщика вычислительных систем (OEM).

Windows Процессоры выпуска клиента

Выпуск для Windows Процессоры AMD Процессоры Intel Процессоры Qualcomm
Windows 7 и более ранних выпусков Поддерживаемые процессоры AMD Поддерживаемые процессоры Intel Недоступно
Windows 8.1 Поддерживаемые процессоры AMD Поддерживаемые процессоры Intel Н/Д
Windows 10 Корпоративная LTSB 1507 Поддерживаемые процессоры AMD Поддерживаемые процессоры Intel Н/Д
Windows 10 1511 Поддерживаемые процессоры AMD Поддерживаемые процессоры Intel Н/Д
Windows 10 1607 Поддерживаемые процессоры AMD Поддерживаемые процессоры Intel Н/Д
Windows 10 Корпоративная LTSB 1607 Поддерживаемые процессоры AMD Поддерживаемые процессоры Intel Н/Д
Windows 10 1703 Поддерживаемые процессоры AMD Поддерживаемые процессоры Intel Н/Д
Windows 10 1709 Поддерживаемые процессоры AMD Поддерживаемые процессоры Intel Поддерживаемые процессоры Qualcomm
Windows 10 1803 Поддерживаемые процессоры AMD Поддерживаемые процессоры Intel Поддерживаемые процессоры Qualcomm
Windows 10 1809 Поддерживаемые процессоры AMD Поддерживаемые процессоры Intel Поддерживаемые процессоры Qualcomm
Windows 10 Корпоративная LTSC 1809 Поддерживаемые процессоры AMD Поддерживаемые процессоры Intel Н/Д
Windows 10 1903 Поддерживаемые процессоры AMD Поддерживаемые процессоры Intel Поддерживаемые процессоры Qualcomm
Windows 10 1909 Поддерживаемые процессоры AMD Поддерживаемые процессоры Intel Поддерживаемые процессоры Qualcomm
Windows 10 2004 Поддерживаемые процессоры AMD Поддерживаемые процессоры Intel Поддерживаемые процессоры Qualcomm
Windows 10 20H2 Поддерживаемые процессоры AMD Поддерживаемые процессоры Intel Поддерживаемые процессоры Qualcomm
Windows 10 21H1 Поддерживаемые процессоры AMD Поддерживаемые процессоры Intel Поддерживаемые процессоры Qualcomm
Windows 11 Поддерживаемые процессоры AMD Поддерживаемые процессоры Intel Поддерживаемые процессоры Qualcomm

Windows Процессоры Интернета вещей Core

Выпуск для Windows Процессоры Intel Процессор Qualcomm Broadcom Процессоры НКСП
Windows 10 1703 До текущих включенных процессоров Intel Жауле, Atom, Celeron и Pentium [3] Вплоть до текущих включенных процессоров Qualcomm Снапдрагон [3] Вплоть до включенных в настоящее время процессоров Broadcom [3] Н/Д
Windows 10 1709 До текущих включенных процессоров Intel Жауле, Atom, Celeron и Pentium [3] Вплоть до текущих включенных процессоров Qualcomm Снапдрагон [3] Вплоть до включенных в настоящее время процессоров Broadcom [3] Н/Д
Windows 10 1803 До текущих включенных процессоров Intel Жауле, Atom, Celeron и Pentium [3] Вплоть до текущих включенных процессоров Qualcomm Снапдрагон [3] Вплоть до включенных в настоящее время процессоров Broadcom [3] Н/Д
Windows 10 IoT Базовая 1809 (SAC) Вплоть до текущих включенных процессоров Intel Atom, Celeron и Pentium [3] Вплоть до текущих включенных процессоров Qualcomm Снапдрагон [3] Вплоть до включенных в настоящее время процессоров Broadcom [3] Вплоть до текущего включенного НКСП i. мкспроцессорс [3]
Windows 10 IoT Базовая 1809 (LTSC) Вплоть до текущих включенных процессоров Intel Atom, Celeron и Pentium [3] Вплоть до текущих включенных процессоров Qualcomm Снапдрагон [3] Вплоть до включенных в настоящее время процессоров Broadcom [3] Вплоть до текущего включенного НКСП i. мкспроцессорс [3]

[3] сведения о том, какие процессоры включены в настоящее время, доступны по адресу </Виндовс/ИОТ-коре/леарн-абаут-Хардваре/соксандкустомбоардс>

Windows 10 IoT Корпоративная

дополнительные сведения о Windows 10 IoT Корпоративная см. в описании обработчиков Windows клиентской версии .

Примечание. Матрица поддержки процессора отражает только базовую поддержку ОС для процессора. Могут существовать другие зависимости, такие как драйверы оборудования, которые не отражаются в этой матрице. Свяжитесь с изготовителем или производителем процессора, чтобы обеспечить поддержку конкретного оборудования.

Windows Процессоры сервера

Выпуск для Windows Процессоры Intel Процессоры AMD Процессоры хигон [6]
Windows Server 2012 R2 [4] Вплоть до следующих процессоров Intel 7 поколения (Intel Core i3-7xxx/Celeron/Pentium; Xeon E3 версии 6); Xeon SP 32xx, 42xx, 52xx, 62xx и 82xx; Xeon D 15xx; и Atom C33xx Вплоть до следующих процессоров поколения AMD 7 (серии & E-9xxx & FX-9xxx), семейства AMD РИЗЕН, AMD ЕПИК 7XX1, AMD ЕПИК 7XX2 и AMD ЕПИК 7xx3 Н/Д
Windows Server 2016 [5] До 9-го поколения процессоров Intel (Core i3-9xxx, Pentium G5xxx, Celeron G49xx); Xeon E22xx; Xeon SP 32xx, 43xx, 53xx, 63xx и 83xx; Xeon D 21xx; и Atom C33xx Вплоть до следующих процессоров поколения AMD 7 (серии & E-9xxx & FX-9xxx), семейства AMD РИЗЕН, AMD ЕПИК 7XX1, AMD ЕПИК 7XX2 и AMD ЕПИК 7xx3 Н/Д
Windows Server 2019 До 9-го поколения процессоров Intel (Core i3-9xxx, Pentium G5xxx, Celeron G49xx); Xeon E23xx; Xeon SP 32xx, 43xx, 53xx, 63xx и 83xx; Xeon D 21xx; и Atom C33xx Вплоть до следующих процессоров поколения AMD 7 (серии & E-9xxx & FX-9xxx), семейства AMD РИЗЕН, AMD ЕПИК 7XX1, AMD ЕПИК 7XX2 и AMD ЕПИК 7xx3 Хигон C86 7xxx
Windows Server 2022 До 9-го поколения процессоров Intel (Core i3-9xxx, Pentium G5xxx, Celeron G49xx); Xeon E23xx; Xeon SP 32xx, 43xx, 53xx, 63xx и 83xx; Xeon D 21xx; и Atom C33xx Вплоть до следующих процессоров поколения AMD 7 (серии & E-9xxx & FX-9xxx), семейства AMD РИЗЕН, AMD ЕПИК 7XX1, AMD ЕПИК 7XX2 и AMD ЕПИК 7xx3 Н/Д

[4] список процессоров для Windows Server 2012 R2 является окончательным. Новые системные отправки больше не принимаются для сертификации.

[6] только на рынке Китая

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



Статья раскрывает смысл термина «64 бита». В статье кратко рассмотрена история развития 64-битных систем, описаны наиболее распространенные на данный момент 64-битные процессоры архитектуры Intel 64 и 64-битная операционная система Windows.

Введение

В рамках архитектуры вычислительной техники под термином «64-битный» понимают 64-битные целые и другие типы данных, имеющих размер 64 бита. Под «64-битными» системами могут пониматься 64-битные архитектуры микропроцессоров (например, EM64T, IA-64) или 64-битные операционные системы (например, Windows XP Professional x64 Edition). Можно говорить о компиляторах, генерирующих 64-битный программный код.

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

История 64-битных систем

64-битность только недавно вошла в жизнь большинства пользователей и прикладных программистов. Однако работа с 64-битными данными имеет уже длинную историю.

1961: IBM выпускает суперкомпьютер IBM 7030 Stretch, в котором используются 64-битные слова данных, 32-битные или 64-битные машинные инструкции.

1974: Control Data Corporation запускает векторный суперкомпьютер CDC Star-100, в котором используется архитектура 64-битных слов (предыдущие системы CDC имели 60-битную архитектуру).

1976: Cray Research выпускает первый суперкомпьютер Cray-1, в котором реализована архитектура 64-битных слов и который послужит основой для всех последующих векторных суперкомпьютеров Cray.

1985: Cray выпускает UNICOS — первую 64-битную реализацию операционной системы Unix.

1991: MIPS Technologies производит первый 64-битный процессор, R4000, в котором реализована третья модификация разработанной в их компании архитектуры MIPS. Этот процессор используется в графических рабочих станциях SGI начиная с модели IRIS Crimson. Kendall Square Research выпускает свой первый суперкомпьютер KSR1, построенный на основе их собственной запатентованной 64-битной архитектуры RISC под операционной системой OSF/1.

1992: Digital Equipment Corporation (DEC) представляет полностью 64-битную архитектуру Alpha — детище проекта PRISM.

1993: DEC выпускает 64-битную Unix-подобную операционную систему DEC OSF/1 AXP (позже переименованную в Tru64 UNIX) для своих систем, построенных на архитектуре Alpha.

1995: Sun запускает 64-битный процессор семейства SPARC UltraSPARC. HAL Computer Systems, подчиненная Fujitsu, запускает рабочие станции, созданные на основе 64-битного процессора SPARC64 первого поколения, независимо разработанного компанией HAL. IBM выпускает микропроцессоры A10 и A30, а также 64-битные процессоры PowerPC AS. IBM также выпускает 64-битное обновление для системы AS/400, способное преобразовывать операционную систему, базы данных и приложения.

1996: Nintendo представляет игровую консоль Nintendo 64, созданную на основе более дешевого варианта MIPS R4000. HP выпускает реализацию 64-битной 2.0 версии собственной архитектуры PA-RISC PA-8000.

1997: IBM запускает линейку RS64 64-битных процессоров PowerPC/PowerPC AS.

1998: Sun выпускает Solaris 7 с полной 64-битной поддержкой UltraSPARC.

1999: Intel выпускает набор команд для архитектуры IA-64. AMD публично объявляет о своем наборе 64-битных расширений для IA-32, который был назван x86-64 (позже переименован в AMD64).

2000: IBM выпускает свой первый 64-битный мэйнфрейм zSeries z900, совместимый с ESA/390, а также новую операционную систему z/OS.

2001: Intel наконец запускает линейку 64-битных процессоров, которые теперь получают название Itanium и рассчитаны на высокопроизводительные серверы. Проект не соответствует ожиданиям из-за многочисленных задержек при выпуске IA-64 на рынок. NetBSD становится первой операционной системой, которая запускается на процессоре Intel Itanium после его выхода. Кроме того, Microsoft также выпускает Windows XP 64-Bit Edition для архитектуры IA-64 семейства Itanium, хотя в ней сохраняется возможность запускать 32-битные приложения при помощи прослойки WoW64.

2003: AMD представляет линейки процессоров Opteron и Athlon 64, созданные на основе архитектуры AMD64, которая является первой 64-битной процессорной архитектурой, основанной на архитектуре x86. Apple начинает использовать 64-битный процессор «G5» PowerPC 970 производства IBM. Intel утверждает, что процессорные чипы семейства Itanium останутся единственными 64-битными процессорами, разработанными в их компании.

2004: В ответ на коммерческий успех AMD, Intel признается, что они разрабатывали клон расширений AMD64, которому дали название IA-32e (позже переименован в EM64T, и затем еще раз в Intel 64). Intel также выпускает обновленные версии семейств процессоров Xeon и Pentium 4 с поддержкой новых команд.

2004: VIA Technologies представляет свой 64-битный процессор Isaiah.

2005: 31 января Sun выпускает Solaris 10 с поддержкой процессоров AMD64 / Intel 64. 30 апреля Microsoft выпускает Windows XP Professional x64 Edition для процессоров AMD64 / Intel 64.

2006: Sony, IBM и Toshiba начинают выпуск 64-битного процессора Cell для PlayStation 3, серверов, рабочих станций и других устройств. Microsoft выпускает Windows Vista с включенной 64-битной версией для процессоров AMD64 / Intel 64, которая поддерживает 32-битную совместимость. Все Windows-приложения и компоненты являются 64-битными, однако многие из них имеют 32-битные версии, включенные в систему в виде плагинов в целях совместимости.

2009: Как и Windows Vista, Windows 7 компании Microsoft включает полную 64-битную версию для процессоров AMD64 / Intel 64, и на большинство новых компьютеров по умолчанию устанавливается 64-битная версия. Выходит операционная система компании Apple Mac OS X 10.6, «Snow Leopard» которая имеет 64-битное ядро и предназначена для процессоров AMD64 / Intel 64, однако по умолчанию эта система устанавливается только на некоторые из последних моделей компьютеров компании Apple. Большинство приложений, поставляемых с Mac OS X 10.6, теперь также являются 64-битными.

Более подробно с историей развития 64-битных систем можно познакомиться в статье Джона Машей "Долгая дорога к 64 битам" [1] и в энциклопедической статье в Wikipedia "64-bit" [2].

Прикладное программирование и 64-битные системы

  1. IA-64 64-битная микропроцессорная архитектура, разработанная совместно компаниями Intel и Hewlett Packard. Реализована в микропроцессорах Itanium и Itanium 2. Для более подробного знакомства с архитектурой IA-64 можно обратиться к следующим статьям в Wikipedia: "IA-64", "Itanium", "Itanium 2". Архитектуру Itanium поддерживает большое количество производителей серверов: Bull, Fujitsu, Fujitsu Siemens Computers, Hitachi, HP, NEC, SGI и Unisys. Эти производители присоединились к Intel и множеству разработчиков ПО для создания Itanium Solutions Alliance, с целью продвижения архитектуры и ускорения темпов портирования ПО.
  2. Intel 64 (AMD64 / x86-64 / x64 / EM64T) — данная архитектура представляет собой расширение архитектуры x86 с полной обратной совместимостью. Существует множество вариантов названия данной архитектуры, что приводит к путанице, хотя, по сути, все эти названия обозначают одно и тоже: x86-64, AA-64, Hammer Architecture, AMD64, Yamhill Technology, EM64T, IA-32e, Intel 64, x64. Более подробно узнать о том, как появилось так много названий, можно в статье из Wikipedia: "X86-64". Процессоры с архитектурой Intel 64 нашли широкое распространение персональных компьютерах. И скорее всего ваш компьютер оснащен именно процессором с данной архитектурой.

Архитектура Intel 64 (AMD64)

Рассматриваемая архитектура Intel 64 простое, но в то же время мощное обратно совместимое расширение устаревшей промышленной архитектуры x86. Она добавляет 64-битное адресное пространство и расширяет регистровые ресурсы для поддержки большей производительности перекомпилированных 64-битных программ. Архитектура обеспечивает поддержку устаревшего 16-битного и 32-битного кода приложений и операционных систем без их модификации или перекомпиляции.

Отличительной особенностью Intel 64 является поддержка шестнадцати 64-битных регистров общего назначения (в x86-32 имелось восемь 32-битных регистров). Поддерживаются 64-битные арифметические и логические операции над целыми числами. Поддерживаются 64-битные виртуальные адреса. Для адресации новых регистров для команд введены «префиксы расширения регистра», для которых был выбран диапазон кодов 40h-4Fh, использующихся для команд INC <регистр> и DEC <регистр> в 32- и 16-битных режимах. Команды INC и DEC в 64-битном режиме должны кодироваться в более общей, двухбайтовой форме.

Необходимость 64-битной архитектуры определяется приложениями, которым необходимо большое адресное пространство. В первую очередь это высокопроизводительные серверы, системы управления базами данных, САПР и, конечно, игры. Такие приложения получат существенные преимущества от 64-битного адресного пространства и увеличения количества регистров. Малое количество регистров, доступное в устаревшей x86 архитектуре, ограничивает производительность в вычислительных задачах. Увеличенное количество регистров обеспечивает достаточную производительность для многих приложений.

  • 64-битное адресное пространство;
  • расширенный набор регистров;
  • привычный для разработчиков набор команд;
  • возможность запуска старых 32-битных приложений в 64-битной операционной системе;
  • возможность использования 32-битных операционных систем.

64-битные операционные системы

Практически все современные операционные системы сейчас имеют версии для архитектуры Intel 64. Например, Microsoft предоставляет Windows XP x64. Крупнейшие разработчики UNIX систем также поставляют 64-битные версии, как например Linux Debian 3.5 x86-64. Однако это не означает, что весь код такой системы является полностью 64-битным. Часть кода ОС и многие приложения вполне могут оставаться 32-битными, так как Intel 64 обеспечивает обратную совместимость с 32-битными приложениями. Например, 64-битная версия Windows использует специальный режим WoW64 (Windows-on-Windows 64), который транслирует вызовы 32-битных приложений к ресурсам 64-битной операционной системы.

Далее в статье мы будем рассматривать только 64-битные операционные системы семейства Windows.

WoW64

Windows-on-Windows 64-bit (WoW64) — подсистема операционной системы Windows, позволяющая запускать 32-битные приложения на всех 64-битных версиях Windows.

  • программы, скомпилированные для 16-разрядных операционных систем;
  • программы режима ядра, скомпилированные для 32-разрядных операционных систем.

WoW64 на архитектуре Intel 64 (AMD64 / x64) не требует эмуляции инструкций. Здесь подсистема WoW64 эмулирует только 32-битное окружение, за счет дополнительной прослойки между 32-битным приложением и 64-битным Windows API. Где-то эта прослойка тонкая, где-то не очень. Для средней программы потери в производительности из-за наличия такой прослойки составят около 2%. Для некоторых программ это значение может быть больше. Два процента это немного, но следует учитывать, что 32-битные приложения работают немного медленнее под управлением 64-битной операционной системы Windows, чем в 32-битной среде.

Компиляция 64-битного кода не только исключает необходимость в WoW64, но и дает дополнительный прирост производительности. Это связано с архитектурными изменениями в микропроцессоре, такими как увеличение количества регистров общего назначения. Для средней программы можно ожидать в пределах 5-15% прироста производительности от простой перекомпиляции.

Подсистема WoW64 изолирует 32-разрядные программы от 64-разрядных путем перенаправления обращений к файлам и реестру. Это предотвращает случайный доступ 32-битных программ к данным 64-битных приложений. Например, 32-битное приложение, которое запускает файл DLL из каталога %systemroot%\System32, может случайно обратиться к 64-разрядному файлу DLL, который несовместим с 32-битной программой. Во избежание этого подсистема WoW64 перенаправляет доступ из папки %systemroot%\System32 в папку %systemroot%\SysWOW64. Это перенаправление позволяет предотвратить ошибки совместимости, поскольку при этом требуется файл DLL, созданный специально для работы с 32-разрядными приложениями.

Подробнее с механизмами перенаправления файловой системы и реестра можно познакомиться в разделе MSDN "Running 32-bit Applications".

Программная модель Win64

Также как и в Win32 размер страниц в Win64 составляет 4Кб. Первые 64Кб адресного пространства никогда не отображаются, то есть наименьший правильный адрес это 0x10000. В отличие от Win32, системные DLL загружаются выше 4Гб.

  • RCX: первый аргумент
  • RDX: второй аргумент
  • R8: третий аргумент
  • R9: четвертый аргумент

Разница в соглашениях о вызове приводит к тому, что в одной программе нельзя использовать и 64-битный, и 32-битный код. Другими словами, если приложение скомпилировано для 64-битного режима, то все используемые библиотеки (DLL) также должны быть 64-битными.

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

Адресное пространство

Хотя 64-битный процессор теоретически может адресовать 16 экзабайт памяти (2^64), Win64 в настоящий момент поддерживает 16 терабайт (2^44). Этому есть несколько причин. Текущие процессоры могут обеспечивать доступ лишь к 1 терабайту (2^40) физической памяти. Архитектура (но не аппаратная часть) может расширить это пространство до 4 петабайт (2^52). Однако в этом случае необходимо огромное количество памяти для страничных таблиц, отображающих память.

Помимо перечисленных ограничений, объем памяти, который доступен в той или иной версии 64-битной операционной системе Windows зависит также от коммерческих соображений компании Microsoft. Ниже приведена информация по объему памяти, поддерживаемой различными версиями 64-биными версиями Windows:

Windows XP Professional — 128 Gbyte;
Windows Server 2003, Standard — 32 Gbyte;
Windows Server 2003, Enterprise — 1 Tbyte;
Windows Server 2003, Datacenter — 1 Tbyte;
Windows Server 2008, Datacenter — 2 Tbyte;
Windows Server 2008, Enterprise — 2 Tbyte;
Windows Server 2008, Standard — 32 Gbyte;
Windows Server 2008, Web Server — 32 Gbyte;
Vista Home Basic — 8 Gbyte;
Vista Home Premium — 16 Gbyte;
Vista Business — 128 Gbyte;
Vista Enterprise — 128 Gbyte;
Vista Ultimate — 128 Gbyte;
Windows 7 Home Basic — 8 Gbyte;
Windows 7 Home Premium — 16 Gbyte;
Windows 7 Professional — 192 Gbyte;
Windows 7 Enterprise — 192 Gbyte;
Windows 7 Ultimate — 192 Gbyte;

Разработка 64-битных приложений

Наиболее полно вопросы разработки 64-битных приложений рассмотрены в курсе "Уроки разработки 64-битных приложений на языке Си/Си++". Содержание:

Также рекомендую раздел с обзорами статей по тематике связанной с 64-битнми технологиями.

Читайте также: