Разрядности процессоров и операционных систем

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

Запуск программ

Многие ПК продаются с многоядерными процессорами, а все разрабатываются на 64 битной платформе. На современных компьютерах возможен запуск программ, работающих на 32 и 64 битной платформе. Для слабых ПК выпускаются 32 битные (или x86) версии операционных систем. С 32 битной ОС невозможен запуск программ, разработанных на 64 битной архитектуре.

Быстродействие программ

Какая система – такие и программы. Если версия Windows 10 – 64 bit, то ставьте на неё x64 программы — они будут работать быстрее, а нагрузка на центральный процессор будет умеренно распределена по всем ядрам. Запуская x86 программы на компьютере с x64 – вы ограничиваете количество используемых ядер процессора для приложения, значительно уменьшая производительность программ.

Иерархия директорий с программами

Каково назначение папки Program Files (x86) на диске С?

Вопрос возникает довольно часто. По факту наличия этой папки уже можно сказать, что операционная система 64 битная. Папка x86 предназначена для установки в неё 32-ух битных программ, а основная папка Program Files для 64 битных.

Объём максимально доступной оперативной памяти

До появления многоядерных процессоров, максимально-возможный запас RAM памяти — составлял 4 Гб. С переходом на x64 архитектуру, предел значительно вырос, настолько значительно, что вообразить такое количество информации почти невозможно – 16 Эксабайт (16 000 000 000 000 Гб). Из внешних модулей, которые в сумме дают такой объём памяти, можно было бы построить Эйфелеву башню.

Частая путаница

У меня x86 – это больше чем x64. В данном случае больше не значит лучше. Обозначение архитектуры x86 получено от наименования первого процессора intel i8086, и это не более чем обозначение 32-х битной версии для одноядерных процессоров и ограниченным запасом оперативной памяти.

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

Как сделать выбор

Становится ясно, что в современных реалиях вопрос выбора между 64 и 86-разрядной операционной системой нужно решать исходя из объёма оперативной памяти, используемого в ПК. Не будем вдаваться в сложные и ненужные обычному пользователю расчёты и скажем сразу – 86-разрядная система не способна взаимодействовать с объёмом ОЗУ, превышающим 4 Гб. Это означает, что вся остальная оперативная память окажется незадействованной.

64-разрядная архитектура, несомненно, также имеет свои пределы определения объёмов оперативной памяти, однако в настоящее время они недостижимы для обычного пользователя – система такой разрядности способна полноценно взаимодействовать со 192 Гб ОЗУ.

Итак, конечный вывод максимально прост – если объём ОЗУ в вашем ПК не превышает 4 ГБ, то выбирайте 32-битную (86-разрядную систему). Если превышает – ставьте 64-разрядную, чтобы полностью раскрыть потенциал своего компьютера.

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

Стоит ли менять шило на мыло и наоборот?

Основное и едва ли не единственное отличие x64 от x32 в том, что версия x64 может работать с памятью вплоть до 32 Гбайт и запускать одновременно и 64-битные, и 32-битные приложения, тогда как традиционная x32 способна адресовать лишь до 4 Гбайт памяти, запускать только 32-битные программы для которых доступно только 3 Гбайт (говоря проще, даже если в компьютере 4 Гбайт (и более) памяти, то 32-битная система будет отображать и работать лишь с 3-мя, а остальная память будет попросту простаивать, ибо ни система, ни программы, попросту её не увидят).

У версии x64 ситуация иная: для 32-битных приложений доступны все 4 (и более) Гбайт , а для 64-битных приложений вообще вся оперативная память, которая физически установлена в компьютере. Повторюсь, что 64-битная система может запускать и те и другие приложения, но не наоборот.

В общих чертах вот так. Остальное — куча технических и не очень подробностей, которые в общем-то не очень то нужно знать, а посему я попросту приведу некоторые итоги, которые объяснят почему стоит\не стоит (решать всё равно Вам) переходить на x64.

