х64 что это такое
Второе обозначение разрядности Windows 32 бита – это x64 или x86?
Для многих пользователей операционной системы Windows не секрет, что существует две ее версии по типу разрядности. Это 32 битная и 64. Знать разрядность своей операционной системы нужно каждому, ведь при поиске и скачивании драйверов, программ и игр она учитывается.
Но с обозначениями разрядности системы, а также драйверов и программ существует некоторая путаница. Есть три обозначения двух разрядностей – x32, x64 и x86. По этой причине часто возникает вопрос 32 разрядная версия это x64 или x86?
Ответ на данный вопрос вы найдете в этой статье.
Второе обозначение 32 разрядной версии ПО
Чтобы впредь исключить путаницу обозначений разрядности программного обеспечения, к которому относится операционная система, драйвера, программы и игры, запомните, что существует две основные версии разрядности ПО – это 32 бита и 64 бита. 64 битная версия может обозначаться только как x64, а вот 32 битная может обозначаться как x32, так и x86.
Вот пример обозначения 64 битной версии драйвера для ноутбука на его официальном сайте:
Обозначение разрядности на сайте с драйверами
А вот возможные варианты обозначения 32 битной версии:
Обозначение разрядности на сайте с драйверами
Обозначение разрядности в описании программы
Из всего вышеописанного можно сделать вывод, что 32 разрядная версия ПО это x86.
x64 обозначается 64 битная версия какого – либо программного обеспечения. Учтите это при подборе версии драйверов и любых других программ.
Для того, чтобы просмотреть какая у вас разрядность операционной системы, достаточно нажать правой кнопкой мыши по значку “Компьютер” на рабочем столе и выбрать “Свойства”.
Заходим в свойства компьютера
В открывшемся окне будет отображена разрядность вашего Windows. И не забудьте x86 это 32 бита, а x64 – 64 бита.
Что значит 32 разрядная система и процессор x64?
Просматривая свойства компьютера в операционной системе Windows, некоторые пользователи могут обратить внимание на раздел “Тип системы”. В нем указывается разрядность установленной Windows, а также разрядность центрального процессора, установленного в системном блоке.
Ниже мы расскажем вам что означают указанные в типе системы данные.
Что показывает разрядность (x86, 32 и 64 бит)?
Разрядность процессора показывает какой объем данных, измеряемый в битах, может обработать регистр процессора за единицу времени, равной одному рабочему такту.
Таким образом, чем выше разрядность процессора и чем выше его тактовая частота – тем больший объем данных он может обработать и тем выше его общая производительность.
Но для того, чтобы процессор работал в 64 битном режиме, нужно чтобы операционная система была 64 битной, а также приложение, запускаемое в ней.
Стоит отметить, что 32 битные (x86) приложения также работают в 64 битных системах и на 64 битных процессорах. А вот в обратную сторону совместимость отсутствует. То есть запустить 64 битную программу в 32 битной Windows и/или на 32 битном процессоре невозможно.
В принципе, начиная с 2003 года, все процессоры Intel и AMD начали поддерживать 64 битную архитектуру.
Не стоит забывать про очень важный недостаток 32 битной архитектуры – она позволяет работать не более чем с 3.2 гигабайтами оперативной памяти.
Что показывает тип системы в свойствах компьютера?
Фраза “32 разрядная система процессор x64” говорит о том, что на вашем компьютере установлен процессор с поддержкой 64 битной архитектуры, а вот windows установлен 32 битный.
Если у вас установлено 3 ГБ оперативной памяти и меньше, то 32 разрядная система лучше подходит, чем 64, так как она использует для своей работы меньший объем памяти.
64 битная система и процессор
Если же объем установленной ОЗУ от 4 ГБ и выше, то обязательно нужно переустановить систему на 64 битную, чтобы в типе системы было указано “64 разрядная система процессор x64”, так как это позволит использовать всю память и соответственно увеличит производительность.
Чем отличаются 32-х битные и 64-х битные системы?
Покупая компьютер, Вы сталкиваетесь с тем, что Вам всегда необходимо делать выбор что купить, ноутбук, компьютер или нетбук, какую фирму-производитель выбрать и т.д. После всех принятых решений, Вам еще предстоит определиться, какую версию операционной системы поставить: 32 бит или 64 бит.
Сначала мы приведем описания 32-х и 64-х битных процессоров, чтобы разобраться, что это за зверь такой, х-битный процессор. Дело в том, что количество бит указывает на ширину регистра процессора и обозначает способ обработки информации процессором компьютера. Такой регистр представляет собой небольшое хранилище, которое используется процессором для хранения данных, к которым для оптимальной производительности компьютера ему необходимо иметь быстрый доступ. Число бит указывает на ширину данного регистра. В связи с этим 64-х битный регистр может хранить в себе больше данных, чем 32-х битный, который, в свою очередь, хранит больше данных, чем 16-ти битный или 8-ми битные регистры.
32-х битная архитектура Windows не позволяет выделять приложению более 2GB памяти. Однако, для современных игр, приложений фото- и видеоредакторов, а также виртуальных машин и т.д. требуется больший объем памяти. 64-х битные системы позволяют напрямую адресовать более 4 GB оперативной памяти, а это более чем достаточно для продуктивной работы даже самых «больших» приложений.
Интересно, что еще за 5 лет до появления компьютерных 64-х битных процессоров, консоли «Nintendo 64» и «Playstation 2» имели 64-х битные процессоры пользовательского уровня.
Основная разница между 32 и 64 битами заключается в увеличенной памяти.
Другое преимущество 64-бит Windows 7 это дополнительная защита «DEP» на уровне жесткого диска, а не программного обеспечения, как у пользователей 32 бит.
Кроме того, существует проблема совместимости драйверов. Этот недостаток является очень серьезным. К счастью, производители оборудования продолжают увеличивать поддержку 64-х битных операционных систем (если Ваше оборудование выпущено в последние год-два, то проблем у Вас будет не много). Но поиск драйверов для старых устройств может оказаться неразрешимой задачей, например для старого сканнера или принтера. В таком случае придется покупать новые устройства.Некоторые программы плохо «переживают» переход на 64 бита. В отличие от предыдущих версий Windows, Windows 7 х64 не поддерживает 16-ти битные приложения.
Кроме того, следует понимать, что если даже приложение является 64х битным, плагины и расширения для него могут таковыми не являться. Такие проблемы часто возникают с «Photoshop» и «Firefox». Основное приложение доступно в 64-х битном варианте, но важные плагины – нет.
Материнские платы, поддерживающие ранние 64-х битные процессоры и не поддерживающие более 4GB оперативной памяти являются редкостью. Однако, если это Ваш случай, то с переходом на 64-х битную операционную систему Вы не получите самого главного – доступа к большей памяти.
Выводы:
1) Windows7 64-разрядная система может обрабатывать больше объемы оперативной памяти (RAM) и эффективнее, чем 32-разрядная система.
2) Windows7 64-бит имеет дополнительную защиту «DEP» на уровне жесткого диска, которой нет на Windows7 32-бит.
3) Windows7 32-бит можно установить на процессоры 32-бит и 64-бит, но для установки Windows7 64-бит требуется процессор 64-бит.
4) Windows7 32-разрядная система может поддерживать 16-битные программы, в то время как Windows7 64-разрядная система не может.
Дополнительная информация:
Как определить, какая система установлена на вашем компьютере?
Вы можете посмотреть на версию установленной у Вас Windows – возможно, Вы уже используете 64-х битную операционную систему. Для этого в Windows Vista и Windows 7 кликните по Компьютеру (Computer) из меню Пуск (Start) правой кнопкой мыши и в контекстном меню выберите пункт Свойства (Properties). Вы попадете в меню системных свойств, где в разделе Система (System) Вы увидите, какая у Вас операционная система – 32-х битная или же 64-х битная.
Под Windows XP Вы можете протестировать свой процессор и узнать, можете ли Вы проапгредиться на 64-х битную Windows с помощью бесплатной программы SecurAble от Стива Гибсона (Steve Gibson). Данная утилита проверяет процессор по трем различным параметрам.
Во-первых, она проверяет, является ли процессор 64-х битным. Во-вторых, она проверяет поддержку им «DEP» (технологии безопасности, разработанной для защиты машин от атак переполнения буфера). И, наконец, в-третьих, программа проверяет наличие поддержки виртуальной машины XP под Windows 7.
64 бита
Статья раскрывает смысл термина «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.
1994: Intel объявляет о своих планах по разработке 64-битной архитектуры IA-64 (совместно с компанией Hewlett-Packard) — преемника их 32-битных процессоров IA-32. Дата выпуска назначена на 1998-1999 годы. SGI выпускает IRIX 6.0 с 64-битной поддержкой чипсета R8000.
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-битные системы
Архитектура 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-битном режиме должны кодироваться в более общей, двухбайтовой форме.
16 целочисленных 64-битных регистра общего назначения (RAX, RBX, RCX, RDX, RBP, RSI, RDI, RSP, R8 — R15),
8 80-битных регистров с плавающей точкой (ST0 — ST7),
8 64-битных регистров Multimedia Extensions (MM0 — MM7, имеют общее пространство с регистрами ST0 — ST7),
16 128-битных регистров SSE (XMM0 — XMM15),
64-битный указатель RIP и 64-битный регистр флагов RFLAGS.
Необходимость 64-битной архитектуры определяется приложениями, которым необходимо большое адресное пространство. В первую очередь это высокопроизводительные серверы, системы управления базами данных, САПР и, конечно, игры. Такие приложения получат существенные преимущества от 64-битного адресного пространства и увеличения количества регистров. Малое количество регистров, доступное в устаревшей x86 архитектуре, ограничивает производительность в вычислительных задачах. Увеличенное количество регистров обеспечивает достаточную производительность для многих приложений.
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.
WoW64 на архитектуре Intel 64 (AMD64 / x64) не требует эмуляции инструкций. Здесь подсистема WoW64 эмулирует только 32-битное окружение, за счет дополнительной прослойки между 32-битным приложением и 64-битным Windows API. Где-то эта прослойка тонкая, где-то не очень. Для средней программы потери в производительности из-за наличия такой прослойки составят около 2%. Для некоторых программ это значение может быть больше. Два процента это немного, но следует учитывать, что 32-битные приложения работают немного медленнее под управлением 64-битной операционной системы Windows, чем в 32-битной среде.
Компиляция 64-битного кода не только исключает необходимость в WoW64, но и дает дополнительный прирост производительности. Это связано с архитектурными изменениями в микропроцессоре, такими как увеличение количества регистров общего назначения. Для средней программы можно ожидать в пределах 5-15% прироста производительности от простой перекомпиляции.
Из-за наличия прослойки WoW64 32-битные программы работают менее эффективно в 64-битной среде, чем в 32-битной. Но все-таки, простые 32-битные приложения могут получить одно преимущество от их запуска в 64-битной среде. Вы, наверное, знаете, что программа, собранная с ключом /LARGEADDRESSAWARE:YES может выделять до 3-х гигабайт памяти, если 32-битная операционная система Windows запущена с ключом /3gb. Так вот, эта же 32-битная программа, запущенная на 64-битной системе, может выделить почти 4 GB памяти (на практике около 3.5 GB).
Подсистема 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Гб.
Разница в соглашениях о вызове приводит к тому, что в одной программе нельзя использовать и 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-битнми технологиями.
32-разрядная и 64-разрядная версия Windows: вопросы и ответы
Ответы на распространенные вопросы о 32-разрядной и 64-разрядной версиях Windows.
Чтобы выполнить обновление с 32-разрядной до 64-разрядной версии Windows, требуется переформатировать жесткий диск, установить 64-разрядную версию Windows, а затем переустановить все программы, которые были установлены на вашем устройстве.
Windows 10 и Windows 8.1
Справа, в разделе Характеристики устройства, посмотрите, какой Тип системы указан.
Windows 7
Нажмите кнопку » Пуск » , щелкните правой кнопкой мыши компьютери выберите пункт Свойства.
В разделе Система посмотрите, какой тип системы указан.
Чтобы установить 64-разрядную версию Windows, вам понадобится ЦП, который может работать с 64-разрядной версией Windows. Преимущества использования 64-разрядной операционной системы особенно очевидны при работе с большими объемами оперативной памяти (ОЗУ), например 4 ГБ и более. В таких случаях 64-разрядная операционная система обрабатывает большие объемы памяти более эффективно, чем 32-разрядная система. 64-разрядная операционная система работает быстрее при одновременном запуске нескольких программ и частом переключении между ними.
Для работы с 64-разрядной версией Windows на компьютере должен быть установлен процессор с тактовой частотой 64 бит. Чтобы узнать, поддерживает ли ваш процессор 64-разрядный, выполните указанные ниже действия.
Windows 10 и Windows 8.1
Справа, в разделе Характеристики устройства, посмотрите, какой Тип системы указан.
Windows 7
Выберите Отображение и печать подробных сведений о производительности компьютера и системе.
В разделе Система можно узнать тип работающей операционной системы (в разделе Тип системы), а также возможность работы 64-разрядной версии Windows (в разделе 64-разрядная поддержка). (Если на компьютере уже работает 64-разрядная версия Windows, то поле 64-разрядная поддержка не отображается.)