Эпоха одноядерных процессоров уходит в прошлое. CPU, оснащенные двумя вычислительными ядрами, начали активное наступление на сегмент рынка настольных компьютеров. А там, глядишь, и многоядерные подтянутся…
В апреле-мае этого года в IT-индустрии произошли знаменательные события: монстры процессорного рынка — AMD и Intel — явили миру CPU с несколькими вычислительными ядрами. Первой двухъядерные чипы для настольных ПК представила корпорация Intel — 11 апреля было официально объявлено о начале поставок процессора Pentium 4 Extreme Edition 840. AMD не заставила себя долго ждать и уже 21 апреля ознакомила публику с тремя серверными двухъядерными процессорами Opteron, а также представила новую торговую марку — Athlon 64 X2, под которой уже 9 мая были официально презентованы двуядерные процессоры для настольных ПК.
Переход на двухъядерную архитектуру обусловлен тем, что традиционные методы по увеличению производительности практически исчерпали себя. Из-за ряда технологических проблем темпы наращивания тактовых частот в последнее время заметно замедлились. К примеру, в последний год перед появлением двухъядерных процессоров компания Intel смогла нарастить частоты своих CPU лишь на 400 МГц, а конкуренты от AMD ускорились всего на 200 МГц. Как видим, рост тактовых частот дается нелегко. А другие методы, такие как увеличение скорости шины и размера кэш-памяти, ощутимого прироста производительности не дают.
Поэтому понятно, почему именно внедрение двухъядерных процессоров оказалось наиболее логичным шагом на пути к новым вершинам быстродействия и ознаменовало начало новой эры в развитии процессорного рынка.
Два ядра
Что же представляет собой двухъядерный процессор? На первый взгляд это просто два процессора, объединенных в общем корпусе. Но не все так просто. Во-первых, нужно различать термины "процессор" и "процессорное ядро". Во-вторых, существует проблема общих ресурсов, доступ к которым нужно распределять между двумя ядрами.
Если же посмотреть с точки зрения программного обеспечения, то двухъядерный процессор система рассматривает как два независимых. Понятно, что двухъядерный процессор способен одновременно выполнять два потока инструкций, в то время как обычный CPU производит вычисления строго по очереди.
До этого уже была произведена попытка разделить выполняемые инструкции — речь идет о технологии Intel Hyper-Threading. Вот только в ней два "виртуальных" процессора почти во всем разделяют между собой ресурсы одного "физического" процессора (кэши, конвейер, исполнительные устройства). Практически все ресурсы общие — и если они уже заняты одним из выполняющихся потоков, то второй будет вынужден ожидать их освобождения.
По сути, принцип работы процессора с Hyper-Threading похож на принцип работы многозадачной операционной системы, только происходит это не на программном, а на аппаратном уровне. Разделение потока на две части, как правило, позволяет эффективнее загрузить исполнительные устройства процессора. И при этом немного облегчить операционной системе задачу имитации множества независимых компьютеров на одном существующем процессоре.
Полноценный двухъядерный процессор — совсем другое дело. В этом случае система определяет действительно два "честных" процессорных ядра. И прирост производительности при этом составляет уже не 10-20% (средний показатель для процессора с технологией Hyper-Threading), а все 80-90% и даже больше (естественно, при использовании обоих ядер). В принципе, двухъядерный процессор представляет собой SMP-систему (SMP — Symmetric MultiProcessing, симметричная многопроцессорная обработка; термин, обозначающий систему с несколькими равноправными процессорами). По сути своей он не отличается от обыкновенной двухпроцессорной системы, в которой установлено два независимых процессора. В результате мы получаем все преимущества двухпроцессорных систем без необходимости использования сложных и дорогих двухпроцессорных материнских плат.
Чего же ожидать от двухпроцессорных систем? В приложениях, оптимизированных под многопроцессорность, можно получить ощутимый — вплоть до двукратного — прирост производительности. Это касается многих профессиональных приложений, большинства программного обеспечения по обработке цифрового контента (звук, видео, графика), а также программ, уже оптимизированных под технологию Hyper-Threading.
Intel Pentium D
Для корпорации Intel выпуск процессоров с двухъядерной архитектурой был фактически неизбежен, поскольку ядро Prescott на сегодня практически полностью исчерпало свой запас по тактовой частоте, ограниченный 4 ГГц. Причем ожидается, что уже к концу 2006 года доля двухъядерных чипов в поставках Intel для рынков настольных и мобильных ПК составит более 70%, а на серверном рынке этот показатель должен достичь более 85%. Эти цифры весьма убедительно показывают, сколь серьезные надежды возлагает Intel на новую архитектуру.
Первые двухъядерные процессоры Intel для настольных систем изготовлены на основе ядра Smithfield. Фактически оно состоит из двух ядер Prescott, выполненных на одном полупроводниковом кристалле. Туда же помещается арбитр, который следит за состоянием системной шины и помогает разделять доступ к ней между двумя CPU. У каждого ядра — собственная кэш-память второго уровня объемом 1 Мб. Все взаимодействие между ядрами в Smithfield происходит через системную шину.
Smithfield имеет примерно вдвое большую площадь по сравнению с процессорным ядром Prescott — 206 мм2. Число транзисторов в новых процессорах составляет 230 млн.
На базе Smithfield на данный момент выпускается два типа процессоров для настольных компьютеров: просто двухъядерные Pentium D и CPU для энтузиастов — Pentium Extreme Edition. Двухъядерные процессоры упаковываются в корпус LGA775 и работают с частотой системной шины 800 МГц.
Линейка CPU Pentium D представлена тремя моделями: 820, 830 и 840 с частотами, соответственно, 2.8, 3.0 и 3.2 ГГц. В элитарном секторе есть модель Pentium Extreme Edition 840, процессорные ядра которой работают на частоте 3,2 ГГц. Отличие экстремального двухъядерника от остальных заключается в разблокированном коэффициенте умножения и в присутствии технологии Hyper-Threading, которая отключена в моделях линейки Pentium D. Таким образом Pentium Extreme Edition будет определяться операционной системой как четыре логических процессора.
Основные характеристики новых CPU приведены в таблице ниже.
Как видим, максимальная частота двухъядерного процессора равна 3,2 ГГц, в то время как одноядерные модели достигли отметки 3,8 ГГц. Это объясняется ограничениями по тепловыделению и энергопотреблению процессоров. Prescott и так довольно сильно греется и много "кушает", а объединение двух ядер на одном кристалле приводит к значительному росту упомянутых характеристик. Поэтому, двухъядерные процессоры и характеризуются такой относительно низкой тактовой частотой.
Заметим также, что новое процессорное ядро наследует от Prescott весь набор современных технологий: поддержку 64-битных расширений EM64T, технологию безопасности Execute Disable Bit, а также полный набор средств Demand Based Switching для управления тепловыделением и энергопотреблением, включающий технологии C1E (Enhanced Halt State), TM2 (Thermal Monitor 2) и EIST (Enhanced Intel SpeedStep). Три последние технологии не поддерживаются младшей двухъядерной моделью Pentium D 820, поскольку для их работы требуется динамическое изменения множителя процессора, а коэффициент умножения этого чипа (14x) является минимальным для CPU на основе Prescott и его производных.
AMD Athlon 64 X2
Двухъядерные процессоры производства AMD именуются Athlon 64 X2. Из названия видно, что новые CPU имеют архитектуру AMD 64, а индекс "X2" указывает на присутствие двух вычислительных ядер.
На сегодняшний день модельный ряд Athlon 64 X2 включает пять процессоров с рейтингами 3800+, 4200+, 4400+, 4600+ и 4800+ — их основные характеристики приведены в таблице внизу.
В основе этих процессоров — ядра с кодовыми именами Toledo и Manchester. Различия между ними — в размере кэша второго уровня: у Toledo кэш L2 имеет объем 1 Мб на каждое ядро, а у Manchester этот показатель вдвое меньше (по 512 Кб на каждое ядро).
Процессоры с рейтингами 4400+ и 4800+ построены на основе ядра Toledo и работают на частотах 2,2 ГГц и 2,4 ГГц соответственно. А CPU с рейтингами 3800+, 4200+ и 4600+ имеют ядро Manchester и характеризуются тактовыми частотами 2,0 ГГц, 2,2 ГГц и 2,4 ГГц. Существуют также варианты трех последних процессоров на основе ядра Toledo, но с отключенной половиной кэша.
Ядро Toledo состоит примерно из 233,2 млн. транзисторов и имеет площадь около 199 мм2. Площадь ядра Manchester заметно меньше — 147 мм2; количество транзисторов составляет 157 млн.
В отличие от конкурента, AMD не стала уменьшать частоту новых CPU. Как видим, тактовая частота самого быстрого двухъядерного процессора соответствует частоте старшей модели в линейке Athlon 64 (правда, существует и более быстрый геймерский FX). Из этого следует, что даже в приложениях, не оптимизированных под многопоточность, Athlon 64 X2 должна демонстрировать очень хороший уровень производительности.
Следует отметить, что подход к реализации двухъядерности в процессорах AMD несколько отличается от предложенного Intel, хотя Athlon 64 X2, как и Pentium D, по сути представляет собой два процессора, объединенных на одном кристалле. Дело в том, что ядра в Smithfield взаимодействуют посредством системной шины — а в Athlon 64 X2 реализован иной подход. Еще на этапе разработки архитектуры AMD 64 была предусмотрена возможность создания многоядерных процессоров. Каждое из ядер Athlon 64 X2 обладает собственным набором исполнительных устройств и выделенной кэш-памятью второго уровня; контроллер памяти и контроллер шины HyperTransport общие. А вот взаимодействие каждого ядра с разделяемыми ресурсами происходит посредством специального коммутатора (Crossbar Switch) и интерфейса системных запросов (System Request Interface), в котором формируется очередь системных запросов (System Request Queue). И, что самое главное, на этом же уровне организовано и взаимодействие ядер, благодаря чему вопросы когерентности кэшей решаются без дополнительной нагрузки на системную шину и шину памяти.
Двухъядерные процессоры AMD, в отличие от представителей Intel, не работают с DDR2. Отсутствие поддержки современных типов памяти с высокой пропускной способностью объясняется тем, что компания в первую очередь стремилась сохранить совместимость Athlon 64 X2 с существующими платформами. Зато, в отличие от двухъядерных процессоров Intel, для которых необходим новый чипсет, эти CPU могут устанавливаться на те же материнские платы, что и обычные Athlon 64.
В результате Athlon 64 X2 имеют корпус Socket 939, двухканальный контроллер памяти с поддержкой DDR400 SDRAM и работают с шиной HyperTransport с частотой до 1 ГГц. Благодаря этому двухъядерные процессоры AMD не нуждаются в новых чипсетах и материнках — достаточно обновить BIOS на уже существующих платах под Socket 939. Стоит также отметить, что энергопотребление Athlon 64 X2 удалось вписать в ранее установленные рамки для Athlon 64.
Новый процессор поддерживает технологии AMD64 (поддержка 64-битных расширений), Enhanced Virus Protection (защита от некоторых типов вирусов), а также Cool’n’Quiet (понижение тепловыделения и энергопотребления процессора).
Тестирование
В тестовую лабораторию журнала поступили двухъядерные CPU обоих гигантов процессорного рынка: Intel Pentium D 820 и AMD Athlon 64 X2 4800+. Сравнивать эти процессоры напрямую нет смысла, поскольку они относятся к, скажем так, разным весовым категориям. Поэтому каждому двухъядернику был противопоставлен его одноядерный предок, работающий на такой же тактовой частоте — речь идет об Intel Pentium 4 520 и AMD Athlon 64 4000+.
Исследовалось изменение производительности в различных популярных приложениях при использовании систем на основе двухъядерного процессора вместо одноядерного. В качестве тестовых программ применялись приложения, входящие в состав пакета WorldBench 5. Результатом тестов является время, потраченное на выполнение приложения (см. таблицы).
Заключение
Судя по результатам тестирования, прирост производительности в большинстве приложений незначителен. Более солидный выигрыш мы получаем при запуске программ по обработке видео — Microsoft Windows Media Encoder 9.0 и Roxio VideoWave Movie Creator 1.5.
Однако лучше всего двухъядерные процессоры проявили себя при віполнении многозадачного теста, когда одновременно запускалось два приложения — Mozilla и Windows Media Encoder. Причем отрыв Athlon 64 X2 4800+ от одноядерного предка составил 82,2%, а разница между процессорами Intel в этом тесте составила 47,1%. На первый взгляд двухъядерность AMD эффективней, чем Intel. Но не будем забывать, что у Pentium 4 уже была реализована "псевдодвухъядерность" (Hyper-Threading) — не исключено, что именно поэтому прирост получился не таким солидным.
Глядя на менее выдающиеся результаты, показанные в остальных приложениях, можно предположить, что эти программы просто не оптимизированы под многопоточность. Но ведь развитие аппаратных и программных средств никогда не шло параллельным курсом — кто-то кого-то постоянно обгонял, и, как правило, именно "железо" вырывалось вперед, а "софт" наверстывал. Поэтому естественно предположить, что уже в скором будущем производители ПО постараются оптимизировать под многопоточность как можно большее количество своих продуктов. Вот тогда-то двухъядерные процессоры и раскрыть свой потенциал смогут в полной мере.