Стоит ли переходить на 64-разрядный процессор
Последнее время все чаше можно услышать вопрос: "Что такое 64-раз - рядный процессор и стоит ли выбирать ноутбук на его основе?", или "Что лучше: Hyper-Treading или Hyper Transport?", или что-то подобное. Слова "двухядерный" и "64-разрядная операционная система" неимоверно нагружают мозг и не дают объективно оценить обстановку. Ниже я попытаюсь на примере грубой аналогии (которая совершенно не передает сути дела, но, тем нс менее, позволяет понять, о чем идет речь) прояснить ситуацию.
Те, кто разбирается в особенностях архитектуры процессоров, дальше могут не читать. Ничего, кроме скептической усмешки, текст ниже у них нс вызовет. Могу порекомендовать таким людям перейти к другому вопросу, в котором они не сильны (например, о калибровке аккумуляторной батареи). Это, кстати, поможет им прийти к мысли, что хорошо разбираться во всем невозможно. Кто-то может, наоборот, знать все нюансы калибровки батарей, но иметь досадный пробел в области процессоростроения. Так что скептическую ухмылку можно поберечь до следующего подходящего случая. А мы начнем.
Производительность процессора определяется несколькими факторами: тактовой частотой, объемом кэш-памяти (как первого, так и второго уровня), примененными технологиями (особенностями архитектуры) и т. д. Для простоты рассмотрения возьмем только два параметра: собственно тактовую частоту и количество инструкций, выполняемых за такт. Тактовая частота процессора задается кварцевым генератором, и чем она выше, тем быстре будет работать процессор. Следовательно, из двух в остальном полностью аналогичных процессоров более производительным будет тот, чья тактовая частота выше. Но если процессор с меньшей тактовой частотой будет способен за один такт обрабатывать больше инструкций, то, вполне возможно, что более производительным станет он.
Давайте представим себе процессор в виде здания с комнатами, количество которых соответствует разрядам процессора. В каждой комнате сидит офисный рабочий — клерк. Раньше были 4-разрядные процессоры, т. е. в здании было всего 4 комнаты. Затем число комнат (разрядов) стало увеличиваться. Сначала стали строить здания с 8 комнатами, потом перешли на 16-комнатные постройки, и, наконец, на 32-комнатные. Легко сообразить: если два здания с разным количеством комнат (например, 16 и 32) поступит задание, состоящие из 20 инструкций, то первым оно будет выполнено в здании с 32 комнатами. Ведь там все инструкции будут выполняться параллельно, тогда как в здании с 16 комнатами вначале придется выполнить 16 инструкций (что займет такое же количество времени), а только потом браться за оставшиеся четыре. Это, естественно, потребует дополнительного времени. Для того чтобы была возможность поступления задания с 20 инструкциями (имейте в виду, число 20 мы взяли с потолка; скорее подошло бы число 32, но не хочется забивать головы людям, далеким от программирования и т. п.), это задание должно быть сформулировано операционной системой. Не забывайте, здания у нас все-таки символизируют процессоры. Так вот, естественно, что и операционная система должна поддерживать посылку количества инструкций, больших, чем 16. То есть и операционная система должна быть 32-разрялной. и соответствующая программа, выполняемая в данный момент. Или, по крайней мере, они должны уметь посылать такие задания.
Теперь рассмотрим задание, состоящее из, например, 50 инструкций. Комнат в здании всего 32 (32-разрядный процессор), т. е. начнется выполнение только 32 инструкций. А если клерки в некоторых комнатах выполнят свою работу раньше других? Почему бы им не взяться за оставшиеся задания, чтобы не было простоя в работе? Совершенно верно, это и реализовано технологией Hyper-Treading! То есть простаивающие блоки процессора (клерки в комнатах) начинают выполнять следующие инструкции. В результате создается впечатление, что клерков (а, соответственно, и комнат в здании) не 32, а больше. На самом деле их количество, конечно, не увеличивается. Это и имеется в виду, когда говорится, что технология Hyper-Treading реализует "второй виртуальный процессор". Но, как уже говорилось выше, и операционная система, и исполняемое приложение (программа) должны уметь посылать задание из большего, чем 32, числа инструкций. Ведь если они этого делать не умеют, то и увеличения производительности наблюдаться не будет.
Адекватно работать с логическими (виртуальными) процессорами способна Windows. Работая, к примеру, в Windows 98, никакой разницы в работе мы не заметим. Что толку в том, что некоторые клерки уже выполнили свое задание и жаждут взяться за выполнение следующего? Их начальник (операционная система) даже представить не способен, что кто-то может закончить работу раньше других, поэтому и не пытается выслать им следующие задания.
Приложений, способных работать в 64-разрядном режиме, на сегодняшний день не так уж и много. Большинство из них ориентированы на профессионалов работы с фото и видео. Если же вы работаете, в основном, с офисными приложениями, то пользы от 64-разрядных приложений для вас не будет. Сейчас все в большем количестве появляются 64-разрядные процессоры. Не нужно думать, что раньше их нс существовало совсем. Они были, но до недавнего времени предназначались исключительно для рынка серверных решений, причем высшего уровня. Первой уловила тенденцию и начала выпускать такие процессоры, но предназначенные для массового рынка, компания AMD (AMD Athlon 64). Вслед за ними и Intel выпустила в свет свои версии лвухядерных процессоров. Разница между Hyper-Treading и реальными двумя ядрами, конечно, есть. Одно из главных преимуществ двухядерной архитектуры — использование собственной кэш-памяти второю уровня каждым ядром При работе с большими базами данных или обработке видеоизображения это приводит к увеличению производительности. Но даже выпускаемые сейчас 32-разрядные процессоры все в большей мере используют преимущества 64-разрядных вычислений. Например, у Intel эта технология носит название ЕМ64Т (Extended Memory 64 Technology, 64-разрядное расширение 32-разрядной архитектуры). Она предусматривает поддержку 64-разрядной адресации памяти, и увеличение количества регистров и пр.
Полный переход на 64-разрядные процессоры и приложения, конечно же, когда-нибудь произойдет. Но на сегодняшний лень я бы не считал это настолько существенным, чтобы, сломя голову, искать ноутбук именно с 64-разрядным процессором. Пользователи почувствуют прирост производительности в тех случаях, когда будет требоваться работа с приложениями, использующими огромный объем памяти или при обработке фото- и видеоматериалов.
Резюме
- Для увеличения производительности как операционная система, так и выполняемые программы должны поддерживать 64-разрядные режимы. - Если профессионалам работы с фото и видео имеет смысл смотреть в сторону двухядерных процессоров, то остальные вполне могут относится к этому спокойно. Существующие стандартные решения как минимум еще три-четыре года могут иметь право на жизнь. - Разговор о производительности уместен в немногих случаях. Для работы в офисных приложениях производительный процессор нс нужен (лучше увеличить объем оперативной памяти). А поддержку 64-разрялных режимов будут иметь большинство современных процессоров.
*** |