Сравнение производительности

Как мы помним, появление каждого нового семейства процессоров от Intel было связано с созданием нового процессорного гнезда, из-за чего материнские платы для одного семейства совершенно не подходили для другого. Наиболее современными на сегодняшний день являются разъем Socket R, предназначенный для пока немногочисленных и очень дорогих процессоров с четырехканальным контроллером памяти, и более демократичный Socket Н2, охватывающий почти весь десктопный сегмент.
В противоположность Intel, AMD при создании новых процессоров обычно старается соблюсти если не полную совместимость по «ногам» с уже существующими решениями, то, во всяком случае, сохранить ее «снизу вверх», то есть когда на новую «маму», поддерживающую новые процессоры, можно установить и более старый процессор. Появившийся вместе с первыми «бульдозерами» Socket АМЗ+ является наглядной иллюстрацией этого принципа: в него можно установить не только новейшие процессоры AMD, но и уже давно присутствующие на рынке Phenom II и некоторые другие. Правда, изначально планировалось, что никакого «плюса» не потребуется и совместимость будет в обе стороны, но, увы, не удалось.
В нашем тестировании участвовали четыре кристалла от Intel с ядрами Sandy Bridge: топовый шестиядерный Core i7-3960Х под LGA 2011 и четырехъядерные Core i7-2600K, i5-2500K, i5-2400 под LGA 1155. Изделия AMD представляли нынешний топовый процессор FX-8150, имеющий, по утверждению фирмы, восемь ядер, и лидер предыдущего поколения — шестиядерный Phenom II Х6 1100Т. Для тестирования нами использовалась память объемом 8 Гбайт, видеоплата KFA2 GTX460 и жесткий диск Western Digital WD1002FAEX емкостью 1 Тбайт. Процессор Intel Core i7-3960X тестировался на материнской плате Gigabyte Gl.Assassin2, другие процессоры Intel — на плате Intel DP67BG, оба процессора от AMD — на Gigabyte GA-990FXA-UD7. Набор тестов по сравнению с прошлым годом был несколько расширен: добавились прогоны рендеринга для Lightwave 10.1 и Autodesk 3DS Мах+Way, тест производительности Microsoft Excel и сборка компилятора GCC под MingW. Кроме того, везде, где возможно, обновились версии используемых бенчмарков и программ. Наконец, игры было решено тестировать лишь в одном, более чем умеренном по нынешним меркам разрешении 1280 х 1024 точки, хотя и с максимальными настройками качества. Это связано в первую очередь с относительной слабостью используемой «видюхи»: на более высоких разрешениях производительность будет однозначно упираться именно в нее, а не в центральный процессор.
Даже беглого взгляда на результаты достаточно, чтобы понять: производительностью нынешний топовый процессор от AMD вовсе не блещет, и это при ощутимо более высоких тактовых частотах! Правда, раньше у AMD был козырь в виде более низкой розничной стоимости кристаллов, но сейчас и этого нет. Теперь же, как видим, «Бульдозер» дешевле Core i7-2600K, второго по мощности интеловского кристалла для LGA 1155, всего на 10%, но при этом безнадежно медленнее его по всем пунктам, кроме разве что игр, но там куда важнее производительность «видюхи». Кроме того, AMD FX-8150 почти вчистую проигрывает и интеловским четырехъядерникам без гиперпоточности — Core i5-2500K и даже Core i5-2400. При этом последний дешевле и FX-8150, и даже Phenom II Х6 1100Т.
Впрочем, оба процессора AMD относятся к серии Black Edition, то есть у них разблокированы множители, и можно попытаться их разгонять. Но тут возможны проблемы, прежде всего с отводом тепла: греются эти кристаллы куда сильнее, чем изделия от Intel, ну а для топового «Бульдозера» и вовсе потребовалось срочно покупать новый кулер: проверенный малошумящий от Glacialtech не справлялся, процессор перегревался и «вешал» систему.
Как уже говорилось, относительно хорошие результаты «последний писк» от AMD показывает лишь в играх. Однако при замене видеоконтроллера, от которого в первую очередь и зависит производительность таких приложений, на по-настоящему мощный мы сразу увидим, что производительности «Бульдозера» все же недостаточно. В самом деле, даже сейчас на видеоплате со средней производительностью, мы видим, что процессоры от AMD немного, но отстают от «интелов», особенно в достаточно старой и сравнительно нетребовательной к мощности графического процессора игре Far Cry 2.
С игрой Crysis вообще получилось очень интересно. Для тестирования используется копия на HDD и режим NoCD. Так вот, на всех процессорах этот самый NoCD работает без проблем, а на «Бульдозере» — вылетает. Само по себе это может свидетельствовать о наличии в процессоре каких-то скрытых проблем, выползающих в редких случаях.
Совершенно провальный результат показывает новая микро-архитектура от AMD при рендеринге. Казалось бы, увеличение числа потоков для этой задачи, безусловно, полезно, но восьмипоточный «Бульдозер» отстал, пускай и символически, даже от четырехпоточных «интелов»! О причинах этого печального для AMD явления мы поговорим чуть позже.
Что касается остальных результатов, то особого смысла разбирать их нет: старший Bulldozer в целом находится примерно на уровне более дешевых процессоров как Intel, так и самой AMD, что не оставляет ему шансов на успешную рыночную судьбу. В чем причина такого провала? Что именно не так?
Для начала вспомним, что кардинальных обновлений микро-архитектуры у AMD не было уже больше 10 лет — с момента появления К7, ведь даже процессоры Phenom II являются прямыми ее потомками. Понятное дело, что за столь долгий срок ресурсы по модернизации микро-архитектуры были исчерпаны, так что сама необходимость произвести на свет что-то новое сомнения не вызывает. Но путь, которым пошли разработчики, представляется несколько странным.
Как мы знаем, FX-8150 позиционируется как восьмиядерный процессор. Если же мы посмотрим на блок-схему процессора, то увидим, что она включает не восемь, а ровно в два раза меньше одинаковых блоков.
Заглянув внутрь этих блоков, мы обнаружим, что каждый из них имеет общий кеш инструкций и данных 2-го уровня. Блоки выборки и декодирования команд; два планировщика целочисленных команд, каждый из которых управляет четырьмя целочисленными конвейерами, связанными с кешем данных 1-го уровня; а также один планировщик команд вещественной арифметики и два управляемых им вычислительных блока.
Таким образом, перед нами реально не восьми, а четырехъядерный процессор, каждое настоящее ядро которого способно выполнять два потока команд — то есть мы видим версию Hyper-Threading от AMD. При этом каждый из потоков имеет собственный кеш данных 1-го уровня и свой набор блоков целочисленной арифметики. Однако оба они используют общий кеш команд 1-го уровня, схемы их выборки и декодирования, а также блоки, отвечающие за вычисления с плавающей запятой и реализацию команд наборов ММХ, SSE и AVX.
Емкость кеша 2-го уровня возросла по сравнению со старшими «феномами» в четыре раза. Она в восемь раз превосходит таковую у конкурентов, где уже несколько лет держится на уровне 256 Кбайт. Объем кеша команд 1-го уровня остался на уровне «Фенома», что вдвое превосходит таковой у процессоров от Intel. А вот кеши данных 1-го уровня «похудели»: каждый из них имеет емкость 16 Кбайт, что ничуть не больше, чем у Intel и откровенно меньше, чем у «Фенома». Пожалуй, это является одной из причин столь низких результатов: как ни крути, а только из кеша 1-го уровня данные могут быть быстро извлечены и обработаны.
Другой причиной низких результатов, особенно в рендеринге, является недостаточное количество вычислительных блоков с плавающей запятой, разделяемых к тому же между двумя потоками. Поскольку рендеринг активно использует инструкции именно такого рода, нет ничего удивительного, что FX-8150 проиграл Phenom II Х6 1100Т. «Феном» является истинно шести-ядерным процессором, а «Бульдозер» с этой точки зрения — чистый четырехъядерник. При этом сами ядра, увы, традиционно слабее, чем у конкурента.
Проблемы могут создавать и блоки выборки/декодирования команд. Они включают всего четыре декодера, причем неизвестно, какого рода инструкции каждый из них может декодировать. Дело в том, что система команд всех процессоров архитектуры IA-32 включает как простые команды вроде пересылки или целочисленного сложения, так и сложные. Скорость преобразования последних в последовательность микроинструкций, которые будут впоследствии «скормлены» вычислительным блокам, довольно невелика. В то же время делать несколько декодеров таких команд можно лишь в случае, если достаточно блоков для декодирования простых инструкций, из которых в основном программы и состоят. Возможно, что в результате при интенсивном потоке SSE-инструкций, характерных для рендеринга и других аналогичных задач, производительность процессора упирается в скорость их декодирования. Косвенно это может подтверждаться наличием всего двух блоков вещественной арифметики на два потока исполнения.
Четыре блока целочисленной арифметики — то, что в AMD считают одним ядром — неравноценны. Два из них отвечают за вычисление адресов операндов инструкций, два других — за выполнение самих команд. Фактически это означает, что одновременно каждое такое «псевдоядро» может выполнять лишь две целочисленных инструкции — такой уровень параллельного выполнения команд Intel достигла много лет назад, выпустив первый процессор Pentium. Как результат, в теории число одновременно выполняемых в два потока команд у AMD, может, и больше, чем у современных процессоров Intel, но вот на практике они будут хуже: Intel, как известно, не закрепляет в своих ядрах с гиперпоточностью исполнительные блоки за определенными потоками, из-за чего процессоры лучше справляются почти с любой задачей.
Впрочем, и для интеловской гиперпоточности встречается неудобный код. Если посмотреть на таблицу с результатами, то мы увидим, что Core i7-2600K хуже справился с перекодированием аудиофайлов и рядом математических тестов, чем более слабые кристаллы, да и сверхпроизводительный Core i7-3960X тоже не блистал. Однако отключение гипертрейдинга все вернуло на свои места, заметно улучшив результаты топовых процессоров Intel.
Единственным несомненным преимуществом «Бульдозера» над предыдущими процессорами AMD является наличие ряда дополнительных команд, входящих в наборы SSE4.1 и 4.2, AVX, AES и LWP. Однако и здесь имеются подводные камни. Скорость исполнения первой тройки на многопоточных задачах оставляет желать лучшего из-за нехватки исполнительных блоков и потенциальных проблем со скоростью декодирования. Что касается двух других наборов, то они имеют очень уж специфическое применение, поэтому польза от них на сколько-нибудь обычных задачах близка к нулю.
Итак, дела на фронте топовых процессоров для десктопов у AMD обстоят не плохо, а очень плохо. Определенным подтверждением тому стало и появившееся недавно сообщение о том, что фирма планирует в дальнейшем не соревноваться с Intel на рынке десктопов, а сосредоточиться на решениях для планшетных компьютеров: фактически это признание поражения в гонке высокопроизводительных решений. К тому же неоправданно шумной была предварительная реклама «бульдозеров». Если бы новые процессоры не раскручивали заранее и объявили бы их четырехъядерными, каковыми они, по сути, и являются, то не было бы завышенных ожиданий, а соответственно, и горького разочарования от результата. Также остается вопрос адекватности их цены. А выгода корпорации Intel в случае ухода конкурента с десктопного рынка тоже неоднозначна, так как ей будет обеспечено повышенное внимание антимонопольных органов.