Введение
Гонку за дополнительную производительность на рынке процессоров могут выиграть только те производители, которые на основе текущих технологий производства смогут обеспечить разумный баланс между тактовой частотой и количеством вычислительных ядер. Благодаря переходу на 90- и 65-нм техпроцессы появилась возможность создавать процессоры с большим числом ядер. В немалой степени это было обусловлено и новыми возможностями регулировки тепловыделения, и размерами ядер, именно поэтому сегодня мы наблюдаем появление всё большего числа четырёхядерных процессоров. Но как насчёт программного обеспечения? Насколько хорошо оно масштабируется от одного до двух или четырёх ядер?
В идеальном мире программы, оптимизированные под многопоточность, позволяют операционной системе распределять несколько потоков по доступным вычислительным ядрам, будь то один процессор или несколько, с одним ядром или с несколькими. Добавление новых ядер позволяет получить больший прирост производительности, чем любой прирост тактовой частоты. Это действительно имеет смысл: большее количество рабочих почти всегда справятся с заданием быстрее, чем меньшее количество более быстрых рабочих.
Но имеет ли смысл оснащать процессоры четырьмя или даже большим числом ядер? Хватит ли работы, чтобы нагрузить четыре ядра или большее их количество? Не стоит забывать, что весьма сложно распределить работу между ядрами, чтобы такие физические интерфейсы, как HyperTransport (AMD) или Front Side Bus (Intel), не стали “узким местом”. Есть и третий вариант: механизм, который распределяет нагрузку между ядрами, а именно, диспетчер ОС, может тоже стать “узким местом”.
Переход AMD с одного на два ядра прошёл практически безупречно, поскольку компания не увеличивала тепловой пакет до экстремального уровня, как это было у процессоров Intel Pentium 4. Поэтому процессоры Athlon 64 X2 были дорогими, но вполне разумными, а линейка Pentium D 800 прославилась своей горячей работой. Но 65-нм процессоры Intel и, в особенности, линейка Core 2 изменили картину. Intel смогла сочетать два процессора Core 2 Duo в одной упаковке, в отличие от AMD, в результате чего мы и получили современные Core 2 Quad. AMD обещает выпустить до конца этого года свои собственные четырёхядерные процессоры Phenom X4.
В нашей статье мы рассмотрим конфигурацию Core 2 Duo на четырёх ядрах, двух ядрах и на одном ядре. И посмотрим, насколько хорошо масштабируется производительность. Стоит ли сегодня переходить на четыре ядра?
Подробности о нескольких ядрах
Одно ядро
Под термином “одноядерный” скрывается процессор, который обладает одним вычислительным ядром. Сюда подпадают практически все процессоры с зарождения архитектуры 8086 вплоть до Athlon 64 и Intel Pentium 4. Пока техпроцесс производства не стал достаточно тонким, чтобы создавать два вычислительных ядра на одном кристалле, переход на меньший техпроцесс использовался для снижения рабочего напряжения, увеличения тактовых частот или добавления функциональных блоков и кэш-памяти.
Работа одноядерного процессора на высоких тактовых частотах может дать более высокую производительность для одного приложения, но подобный процессор в один момент времени может выполнять только одну программу (поток). Intel реализовала принцип Hyper-Threading, который эмулирует наличие нескольких ядер для операционной системы. Технология HT позволила лучше загрузить длинные конвейеры процессоров Pentium 4 и Pentium D. Конечно, прирост производительности был невелик, но отзывчивость системы оказалась определённо лучше. А в многозадачном окружении это может быть и важнее, поскольку вы сможете выполнять какую-либо работу, пока ваш компьютер работает над определённой задачей.
Поскольку двуядерные процессоры сегодня стоят очень дёшево, мы не рекомендуем брать одноядерные процессоры, если только вы не хотите экономить каждую копейку.
Два ядра
Процессор Core 2 Extreme X6800 на момент выхода был самым быстрым в линейке Intel Core 2, работая на частоте 2,93 ГГц. Сегодня двуядерные процессоры достигли 3,0 ГГц, правда, при более высокой частоте шины FSB1333.
Переход на два процессорных ядра означает в два раза большую вычислительную мощность, но только на приложениях, оптимизированных под многопоточность. Обычно такие приложения включают профессиональные программы, которым нужна высокая вычислительная мощность. Но двуядерный процессор всё равно имеет смысл, даже если вы используете свой компьютер лишь для электронной почты, просмотра интернет-страниц и работы с офисными документами. С одной стороны, современные модели двуядерных процессоров потребляют не особо больше энергии, чем одноядерные модели. С другой стороны, второе вычислительное ядро не только добавляет производительность, но и улучшает отзывчивость системы.
Вы когда-нибудь ждали, пока WinRAR или WinZIP закончат сжатие файлов? На одноядерной машине вы вряд ли сможете быстро переключаться между окнами. Даже воспроизведение DVD может нагружать одно ядро не меньше, чем сложная задача. Двуядерный процессор позволяет легче справляться с одновременным запуском нескольких приложений.
Двуядерные процессоры AMD содержат два полноценных ядра с кэш-памятью, интегрированным контроллером памяти и кросс-коммутатором, который обеспечивает совместный доступ к памяти и к интерфейсу HyperTransport. Intel пошла путём, схожим с первым Pentium D, установив в физический процессор два ядра Pentium 4. Поскольку контроллер памяти является частью чипсета, системную шину приходится использовать и для связи между ядрами, и для доступа к памяти, что накладывает определённые ограничения на производительность. Процессор Core 2 Duo оснащён более совершенными ядрами, которые дают лучшую производительность на такт и лучшее соотношение производительности на ватт. У двух ядер используется общий кэш L2, который позволяет обмениваться данными без использования системной шины.
Четыре ядра против двух
Процессор Core 2 Quad Q6700 работает на частоте 2,66 ГГц, используя внутри два ядра Core 2 Duo.
Если сегодня существует много причин, чтобы перейти на двуядерные процессоры, то четыре ядра выглядят пока не так убедительно. Одна из причин заключается в ограниченной оптимизации программ под несколько потоков, но существуют и определённые проблемы в архитектуре. Хотя AMD сегодня критикует Intel за упаковку двух двуядерных кристаллов в одном процессоре, считая это не “настоящим” четырёхядерным CPU, подобный подход Intel работает хорошо, поскольку процессоры действительно обеспечивают четырёхядерную производительность. С точки зрения производства легче получить высокий уровень выхода годных кристаллов и выпускать больше продуктов с небольшими ядрами, которые затем можно соединить вместе для нового, более мощного продукта на новом техпроцессе. Что же касается производительности, то есть “узкие места” – два кристалла взаимодействуют друг с другом через системную шину, поэтому весьма сложно управлять несколькими ядрами, распределёнными на несколько кристаллов. Хотя наличие нескольких кристаллов позволяет обеспечить лучшую экономию энергии и регулировать частоты отдельных ядер для нужд приложения.
Настоящие четырёхядерные процессоры используют четыре ядра, которые, вместе с кэш-памятью, располагаются на одном кристалле. Здесь важно наличие общего унифицированного кэша. AMD будет реализовывать такой подход, оснащая 512 кбайт кэша L2 каждое ядро и добавляя кэш L3 для всех ядер. Преимущество AMD заключается в том, что можно будет выключать отдельные ядра и ускорять другие, чтобы получить более высокую производительность однопоточных приложений. Intel пойдёт тем же путём, но не раньше представления в 2008 году архитектуры Nehalem.
Утилиты вывода системной информации, такие, как CPU-Z, позволяют узнать число ядер и объёмы кэша, но не раскладку процессора. Вы не узнаете, что Core 2 Quad (или четырёхядерный Extreme Edition, показанный на скриншоте) состоит из двух ядер.
Тестовая конфигурация
Платформа | |
Процессор | Intel Core 2 Duo E4400 (65 нм; 2 000 МГц, 2 Мбайт кэша L2) |
Процессор | Intel Core 2 Duo X6800 (65 нм; 2 933 МГц, 4 Мбайт кэша L2) |
Процессор | Intel Core 2 Duo QX6700 (65 нм; 2 666 МГц, 2×4 Мбайт кэша L2) |
Материнская плата | DFI LANParty UT P35-T2R, Rev: A.03, чипсет Intel P35, BIOS 23.08.2007 |
Память | |
Жёсткий диск (чтение) | Western Digital Raptor WD1500ADFD, 150 Гбайт, 10 000 об/мин, кэш 16 Мбайт, SATA/150 |
Жёсткий диск (запись) | Western Digital Raptor WD1500ADFD, 150 Гбайт, 10 000 об/мин, кэш 16 Мбайт, SATA/150 |
DVD-ROM | Samsung SH-S183 |
Видеокарта | Zotac GeForce 8800 GTS, GPU: nVidia GeForce 8800 GTS (500 МГц), память 320 Мбайт GDDR3 (1600 МГц) |
Звуковая карта | Интегрированная |
Блок питания | Enermax EG565P-VE, ATX 2.01, 510 Вт |
Системное ПО и драйверы | |
ОС | Windows XP Professional 5.10.2600, Service Pack 2 |
Версия DirectX | 9.0c (4.09.0000.0904) |
Драйвер платформы Intel | 8.3.1013 |
Графический драйвер nVidia | Forceware 162.18 |
Тесты и настройки
3D-игры | |
Call Of Duty 2 | Version: 1.3 Retail Video Mode: 1280×960 Anti Aliasing: off Graphics Card: medium Timedemo demo2 |
Prey | Version: 1.3 Video Mode: 1280×1024 Video Quality: game default Vsync = off Benchmark: THG-Demo |
Quake 4 | Version: 1.2 (Dual-Core Patch) Video Mode: 1280×1024 Video Quality: high THG Timedemo waste.map timedemo demo8.demo 1 (1 = load textures) |
Аудио | |
Lame MP3 | Version 3.98 Beta 5 Audio CD “Terminator II SE”, 53 min wave to mp3 160 kbps |
Видео | |
TMPEG 3.0 Express | Version: 3.0.4.24 (no Audio) fist 5 Minutes DVD Terminator 2 SE (704×576) 16:9 Multithreading by rendering |
DivX 6.7 | Version: 6.7 (4 Logical CPUs) Profile: High Definition Profile 1-pass, 3000 kbit/s Encoding mode: Insane Quality Enhanced multithreading no Audio |
XviD 1.1.3 | Version: 1.1.3 Target quantizer: 1.00 |
Mainconcept H.264 v2 | Version 2.1 260 MB MPEG-2 source (1920×1080) 16:9 Codec: H.264 Mode: NTSC Audio: AAC Profile: High Stream: Program |
Приложения | |
WinRAR | Version 3.70 (303 MB, 47 Files, 2 Folders) Compression = Best Dictionary = 4096 kB |
Autodesk 3D Studio Max | Version: 8.0 Characters “Dragon_Charater_rig” rendering HTDV 1920×1080 |
Cinebench | Version: R10 1 CPU, x CPU run |
Синтетические тесты | |
PCMark05 Pro | Version: 1.2.0 CPU and Memory Tests Windows Media Player 10.00.00.3646 Windows Media Encoder 9.00.00.2980 |
3D-игры
Синтетические тесты
Приложения
Аудио/видео
SYSmark 2007 Preview
Заключение
Как можно видеть, между процессорами Core 2 Duo с одним, двумя или четырьмя ядрами наблюдаются существенные различия. Минимальная разница характерна для таких популярных игр, как Quake IV, Prey или Call of Duty 2, так как они не сильно оптимизированы под многоядерные процессоры. Чем новее игра, тем больше будет преимущество от дву- или четырёхядерных процессоров. Сегодня для игр лучше всего выбирать двуядерный процессор с высокой тактовой частотой.
Профессиональные приложения, например, пакет рендеринга 3DStudio Max, Cinebench или кодер Mainconcept H.264, ведут себя совершенно иначе – им нужна максимальная доступная производительность, поэтому они оптимизированы под нагрузку дву- и четырёхядерных процессоров. Все три приложения масштабируются примерно линейно, почти удваивая производительность при увеличении числа ядер.
Результаты масштбирования SYSmark 2007 Preview зависят от вида теста: прогоны 3D и создание видео напрямую выигрывают от четырёхядерного процессора, в отличие от E Learning и Productivity.
Тесты кодирования аудио и видео определённо выигрывают от второго ядра, но пока не от четырёх. Наконец, синтетические тесты 3DMark06 и PCMark05 масштабируются линейно, что нас не удивило.
В целом, современное поколение четырёхядерных процессоров действительно обладает резервом производительности, обещанным Intel. Впрочем, сегодня всё ещё много приложений, которые не получают преимущества от числа ядер больше двух. Наше заключение будет простым: если вы сможете взять четыре ядра на той же тактовой частоте и немного дороже, чем два, то берите. Если нет, то лучше купить двуядерный процессор с разумной ценой.
Наконец, как мы надеемся, выход нового AMD Phenom X4 к концу этого года, а также появление Intel Core 2 Duo E8000 и Core 2 Quad Q9000 смогут подогреть конкуренцию на подчас скучном рынке CPU.