Процессор x64 что это значит

Что значит 32 разрядная система и процессор x64

Вопрос: Что значит 32 разрядная система и процессор x64?

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

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

Здесь мы постараемся ответить на данные вопросы. Но вначале несколько важных определений:

Что значит: система x32 процессор x64

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

Поэтому чем больше разрядность используемого процессора и чем больше его частота – тем больше информации он может обработать.

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

Программы x32 тоже работают в системах x64, на 64-битных центральных процессорах. Но совместимости в другую сторону уже нет. Включить 64-битную утилиту в ОС x32 или на центральном процессоре x32 не получиться.

Где-то примерно с 2003 года, все центральные процессоры стали полностью поддерживать разрядность x64. Что стало причиной этого? Все дело в большом минусе x32, а именно ограничении работы с ОЗУ. Данная система позволяет использовать максимум 3,2 Гб ОЗУ.

Как понять процессор x64 и 32 разрядная операционная система

Например, на компьютере установлен процессор x64, но установлена 32-битная ОС. Последний фактор не дает возможности использовать разнообразные утилиты x64.

В подобной ситуации рекомендуется просто перейти на ОС x64. Конечно же, потребуется переустановить ОС, выбрав в процессе специальный вариант x64.

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

“Система x32 и центральный процессор x64” — такая фраза говорит, что на используемом ПК работает процессор, полностью поддерживающий разрядность x64, однако ОС поддерживает только x32.

Если на ПК есть 3 Гб ОЗУ либо даже меньше, то желательно все-таки применять ОС x32. Ведь для работы она сегодня применяет гораздо меньший объем ОЗУ, нежели x64.

Если на ПК 4 Гб и более ОЗУ, потребуется непременно переустановить ОС x64, дабы в типе системы указывалось “система x64 и центральный процессор x64”. Это даст возможность применять все ОЗУ и, таким образом, увеличит производительность компьютера.

Источник

Что значит 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, так как она использует для своей работы меньший объем памяти.

Процессор x64 что это значит

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

Если же объем установленной ОЗУ от 4 ГБ и выше, то обязательно нужно переустановить систему на 64 битную, чтобы в типе системы было указано “64 разрядная система процессор x64”, так как это позволит использовать всю память и соответственно увеличит производительность.

Источник

32-разрядная операционная система процессор x64, как понять?

Процессор x64 что это значитПроцессор x64 что это значитПроцессор x64 что это значитПроцессор x64 что это значит Процессор x64 что это значит

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

Процессор x64 что это значит

32-разрядная операционная система процессор x64, как понять?

Попытаемся внести порядок и ясность в эти вопросы. Для начала несколько определений:

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

Процессор x64 что это значит

Соответствие разных операционных систем с разрядностью процессора в хронологическом порядке

Для примера взяты наиболее массовая платформа Intel (в скобках могут быть указаны другие производители) и наиболее распространенная ОС Microsoft Windows.

ГодыПроцессор(ы)Разрядность процессораОперационная системаЕсть ли 64-разрядная версия ОС?
1978-19828086, 8018616CP/M, MS DOS
19828028616MS-DOS, Windows 3.1
19858038632MS DOS, Windows 3.1/NT/95
19898048632MS DOS, Windows 3.1/NT/95/98
1993-2000Pentium32MS DOS, Windows 3.1/NT/95/98/ME/2000/Vista/XPWindows Vista/XP*
2003Athlon 64 (AMD)64Windows 2000/Vista/XP/7Windows 2000/Vista/XP/7*
2004Pentium D, Xeon64Windows 2000/Vista/XP/7Windows 2000/Vista/XP/7*
2008Intel Core64Windows 2000/Vista/XP/7/10Windows 2000/Vista/XP/7/10*

Важно! * 64-разрядные версии ОС, несовместимы с 32-разрядными процессорами

Оборудование компьютеров

Внутреннее устройство процессора (архитектура) 8086 оказалось достаточно удачным, чтобы дать еще целое семейство процессоров, последовательно улучшаемых на протяжении долгого времени. Очередная модель получила обозначение 80186, и в дальнейшем, вплоть до Pentium, третья цифра в обозначении микросхем последовательно возрастала.

Процессор x64 что это значит

