«Мир ПК» , № 01, 2007 66 прочтений
На зависть Змею Горынычу
Если на одно- и двухъядерные процессоры легендарный герой народного эпоса мог взирать свысока, то появление четырехголовых монстров должно заставить его уважительно относиться к возможностям современной полупроводниковой промышленности.
Если на одно- и двухъядерные процессоры легендарный герой народного эпоса мог взирать свысока, то появление четырехголовых монстров должно заставить его уважительно относиться к возможностям современной полупроводниковой промышленности.
Более года, с весны 2005-го, когда компаниями Intel и AMD практически одновременно были представлены первые двухъядерные процессоры, предназначенные для ПК, и до лета 2006-го, когда наконец появился Core 2, ознаменовавший отказ от тупиковой ветви развития микропроцессорной отрасли NetBurst, корпорация Intel находилась в положении аутсайдера.
Теперь, вновь оказавшись на коне, Intel спешит увеличить отрыв. Тем более что некоторые события в мире высоких технологий принято считать знаковыми. Упустив возможность первой преодолеть гигагерцевый рубеж, Intel с тех пор крайне внимательна к подобным моментам. Даже при некотором технологическом отставании от AMD в области разработки многоядерных архитектур она сумела раньше всех представить миру двухъядерный процессор для ПК. Теперь же, когда технологическое преимущество перешло на ее сторону, она спешит закрепить успех, первой предъявив публике четырехъядерный процессор архитектуры x86.
Полтора года назад, когда у AMD уже были наработки по проектированию многоядерных процессоров, Intel вырвалась вперед, объединив в одном корпусе два одноядерных процессора. Известно, что сейчас у AMD на подходе полноценная четырехъядерная архитектура. Но и здесь Intel решила обойти конкурента, применив половинчатое решение — размещение в одном корпусе двух двухъядерных процессоров Core 2 Duo E6700 2.66 GHz. С одной стороны, воспользовавшись тем, что технология Core 2 Duo обладает пониженным энергопотреблением по сравнению с предыдущими поколениями процессоров, Intel будет избавлена от серьезных проблем с тепловыделением у нового четырехголового монстра. С другой стороны, система получилась несимметричной, и, как и в случае с Pentium Extreme Edition, обладающим четырьмя логическими процессорами при двух физических, производительность нового процессора оказалась зависящей от того, как операционная система распределит ресурсоемкие потоки между четырьмя «головами» нового устройства. Хотя, в отличие от двухъядерной системы с HyperThreading, здесь ограничения связаны лишь с использованием кэш-памяти второго уровня, а потому в реальной работе такая несимметричность будет приводить к снижению производительности лишь в редких случаях.
Новый процессор получил название Intel Core 2 Quad CPU @ 2.66 GHz. Предположительно он будет позиционироваться как Core 2 Extreme и иметь индекс QX6700, но в отличие от нынешнего Core 2 Extreme X6800 некоторое время останется единственным представителем новой линейки Quad. В общем-то это вполне логично — к интенсивному использованию многопроцессорных конфигураций современная программная отрасль еще не готова.
Напомним, что с точки зрения использования собственной производительности ПК существенно отличается от мэйнфреймов, серверов или рабочих станций. В обычном режиме работы ПК практически все время (более 90—99%) находится в состоянии простоя, т.е. ожидает действий пользователя (нажатия на клавишу или изменения положения мыши). Поэтому со многими приложениями с одинаковым успехом справляются как современные компьютеры, так и морально устаревшие машины на процессорах Pentium — Pentium III с тактовой частотой 200—700 МГц.
Работа классической многозадачной операционной системы (на примере семейства Windows) выглядит так: в ОС имеется несколько запущенных процессов (примерно от 20 до 40), большая часть из которых сгенерирована самой системой и лишь некоторые — пользовательскими программами. Список этих процессов можно посмотреть, нажав ++. У каждого из них есть очередь сообщений, пополняемая за счет межпроцессных сообщений и пользовательского ввода. ОС поочередно перебирает процессы и раздает им по очередному сообщению (если очередь сообщений соответствующего процесса не пуста). Если же сообщений для обработки нет, ОС останавливает процессор командой HLT до прихода очередного аппаратного прерывания. Аппаратные прерывания, в свою очередь, поступают с внешних устройств, таких как системные часы, сетевой контроллер, мышь или клавиатура.Обычно любое элементарное действие пользователя, например нажатие на клавишу, сопровождается достаточно большим количеством генерируемых сообщений, скажем десятью. Но время обработки каждого сообщения невелико, от 50 до 500 мкс в зависимости от мощности компьютера. Понятно, что десяток таких сообщений обработается за время от 0,5 до 5 мс, что для пользователя совершенно незаметно, с его точки зрения реакция на внешнее воздействие наступила мгновенно.
Несколько иначе обстоит дело, если компьютер выполняет какую-либо ресурсоемкую задачу, например архивацию данных, антивирусную проверку или видеосжатие. ОС по очереди раздает кванты времени всем запущенным процессам, но величина кванта определяется прикладной задачей и может доходить до нескольких десятков миллисекунд. Точнее, прикладная задача, допустим то же видеосжатие, может требовать и намного больше, но в таком случае ОС принудительно ограничивает квант времени определенной величиной. При этом кванты времени выделяются поочередно обработке нажатия на клавишу и видеосжатию, но первая «берет» только 50 мкс, а второе норовит получить все 20 мс, выделяемые ОС. Поэтому на пользовательский ввод приходится лишь доля процента от производительности системы. Конечно, чтобы смягчить это соотношение, в ОС существует жесткая система приоритетов, но зачастую прикладные процессы используют вызов системных функций, которые сами по себе имеют высокий приоритет. За время обработки десяти пользовательских сообщений система успеет передать процессу архивации десяток квантов времени по 20 мс, в результате чего время запаздывания реакции на нажатие клавиши становится заметным на глаз и пользователь начинает чувствовать, как его компьютер «тормозит».
В случае же многопроцессорной системы в то время как один процессор непрерывно в течение 20 мс «борется» с ресурсоемкой задачей, второй практически свободен, и вся очередь пользовательских сообщений достаточно быстро им обрабатывается. Пользователь не замечает выполняемого в системе «тяжелого» приложения.
Первоначально появление технологии HyperThreading было обусловлено тем, что из-за сверхдлинного конвейера Pentium 4 исполнительные блоки процессора подолгу простаивали, ожидая, когда диспетчеризующее устройство даст им очередную инструкцию, пригодную для исполнения. HyperThreading означает всего лишь введение в процессор второго диспетчера, который также может нагружать исполнительные блоки. Таким образом, количество исполнительных блоков в процессоре оставалось прежним, но за счет сокращения времени их простоя производительность в многопоточном режиме увеличивалась примерно на четверть (по данным Intel, ее рост достигал 40%). Но самое главное, как оказалось, заключалось в том, что ресурсоемкая задача и пользовательский ввод могли быть разнесены по разным диспетчерам (виртуальным процессорам); на обработку ввода при этом оставалось около 25% мощности процессора вместо долей процента в классической однопроцессорной системе. Другими словами, пользователь теперь намного реже ощущал «торможение» компьютера, только когда в системе имелось одновременно не менее двух ресурсоемких потоков.
SiSoft Sandra же, напротив, во всех процессорных тестах показал увеличение производительности ровно вдвое по сравнению с E6700. Ну, на то и синтетические тесты, чтобы выжимать из системы все, что возможно. Набор тестов на основе реальных приложений SYSmark 2004 продемонстрировал неоднозначные результаты. Хотя по суммарному баллу выигрыш остался за Extreme предыдущей модели X6800, это оказалось возможным только за счет офисных приложений, тогда как в профессиональных программах преимущество было за новым процессором. В принципе для офисных программ производительность никогда не была определяющей, поэтому и разработчики, пишущие такие программы, никогда не обращали особого внимания на распараллеливание вычислений. Да и речь идет о программах уже двухлетней давности, хотя если посмотреть на набор «софта», установленного на среднем компьютере, то скорее всего он окажется еще более старым, чем мы используем в тестах.
В общем, можно констатировать, что Intel «отметилась» в области четырехъядерных процессоров. В то же время для массового пользователя такое устройство пока вряд ли представляет серьезный интерес. Другое дело профессионалы, которые работают с ресурсоемкими программами, по максимуму использующими все возможности аппаратного обеспечения, в частности многоядерность. Для них выбор в пользу Intel Core Extreme QX6700 наверняка окажется предпочтительным. О массовом же применении четырехъядерных архитектур, вероятно, можно будет говорить лишь после выхода Windows Vista с соответствующим ей DirectX 10.0 и драйверами, обеспечивающими поддержку многопоточного взаимодействия с графическим процессором. В соответствии с законами рынка, наверное, следует ожидать дополнения линейки Quad моделями среднего уровня.
Редакция благодарит российские представительства компаний Intel и AMD за предоставленное для проведения тестирования оборудование.
Как мы тестировали
Мы сравнили новый четырехъядерный процессор Intel с четырьмя другими: предыдущей моделью Intel Core 2 Extreme X6800; ЦП Intel Core 2 Duo E6700 (имеющим такую же частоту, как у новинки); микропроцессором предыдущего поколения Intel Pentium 4 3,6 ГГц; флагманом AMD Athlon 64 FX-62.
Тесты проводились на базе компьютерного стенда с системными платами на НМС Intel 975X и на НМС NVIDIA nForce4 SLI, двухканальным ОЗУ типа DDR2-667 общим объемом 1 Гбайт, жестким диском Western Digital WD2000JD SATA, оптическим дисководом Lite-On LTN483L и блоком питания HPU-3S525 (525 Вт).
На жесткий диск тестового стенда устанавливалась ОС Windows XP Professional SP2 (build 2600). Разрешение экрана (кроме игровых тестов) составляло 1024x768 точек при 16,7 млн. цветов. Игровые тесты, если не оговорено иное, и тесты 3DMark проводились в трех разрешениях: 640x480, 1024x768 и 1600x1200 точек. Глубина цвета во всех случаях составляла 32 разряда (16,7 млн. цветов).
Полный вариант статьи см. на «Мир ПК-диске».







