Краткое содержание
Сравнение производительности 32-битных х86 и 64-битных х64 версий Windows, а также насколько нужны 4 Гб оперативной памяти.
Небольшая теоретическая часть по 32- и 64-битным вычислениям
Различные редакции Windows уже сравнивались на данном сайте в материале: Сравнение производительности Windows XP, Windows Vista и Windows 7. Что лучше установить?. Здесь же речь пойдет о сравнении 32-битных и 64-битных версий Windows.
Вполне естественно, что перед сравнением 32-bit и 64-bit редакций Windows, нужно сначала разобраться с вопросом что это вообще такое, что это вообще такое эти 32 или 64 бита, что они реально означают.
Начнем с процессора. Многие, наверное, краем уха слышали, что есть вот 32-битные процессоры, а есть 64-битные. Разберемся для начала что скрывается за этими битами.
Думаю, не нужно лишний раз напоминать, что процессоры являют собой черезвычайно сложные устройства. Они построены из огромного числа различных блоков. Это и кэш-память различных уровней, это и блоки выборки и декодирования команд, это и блоки предсказания переходов, это и несколько типов вычислительных блоков. Некоторые современные процессоры включают в себя контроллер памяти, контроллер шины PCI-Express и даже графическое ядро. В контектсте данной статьи нас интересуют блоки вычислительные блоки. О них сейчас и поговорим.
Таких блоков в процессоре может быть несколько типов. Одни занимаются вычислениями с целыми числами, другие занимаются операциями с вещественными числами или числами с плавающей запятой. Также есть блоки для так называемых сложных инструкций. Рассмотрим для примера блоки, которые занимаются целочисленными вычислениями или просто ALU. В процессе работы этим блокам надо где-то хранить промежуточные значения. Таким временным хранилищем выступают так называемые регистры. От обычной и кеш памяти они отличаются в первую очередь минимальными задержками и невероятно высокой скоростью работы. Именно в этих регистрах и кроется основное отличие так называемых 32-bit и 64-bit процессоров. Объясню этот момент поподробней.
В составе так называемых 32-битных процессоров присутствует 8 регистров общего назначения объемом в 32 бита. В так называемых 64-битных процессорах таких регистров общего назначения в два раза больше и, что самое главное, их объем составляет 64-бита. Вот это и является основным различием между 32-битными и 64-битными процессорами. К слову скажу, что практически все современные процессоры 64-битные.
Рассмотрим что же эти регистры дают на практике. Если говорить в общем, то 64-битный процессор в нормальном 64-битном режиме может работать с 64-битными числами без различных ухищрений вроде разбивки одной сложной операции на две. Также это позволяет объединять две простые операции над 32-битными числами в одну сложную. Далеко не все операции можно вот так объединить, но все же это лучше чем ничего.
Важное замечание: прирост производительности можно получить только при работе в рамках 64-битного набора инструкций х86-64. Также нужно отметить, что кроме блока целочисленных вычислений ALU, процессор содержит еще и блок вычислений с плавающей точкой или как его еще называют FPU. Он содержит более объемные 80-битные регистры и использует свой набор инструкций х87. Также в процессоре есть другие блоки и другие регистры. К таковым относятся, например, SSE-регистры. Они имеют длину в 128 бит.
Если вы внимательно читали предыдущие абзацы, то могли заметить, что там упоминался некий 64-битный режим работы. У внимательного читателя мог возникнуть вопрос: а разве есть и другие режимы? Да, 64-битный процессор также поддерживает так называемый режим совместимости. В этом режиме дополнительные 8 регистров просто отключаются и 64-битный процессор ведет себя полностью как 32-битный. Это нужно в первую очередь для совместимости системного программного обеспечения и программ, которые не умеют работать с 64-битным процессором. Вот поэтому его и назвали режимом совместимости.
Вполне естественно, что для работы процессора в нормальном 64-битном режиме, необходима 64-битная операционная система с соответствующими драйверами. Если стоит 32-битная операционная система, то процессор работает в режиме совместимости и ведет себя как обычный 32-битный процессор.
Важное замечание: у некоторых читателей может возникнуть вполне логичный вопрос о том, как 32-битные программы будут работать в 64-битной системе. Данная проблема была решена вполне логичным способом: в системе есть два набора системных библиотек для 32-битных и для 64-битных приложений. Вот и все.
С разрядностью регистров связана еще одна гораздо более насущная проблема. Она заключается в ограничении адресного пространства для памяти. Грубо говоря, процессор может адресовать всего 4 Гб адресного пространства. Казалось бы, что вот как раз в ноутбуке 4Гб оперативной памяти, система должна видеть все 4Гб. На практике не все так просто. Дело в том, что кроме оперативной памяти, есть еще и память видеокарты, есть буферы различных устройств, ну и BIOS может для того же видеоядра выделить еще часть памяти. В итоге доступная пользователю память уменьшается с 4Гб до 2.5-3.5 Гб. Здесь речь не идет о той или иной операционной системе, это принципиальное ограничение. Наверное, многие из вас, мои уважаемые читатели, с ним уже сталкивались. Рассмотрим эту проблему более детально.
Здесь на самом деле все просто. Дело в том, что в регистрах хранятся не только данные, но и так называемые указатели адресов. В случае с 32-битным процессором объем этого самого регистра ограничен 32 битами. Вот отсюда и ограничение в 4 Гб или 2 в 32 степени байт.
Резюмируя вышесказанное, хочу еще раз отметить, что любая 32-битная операционная система в принципе не может работать со всеми 4 Гб оперативной памяти в силу того, что многие системные устройства для своей работы требуют части адресного пространства, а оно ограничено 4Гб. Вот система и отбирает его за счет оперативной памяти. Неиспользованную оперативную память можно использовать как временный диск с помощью утилиты RAM Disk.
Важное замечание: здесь стоит отметить, что для 32-битных операционных систем есть механизм, который позволяет использовать больше 4Гб адресного пространства. Называется он PAE или Physical Address Extension в данном случае система может адресовать до 64 Гб памяти. Данная технология изначально разрабатывалась для серверных систем. Для нормальной работы она требует соответствующих исправленных драйверов. Поскольку таковых рабочих драйверов мало, то ее даже на серверных ОС по умолчанию отключают. На обычных редакциях Windows ее тоже отключили по умолчанию. Это сделано по тем же причинам. Сейчас же находятся так называемые "народные умельцы", которые ее включают, система действительно видит всю доступную оперативную память, но вот начинают появляться ошибки в самых неожиданных местах. Диагностировать такого рода ошибки очень сложно. Так что мой вам совет. Если нужно использовать больше 3-4 Гб оперативной памяти, то ставьте 64-битную операционную систему.
Как видите, 64-битный режим работы имеет такие плюсы и минусы:
- + 64-битная система может работать со всем объемом оперативной памяти;
- + некоторые операции на 64-битном процессоре выполняются существенно быстрее;
- - 64-битные указатели требуют больше памяти. Это увеличивает объем занимаемой приложениями оперативной памяти.
Как видите, не все так однозначно. Рассмотрим теперь как же это проявляется на практике.
Сравнение производительности 32-bit и 64-bit версий Windows
Сначала нужно сказать пару слов о методике тестирования.
Измерения проводились на ноутбуке Asus N61Vn с четырехьядерным процессором Intel Core 2 Quad Q9000, в качестве видеокарты применялась nVidia GeForce GT 240M с 1 Гб выделенной памяти. Важно отметить, что на ноутбуке было установлено 4 Гб оперативной памяти DDR3-1066. Сравнение проводилось с использованием 32- и 64-битных версий Windows Vista SP2 с последними обновлениями. Версии драйверов использовались одни и те же для нивелирования разницы в производительности между разными версиями. По описанным выше причинам на 32-битной Windows было доступно около 3Гб оперативной памяти, на 64-битной редакции Windows - около 4 Гб.
Важное замечание: данное тестирование также производилось на Windows XP и Windows 7 на более слабом ноутбуке Acer Timeline 3810T с одноядерным процессором Intel Core 2 Duo SU3500 и 4Гб оперативной памяти. Характер результатов и для этих случаев не изменился и остался примерно таким же.
Сравнение производительности можно разделить на две основные части:
- Исследование производительности обычных 32-битных программ на 32-битной и 64-битной редакции Windows;
- Измерение скорости работы 32-битной и 64-битной версии программ на соответствующей редакции Windows.
Исследование производительности прикладных 32-битных программ.
Целью данного тестирования является определение какой прирост производительности можно ожидать при переходе с 32-битной на 64-битную редакцию Windows. Актуальность данного исследования связана с тем, что на данный момент многие игры и программы не имеют специальных оптимизированных 64-битных версий. Здесь необходимо также напомнить, что 32-битная система работает с 3 Гб памяти, а 64-битная - с 4 Гб.
Для сравнения производительности использовались такие приложения:
- 3DMark03 3.6;
- 3DMark05 1.3;
- 3DMark06 1.1;
- PCMark05 1.2.
Такой набор приложений связан с тем, что они могут довольно точно отобразить реальную ситуацию с производительностью большинства программ и игр. Можно, конечно, взять много самых разных прикладных приложений, но тогда сильно бы усложнилась методика исследования. Также увеличилась бы погрешность измерений за счет худшей повторяемости того или иного теста и ограниченной точности средств измерения.
1. Результаты сравнения производительности в 3DMark03
Настройки приложения по умолчанию. Разрешение экрана 1024х768:
2. Результаты сравнения производительности в 3DMark05
Настройки установлены по умолчанию. Разрешение экрана 1024х768:
3. Результаты сравнения производительности в 3DMark06
Настройки как всегда по умолчанию. Разрешение экрана составляет 1280х720:
3. Результаты сравнения производительности в PCMark05
Данный тест включает несколько отдельных тестов. Вот результаты по-отдельности.
Общий результат в PCMark05
Производительность процессора в тестовом пакете PCMark05
Производительность памяти в тесте PCMark05
Дополнительный гигабайт оперативной памяти у 64-битной системы делает свое дело.
Производительность графики в тесте PCMark05
Производительность винчестера в PCMark05
Итоги сравнения производительности обычных приложений
Результаты исследования вполне ожидаемы. Из-за использования режима совместимости 64-битная система при работе с обычными 32-битным программами показала чуть меньшую производительность.
Данное сравнение производительности также показало, что реальной пользы от 4 гигабайт оперативной памяти в том наборе приложений нет. Тут важно заметить, что на самом деле в тяжелых приложениях вроде графических редакторов, систем автоматизированного проектирования (CAD) и прочих объем оперативной памяти играет ключевую роль. Там от дополнительных гигабайт оперативной памяти реальная польза действительно есть.
Сравнение производительности 32- и 64-битных версий программ
Целью данной части исследования является измерение прироста производительности при использовании оптимизированных 64-битных программ на 64-битной операционной системе.
Для сравнения производительности использовались такие приложения:
- Архиватор 7-Zip 4.65;
- Тестовый пакет PCMark Vantage.
1. Тестирование с помощью архиватора 7-Zip
О данном архиваторе уже было сказано в статье Подборка необходимых бесплатных программ. В данном материале он выступит в роли тестового приложения. Причиной такого выбора служит то, что он есть и в 32-битной и в 64-битной версии, способен работать с многоядерными процессорами, он довольно сильно нагружает процессор, а также он содержит встроенные средства для тестирования производительности. При тестировании размер словаря составлял 32 Мб.
Перейдем сразу к результатам:
Нетрудно заметить, что 64-битная оптимизированная версия архиватора на 64-битной системе показала себя гораздо лучше чем аналогичная 32-битная версия на 32-битной системе. Это вполне ожидаемый результат. Оптимизации дают о себе знать.
2. Тестирование с помощью тестового пакета PCMark Vantage
Тестовый пакет PCMark Vantage также представлен в 32- и 64-битной редакции. Данный тестовый пакет включает несколько тестов. Рассмотрим их по-отдельности.
Общий результат в тестовом пакете PCMark Vantage
Производительность оперативной памяти в PCMark Vantage
Скорость воспроизведения видео и TV в PCMark Vantage
Игровая производительность
Производительность воспроизведения музыки в PCMark Vantage
Сравнение производительности коммуникаций в PCMark Vantage
Сравнение производительности в офисных приложениях
Сравнение производительности жесткого диска
Как и в случае с 7-Zip, в общем 64-битная версия тестового пакета PCMark Vantage показывает более высокую производительность чем 32-битная версия на 32-битной системе. Здесь основной вклад внесли оптимизации под 64-битные процессоры, а также чуть больший объем доступной памяти: четыре гигабайта у 64-битной Windows против трех у 32-битной редакции Windows.
Подведем итоги исследования
Итоги сравнения производительности 32-битной и 64-битной редакций Windows
- Наибольший прирост производительности в 64-битных редакциях Windows XP, Windows Vista и Windows 7 возможен лишь при условии использования оптимизированных 64-битных версий программ и игр. При работе с обычными приложениями без оптимизации под 64-бита прирост производительности не наблюдается;
- Многие приложения и игры не показывают существенного увеличения производительности при увеличении объема доступной оперативной памяти больше 3 Гб. Исключение составляют сложные приложения для работы с изображениями, видео, системы проектирования и другие. Со временем число таких приложений будет увеличиваться. Для такого рода приложений использование 64-битной системы является более чем обоснованным.
- Некоторые приложения на 64-битной системе работают нестабильно в силу разных причин. К счастью, таких приложений все меньше и меньше.
В качестве заключения отмечу, что какую именно редакцию Windows устанавливать решать вам. Надеюсь, данное исследование вам помогло. Также не забываем и об Сравнение производительности Windows XP, Windows Vista и Windows 7. Что лучше установить?.
Все вопросы по целесообразности установки 32-бит или 64-бит версий Windows прошу излагать в этой теме форума: Windows 32-бит или 64-бит. Что лучше установить на ноутбук?.
Все замечания и предложения по самой статье вы можете высказать через данную контактную форму: отправить e-mail автору. Прошу заметить, что если у вас что-то не получается, то спрашивать стоит только на форуме. Подобного рода электронные письма будут проигнорированы.
С уважением, автор материала - Тониевич Андрей. Публикация данного материала на других ресурсах разрешаются исключительно со ссылкой на источник и с указанием автора