Удачное внутреннее устройство процессора (архитектура) 8086, после которого стало появляться семейство улучшенных процессоров

Именно из-за способа обозначения чипов, в общем, внутренней проблемы производителя, появилось “загадочное” обозначение x86. Потребителя обычно такие вещи совершенно не интересуют. x86 – это просто собирательное имя для 186, 286, 386 и т.д. Не следует путать его с x64. Все очень просто: архитектуру 32-разрядных компьютеров называют x86, а 64-разрядных – x86-64.

До 80386 шина процессора была 16-разрядной, и это должно было учитываться при написании кода. Поскольку в программах очень часто используются 32-разрядные числа, а иногда и 64-разрядные, то 16-разрядный процессор должен был обрабатывать их “в несколько приемов” (машинных инструкций) что замедляет работу программ.

Процессор x64 что это значит

Архитектура 64-разрядных – x86-64 процессоров

С появлением 80386-го процессора производительность компьютера стала резко возрастать, по причинам, отмеченным в предыдущем абзаце. Теперь большие числа стали обрабатываться за одну машинную команду. Но не только производительность. Очень ценной оказалась возможность увеличить адресуемую память – вплоть до 4 гигабайт (хотя для приложений доступно несколько меньше, около 3). Кроме расширения регистров и шин, одновременно росла и тактовая частота процессоров, появился конвейер, суперскалярная архитектура и т.п. В эпоху 32-битных машин произошли революционные изменения в технике.

В начале 2000-х годов появились 64-разрядные процессоры. Не все они оказались удачными. Например, Intel Itanium (архитектура IA-64), при всех своих преимуществах оказался плохо совместимым со многими 32-разрядными программами, которые работали на нем еще хуже, чем на других машинах. За что получил прозвище “Итаник” (от слова Титаник) и скоро был снят с производства.

Процессор x64 что это значит

Intel Itanium (архитектура IA-64), при всех своих преимуществах оказался плохо совместимым со многими 32-разрядными программами

64-разрядные процессоры AMD (компания Advanced Micro Devices) оказались намного более практичными, так как это было очередное расширение x86, причем была достигнута очень высокая степень обратной совместимости. Это означает, что 32-разрядные программы на таких процессорах выполняются без потери скорости и при поддержке любого машинного кода.

Процессор x64 что это значит

64-разрядные процессоры AMD более практичные и имеют высокую степень обратной совместимости

Созданная AMD архитектура команд для новых процессоров получила несколько названий, означающих одно и то же:

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

Операционные системы

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

Процессор x64 что это значит

Совместимость 32-х и 64-разрядных операционных систем с 32-х и 64-битными процессорами

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

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

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

Процессор x64 что это значит

Программы имеют не только исполнительный файл, но и файлы dll, которые могут помешать работе в определенной операционной системе

В таблице ниже перечисляются некоторые различия между распространенными операционными системами используемыми на ПК.

Операционная системаРазрядность, битЯдроМинимум памяти для работыМинимум на жестком дискеЧастота процессора, минимумЧисло задачЧисло пользователейСостояние на 2018 год
CP/M8Монолитное16 Кб1-5 MHz11Историческое
86-DOS16Монолитное32 Кб4-16 MHz11Историческое
MS DOS16Монолитное64 Кб4 MHz11Историческое
Windows 3.116MS-DOS 3.1 и выше640 Кб6.5 Mb4 MHz11Историческое
Windows 9516Монолитное4 Мб50 Mb16 MHzМногозадачная1Историческое
Windows 9832Монолитное16 Мб195 Mb66 MHzМногозадачная1Историческое
Windows ME32Монолитное32 Mb200 Mb155 MHzМногозадачная1Историческое
Windows 200032Гибридное32 Mb2 Gb133 MHzМногозадачная1Историческое
Windows XP32, 64Гибридное64 Mb1.5 Gb233 MHzМногозадачная1Прекращена основная поддержка
Windows Vista32, 64Гибридное384 Mb20 Gb800 MHzМногозадачная1Историческое
Windows 732, 64Гибридное1 Gb/2 Gb*16 Gb/20 Gb*1 GHzМногозадачная1Прекращена основная поддержка
Windows 832, 64Гибридное1 Gb/2 Gb*16 Gb/20 Gb*1 GHzМногозадачная1Не поддерживается
Windows 1032, 64Гибридное1 Gb/2 Gb*16 Gb/20 Gb*1 GHzМногозадачная1Поддерживается

