С выходом нового процессора Intel Core 2, ранее известного как "Conroe", расстановка сил на рынке ПК в очередной раз должна измениться. В предшествующие годы компания AMD активно теснила своего главного конкурента на всех рынках - настольных ПК, серверов нижнего уровня, серверов верхнего уровня, суперкомпьютеров, даже мобильных ПК. Это стало возможным благодаря новым принципам, заложенным в микроархитектуру процессора K8, а также довольно удачному вычислительному ядру, которые были унаследованы им от предшественника, процессора K7. В то время как Intel боролась за повышение тактовой частоты процессора Pentium 4 и его серверного варианта, процессора Xeon, AMD активно продвигала свои более доступные по цене и экономичные, но не менее производительные процессоры Athlon 64 и Opteron. Постепенно, шаг за шагом, AMD удалось убедить производителей серверов и ноутбуков, системных интеграторов и простых пользователей в преимуществах своих продуктов. Да, они все еще доверяли и Intel, ценя высокое качество и стабильность продукции этой фирмы, но предпочтение все чаще стали отдавать более перспективным и универсальным процессорам AMD.
Конечно, Intel не могла себе позволить сидеть сложа руки. Осознав всю бесперспективность дальнейшего развития линейки Pentium 4/Xeon, Intel решила вложить все имеющиеся ресурсы - интеллектуальные, производственные, маркетинговые - в свой же собственный, но некогда отложенный в сторону процессор. Им уже занимался отдел разработки процессоров для мобильных ПК, и достигнутый ими результат превзошел все ожидания. Платформа на базе процессора Pentium M в кратчайшие сроки завоевала огромную популярность и доверие пользователей, фактически оттеснив все остальные платформы в самую дешевую нишу.
Intel сразу же раскрыла все карты, чего ранее компания себе не позволяла. О новой универсальной микроархитектуре, призванной сменить микроархитектуру NetBurst (Pentium 4/Xeon) одновременно во всех нишах рынка, стало известно задолго до появления первых серийных продуктов на ее базе. Подстегнув таким образом интерес, Intel рассчитывала привлечь внимание специалистов и пользователей к своим продуктам, а не продуктам конкурента. И ей это, в принципе, удалось. Проверив новые процессоры в деле, специалисты оставили в стороне свой первоначальный скептицизм и признали очередную победу Intel.
У AMD тоже имелось несколько козырей, но реализовать их в срок компания не смогла. У нее остался единственный и потому вполне предсказуемый выход - снизить цены на процессоры.
В сложившейся ситуации не так просто ответить на самый часто задаваемый вопрос: какой процессор более производителен и перспективен. Понятно, что процессор Intel, разработанный менее года назад, более перспективен и совершенен. Но и процессор AMD доказал свою высокую эффективность в широком круге задач. К тому же он дешевле и поддерживается огромным количеством аппаратных и программных компонентов. Чтобы ответить на этот вопрос, мы решили провести тестирование двух одинаковых по цене и сравнительно недорогих процессоров обоих конкурентов, используя только реальные приложения и задачи.
Подробнее о микроархитектуре
Особенности микроархитектур процессоров AMD K8 и Intel Core (все чаще называемого Intel P8) обстоятельно и подробно обсуждаются на многих сайтах компьютерной тематики. Специалисты успели разобрать по косточкам оба процессора, найти все плюсы и минусы, сравнить между собой все блоки и модули того и другого. Написаны специальные тесты, перелопачена вся доступная литература по микроархитектуре, просмотрены все слайды и презентации в поисках дополнительных подробностей. Мы же не будем настолько далеко углубляться в детали и поговорим лишь о некоторых особенностях устройства двухъядерных процессоров Intel и AMD, влияющих на их производительность.
В основе микроархитектуры обоих процессоров, K8 и P8, лежат одни и те же принципы, поскольку их непосредственные предшественники, K7 и P6, разрабатывались в одно и то же время. Оба ядра являются суперскалярными и конвейерными, то есть параллельно обрабатывают несколько команд с переопределением порядка их следования в целях оптимальной загрузки вычислительных ресурсов. Выборка команд производится из отдельного кэша первого уровня для инструкций (L1I), выбора данных - из кэша данных (L1D). Оба кэша организованы одинаково, с использованием блочно-ассоциативного принципа выборки. Чтение команд из кэша выполняется с опережением и предсказанием условных переходов. Имеется также расположенный на кристалле полноскоростной кэш второго уровня. Обращение к памяти также выполняется с опережением, чтобы минимизировать простой процессора в ожидании данных.
А дальше начинаются отличия. Так, вычислительное ядро процессора AMD K8 является несколько переработанным и дополненным вариантом ядра K7 (Athlon/Athlon XP). В нем обработка команд целочисленных и с плавающей запятой выполняется на отдельных устройствах. Для целочисленных команд предусмотрены три практически равноценных блока, выполняющих как арифметико-логические, так и адресные операции. Операции с плавающей запятой, а также SIMD-команды MMX/SSE/3DNow выполняются тоже в трех блоках, но рассчитанных на разные действия. Декодирование (преобразование во внутренние микро-операции) тоже выполняется по три. Именно так, тройками, они и "путешествуют" по вычислительным ресурсам. Процессор еще на этапе выборки выбирает, как будут выполняться команды. Да, эффективность загрузки вычислительных блоков при этом не будет максимальной, но количество и длительность стадий, через которые проходят команды в процессе выполнения, уменьшается. При выполнении ненужных команд, что случается при неправильном предсказании направления ветвления в программе, процессор K8 очень быстро очищает и перезагружает конвейер. Согласно общепризнанному мнению, именно эта особенность является главным преимуществом процессора AMD перед Pentium 4.
Вычислительное ядро процессора Intel P8 тоже унаследовано от процессора предыдущего поколения, но не Pentium 4, а Pentium 3. Впрочем, после внесенных изменений оно заметно усложнилось. Так, выборка команд идет четырьмя, а не тремя устройствами одновременно, причем процессор "научился" в некоторых случаях объединять две исходные команды в одну. Далее полученные микро-операции, тоже пригодные к объединению в пары, помещаются в общую очередь большого размера, откуда поступают на выполнение. Два исполнительных блока занимаются доступом в память и три - выполнением, причем команд как целочисленных, так и с плавающей запятой. Отметим важнейшее нововведение - возможность обрабатывать 128-битные и упакованные команды SSE целиком, а не разбивать их на две отдельные операции, как в случае процессора AMD.
Несмотря на более сложный способ диспетчеризации команд, общая длина конвейера у Intel P8 увеличилась незначительно. Кроме того, в данном процессоре имеется сложный блок предсказания ветвлений, который использует самые передовые алгоритмы, сводящие к минимуму вероятность неправильного предсказания и следующей за ним перезагрузки конвейера.
Оба процессора могут эффективно обрабатывать 64-разрядные инструкции AMD64/Intel64. Правда, существует очень правдоподобное предположение, что разработчикам Intel не удалось удачно дополнить поддержкой 64 бит ядро 32-битного процессора, и работа Core 2 в 64-битной среде происходит менее эффективно. Многопоточное выполнение (HyperThreading) - одна из ключевых особенностей процессоров Pentium 4 - не реализовано ни в одном из рассматриваемых процессоров. В данном случае эта технология приносит больше неудобств, чем выгоды: двухпоточное выполнение активнее загружает вычислительные ресурсы, из-за чего процессор больше потребляет энергии.
В условиях ноутбука или ПК более ценной представляется экономичность, чем эффективность выполнения многопоточных программ. Тем более что таких программ среди интересующих обычного пользователя совсем не много.
Кэши первого уровня у конкурирующих процессоров отличаются. У AMD K8 оба кэша имеют размер по 64 Кб, но содержат всего два блока в наборе. У Intel P8 кэши вдвое меньше, но их ассоциативность (число блоков в наборе) в 4 раза выше. Поэтому эффективность кэширования данных и команд обоими процессорами примерно одинакова. У Intel P8 размер кэша второго уровня намного больше, но у AMD K8 имеется встроенный контроллер памяти, обеспечивающий намного меньшие задержки при доступе к памяти. Процессор Intel по-прежнему работает через системную шину FSB, а значит, использует внешний контроллер памяти. С другой стороны, эффективный механизм доступа к памяти с опережением (аппаратная предвыборка) позволяет ему значительно уменьшить влияние больших задержек на общую производительность, а механизм устранения неоднозначностей при доступе к памяти - не обращаться к памяти без необходимости. Таким образом, разработчики Intel смогли добиться хорошей скорости работы с памятью другими способами.
Оба процессора являются двухъядерными, но по принципу объединения ядер отличаются. В процессоре AMD K8 два ядра соединены в точке, называемой System Request Queue - очередь системных запросов. Заметим, что этот блок изначально был рассчитан на подключение двух процессоров. К SRQ подключен общий на два ядра контроллер Crossbar, который соединяет SRQ c контроллером памяти и контроллером шины HyperTransport. Кэш второго уровня у каждого ядра свой, так как работа с ним выполняется, минуя SRQ. У процессора Intel P8 архитектура иная, в нем два ядра объединены в точке блока доступа к системной шине. К этому же блоку подключен и кэш второго уровня, поэтому разработчики решили оставить один кэш на два процессора. С одной стороны, это позволяет не только исключить необходимость синхронизации двух кэшей (обеспечения идентичности совпадающих данных), но и добиться более эффективного распределения объема между ядрами. То ядро, которое чаще обращается к кэшу второго уровня, и заполнит его своими данными. Но с другой стороны, оба ядра вынуждены обращаться к одному кэшу одновременно, тем самым мешая друг другу.
Таким образом, мы можем отметить три важнейших преимущества процессора Intel:
- более эффективная выборка и распределение команд по исполнительным устройствам, что дает более высокую производительность в расчете на мегагерц частоты;
- более эффективная обработка команд SIMD - SSE/SSE2/SSE3;
- более совершенные механизмы оптимизации - предсказания ветвлений и доступа к памяти.
У процессора AMD есть лишь один козырь - отсутствие системной шины, через которую выполняется работа с памятью. По другим параметрам он, увы, проигрывает конкуренту.
Тестирование
Процессоры Intel Core 2 Duo до сих пор относятся к разряду новинок, а потому цены на них держатся на довольно высоком уровне. Давно идут разговоры о появлении специальных "урезанных" версий этих процессоров, но это произойдет, скорее всего, не раньше 2007 года. Пока что самым доступным по цене в линейке Core 2 Duo остается модель E6300. Именно ее мы и выбрали для тестирования.
Среди процессоров AMD в новом исполнении Socket AM2 наиболее близким к E6300 по стоимости является модель 4200+. Сравним их характеристики:
Название | Intel Core 2 Duo E6300 | AMD Athlon 64 X2 4200+ |
Тактовая частота | 1.83 ГГц | 2.2 ГГц |
Частота шины | 266 МГц | 200 МГц |
Множитель | 7 | 11 |
Кэш L2 | 1 х 2048 Кб | 2 х 512 Кб |
Память | (зависит от чипсета) | DDR2-800 |
Технология | 65 нм | 90 нм |
Энергопотребление | 65 Вт | 89 Вт |
Стоимость* | $215 | $240 |
* — средняя розничная цена в Минске на момент подготовки материала |
Хотя процессор AMD стоит немного дороже, общая стоимость систем на базе обоих процессоров будет примерно равной, так как материнские платы на базе последних чипсетов Intel, обладающих поддержкой процессоров Core 2 Duo, в розницу стоят ощутимо дороже, чем платы для процессоров AMD с аналогичной функциональностью.
Отметим, что оба рассматриваемых процессора являются урезанными - объем их кэшей L2 уменьшен вдвое, по сравнению с другими моделями на тех же ядрах. Кроме того, Athlon 64 X2 4200+ не способен работать с памятью DDR2-800 на номинальной частоте, которая составляет 400 МГц. Причина кроется в способе тактирования памяти, избранном разработчиками. Частота памяти определяется как полная тактовая частота ядра процессора, деленная на подходящий целый коэффициент. Но 2200/400=5.5 - коэффициент получается не целым. В этом случае процессор выбирает ближайший целый коэффициент, который в данном случае составляет 6. Таким образом, максимально возможная частота работы с памятью составляет 367 МГц, а не 400 МГц. Таков побочный эффект от применения встроенного контроллера памяти.
Для тестирования платформы AMD мы использовали довольно дорогую полнофункциональную материнскую плату Gigabyte M59SLI-S5 на чипсете nForce 590 SLI. Мы надеялись, что она позволит получить максимальные результаты. В состав платформы Intel была включена, напротив, относительно доступная по цене плата на последнем чипсете Intel - MSI P965 Neo-F. Остальные компоненты были идентичными: два модуля памяти Kingston HyperX объемом по 512 Мб, жесткий диск WD Caviar SE объемом 250 Гб (увы, без поддержки NCQ), видеокарта среднего класса GeForce 7600GS. Для памяти были вручную выбраны одинаковые тайминги 5-5-5-15/CMD=1 в соответствии с рекомендациями производителя. Была установлена 32-битная операционная система Windows XP SP2 и последние версии драйверов для чипсетов, видеокарты, звукового кодека и т.д.
Процессор | Athlon 64 X2 | Core 2 Duo |
- тактовая частота | 2.2 ГГц | 1.67 ГГц |
- кэш L1 | 64+64 Кб | 32+32 Кб |
- кзш L2 | 0.5+0.5 Мб | 2 Мб |
Память | Kingston HyperX | |
- объем | 2 x 512 Мб | |
- тактовая частота | 367 МГц | 399 МГц |
- задержки | 5-5-5-15 | 5-5-5-15 |
Материнская плата | Gigabyte M59SLI-S5 | MSI P965 Neo-F |
- чипсет | NVIDIA nForce 590SLI | Intel P965 |
Видеокарта | GeForce 7600GS | |
Жесткий диск | WD Caviar SE | |
Sysmark04 SE | ||
Office | 178 | 196 |
Communication | 170 | 170 |
Doc. creation | 212 | 242 |
Data analysis | 156 | 184 |
Content Creation | 290 | 308 |
3D creation | 258 | 276 |
2D creation | 342 | 372 |
Web publish | 275 | 285 |
Graphics | ||
Photoshop CS2 | 2.65 | 2.92 |
Video editing | ||
Premiere Pro 2 | 2409 | 1032 |
3D Modelling | ||
3DStudio Max 8 | 2525 | 2393 |
Compression | ||
DV -> MPEG2 | 709 | 584 |
MPEG2 -> WMV9 | 1321 | 1314 |
MPEG2 -> Xvid | 963 | 828 |
MPEG2 -> DivX | 592 | 504 |
WAV -> MP3 | 110 | 109 |
WAV -> AAC | 166 | 181 |
WinRAR | 540 | 538 |
- multithreaded | 968 | 903 |
7-zip: compress | 1287 | 1301 |
- multithreaded | 2157 | 2091 |
- decompress | 21212 | 17915 |
Developer tools | ||
VC++ 7.1 bulid (MySQL) | 452 | 405 |
3D Games | ||
Call of Duty 2 | 38.3 | 38.4 |
Doom 3 | 93.6 | 93.5 |
FarCry | 81.5 | 87 |
FEAR | 56 | 52 |
Half-Life 2 | 60 | 61.1 |
Quake4 | 85.4 | 85.8 |
Riddick | 80.5 | 60.6 |
Serious Sam 2 | 32 | 31.9 |
Согласно данным общепризнанного теста SYSMark 2004 SE, платформа Intel в целом ряде популярных пакетов обеспечивает более высокую производительность. Разница, в среднем, составила 5-9%. Как и ожидалось, процессор Intel выигрывает в задачах обработки данных (Excel, Access), 3D-графики (3ds max), 2D-графики (Photoshop, Flash), подготовки документов (Acrobat, Powerpoint). На равных работают обе платформы лишь в задачах обработки электронной почты и доступа в интернет.
Мы использовали также ряд тестов, встроенных в некоторые популярные приложения, а также разработали собственные методики тестирования приложений на основе реальных данных. И в целом полученные результаты позволили подтвердить выводы, сделанные на основе анализа результатов SYSMark 2004 SE:
- 3D Studio Max 8 справился с тестом SPEC на 6% быстрее на платформе Intel;
- Photoshop CS2 на 9% быстрее применил тестовый набор фильтров для обработки цифрового фото (Shadow&HighLight, Smart Sharpen, Reduce Noise, Surface Blur и т.д.);
- компилятор Visual C++ .NET 2003 на 12% быстрее собрал дистрибутив MySQL;
- сжатие видеофайла с помощью кодеков DivX, Xvid, MPEG2 выполняется почти на 20% быстрее.
Особенно впечатляющего прироста (более чем в 2 раза!) удалось добиться при рендеринге видеоряда в программе Premiere Pro 2.0, составленного из видеофрагментов и фотографий с применением целого ряда стандартных переходов и аудио/видеоэффектов. Впрочем, пока неясно, является это результатом оптимизации программы или нашей ошибки в подготовке исходных данных :).
В ряде случаев платформа AMD показала более высокие результаты:
- архиваторы WinRAR и 7zip быстрее работают на платформе AMD;
- пакет Apple iTunes выполнил сжатие в формат AAC быстрее на 8%;
- в двух 3D-играх - FEAR и Chronicles of Riddick - мы получили более высокие результаты на платформе AMD.
Выводы
Проведя несколько несложных тестов в реальных приложениях, мы выяснили, что процессор Intel Core 2 Duo действительно обладает более высоким быстродействием, по сравнению с процессором AMD Athlon 64 X2. Даже при отставании на 367 МГц процессор Intel оказывается впереди в целом ряде задач, несмотря на явную "сырость" материнской платы и отсутствие оптимизаций под его микроархитектуру в использованных приложениях. Таким образом, ситуация повторяется с точностью до наоборот: теперь AMD вынуждена снижать цены на процессоры и продавать больше мегагерц за те же деньги, чтобы не отставать от конкурента.
Макс КУРМАЗ,
max_kurmaz@mail.ru
Благодарим компанию CDL Systems за предоставленный процессор AMD и материнскую плату Gigabyte
Благодарим компанию NTTs за предоставленный процессор Intel и материнскую плату Micro-Star
Комментарии
По поводу неправильных выводов. Попрошу больше конкретики.