32- или 64-битная windows: какая разница и какую систему нужно устанавливать?
Содержание:
- Просмотр разрядности системы в Windows
- 64-битные операционные системы
- Примечания
- Шаг пятый. Компиляция приложения
- Дополнительные рекомендации
- Как определить разрядность компьютера
- Разработка 64-битных приложений
- Чем отличаются x32, x64 и x86 операционные системы Windows?
- Прикладное программирование и 64-битные системы
- В 64-битной Windows программы работают быстрее
- Кое-что о 32-х и 64-битных процессорах
- История 64-битных процессоров
- Накладные расходы
- Послесловие
Просмотр разрядности системы в Windows
Самый простой способ узнать разрядность процессора на компьютере с установленной ОС Windows: нажать правой кнопкой мыши по иконке Мой компьютер на рабочем столе и перейти в Свойства. Откроется вкладка «Система» (как на скриншоте выше), где будет указана разрядность процессора.
Открыть эту же вкладку можно через меню Пуск -> Панель управления -> Показать все элементы панели управления -> Система. Процессор может быть одноядерным (x32) или двухядерным (x64). Часто встречающаяся надпись x86 не имеет отношения к разрядности и относится к обозначению архитектуры процессора.
Windows XP
Морально и технически устаревшая Windows XP все еще активно используется по всему миру благодаря простоте и легкости системы. Использование 32-битной (x32 или x86) версии системы ограничивает максимально возможное количество ОЗУ до 4 гигабайт — этого недостаточно для новых приложений. 64-битная архитектура ускоряет работу и позволяет устанавливать в разы больше оперативной памяти (до 32ГБ).
Первый способ проверки:
- Открыть меню Пуск, нажать Выполнить.
- В открывшемся окне ввести sysdm.cpl и нажать Ок или Enter.
- Открыть вкладку Общее и просмотреть сведения о системе.
Далее возможны два варианта:
- Если в названии ОС в разделе Система не указана разрядность, например Версия Windows XP Professional, значит это 32-битная система. Год выпуска значения не имеет.
- В противном случае, в названии сборки будет сразу написана разрядность. Например, Версия Windows XP Professional x64 Edition. Год выпуска сборки значения не имеет.
Второй способ проверки:
- Нажать Пуск ->Выполнить.
- В появившемся окне ввести winmsd.exe, нажать ОК или Enter.
- В разделе Сводные сведения о системе найти пункт Процессор.
- Если процессор начинается с x86, значит установлена 32-битная версия Windows XP.
- Если значение называется IA-64 или AMD64, значит процессор 64-битный.
На данный момент 64-битные версии Windows работают только с процессорами Itanium и AMD64. 64-битные процессоры без проблем запустят программы, рассчитанные на 32-битную архитектуру, но наоборот не получится.
Windows 7 и Vista
В Windows 7 и Vista, как и в XP, есть два стандартных способа просмотреть разрядность системы. Первый — окно «Система» в панели управления, второй — информация в окне «Сведения о системе».
Просмотр через Панель управления:
- Открыть Пуск, в окне «Начать поиск» ввести Система.
- В появившемся списке Программы выбрать Система.
- В открывшемся окне найти Тип системы. Будет написано «32-разрядная операционная система» или «64-разрядная операционная система».
Просмотр через Сведения о системе:
- Нажать кнопку Пуск, в поле «Начать поиск» ввести Система.
- В разделе «Программы» перейти в раздел Сведения о системе.
- Если в разделе Тип системы указано x64-based PC, то система 64-битная.
- Если же под заголовком Элемент указано x86-based PC, то система 32-битная.
Windows 8 и 10
В последних версиях операционной системы Windows (8 и 10) проверка разрядности процессора выполняется стандартными способами: через сведения о системе и через Панель управления. Если ни один из этих способов не помог, всегда можно воспользоваться консольными командами, актуальными даже для Windows Server 2003.
Способ 1:
- Нажать кнопку Поиск. Для сенсорных устройств — провести пальцем от правой части экрана по направлению к центру и нажать Поиск.
- В строке поиска ввести запрос система, среди предложенных вариантов выбрать Параметры.
- Щелкнуть мышью или коснуться элемента Система.
- Под заголовком Система будет написано, 32-битная или 64-битная Windows 8/10 установлена на устройство.
Способ 2:
- Отрыть Поиск, в строке поиска ввести запрос сведения о системе.
- Выбрать элемент Система, затем Сведения о системе ->Сводные сведения о системе.
- В поле «Тип системы» будет указано: Компьютер на базе x64 или Компьютер на базе x86.
Надпись «Компьютер на базе x64» означает установленную 64-разрядную ОС. Надпись «Компьютер на базе x86» означает 32-битную ОС.
Windows Server 2003
Windows Server 2003 также имеет два стандартных способа просмотра разрядности системы (процессора): в свойствах системы в Панели управления и просмотр окна Сведения о системе.
Способ 1:
- Нажать Пуск ->Выполнить.
- В окне ввести sysdm.cpl, нажать ОК или Enter.
- В открывшемся окне перейти на вкладку Общее.
- Если в разделе Система написано Windows Server 2003 Enterprise x64 Edition, то ОС 64-битная.
- Если в разделе Система написано Windows Server 2003 Enterprise Edition, то система 32-битная.
64-битные операционные системы
Практически все современные операционные системы сейчас имеют версии для архитектуры Intel 64. Например, Microsoft предоставляет Windows XP x64. Крупнейшие разработчики UNIX систем также поставляют 64-битные версии, как, например, Linux Debian 3.5 x86-64. Однако это не означает, что весь код такой системы является полностью 64-битным. Часть кода ОС и многие приложения вполне могут оставаться 32-битными, так как Intel 64 обеспечивает обратную совместимость. Так, 64-битная версия Windows использует специальный режим WoW64 (Windows-on-Windows 64), который транслирует вызовы 32-битных приложений к ресурсам 64-битной операционной системы.
Примечания
- Joe Heinrich: «MIPS R4000 Microprocessor User’s Manual, Second Edition», 1994, MIPS Technologies, Inc.
- Richard L. Sites: «Alpha AXP Architecture», Digital Technical Journal, Volume 4, Number 4, 1992, Digital Equipment Corporation.
- Linley Gwennap: «UltraSparc Unleashes SPARC Performance», Microprocessor Report, Volume 8, Number 13, 3 October 1994, MicroDesign Resources.
- J. W. Bishop, et al.: «PowerPC AS A10 64-bit RISC microprocessor», IBM Journal of Research and Development, Volume 40, Number 4, July 1996, IBM Corporation.
- Linley Gwennap: «PA-8000 Combines Complexity and Speed», Microprocessor Report, Volume 8, Number 15, 14 November 1994, MicroDesign Resources.
- F. P. O’Connell and S. W. White: «POWER3: The next generation of PowerPC processors», IBM Journal of Research and Development, Volume 44, Number 6, November 2000, IBM Corporation.
Шаг пятый. Компиляция приложения
http://www.viva64.com/links/64-bit-development/
Тип | Размерностьтипа наплатформеx32 / x64 | Примечание |
int | 32 / 32 | Базовый тип. На 64-битных системах остался 32-битным. |
long | 32 / 32 | Базовый тип. На 64-битных Windows системах остался 32-битным. Учтите, что в 64-битных Linux системах этот тип был расширен до 64-бит. Не забывайте об этом если разрабатываете код, который должен работать компилироваться для Windows и для Linux систем. |
size_t | 32 / 64 | Базовый беззнаковый тип. Размер типа выбирается таким образом, чтобы в него можно было записать максимальный размер теоретически возможного массива. В тип size_t может быть безопасно помещен указатель (исключение составляют указатели на функции классов, но это особенный случай). |
ptrdiff_t | 32 / 64 | Аналогичен типу size_t, но является знаковым. Результат выражения, где один указатель вычитается из другого (ptr1-ptr2), как раз будет иметь тип ptrdiff_t. |
Указатель | 32 / 64 | Размер указателя напрямую зависит от разрядности платформы. Будьте аккуратны при приведении укзателей к другим типам. |
__int64 | 64 / 64 | Знаковый 64-битный тип. |
DWORD | 32 / 32 | 32-битный беззнаковый тип. Объявлен в WinDef.h как:typedef unsigned long DWORD; |
DWORDLONG | 64 / 64 | 64-битный беззнаковый тип. Объявлен в WinNT.h как:typedef ULONGLONG DWORDLONG; |
DWORD_PTR | 32 / 64 | Беззнаковый тип, в который можно помещать указатель. Объявлен в BaseTsd.h как:typedef ULONG_PTR DWORD_PTR; |
DWORD32 | 32 / 32 | 32-битный беззнаковый тип. Объявлен в BaseTsd.h как:typedef unsigned int DWORD32; |
DWORD64 | 64 / 64 | 64-битный беззнаковый тип. Объявлен в BaseTsd.h как:typedef unsigned __int64 DWORD64; |
HALF_PTR | 16 / 32 | Половина указателя. Объявлен в Basetsd.h как:#ifdef _WIN64 typedef int HALF_PTR;#else typedef short HALF_PTR;#endif |
INT_PTR | 32 / 64 | Знаковый тип, в который можно помещать указатель. Объявлен в BaseTsd.h как:#if defined(_WIN64) typedef __int64 INT_PTR; #else typedef int INT_PTR;#endif |
LONG | 32 / 32 | Знаковый тип, который остался 32-битным. Поэтому во многих случаях теперь следует использовать LONG_PTR. Объявлен в WinNT.h как:typedef long LONG; |
LONG_PTR | 32 / 64 | Знаковый тип, в который можно помещать указатель. Объявлен в BaseTsd.h как:#if defined(_WIN64) typedef __int64 LONG_PTR; #else typedef long LONG_PTR;#endif |
LPARAM | 32 / 64 | Параметр для посылки сообщений. Объявлен в WinNT.h как:typedef LONG_PTR LPARAM; |
SIZE_T | 32 / 64 | Аналог типа size_t. Объявлен в BaseTsd.h как:typedef ULONG_PTR SIZE_T; |
SSIZE_T | 32 / 64 | Аналог типа ptrdiff_t. Объявлен в BaseTsd.h как:typedef LONG_PTR SSIZE_T; |
ULONG_PTR | 32 / 64 | Беззнаковый тип, в который можно помещать указатель. Объявлен в BaseTsd.h как:#if defined(_WIN64) typedef unsigned __int64 ULONG_PTR;#else typedef unsigned long ULONG_PTR;#endif |
WORD | 16 / 16 | Беззнаковый 16-битный тип. Объявлен в WinDef.h как:typedef unsigned short WORD; |
WPARAM | 32 / 64 | Параметр для посылки сообщений. Объявлен в WinDef.h как:typedef UINT_PTR WPARAM; |
Таблица N3. Типы представляющие интерес при переносе 32-битных программ на 64-битые Windows системы.
Дополнительные рекомендации
Реестр и перенаправление файлов
Подсистема WOW64 изолирует 32-битные файлы от 64-битных файлов, перенаправляя вызовы реестра и некоторые вызовы файловой системы. Подсистема WOW64 изолирует двоичные данные, чтобы предотвратить случайный доступ 32-битного двоичного файла к данным из 64-битного двоичного файла. Например, 32-битный двоичный файл, который запускает DLL-файл из папки %systemroot%\System32, может случайно попытаться получить доступ к 64-битным DLL-файлу, несовместимым с 32-битным двоичным файлом. Чтобы предотвратить это, подсистема WOW64 перенаправляет доступ из папки %systemroot%\System32 в папку %systemroot%\SysWOW64. Это перенаправление предотвращает ошибки совместимости, так как требует, чтобы DLL-файл был специально разработан для работы с 32-битными программами.
Дополнительные сведения о файловой системе и перенаправлении реестра см. в разделе «Запуск 32-битных приложений» в разделе 64-bit Windows документации microsoft Platform SDK. Чтобы просмотреть этот документ, посетите следующий веб-сайт Майкрософт: запуск 32-битных приложений
Подсистема WOW64 перенаправляет 32-битные двоичные вызовы без внесения изменений в 32-битные двоичные файлы. Однако это перенаправление может быть подтверждено при выполнении некоторых задач. Например, если ввести сценарий командной строки в 64-битной командной строке, командная строка не сможет получить доступ к 32-битным программам в папке Program Files. Подсистема WOW64 перенаправляет и устанавливает 32-битные программы в папку Program Files (x86). Чтобы получить доступ к нужной папке, необходимо изменить сценарий командной строки. Кроме того, необходимо ввести сценарий командной строки в 32-битной командной строке. 32-битная командная подсказка автоматически перенаправляет вызовы файловой системы в правильный 32-битный каталог.
Чтобы запустить 32-битную командную подсказку, выполните следующие действия.
Нажмите кнопку «Начните», нажмите кнопку»Выполнить», введите %windir%\SysWoW64\cmd.exe и нажмите кнопку «ОК».
Проверка версии
Некоторые 32-битные программы проверяют сведения о версии операционной системы. Многие 32-битные программы, которые выполняют эту проверку, не распознают 64-х версий Windows как совместимые операционные системы. При таком поведении 32-битная программа генерирует ошибку проверки версии, а затем закрывается. В таком случае обратитесь к производителю 32-битной программы за обновлением, совместимым с 64-ми версиями Windows.
Microsoft .NET Framework
Программа, скомпилданная с помощью Microsoft .NET Framework, будет запускаться как 32-битная программа в подсистеме WOW64, если сбылись следующие условия:
- В сведениях о загоне программы задается бит ILONLY.
- Программа была скомпилироваться с помощью Microsoft .NET Framework 1.1. Если в сведениях о загородных полях программы нет бита ILONLY или если программа была скомпилна с помощью Microsoft .NET Framework версии 2.0, программа будет запускаться в качестве 64-битной программы.
OpenGL
В версии Windows на основе x64 не включен графический драйвер OpenGL. Обратитесь к производителю устройства за драйвером, совместимым с 64-ми версиями Windows.
Консоль управления (MMC)
В 64-х версиях Windows для запуска различных оснастки используется 64-битная версия консоли управления (MMC). Однако иногда может потребоваться, чтобы 32-битная версия MMC запускала оснастки в подсистеме WOW64. Дополнительные сведения о поведении MMC в 64-х версиях Windows см. в разделе «Запуск 32- и 64-битных оснасток в 64-битных windows» в разделе «Использование MMC 2.0» документации по Microsoft Platform SDK. Чтобы просмотреть этот документ, посетите следующий веб-сайт Майкрософт: запуск 32- и 64-битных оснастки в 64-bit Windows
Как определить разрядность компьютера
Способы определения разрядности компьютера
Первый способ
Одним из способов является переход в меню BIOS компьютера. На разных машинах для этого могут быть свои клавиши, используемые в начале загрузки. Обычно подсказка для перехода в меню BIOS находится внизу экрана и у пользователя есть некоторое время чтобы войти туда, т.е. успеть нажать требуемую клавишу. Если пользователь ничего не предпринимает, загрузка продолжается, как обычно.
- Включите питание компьютера.
-
Дождитесь появления диагностики POST. Здесь уже во второй строке видно, какой именно процессор установлен: Pentium Dual-Core E5200.
- Но этот экран довольно быстро исчезает, так что можно пойти дальше и войти в BIOS. Нажмите клавишу «DEL».
-
В начальном меню BIOS выберите «Standard CMOS Features».
-
В меню «Standard CMOS Features» выберите пункт «System Information».
-
Появятся самые важные сведения о конфигурации оборудования, и там обязательно будет указан процессор.
Таким образом можно однозначно узнать марку процессора. Правда, здесь не указана его разрядность, но так как процессор у нас однозначно идентифицирован, то найти его разрядность очень легко в поисковых системах интернета.
Второй способ
При загруженной системе нужно обратиться к ее свойствам. Для этого нужно сделать следующее:
-
Войдите в меню «Пуск».
-
Выберите «Компьютер».
-
Внизу будут сведения о процессоре. Если они отображаются не полностью, наведите мышь на надпись. Появится всплывающая подсказка, в которой будет полностью указан тип процессора.
Третий способ
Для определения установленного процессора можно использовать командную строку.
-
Войдите в меню «Пуск».
-
Найдите приложение cmd.exe в папке (подменю) «Стандартные». Или можно проступить еще проще и написать в текстовом поле «cmd».
-
В появившемся консольном окне наберите имя команды: «systeminfo» и нажмите «Enter».
-
В результатах, выданных программой «systeminfo», обязательно будет указан тип процессора (а заодно и тип операционной системы).
Разработка 64-битных приложений
Урок 01. Что такое 64-битные системы.
Урок 02. Поддержка 32-битных приложений.
Урок 03. Перенос кода на 64-битные системы. За и против.
Урок 04. Создание 64-битной конфигурации.
Урок 05. Сборка 64-битного приложения.
Урок 06. Ошибки в 64-битном коде.
Урок 07. Проблемы выявления 64-битных ошибок.
Урок 08. Статический анализ для выявления 64-битных ошибок.
Урок 09. Паттерн 01. Магические числа.
Урок 10. Паттерн 02. Функции с переменным количеством аргументов.
Урок 11. Паттерн 03. Операции сдвига.
Урок 12. Паттерн 04. Виртуальные функции.
Урок 13. Паттерн 05. Адресная арифметика.
Урок 14. Паттерн 06. Изменение типа массива.
Урок 15. Паттерн 07. Упаковка указателей.
Урок 16. Паттерн 08. Memsize-типы в объединениях.
Урок 17. Паттерн 09. Смешанная арифметика.
Урок 18. Паттерн 10. Хранение в double целочисленных значений.
Урок 19. Паттерн 11. Сериализация и обмен данными.
Урок 20. Паттерн 12. Исключения.
Урок 21. Паттерн 13. Выравнивание данных.
Урок 22. Паттерн 14. Перегруженные функции.
Урок 23. Паттерн 15. Рост размеров структур.
Урок 24. Фантомные ошибки.
Урок 25. Практическое знакомство с паттернами 64-битных ошибок.
Урок 26. Оптимизация 64-битных программ.
Урок 27. Особенности создания инсталляторов для 64-битного окружения.
Урок 28. Оценка стоимости процесса 64-битной миграции Си/Си++ приложений.
Авторами курса являются сотрудники компании «СиПроВер», занимающейся разработкой статического анализатора кода Viva64 для выявления ошибок в 64-битных программа. На сайте компании можно найти множество других ресурсов, посвященных разработке новых 64-битных приложений и миграции 32-битных приложений на 64-битные системы. В качестве примера можно привести раздел с обзорами статей по тематике связанной с 64-битнми технологиями.
Чем отличаются x32, x64 и x86 операционные системы Windows?
Базовые версии операционной системы Windows разрабатывались давно, и с релизом новых вариантов программного обеспечения от компании Microsoft, они лишь дорабатывались. По сути 32-битный (32-разрядные) операционные системы уже отошли в прошлое, и они используются редко, только в тех случаях, когда «железо» компьютера не поддерживает 64-битный Windows.
Сами по себе биты в отношении операционной системы Windows – это способ обработки информации центральным процессором компьютера. В качестве обрабатываемой информации используется оперативная память, и 32-битный Windows способен работать не более чем с 3,5 Гб оперативной памяти, тогда как на 64-битном данный лимит находится на уровне около 200 Гб. С развитием мощности программ и их требовательности к оперативной памяти, компьютеры начали повально переходить на 64-разрядную операционную систему.
Главным минусом 64-разрядной системы является ее требовательность к центральному процессору компьютера. Если в PC установлен 32-разрядный центральный процессор, он никоим образом не сможет работать с 64-разрядной версией операционной системы, то есть им не предусмотрена поддержка более чем 3,5 Гб оперативной памяти.
Многих пользователей компьютера, которые выбирают при установке Windows разрядность операционной системы, вводит в заблуждение отсутствие версии на 32 бита. Связано это с тем, что 32-битная версия Windows для 64-битного процессора обозначается как x86, а не x32. Разобраться, с чем это связано, можно только в том случае, если изучить процессы взаимодействия операционной системы с компьютерным «железом». Пользователю же надо просто запомнить, что 32-битная и 86-битная операционные системы практически ничем не отличаются, и с объемом оперативной памяти более 3,5 Гб справляется только 64-разрядная версия ПО.
Прикладное программирование и 64-битные системы
На момент написания статьи в 2010 году, наиболее известными и распространенными являются две 64-битные архитектуры микропроцессоров: IA64 и Intel 64.
Важно понимать, что IA-64 и Intel 64 (AMD64) это совершенно разные, несовместимые друг с другом, микропроцессорные архитектуры. Далее в статье мы будем рассматривать только архитектуру Intel 64 (x64 / AMD64), как более популярную среди разработчиков прикладного программного обеспечения для операционной системы Windows
Для краткости программную модель Intel 64, доступную программисту в 64-битной системе Windows, называют Win64.
В 64-битной Windows программы работают быстрее
Некоторые 64-битные программы были всего лишь преобразованы («портированы») для применения в 64-битной Windows, но по сути остались 32-битными. Например, хотя они и имеют 64-битные структуры данных, однако хранят в них по-прежнему 32 бита данных. Подобные программы, как правило, не в состоянии работать быстрее.
64-битные программы реализуют свои преимущества, лишь если с самого начала разрабатывались и оптимизировались для применения в 64-битных Windows. В тесте ComputerBild такие программы в среднем работали на 13% быстрее 32-битных «собратьев».
Старое 32-битное ПО в 64-битной Windows работает даже медленнее, чем в 32-битной системе; причина – преобразование подсистемой WoW64.
Кое-что о 32-х и 64-битных процессорах
Процессор или ЦП содержит регистры и логические схемы. Он также называется мозгом компьютера. Размер регистра процессора — 32-бит в 32-битном ЦП и аналогичный в 64-битном:
- количество значений, которое ЦП хранит в регистрах, равно 2 32. Эти значения используются для сопоставления адреса ячеек памяти, присутствующих в физической памяти. Итак, 2 32 = 4 гигабайта — это объем оперативки, к которой может получить доступ 32-битный процессор;
- 64-битный регистр хранит значения 2 64. Они соответствуют 16 ЕБ (ексабайтам) ОП. В сравнении с 4 ГБ памяти это намного больше.
Более того, 32-разрядный процессор может обрабатывать 4 байта данных за один цикл, поскольку 8 бит равны 1 байту. Таким образом, если размер обрабатываемых данных превышает 4 байта, для перехода к оставшимся данным ЦП должен начать другой цикл.
Параметры Win 32 и Win 64
В случае 64-битной версии все данные, если их меньше 8 байт, могут обрабатываться за один раз. Даже если их больше, процесс обработки не займет много времени. Вы не увидите особой разницы при повседневном использовании устройства, только если привыкли запускать несколько крупных приложений одновременно.
Загрузка 32 и 64 битных процессоров при запуске браузеров
В настоящее время 32-разрядные процессоры почти устарели. Даже 10 или 12-летний компьютер на 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-битные машинные коды.
- 1983
- Elxsi выпустила параллельный минисуперкомпьютер Elxsi 6400, имеющий 64-битные регистры данных и 32-битную систему адресации.
- 1989
- Intel выпустила RISC-процессор Intel i860. Хотя в рекламных материалах он назывался «64-битным микропроцессором», у него была 32-разрядная архитектура, дополненная блоком «3D Graphics Unit» с 64-битными операциями над целыми числами.
- 1991
- MIPS выпустила первый 64-разрядный микропроцессор R4000 с системой команд MIPS III. Процессор использовался в графических станциях SGI, начиная с IRIS Crimson. В Kendall Square Research создают суперкомпьютер KSR1 на базе 64-разрядных процессоров. Использовалась операционная система OSF/1.
- 1992
- Digital Equipment Corporation (DEC) начал выпуск 64-разрядных процессоров Alpha, развившихся из проекта PRISM.
- 1994
- Intel объявляет о планах по созданию совместно с Hewlett-Packard 64-разрядной архитектуры IA-64 для замены IA-32 и PA-RISC. Датой выхода обозначен 1998—1999 года.
- 1995
- Sun начинает выпуск 64-разрядных процессоров SPARC под брендом UltraSPARC. Новая архитектура получает название SPARC v9.. IBM выпускает процессоры PowerPC AS A10 и A30, являющиеся 64-разрядными процессорами архитектуры PowerPC AS. IBM выпускает новые версии серверов AS/400 с этими новыми 64-битными процессорами PowerPC AS.
- 1996
- Nintendo представила игровую консоль Nintendo 64, построенную на базе дешевой версии процессора MIPS R4000. HP выпускает 64-разрядную версию архитектуры PA-RISC, процессор PA-8000.
- 1997
- IBM выпустила линейку RS64 64-разрядных процессоров PowerPC/PowerPC AS.
- 1998
- IBM выпустила процессор POWER3, являющийся полностью 64-разрядным процессором архитектуры PowerPC/POWER.
- 1999
- Intel публикует описание набора инструкций архитектуры IA-64. AMD раскрывает описание 64-разрядного расширения архитектуры IA-32, названного x86-64 (позже переименованного в AMD64).
- 2000
- IBM выпустила первый 64-разрядный мейнфрейм с архитектурой z/Architecture: zSeries z900. z/Architecture является 64-разрядным развитием 32-разрядной архитектуры ESA/390, наследника архитектуры System/360.
- 2001
- Intel начинает поставки процессоров IA-64 после нескольких задержек. Процессоры выпускаются под брендом Itanium и предназначаются для high-end серверов. Продажи не достигают прогнозируемых объёмов.
- 2003
- AMD представила процессоры Opteron и Athlon 64 с архитектурой AMD64. Apple выпустила 64-разрядный компьютер «G5» с процессором PowerPC 970 (IBM). Intel заявила, что не собирается выпускать иных 64-разрядных процессоров, кроме Itanium.
- 2004
- Реагируя на рыночный успех AMD64, Intel заявляет о разработке совместимого расширения IA-32e (позже переименованного в EM64T, а затем в Intel 64). Intel начинает поставку обновленных Xeon и Pentium 4 с поддержкой новых 64-разрядных инструкций.
- VIA Technologies объявила о разработке 64-разрядного процессора Isaiah.
- 2006
- Альянс Sony, IBM и Toshiba начал производство 64-разрядного гибридного микропроцессора Cell для PlayStation 3, серверов и других применений.
- 2013
- Компания Apple выпускает первый в мире смартфон iPhone 5S, работающий на первом серийном 64-битном ARM-процессоре Apple A7.
Накладные расходы
Существуют различия WoW64 в зависимости от архитектуры процессора. Например, 64-битная версия Windows разработанная для процессора Intel Itanium 2 использует WoW64 для эмуляции x86 инструкций. Такая эмуляция весьма ресурсоемка по сравнению с WoW64 для архитектуры Intel 64, так как происходит переключение с 64-битного режима в режим совместимости при выполнении 32-битных программ.
WoW64 на архитектуре Intel 64 (AMD64 / x64) не требует эмуляции инструкций. Здесь подсистема WoW64 эмулирует только 32-битное окружение за счет дополнительной прослойки между 32-битным приложением и 64-битным Windows API. Где-то эта прослойка тонкая, где-то не очень. Для средней программы потери в производительности из-за наличия такой прослойки составят около 2%. Для некоторых программ это значение может быть больше. Два процента — это немного, но следует учитывать, что 32-битные приложения работают немного медленнее под управлением 64-битной операционной системы Windows, чем в 32-битной среде.
Компиляция 64-битного кода не только исключает необходимость в WoW64, но и дает дополнительный прирост производительности. Это связано с архитектурными изменениями в микропроцессоре, такими, как увеличение количества регистров общего назначения. Для средней программы можно ожидать в пределах 5-15% прироста производительности от простой перекомпиляции.
Послесловие
Что же касается перспектив развития 64-битных технологий, практически все разработчики оборудования и программного обеспечения так или иначе все равно приходят к их использованию. И кто знает, вполне возможно, что и это еще не предел, а со временем (как прогнозируется) в недалеком будущем мы увидим и 128-битные системы или даже с архитектурами выше. А это уже не за горами. Кстати сказать, очень сильно развитие таких технологий заметно по игровой индустрии. Ведь не секрет, что в свое время очень часто выпускались игры такого уровня, что для них не было даже поддержки со стороны аппаратных ресурсов.