На заметку! * – слеш (/) разделяет платформы x86 (32 бит) и x86-64 (64 бит).

Как определить разрядность компьютера

Узнайте особенности и недостатки систем в статье — «Чем отличается 32-битная система от 64-битной Windows».

Процессор x64 что это значит

Способы определения разрядности компьютера

Первый способ

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

Процессор x64 что это значит

Во время диагностики POST во второй строке можно увидеть данные процессора, по которым можно узнать разрядность компьютера

Процессор x64 что это значит

Выбираем пункт «Standard CMOS Features», открываем его нажав клавишу «Enter»

На заметку! Выбирать пункты всех меню можно клавишами со стрелками, а для подтверждения выбора используйте «Enter» (как и подсказывается в нижней части экрана).

Процессор x64 что это значит

Выбираем пункт «System Information», нажимаем «Enter»

Процессор x64 что это значит

В открывшемся окне мы увидим важные сведения о конфигурации оборудования, в первой строке будет указан процессор

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

Второй способ

При загруженной системе нужно обратиться к ее свойствам. Для этого нужно сделать следующее:

Процессор x64 что это значит

Открываем меню «Пуск»

Процессор x64 что это значит

Процессор x64 что это значит

Внизу, наведя курсор мыши на пункт «Процессор», мы увидим полные сведения о типе процессора

Третий способ

Для определения установленного процессора можно использовать командную строку.

Процессор x64 что это значит

Открываем меню «Пуск»

Процессор x64 что это значит

Вводим в текстовом поле «cmd», открываем приложение

Процессор x64 что это значит

В поле вводим команду «systeminfo», нажимаем «Enter»

Процессор x64 что это значит

В пунктах «Тип системы» и «Процессоры» находим соответствующую информацию

Как определить разрядность операционной системы

Один из способов уже показан выше, это третий способ с командой «systeminfo». Для тех, кто не любит иметь дело с «Командной строкой», есть еще один способ:

Процессор x64 что это значит

Открываем меню «Пуск»

Процессор x64 что это значит

Процессор x64 что это значит

Щелкаем по подпункту «Свойства системы»

Процессор x64 что это значит

В пункте «Тип системы» находим разрядность своей операционной системы

Читайте подробную информацию в новой статье — «Как узнать битность системы Windows 7».

Ответы на частые вопросы

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

ВопросОтвет
Какой процессор x86?Любой 32-разрядный, совместимый с ПК
Нужны ли 64-разрядные драйверы для устройств при работе в 64-разрядной версии Windows?Обязательно. Драйверы устанавливаются в соответствии с выбранной операционной системой
Как сменить разрядность операционной системы?Никак. Только переустановкой. Предварительно необходимо сохранить все важные данные
32 или 64 бит: какую ставить систему и как определить?Если процессор 32-разрядный, то можно ставить только 32-разрядную версию ОС. Если процессор 64-бит, то следует руководствоваться всеми остальными системными требованиями
Почему следует устанавливать 64-битную версию операционной системы?Если ваш компьютер достаточно современный (не старше 7-8 лет) то он обязательно поддерживает 64-разрядные системы, и именно этот вариант раскрывает все возможности данного компьютера полностью
Какая «семерка» лучше — 32-х или 64-х разряднаяЗдесь скорее нужно говорить о «железе», если компьютер достаточно новый, то лучше, конечно-же 64-разрядная
Можно ли запускать 32-разрядные программы и драйвера на 64-разрядном компьютере?В подавляющем большинстве случаев можно, если используется архитектура amd64 (она же x86-64). Кроме того, в Windows 7, например, имеется режим эмуляции Windows XP, который дает дополнительные возможности для этого. Однако есть случаи несовместимости и придется использовать 64-разрядные версии таких приложений
Какие недостатки есть у 64 битной Windows?Повышенные требования к памяти, и больше места на диске. Но это является проблемой только для старых компьютеров

Видео — Выбор между 32-разрядными и 64-разрядными версиями Windows

Источник

64 бита

Процессор x64 что это значит
Статья раскрывает смысл термина «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-битнми технологиями.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *