64 битный процессор
Новейший виток развития производства компьютерных микросхем пришелся в одно время с переходом в XXI столетие, который отметился началом эры новых вычислений с помощью 64-битных процессоров. Персональные компьютеры и серверные решения под управлением 64-битной операционной системы сегодня в равной степени демонстрируют более высокую производительность и скорость вычислений. Более сложные схемы и новые технологии производства, внедренные в ядро 64-битного процессора, позволяют компьютеру оперировать большими объемами оперативной памяти (RAM), что уменьшает время обработки данных, а соответственно увеличивает общую производительность системы. К тому же на такой платформе лучшие результаты показывает браузер 64-битный и прочие программы.
История
В настоящее время компьютеры, работающие на базе 32-битного процессора, сталкиваются с проблемой невозможности использования всей установленной в систему оперативной памяти . В итоге, из-за ограничений, которые накладываются на невозможность использования процессором 4 гигабайт оперативной памяти, системы на 32-битном процессоре оказываются медленнее, чем на 64-битном. То есть основное отличие между 32-х и 64-битным процессором заключаются в количестве данных, которые могут быть обработаны за один такт. Вот один из альтернативных ответов на вопрос, как уменьшить нагрузку на процессор. Заметим, что 32-битные процессоры не поддерживают работу с 64-битными операционными системами, так как разрядность этого процессора должна соответствовать разрядности ОС.
Факты
64 битный процессор появился еще в начале 90-х годов, но тогда его можно было использовать исключительно в дорогих высокопроизводительных серверных системах. На такой платформе можно было создавать хранилища огромных баз данных промышленного назначения, в которых применялись технологии виртуализации. Такое решение позволяло бесперебойно работать серверам под высокой нагрузкой.
И вот в наше время, благодаря усилиям лидеров процессорной индустрии Intel и AMD (Advanced Micro Devices), 64 битный процессор стал доступен для персональных компьютеров.
Функции
64 битный процессор может работать с объемом оперативной памяти, достигающим одного терабайта. Он позволяет обрабатывать намного большие массивы данных и обеспечивает большую безопасность, чем на 32-битных системах. Большинство 64-битных процессоров являются обратно-совместимыми и могут корректно работать со старыми приложениями. Эта продвинутая версия процессора может без особых проблем работать совместно с 32-битной ОС и приложениями, без ущерба производительности системы.
Сегодня вы можете приобрести несколько версий 64-битных процессоров, с разной рабочей частотой. Обычно порядковый номер версии процессора привязан к тактовой частоте, а самые высокие номера указывают на наивысшую производительность процессора.
Виды процессоров и технологии
Одноядерные процессоры представляют собой процессор с одним ядром внутри кристалла чипа. Такая конфигурация позволяет выполнить одну операцию (инструкцию) за единицу времени.
Двухядерные процессоры позволяют установить в настольный компьютер фактически два отдельных процессора (ядра), расположенных на одном кристалле, что позволяет увеличить скорость обработки данных.
По тому же принципу созданы четырехядерные процессоры. Четыре ядра позволяют еще больше ускорить выполнение ресурсоемких приложений и поднять общий уровень производительности.
Технология «Турбо-буст» (Turbo-boost) позволяет автоматически нарастить рабочую частоту процессоров, повышая производительность системы.
«Гипертрейдинг» (Hyper-threading) – это технология логического распараллеливания вычислений в одном ядре, что позволяет одновременно обрабатывать несколько потоков данных.
Преимущества
Как мы уже разобрались, 64 битный процессор дает более высокую стабильность работы с большими объемами данных и лучшую многозадачность. 64 битный процессор позволяет обуздать ресурсоемкие приложения, повысить скорость обработки цифрового контента, качество игрового процесса и работы с графикой.
Если вы стремитесь к большой производительности своей системы, приобретайте компьютер, который поддерживает 64 битный процессор!
Различия и преимущества разного количества ядер
Итак, существует два вида процессоров: одноядерные (x32) и двухъядерные (x64). Иногда можно встретить обозначение x86 — это не отдельный вид процессоров, а обозначение архитектуры микропроцессора. Чаще всего цифра x86 свидетельствует о том, что процессор одноядерный, но она также может использоваться и для 64-битного процессора. Поэтому не стоит ориентироваться на неё, всегда ищите обозначение в формате x36 или x64.
Производительность и скорость работы, соответственно, выше у 64-битных процессоров, так как работают сразу два ядра, а не одно. Если вы используете 32-битный процессор, то можете установить на свой компьютер сколько угодно оперативной памяти (ОЗУ), но при этом система будет использовать только 4 ГБ из всей памяти. При наличии 64-битного процессора можно использовать до 32 ГБ оперативной памяти.
Требования для 64-разрядной системы
Главное преимущество процессоров x64 заключается в том, что они поддерживают программы, игры и операционные системы, написанные не только для 64-битных процессоров, но и для 32-битных. То есть, если у вас процессор x32, то вы можете установить только 32-битную операционную систему Windows, но не 64-битную.
Какая разрядность лучше
Из всего вышеописанного можно сделать вывод, что если вы выбираете между одним и двумя ядрами, то предпочтительнее второй вариант, так как большинство современных программ и игр требуют 64 бита. Не исключено, что в будущем от 32-битной системы полностью откажутся, так как её мощности мало на что хватает.
Немного истории
На заре создания персональных компьютеров и оборудование, и программное обеспечение, которое осуществляло управление им, сначала подразумевало использование архитектуры 8 бит. Если кто помнит старые 8-битные игровые приставки, это как раз из той серии. Затем компьютерные системы стали 16-битными.
И только с появлением IBM-совместимых компьютеров Intel 80386 как раз на базе процессоров i386 стала использоваться технология 32 бита, которая до нынешних пор обозначается последними двумя цифрами тогдашней модели процессора.
Появление 64-битных систем, как ни странно это звучит, связано не с Windows, а с оборудованием, когда в 2003 году свет увидел первый 64-битный процессор Athlon производства корпорации AMD. Кстати сказать, это было уже восьмое поколение процессоров (К8). Увы, на то время таким образом компания-производитель пыталась выиграть процессорную гонку у Intel, а вот операционных систем, которые бы поддерживали работу с такими устройствами, еще не существовало.
Все изменилось только с выходом ОС Windows XP х64 Edition, разработанной корпорацией Microsoft.
Основные характеристики 64-битного процессора
Помимо 16-битных и 32-битных процессоров существуют 64-битные процессоры. Это новейшие технологии который, конечно, превосходит другие в применении процессов, безопасности, скорости, времени и т. д. Но чтобы узнать его основные отличия от 32-битного процессора, мы сначала обратимся к к наиболее ценным функциям этого процессора
- Как правило, 64-битная компьютерная архитектура включает в себя блоки данных до 24-битных или, если это не так, всего восемь байт в ширину .
- 64-битные процессоры на рынке с среда десятилетие и массово внедряются в компьютеры. С 1960 года они существуют в суперкомпьютерах.
- С точки зрения безопасности и маневренности эта технология является лучшее, что есть в этот день
- Эти типы процессоров теоретически способны обрабатывать до 16 эксабайт памяти .
- Это позволяет вам получить максимум удовольствия от 192 Go что в 48 раз больше, чем может обработать 32-разрядный процессор.
Производительность
Программы
с AMD Athlon 64 в режиме 64-бит выполняются, медленнее, чем в режиме 32. Здесь
следует напомнить, что существуют три режима работы: 32, 32/64, 64 бит.
В
режимах 32/64 и 64 существенного прироста ни в играх, ни в существующих задачах
в процессорах AMD Athlon64 не наблюдается. Более того, в режиме 64, как
правило, наблюдается значительное падение. Прирост же в традиционном режиме
объясняется отработанностью архитектуры процессоров Athlon. Остается поаплодировать инженерам
AMD, которые благодаря команде NexGen научились делать эффективные
исполнительные блоки.
Но
это не означает, что архитектура Атлонов 64 плоха. Вовсе нет. Инженерам AMD
удалось создать эффективные 32-разрядные узлы, в чем можно убедиться на основе
многочисленного тестирования систем, созданных на основе процессоров AMD Athlon 64. Но при чем
здесь 64-разрядные команды…
Скромные
результаты тестирования, показываемые процессорами AMD в
64-разрядных вычислениях, объясняются разными причинами. Одна из них, вероятно,
связана с тем, что принципиально трудно сделать АЛУ64 настолько эффективным,
чтобы его быстродействие было выше традиционного 32-разрядного, по крайней
мере, в настоящее время.
Кстати,
именно поэтому Intel Itanium 2 ненамного быстрее Intel Xeon (Рис. 2).
Здесь следует напомнить, что достоинства архитектуры Intel Itanium не
только не в скорости обработки данных, но и в устойчивости и надежности. Кроме
того, архитектура процессоров Intel Itanium 2 обеспечивает объединение большого числа этих устройств, не прибегая к сложной
системе кластерных решений.
Рис. 2. Сравнение производительности традиционных
серверных многопроцессорных платформ
Что
же касается тестирования соответствующих процессоров от Intel, то это будет выполнено после
появления на рынке соответствующих моделей. Тогда же можно будет сравнить и
результаты реализации фирменных решений от обоих производителей.
Возвращаясь
же к проблеме востребованности 64-битных команд в архитектуре 32-разрядных
процессоров, необходимо отметить, что, по мнению большинства специалистов, эти
команды в настоящее время необходимы, прежде всего, для обеспечения прямой
адресации оперативной памяти значительного объема, превышающего максимальный
уровень для традиционных процессоров. Это означает, что рост производительности
в новых режимах потенциальные пользователи почувствуют в основном в тех
случаях, когда потребуются системы с очень большими объемами памяти, например
удвоенного размера. В таких случаях значительная часть программ, хотя бы треть,
будут расположены в адресах, недоступных для прямой адресации в традиционном
режиме 32-разрядных процессоров.
Определение разрядности процессора
Существует множество способов, как определить разрядность процессора. Посмотреть информацию о ней можно либо при помощи программных средств, либо средств BIOS; в крайнем случае, можно просто увидеть маркировку ЦП и уже по ней определить, сколько же бит отводится на обработку данных. Иногда эту информацию получить совсем просто: например, если количество ядер ЦП больше одного, то этот ЦП – 64 разрядный.
Через командную строку
Один из самых эффективных способов, как определить разрядность процессора без использования дополнительных средств. Для его реализации следует запустить командную строку – открыть в меню «Пуск» пункт «Выполнить» (или нажать Win+R на клавиатуре) и в появившемся окне набрать команду «cmd»,после чего нажать «Ввод».
Откроется консоль командного процессора. В ней следует ввести команду «systeminfo». Результатом её выполнения будет длинный перечень параметров системы. Интересующий нас пункт называется «Процессор(ы):» В нём будет написано название модели ЦП. И обязательно указана его битность (либо цифрами 32 или 64, либо надписями «х86» или «х64»).
Через свойства компьютера
Можно определить, какую разрядность поддерживает процессор, посмотрев свойства системы.
Один из способов сделать это – войти в параметр «Система» панели управления и там, в разделе «Тип системы» можно будет увидеть её разрядность. Если она равна 64, то и ЦП тоже 64 битный.
Однако, как уже было сказано ранее, поскольку на 64 разрядный ЦП может быть поставлена 32 разрядная система, необходимо будет уточнить тип используемого ЦП. Для этого следует зайти в «Диспетчер устройств», ссылка на который есть на той же странице, в «Устройствах» выбрать ЦП и открыть в его свойствах вкладку «Сведения».
В этой вкладке интересующий нас параметр называется «ИД оборудования». В нём будет указан тип используемого процессора – 64 или 32 разрядный.
Альтернативой является исследование свойств устройства, называемого в Диспетчере устройств «Компьютер». В нём может содержаться описание применяемого типа ПК с указанием его битности.
Аналогично свойствам процессора, следует зайти в свойства компьютера и во вкладке «Сведения» посмотреть описание устройства. Параметр может также называться «Выводимое имя». В любом случае, в нём будет присутствовать либо надпись «х86», либо «х64», что и будет соответствовать битности используемого ЦП в 32 или 64 соответственно.
Узнать разрядность через интернет
Для этого достаточно набрать в строке поиска фразу «узнать разрядность онлайн». Первые 5-10 результатов поиска дадут ссылки на сайты, определяющие этот параметр. После этого следует перейти на этот сайт и активный контент автоматически опознает количество разрядов ЦП и версию ОС.
Через BIOS
Самый простой способ, не требующий наличия программного обеспечения вообще. При загрузке ПК следует войти в BIOS, нажав F2 или Del. Далее следует выбрать раздел «System Settings», «Main» или «CPU Settings» – в зависимости от производителя BIOS он может называться по-разному, и посмотреть значение параметра «Processor Type». В нём будет указана фирма производитель, модель ЦП, его частота и разрядность.
В чем разница между x86 и x64?
• x86 был представлен примерно в 1978 году, а x64 появился совсем недавно, в 2000 году.
• x86 возник на основе известного процессора Intel 8086, и поэтому x86 была представлена Intel. Но x64, который появился как расширение x86, был представлен AMD.
• Архитектура x86 32-битная. (Первые процессоры x86 были 16-битными, но в более поздних процессорах было сделано расширение до 32-битных). Архитектура x64 — 64 бит.
• Таким образом, процессоры с архитектурой набора команд x86 имеют 32-разрядные регистры, 32-разрядную шину памяти и 32-разрядную шину данных. Но x64 имеет 64-битные регистры, 64-битную шину памяти и 64-битную шину данных.
• x86 имеет ограничение на максимальную адресуемую память, которая составляет 4 ГБ (232 байтов). Но в системах x64 этот предел огромен — 264 байты.
• x64 — расширение x86; поэтому он намного улучшен и мощнее старого x86.
• Значения, которые могут храниться в регистре в системе x64, больше, чем значения, которые могут храниться в регистре на основе x86. Следовательно, x64 может обрабатывать вычисление больших целых чисел намного быстрее, поскольку в этом случае нет необходимости использовать несколько регистров для разделения значения и хранения, как в x86.
• x64 может параллельно передавать данные большего размера по шине данных. То есть 64-битная шина данных может передавать 64 бита параллельно, в то время как архитектура x86 с 32-битной шиной может передавать только 32 бита.
Резюме:
Сравнение 32-битных и 64-битных процессоров В чем различия?
Теперь давайте начнем со сравнения двух процессоров. Таким образом подчеркивая их самые важные различия сегодня и, исходя из этого, можно сделать вывод о том, что лучше всего для компьютера с точки зрения безопасности, скорости, производительности и других аспектов, представляющих большой интерес.
Оперативная память
Если это правда, наиболее заметное различие между двумя архитектурами заключается в их способность обрабатывать определенный объем оперативной памяти . Учитывая тот факт, что 32-битные процессоры не показывают такой большой емкости по сравнению с этой особенностью, в отличие от 64-битных процессоров. С учетом этого последний может использовать до 16 эксабайт , что в сумме составляет 16 миллионов терабайт.
С другой стороны, если, например, у вас есть ПК с 8 или 16 ГБ ОЗУ, 32-разрядная операционная система может только выиграть от максимум 4 ГБ . Это может повлиять на одновременное открытие нескольких приложений.
Например, он может нормально работать, когда у вас остаются открытыми три или четыре приложения, но если вы используете больше, вам обязательно понадобится больше оперативной памяти . К счастью, этого не происходит в 64-битных процессорах, так как многие из них могут работать с до 128 и 512 ГБ оперативной памяти.
Короче говоря, утверждается, что 64-битные процессоры намного лучше, когда дело доходит до способности обрабатывать оперативную память компьютера. Поэтому, если вы один из пользователей, которые используют свой компьютер подключен напрямую к многофункциональному устройству , лучше процессор 64.
Эффективность
Помимо установки гораздо большего объема оперативной памяти в систему, 64-разрядные процессоры шоу также более эффективное использование оперативной памяти . В основном это связано с тем, что можно значительно уменьшить объем памяти, потребляемой вторичными системами.
Как, например, ваша видеокарта. Что хорошо видно на машине, хотя физическое количество Оперативная память можно только удвоить . Это означает, что с точки зрения эффективности при процессах 32-битный процессор не самый оптимальный и, наоборот, 64-битный процессор .
La Vitesse
Благодаря тому факту, что при 32-битной памяти каждому приложению может быть выделено всего 2 ГБ памяти, а теоретически 64-разрядная память может достигать 8 ТБ, подтверждено, что компьютеры с этими новейшими процессорами показывать более высокую скорость при выполнении каких-либо действий . Другими словами, они могут делать больше за меньшее время по сравнению с 32-битными.
В основном это связано с тем, что для каждого процесса может быть выделено больше виртуальной памяти. В общем, это замечено при использовании программ с очень интенсивным использованием памяти , например, знаменитый Photoshop или AutoCAD .
Однако следует отметить, что когда речь идет о более высокой скорости, это не означает, что приложения, установленные на 64-битном компьютере, всегда самые быстрые потому что это зависит от того, как это работает, требований каждого приложения и состояния системы в то время.
Безопасность
Еще один из наиболее важных аспектов, который следует учитывать, — это безопасность, обеспечиваемая каждым из этих типов процессоров.
Что ж, как и в случае с современным 64-битным процессором, следует отметить, что он имеет расширенную защиту которые добавляют аппаратный DEP, защиту ядра от исправлений (защищает компьютер от эксплойтов ядра) и, кроме того, драйверы устройств должны иметь цифровую подпись, обязательно. Последний снижает риск инфекций, связанных с водителем .
Однако ни одна из этих функций безопасности недоступна для пользователей 32-разрядных процессоров. Из чего можно сделать вывод, что, когда дело доходит до безопасности, 64 бита более выгодны .
утилита
Еще одно из самых больших различий между двумя процессорами — их полезность. В общем, 32-битные процессоры рекомендуются для среднего пользователя которому, по сути, не требуется столько оперативной памяти для запуска основных процессов, выполняемых в домашней среде. Другими словами, этот класс CPU идеально подходит для личного пользования . Конечно, учитывая, что они не всегда могут работать с 64-битными операционными системами.
Со своей стороны, 64-битные процессоры используются компаниями и / или компаниями которые требуют значительных мощностей для управления и обработки крупномасштабных данных. Полностью указано, используйте для этого 64-битные операционные системы.
Лучшие процессоры на 1156 сокет
Платформа LGA1156 просуществовала совсем недолго: с конца 2009 по начало 2011 года. Она предназначалась для первых настольных процессоров семейства Core. Несмотря на свой почтенный возраст, эти процессоры подойдут не только для повседневных задач, но даже …
Как узнать версию BIOS материнской платы
Функциональность материнской платы во многом определяет её прошивка. Для установки новейших процессоров в системные платы прошлых лет на них часто приходится обновлять BIOS. В новые версии микропрограммы добавляют коды для поддержки свежих моделей CPU на …
Как узнать, поддерживает ли процессор AVX
Аббревиатура AVX расшифровывается как Advanced Vector Extensions. Это наборы инструкций для процессоров Intel и AMD, идея создания которых появилась в марте 2008 года. Впервые такой набор был встроен в процессоры линейки Intel Haswell в 2013 …
Лучшие материнские платы для Intel i5 10400f
Весной 2020 года в Intel презентовали процессоры 10-го поколения на архитектуре Ice Lake. Процессоры работают на тактовой частоте до 5,3 ГГц в режиме динамического разгона, поддерживают разгон и оптимизацию памяти. По традиции, с новым поколением …
Определяем разрядность ОС в Проводнике
Есть довольно простой способ для определения разрядности Windows. В этом нам поможет встроенный файловый менеджер — Проводник Windows.
Узнать необходимые сведения очень просто:
- Откройте в Проводнике «Локальный диск (C:)», на который обычно устанавливают операционную систему Windows.
- Если на диске имеются две папки с одинаковым названием: «Program Files» и «Program Files (x86)», то это 64-битная система, а если имеется только одна папка «Program Files», то на данном ПК установлена 32-битная Windows.
На этом компьютере установлена 64-разрядная Windows.
Маркировка процессоров Intel
В названиях центральных процессоров от Intel скрываются интересные сведения о них. Если знаете расшифровку цифр и букв в названии устройств, сэкономите массу времени при выборе CPU. Особенно если просматриваете список популярных или новых моделей в …
Hello, world на x86-64
Программирование под 64-битную версию Windows мало чем отличается от традиционного, только все операнды и адреса по умолчанию 64-разрядные, а параметры API-функций передаются большей частью через регистры, а не через стек. Первые четыре аргумента всех API-функций передаются в регистрах RCX, RDX, R8 и R9 (регистры перечислены в порядке следования аргументов, крайний левый аргумент помещается в RCX). А уж остальные параметры кладутся в стек. Все это называется x86-64 fast calling conversion (соглашение о быстрой передаче параметров для x86-64), подробное описание можно найти в статье The history of calling conventions, part 5 amd64. Также советую заглянуть на страничку бесплатного компилятора Free PASCAL и поднять документацию по способам вызова API.
Преимущества архитектуры х64
Если с оборудованием все более или менее понятно (повышение производительности в вычислениях всегда являлось и является приоритетом), то для чего понадобилось выпускать 64-битные системы Windows и другие подобные ОС? Поддержка процессоров? Да, несомненно! Однако суть даже не в этом, поскольку абсолютно все современные процессоры имеют поддержку так называемых 64-битных инструкций.
Главная особенность такой архитектуры связана с объемами оперативной памяти. Если вы внимательно посмотрите на сведения об установленной операционной системе х86, например, при наличии ОЗУ на уровне 4 Гб, можно будет заметить, что доступной оперативной памяти оказывается всего где-то в районе 2,75-3,5 Гб. Если же планок памяти больше, они вообще не будут определены. Таким образом, становится очевидно, что системы архитектурой 32 бита оперативную память более 4 Гб не поддерживают, а для работы с такими объемами и выше как раз и нужны 64-битные системы. Считается, что ограничение по поддерживаемой памяти составляет 16 Тб.
В чём разница между 32- и 64-битной разрядностью
Разрядность системы, также иногда называемая «битностью», вовсе не обязательно должна соответствовать разрядности процессора и на современных компьютерах имеет всего два основных вида: 32 и 64.
Разница между архитектурой и разрядностью
Несмотря на внешнюю схожесть значений 86 и 32, разница между ними большая.
Как правило, архитектура x86 ориентирована на 32-битную разрядность, а архитектура x64 — на 64-битную. Однако это утверждение не всегда верно. Например, существуют 64-битные процессоры, основанные архитектуре x86 и 32-битные, основанные на третьей, совершенно иной архитектуре. Но всё же эти случаи являются большой редкостью и для себя можно запомнить, что x86 соответствует 32 бит, а x64 ориентирована на 64 бит.
Разница между x86 и x64
Как уже было сказано выше, архитектура процессора в основном определяет его разрядность, а разрядность определяет ширину регистра. От ширины регистра зависит количество данных, подлежащих единовременной обработке, и объём оперативной памяти, которую компьютер способен использовать. 32-битный регистр способен одновременно взаимодействовать с 232 адресами (покрывает 232 бита информационного потока, что равно 4 гигабайтам), а 64-битный — с 264 (покрывает предыдущий информационный поток в квадрате, который невозможно реализовать даже на самых мощных компьютерах).
Чтобы было понятней: ширина регистра — как пропускная способность перекрёстка, оперативная память — как количество машин, а процессор — регулировщик. Процессор с архитектурой x86 способен без проблем контролировать перекрёсток с пропускной способностью в 4 гигабайта — столько машин по нему можно запустить. Процессор с архитектурой x64 теоретически способен контролировать запредельно большой перекрёсток. На компьютерном же языке это значит, что такой процессор может обеспечивать корректную работу компьютеров не только своего, но и будущего поколения.
При установке Windows есть возможность выбора между x86 и x64
Таким образом, установка свыше 4 гигабайт оперативной памяти на компьютер с процессором x86 не приведёт к её практическому расширению.
Несмотря на крайне большую и невостребованную ширину регистра для 64-разрядных процессоров, создавать промежуточный этап между 32-битной и 64-битной разрядностью процессора практически бессмысленно. В общем-то между архитектурами x86 и x64 нет особой разницы в сложности реализации. Просто при разработке 32-битного реестра, до сих пор используемого большинством программ, объёмы оперативной памяти сверх 4 гигабайт казались невозможными, какими сейчас кажутся 264.
Как выбрать разрядность системы
Продолжая вышеприведённую аллегорию, можно сказать, что разрядность операционной системы определяет то, какой перекрёсток будет создаваться.
В случае если у вас процессор с архитектурой x86, то выбора вы лишены. Если же у вас архитектура x64, стоит ставить 64-разрядную систему, даже если у вас нет 4 гигабайт оперативной памяти. Причина такого выбора проста: большинство новых программ и расширений выпускается исключительно под 64-битные системы, а 32-зарядные невольно вытесняются с рынка.
Фактически из существенных плюсов у 64-разрядных систем есть только два: поддержка сверх 4 гигабайт оперативной памяти и поддержка 64-разрядного операционного обеспечения. Все 32-разрядные программы также поддерживаются без каких-либо трудностей.
Да, положительных моментов мало, но минусов почти нет. Исключение только в том случае, если вы используете какое-либо очень старое оборудование, у которого нет 64-разрядной версии драйвера. Например, 32-битные драйверы, которые не станут на 64-разрядную систему.
Разница в производительности у систем разной разрядности — миф. Он возник по причине разных требований у операционных систем, но они носят исключительно условный характер. К тому же некоторые программы или игры имеют настройки, доступные только на x64, отчего и возникают в интернете сравнения производительности для различных игр. Если такие функции или настройки и имеются, то все они отключаемы и фактически никакой разницы нет.
Обзор x86-64
За подробным описанием x86-64-архитектуры лучше всего обратиться к фирменной документации AMD64 Technology — AMD64 Architecture Programmer’s Manual Volume 1:Application Programming. Мы же ограничимся только беглым обзором основных нововведений.
Наконец‑то AMD сжалилась над нами и подарила программистам то, чего все так долго ждали. К семи регистрам общего назначения (восьми — с учетом ESP) добавилось еще восемь, в результате чего их общее количество достигло 15 (16) штук.
Старые регистры, расширенные до 64 бит, получили имена RAX, RBX, RCX, RDX, RBP, RSI, RDI, RSP, RIP и RFLAGS. Новые регистры остались безымянными и просто пронумерованы от R8 до R15. Для обращения к младшим 8, 16 и 32 битам новых регистров можно использовать суффиксы b, w и d. Например, R9 — это 64-разрядный регистр, R9b — его младший байт (по аналогии с AL), а R9w — младшее слово (то же самое, что AX в EAX). Прямых наследников AH, к сожалению, не наблюдается, и для манипуляции со средней частью регистров приходится извращаться со сдвигами и математическими операциями.
Регистры, доступные в режиме x86-64
Регистр, указатель команд RIP, теперь адресуется точно так же, как и все остальные регистры общего назначения. Программисты, заставшие живую PDP-11 (или ее отечественный клон — «Электронику БК», или УКНЦ), только презрительно хмыкнут: наконец‑то до разработчиков стали доходить очевидные истины, которые на всех нормальных платформах были реализованы еще неизвестно когда.
Возьмем простейший пример: загрузим в регистр AL опкод следующей машинной команды. На x86 приходится поступать так.
Загрузка опкода следующей машинной команды в классическом x86
Это же умом поехать можно, пока все это напишешь! И еще здесь очень легко ошибиться в размере команд — приходится вычислять его вручную либо загромождать листинг никому не нужными метками. К тому же неизбежно затрагивается стек, что в ряде случаев нежелательно или недопустимо (особенно в защитных механизмах, нашпигованных антиотладочными приемами).
А теперь перепишем тот же самый пример на x86-64.
Загрузка опкода следующей машинной команды на x86-64
Красота! Только следует помнить, что RIP всегда указывает на следующую, а отнюдь не текущую инструкцию! К сожалению, ни Jx RIP, ни CALL RIP не работают. Таких команд в лексиконе x86-64 просто нет.
Но это еще что! Исчезла абсолютная адресация! Если нам надо изменить содержимое ячейки памяти по конкретному адресу, на x86 мы поступаем приблизительно так:
Под x86-64 транслятор выдает ошибку ассемблирования, вынуждая нас прибегать к фиктивному базированию:
Есть и другие отличия от x86, но они не столь принципиальны. Важно то, что в режиме совместимости с x86 (Legacy Mode) ни 64-битные регистры, ни новые методы адресации не доступны! Никакими средствами (включая черную и белую магию) дотянуться до них нельзя, и, прежде чем что‑то сделать, необходимо перевести процессор в длинный режим (long mode), который делится на два подрежима: режим совместимости с x86 (compatibility mode) и 64-битный режим (64-bit mode). Режим совместимости предусмотрен только для того, чтобы 64-разрядная операционная система могла выполнять старые 32-битные приложения. Никакие 64-битные регистры здесь и не ночевали!
Реальная 64-битность обитает только в 64-bit long mode, о котором мы и будем говорить.
Итог сравнения производительности 32-битной версии Windows с 64-битной
Пришло время подвести итог данного теста:
- Наибольшее увеличение производительности в 64-битных версиях Windows XP, Vista, 7 наблюдалось в случае, когда были использованы оптимизированные 64-битные версии приложений и игр. Во время работы с обычными приложениями, без оптимизации под 64-битную версию производительность не увеличивается;
- Многие программы и игры не смогли показать заметного роста производительности когда был увеличен объем доступной ОЗУ больше 3 Гб. Исключением можно назвать сложные программы, которые позволяют работать с видео, изображениями, системы проектирования и прочие. В дальнейшем этих приложений будет больше. Для таких программ использовать 64-битную систему будет весьма обоснованно.
- Некоторые из приложений на 64-битной ОС показали нестабильную работу по разным причинам. Но этих приложений не так много.
В конце хочется отметить то, что вы сами выбираете версию Windows для своих нужд. И если это исследование смогло вам помочь, то мы будем только рады.