Как проверить «битность» Windows

Самый быстрый и простой способ узнать, работает ли у вас 32-разрядная или 64-разрядная версия Windows, – это проверить, что она говорит в панели управления.

Другой простой способ выяснить, какую архитектуру ОС вы используете в Windows, – это проверить папку Program Files. Больше информации об этом ниже.

Чтобы увидеть аппаратную архитектуру, вы можете открыть командную строку и ввести команду:

echo %PROCESSOR_ARCHITECTURE%

Вы можете получить ответ, например AMD64, что указывает, что у вас система на базе x64 или x86 для 32-битной.

Ещё одна команда:

reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE

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

PROCESSOR_ARCHITECTURE REG_SZ x86 PROCESSOR_ARCHITECTURE REG_SZ AMD64 

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

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

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

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

Большинство выпусков Windows 10, Windows 8, Windows 7 и Windows Vista доступны в 64-разрядном формате. Из выпусков Windows XP только Professional доступна в 64-разрядной версии. Все версии Windows – от XP до 10 – доступны в 32-разрядной версии.

Каждая операционная система Mac начиная с версии 10.8 (Mountain Lion) была 64-битной.

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

Что значит x64 и x86 в чем разница

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

Как узнать какая у меня разрядность системы?

В свойствах компьютера или при помощи программы Securable (_https://www.grc.com/securable.htm), также с помощью нее можно узнать поддерживает ли ваш процессор 64 разрядную операционную систему.

Какая разница и что это дает?

Шестидесяти четырех битная система может увидеть и работать с большем объемом памяти, 32 она же уже x86 устаревшая архитектура процессора работает лишь с 3 гигабайтами, до нее была 8, 16 битные системы, все мы наверно помним 8 битную Денди (не с очень то красивой графикой) и 16 битную Sega mega drive (по красочней чем на денди графикой), ну а потом уже Sony Playstation 32, тогда еще появилась Nintendo 64 но особой популярностью, 64 разрядность не пользовалась, так как на тот момент не писались в таком масштабе программы и драйвера под нее. Но на сегодняшней момент все изменилось, и производители стали активно разрабатывать приложения и драйвера, под эту систему, а почему именно сейчас?, а не тогда когда появилась Windows XP 64 не пользующаяся особой популярностью по причине отсутствия приложений и поддержки драйверов различными устройствами, а все потому что не было необходимости для обычного пользователя, так как нам хватало и той оперативной памяти с которой могла работать 32 разрядная ОС, это максимальных 3 Gb.

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

Вот я надеюсь хоть как то смог мало мальски для неопытных людей разобрать что к чему в этих цифрах. Так что можно подвести вывод, если вы офисный сотрудник и у вас кроме офисных программ больше ничего не установлено то вам вообще все равно что использовать, но лучше 32, так как у вас будет не так много папок Programm files ))), объясню все дело в в том что если вы установите себе 64 битную ОС то при установке приложений 32 битных вы получите вторую папку Programm files (x86) так как все программы хранятся отдельно по разрядности. По этому для офиса или использования в домашних условиях для не продвинутых пользователей и не геймеров я бы рекомендовал 32.

Если вы уже ПРОюзер и Игроман то 64 система это для вас, так как на сегодняшний момент играм требуется уже больше оперативной памяти чем 3 Гб, да и профессиональные программы как фотошоп или видео редакторы уже могут использовать в своих целях большой объем оперативной памяти.

Теги: windows

комментариев 7 для записи 64 разрядная windows 7 или 32 бита, x64 и x86 в чем разница?

Приложения

Что касается приложений, то, разумеется, не стоит ставить x64 приложения на систему x32 (x86). А вот что касается наоборот, то там без разницы, х64 битные системы поддерживают и те и другие приложения.

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

Собственно на этом всё

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

Только проц и ОЗУ.

