Прежде чем приступать к непосредственному сравнению 32- и 64-битных версий Windows, стоит разобраться в чем отличие между 32- и 64-битными процессорами, операционными системами и программами. Начнем с процессора.
Современные процессоры состоят из большого числа блоков. Непосредственно целочисленными вычислениями занимаются блоки ALU. Естественно, что для хранения входных данных, промежуточных значений и результатов им нужна память. Этой памятью являются регистры. В 32-битных процессоров 8 регистров общего назначения размером в 32 бита. Отсюда и говорят, что процессор 32-битный. В 64-битных процессорах регистров общего назначения в два раза больше и они имеют размер 64-бита. Поэтому и говорят, что процессор 64-битный. Подавляющее большинство современных процессоров являются 64-битными.
На практике это значит, что 64-битный процессор в нормальном 64-битном режиме может работать с 64-битными числами. Что это дает? Это позволяет выполнять различные операции над 64-битными числами без различных ухищрений, а также объединять две простые операции над 32-битными числами в одну сложную, что на практике дает прирост производительности. Также 64-битные процессоры поддерживают режим совместимости. В этом случае они ведут себя как обычные 32-битные процессоры.
Важное замечание: прирост можно получить только при использовании 64-битного набора инструкций х86-64. Кроме блока целочисленных вычислений в процессоре есть еще и блок вычислений с плавающей точкой. Он имеет 80-битные регистры и использует свой набор инструкций х87. Он еще называется математическим сопроцессором. Многие приложения активно его используют. Смена типа операционной системы с 32- на 64-битную никак не повлияют на его работу.
Для того чтобы процессор работал в 64-битном режиме, необходима 64-битная операционная система. Если же установлена 32-битная ОС, то процессор будет работать в режиме совместимости.
С разрядностью регистров также связан максимальный объем памяти, с которой может работать процессор. Это связано с тем, что указатели адресов в памяти тоже могут храниться в регистрах. Если используется 32-битный процессор или 64-битный в режиме совместимости, то длинна адреса памяти ограничена 32 битами. Вот и получается, что адресное пространство ограничено примерно 4 Гб. Поскольку каждое устройство резервирует под себя определенный диапазон адресов, то получается, что система может работать не со всеми 4 Гб оперативной памяти, а с 2.75-3.25 Гб. Иными словами, 32-битные операционные системы могут работать с объемами оперативной памяти до 2.75-3.25 Гб. Существуют, конечно, различные способы обхода этого ограничения, но в настольных системах они не используются.
Ну вот с процессорами разобрались. А как же быть с запуском 32-битных программ в 64-битной системе? Для этого в операционной системе есть два набора системных библиотек: для 32- и для 64-битных приложений. Подобная схема применялась в Windows 95 для работы с 16- и 32-битными программами.
Вот и вся теория в очень упрощенном виде. Теперь перейдем к практической части.
В этой статье тестирование проводилось на ноутбуке Asus N61Vn с процессором Intel Core 2 Quad Q9000, с видеокартой nVidia GeForce GT 240M и с 4 Гб оперативной памяти DDR3-1066. Для сравнения использовались 32- и 64-битные версии Windows Vista SP2 с последними обновлениями. Версии драйверов использовались те же (с поправкой на битность. Для 32-битной системы - 32-битная версия драйвера, для 64-битной - 64-битная версия видеодрайвера). На 32-битной Windows Vista было доступно около 3Гб оперативной памяти, на 64-битной - 4 Гб. Причины указаны выше.
Это тестирование условно можно разделить на две части:
- Сравнение производительности обычных 32-битных программ на 32- и 64-битной Windows;
- Сравнение производительности 32- и 64-битной версий программ на соответствующей версии Windows.
Сравнение производительности обычных 32-битных программ
В этой части будет рассмотрено какой же прирост даст переход на 64-битную Windows. На данный момент большинство игр и программ не имеют специальных 64-битных версий, которые оптимизированы для использования на 64-битных версиях Windows. Иными словами, в этой части будет показана разница в производительности большинства программ и игр, которые доступны на данный момент. Также стоит учесть что 32-битная система работает с 3 Гб памяти, а 64-битная - с 4 Гб.
Для этой части тестирования использовались такие приложения:
- 3DMark03 3.6;
- 3DMark05 1.3;
- 3DMark06 1.1;
- PCMark05 1.2.
1. Результаты тестирования в 3DMark03
Настройки по-умолчанию. Разрешение экрана 1024х768:
Результаты тестирования в 3DMark03
2. Результаты тестирования в 3DMark05
Настройки по-умолчанию. Разрешение экрана 1024х768:
Результаты тестирования в 3DMark05
3. Результаты тестирования в 3DMark06
Настройки по-умолчанию. Разрешение экрана 1280х720:
Результаты тестирования в 3DMark06
3. Результаты тестирования в PCMark05
Поскольку этот тест включает несколько отдельных тестов, то имеет смысл подать их по-отдельности.
Общий результат в PCMark05
Производительность процессора в PCMark05
Производительность памяти в PCMark05
Дополнительный гигабайт оперативной памяти у 64-битной системы делает свое дело.
Производительность графики в PCMark05
Производительность винчестера в PCMark05
Итоги этой части тестирования
Все вполне ожидаемо. 64-битная система в большинстве чуть медленней за счет использования режима совместимости с 32-битными программами. Дополнительный гигабайт памяти не спасает ситуацию. Перейдем ко второй части тестирования.
Комментарии (3)