Не забывайте ставить ОГОНЬ! и подписываться в нашей группе в ВКонтакте!

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

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

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

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

  • запуск старых программ на новом процессоре;
  • эмуляция, запуск в среде виртуальной машины;
  • перекомпиляция исполняемых файлов под новый процессор;
  • изменение программного кода и повторная компиляция;
  • написание программного кода “с нуля”.

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

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

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

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

Операционная система Разрядность, бит Ядро Минимум памяти для работы Минимум на жестком диске Частота процессора, минимум Число задач Число пользователей Состояние на 2018 год
CP/M 8 Монолитное 16 Кб 1-5 MHz 1 1 Историческое
86-DOS 16 Монолитное 32 Кб 4-16 MHz 1 1 Историческое
MS DOS 16 Монолитное 64 Кб 4 MHz 1 1 Историческое
Windows 3.1 16 MS-DOS 3.1 и выше 640 Кб 6.5 Mb 4 MHz 1 1 Историческое
Windows 95 16 Монолитное 4 Мб 50 Mb 16 MHz Многозадачная 1 Историческое
Windows 98 32 Монолитное 16 Мб 195 Mb 66 MHz Многозадачная 1 Историческое
Windows ME 32 Монолитное 32 Mb 200 Mb 155 MHz Многозадачная 1 Историческое
Windows 2000 32 Гибридное 32 Mb 2 Gb 133 MHz Многозадачная 1 Историческое
Windows XP 32, 64 Гибридное 64 Mb 1.5 Gb 233 MHz Многозадачная 1 Прекращена основная поддержка
Windows Vista 32, 64 Гибридное 384 Mb 20 Gb 800 MHz Многозадачная 1 Историческое
Windows 7 32, 64 Гибридное 1 Gb/2 Gb* 16 Gb/20 Gb* 1 GHz Многозадачная 1 Прекращена основная поддержка
Windows 8 32, 64 Гибридное 1 Gb/2 Gb* 16 Gb/20 Gb* 1 GHz Многозадачная 1 Не поддерживается
Windows 10 32, 64 Гибридное 1 Gb/2 Gb* 16 Gb/20 Gb* 1 GHz Многозадачная 1 Поддерживается

Работа с процессором

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

Такое может произойти при установки системы linux i686 на процессор AMD. AMD, кстати, в основном считаются процессорами под x64 битные системы. Так что если у вас процессор от AMD, то смело ставьте больше ОЗУ и накатывайте x64 систему.

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

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

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

Особенности выбора разрядности для ОС Windows

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

Например, на современные жесткие диски с разметкой GPT нельзя установить 32-битную операционную систему Windows, подходит только 64-битная ОС. Устаревшие центральные процессоры поддерживают только 32-битные системы, а в современных ЦП поддерживаются инструкции для работы в 64-битных и 32-битных системах.

В 32-битных системах определяется только до 4 ГБ оперативной памяти, даже если физически на компьютере установлен намного больший размер ОЗУ. 64-битные ОС лишены этого ограничения.

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

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

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

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

  • 32-бита; 32-bit; x86; x32 — тридцати четырех разрядная ОС.
  • 64-бита; 64-bit; x64 — шестидесяти четырех разрядная система.

Обозначения: «x86», «x32» и «32-bit» тождественны, они соответствуют 32-разрядной версии Windows.

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

Как перейти с 32 битной на 64 битную версию Windows

Есть несколько моментов, которые влияют на выбор системы, при которых предпочтителен 64-битный вариант Windows:

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

В чем отличия 32bit от 64bit-ой системы windows

Как и процессоры, операционные системы windows да и не только, тоже делятся на 32bit и 64bit. При покупке диска с операционной системой, на упаковке это присутствует в обязательном порядке. Причем на компьютер, имеющий 32-битный процессор, можно установить только 32-битную систему windows, да и вообще любую 32-битную операционную систему соответственно. А на компьютер с 64-битным процессором можно установить как 32-разрядную систему, так и 64-разрядную. Ну и вообще любые 64-разрядные системы в принципе. Просто у многих стоит windows, поэтому я ею и оперирую в статье.

Только вот 32-битные системы скажем так «видят» только 4 гигабайта оперативной памяти, даже меньше – 3.5 гигабайт. 64-битные системы видят намного больше до 192 гигабайт. Все зависит от аппаратных возможностей самой windows. Если кто-то подумает, что это вообще такое? То можете не думать. Более простой вариант пойти и посмотреть минимальные системные требования от железа, которые требует дистрибутив системы.

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

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

Вот к примеру программа adobe premiere. Предназначена для обработки видео, а для работы с видео, как мы знаем, необходимо больше оперативной памяти (ОЗУ). Поэтому программа выпущена только для 64-разрядных систем! Выпускать ее для 32-битных систем компании adobe смысла не имеет. Да, программа бы работала, но от нехватки оперативки во время непосредственной работы не по-детски тормозила бы. В общем, компания adobe сочла использование данной программы на 32-битных системах не рациональным. А теперь давайте перейдем к определению разрядности систем.

Работа с процессором

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

Такое может произойти при установки системы linux i686 на процессор AMD. AMD, кстати, в основном считаются процессорами под x64 битные системы. Так что если у вас процессор от AMD, то смело ставьте больше ОЗУ и накатывайте x64 систему.

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

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

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

Определение разрядности процессора

Существует множество способов, как определить разрядность процессора. Посмотреть информацию о ней можно либо при помощи программных средств, либо средств BIOS; в крайнем случае, можно просто увидеть маркировку ЦП и уже по ней определить, сколько же бит отводится на обработку данных. Иногда эту информацию получить совсем просто: например, если количество ядер ЦП больше одного, то этот ЦП – 64 разрядный.

Через командную строку

Один из самых эффективных способов, как определить разрядность процессора без использования дополнительных средств. Для его реализации следует запустить командную строку – открыть в меню «Пуск» пункт «Выполнить» (или нажать Win+R на клавиатуре) и в появившемся окне набрать команду «cmd»,после чего нажать «Ввод».

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

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

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

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

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

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

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

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

Как узнать разрядность процессора (x86 или x64)?Как узнать разрядность процессора (x86 или x64)?

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

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

Через BIOS

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

Кое-что о 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-битной архитектуре работал бы лучше. Такой процессор имеет больше ядер, что ускоряет его вычислительную мощность без увеличения размера аппаратного обеспечения.

Немного о процессорах

Сердцем любого компьютера считается центральный процессор, поскольку именно на него возложена львиная доля вычислений. В свое время архитектура 32 бита была разработана компанией Intel и впервые была применена в процессорах серии 80386, впоследствии получивших обозначение i386. А саму разрядность по маркировке процессора стали обозначать как х86.

Архитектура 64 бита по современным меркам относительно недавно была внедрена корпорацией AMD. В связи с расширившимися возможностями процессоров нужно было использовать весь их потенциал, и именно поэтому назрела необходимость создания операционных систем и программного обеспечения, которые бы смогли в полной мере задействовать вычислительные способности ЦП. Но в чем отличие 32-битной системы от 64-битной применительно к процессорам? Основная проблема при обработке программных запросов заключается в том, что информацию нужно где-то сохранять. И оперативная память тут совершенно ни при чем. В самих процессорах имеется специальная сверхбыстрая память, представленная в виде своеобразных ячеек и часто называемая регистрами. Разница очевидна: одна ячейка при использовании 64-битной архитектуры может уместить вдвое больше информации (как уже понятно, 64 бита против 32). Но ведь как работает процессор?

За один цикл при использовании 32-битной структуры процессор в максимуме может обработать только 4 байта информации (8 бит х 4 = 32 бита). Если блок содержит более 32 битов, процессору необходимо выполнить повторный цикл или несколько. При 64-битной архитектуре переход на следующий цикл потребуется только в том случае, если блок превышает уже 64 бита. Однако даже обработка данных с задействованием нескольких переходов производится намного быстрее (как раз за счет уменьшения количества циклов).

RIP-относительная адресация

Выше мы описали режим адресации, который почти идентичен своему историческому эквиваленту в х86_32, и отличается в первую очередь использованием 64-битных регистров GPR, и порой 64-битными смещениями. Однако главным отличием является добавление абсолютно нового режима адресации под названием «RIP-относительная» (RIP-relative) адресация.

Почему этот режим называется RIP-относительным? Потому что он кодирует смещение относительно значения регистра RIP (в особенности RIP не текущей, а следующей команды). Обычно это выражается уже знакомым нам синтаксисом , вот только вместо GPR регистром теперь является . Пример:

Зачем мне (или моему компилятору) пользоваться этим режимом?

Причины, по которым используется этот режим, я обещал не описывать в данном посте: это независящий от адреса код и модели кода. Но мы сделаем небольшое исключение: RIP-относительная адресация упрощает и сокращает независящий от адреса код и идеально подходит для «малых» (и базовых) моделей кода, в которых весь код и данные должны быть адресуемы в пределах 32-битного сдвига.

Пример компиляции с использованием и :

Для него в архитектуре х86_64 нам потребуются всего два :

Однако в архитектуре х86_32 нам их потребуется три, плюс шаблоны:

Напоследок: сегментация

Архитектура х86_64 убрала всю сегментацию, но только почти. Благодаря плоскому адресному пространству регистры сегментов более не требуются, но местами все еще проявляются:

  • Linux (точнее glibc) использует в пользовательском пространстве для доступа к настраиваемым ядром сегментам TLS. Спецификацию этих сегментов можно обнаружить в per-CPU конфигурации GDT (). Если предположить что ничего в glibc (или любой вашей libc) не использует , вы можете свободно им пользоваться.
  • В пространстве ядра Linux использует для хранения основного адреса региона per-CPU переменной. Мы можем наблюдать это в определении макроса ():

  • В х86_64 определение растет:

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

Кстати, вот пример локально-поточной переменной:

Результат:

(Прочесть на .)

Дополнительные характеристики

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

Наконец, в системах х64 имеется инструмент Kernel Patch Protection, несколько напоминающий предыдущую функцию, но его назначение состоит в блокировании внесения изменений в ядро системы и предотвращении обработки данных на аппаратном, а не на программном уровне, что очень часто применяется к драйверам, не имеющим цифровой подписи.

И последнее. Несмотря на то что при наличии 8 Гб ОЗУ в системах 64 бита виртуальную память можно не использовать вообще (запросы будут направляться прямо в ОЗУ с обработкой загруженных компонентов, а не сохраняться на жестком диске при задействовании файла подкачки), теоретически размер виртуальной памяти можно увеличить до 8 Тб. Смысла в этом, конечно, нет абсолютно никакого, тем не менее…

Название технологии

Существует несколько вариантов названий этой технологии, которые иногда приводят к путанице.

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

На сегодняшний день наиболее распространёнными являются «x64», «x86-64» и «AMD64». Иногда упоминание AMD вводит пользователей в заблуждение, вплоть до того, что они отказываются использовать дистрибутивы родных версий операционной системы, мотивируя это тем, что на их процессоре Intel версия для AMD не будет работать. На самом деле распространители ПО используют название amd64 лишь потому, что именно AMD была пионером в разработке этой технологии. Часто пользователи путают архитектуру x86-64 с IA-64, ошибочно скачивая ПО для этой архитектуры, и затем обнаруживают, что программа не запускается. Во избежание подобных ошибок следует помнить, что Intel 64 и IA-64 — это совершенно разные, несовместимые между собой микропроцессорные архитектуры. Представители Intel 64 — последние модели Pentium 4, ряд моделей Celeron D, семейство Core 2, Core i3, Core i5, Core i7 и некоторые модели Intel Atom; представители IA-64 — семейства Itanium и Itanium 2.

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
Добавить комментарий