Стройка десятилетия. Изучаем процессорную архитектуру AMD Bulldozer. ⇡ Считаем ядра: восемь или четыре

27.03.2020 Программы

Из чего складывается производительность процессора? Раньше в ходу была формула, описывающая быстродействие как произведение количества исполняемых за один такт инструкций и частоты, на которой этот процессор функционирует. Теперь в этой формуле появился и третий сомножитель — количество вычислительных ядер. Поэтому разработчик процессоров, желающий выпустить быстрый продукт, имеет для этого несколько путей.

Однако не всё так просто. Увеличение количества исполняемых вычислительным ядром за такт инструкций — довольно сложная задача. Классический x86 программный код предполагает последовательное исполнение команд, а потому, чтобы добиться их параллельной обработки, в процессор необходимо заложить высокоэффективные блоки предсказания переходов и переупорядочивания инструкций, реализация которых требует немалых инженерных усилий. При этом усложнение микроархитектуры сказывается на физических размерах кристалла и приводит к ограничениям при наращивании количества ядер. Так что если производитель собирается сделать процессор с большим числом ядер, то микроархитектуру нужно, наоборот, стараться упростить. Непросто всё и с тактовой частотой. Ставка на её рост вновь потребует внесения изменений во внутренние блоки процессора и удлинения его исполнительного конвейера. В итоге получается следующее: чтобы процессор мог завоевать медальку за производительность, его разработчики должны изрядно попотеть над одновременной оптимизацией целого ряда параметров.

Проблема заключается ещё и в том, что любой из выбранных путей улучшения быстродействия процессора может оказаться удачным лишь для частных случаев. Далеко не все программы могут эффективно работать с большим количеством ядер. Какие-то алгоритмы не позволяют корректно предсказывать переходы и переупорядочивать инструкции. А в некоторых случаях производительность не растёт и с увеличением тактовой частоты, потому что в системе находятся какие-то другие узкие места.

Подобрать оптимальный баланс непросто, да и что считать критерием оптимальности? Мы можем лишь сопоставить производительность процессоров в конечном числе программ и выбрать из них быстрейший для данного конкретного случая. Однако это совершенно не гарантирует, что, применив другой набор тестового инструментария, мы не получим совершенно противоположные оценки. Столь пространное вступление приведено здесь потому, что сегодня нам предстоит знакомство с новой серией процессоров AMD FX — флагманским продуктом компании AMD, широко известным под кодовым именем Zambezi. В основе этого процессора лежит весьма неоднозначная микроархитектура Bulldozer, которая уже успела собрать немалый букет нелестных отзывов. Но дело вовсе не в том, что эта микроархитектура совсем плоха. Подбирая наилучший баланс характеристик, разработчики неверно оценили потребности большинства пользователей и сделали в «базовой формуле» основной упор не на тот сомножитель. В итоге изначальный замысел по выпуску высокопроизводительного решения нового поколения пошёл кувырком и заинтригованные обещаниями прорыва приверженцы AMD получили совсем не то, что ожидали. Однако является ли это серьёзным и объективным поводом для разочарования? Об этом и поговорим в данном материале.

⇡ Считаем ядра: восемь или четыре?

Работая над новым дизайном для производительных процессоров, AMD решила поставить во главу угла количество вычислительных ядер. Это вполне логичный выбор, основанный на том, что с годами многопоточного программного обеспечения становится всё больше и больше и разработка микроархитектуры, рассчитанной на многолетнее развитие, должна учитывать в первую очередь не текущее состояние рынка, а наблюдаемые тенденции. Восемь ядер, предусмотренных в базовом варианте нового процессора, — это то, чем AMD и собиралась покорить рынок, на котором пока что были представлены только чипы, максимальное количество ядер в которых ограничивалось шестью. (Здесь мы говорим только о настольных компьютерах. — прим. ред. )

При этом брать ядра старой микроархитектуры K10 разработчики не захотели. Они не только имеют слишком большой физический размер, но и, как можно судить по Llano, не склонны к функционированию на высоких тактовых частотах даже после перевода на современную 32-нм технологию. К тому же они не поддерживают многих современных возможностей, таких как, например, AVX-инструкции. Поэтому, для сборки восьмиядерников AMD сделала новую микроархитектуру — Bulldozer. Представители компании предпочитают говорить, что её разработка велась с чистого листа, но на самом же деле в ядрах Bulldozer можно найти немало отсылок к другой представленной в этом году микроархитектуре — Bobcat, ориентированной на применение в компактных и энергоэффективных устройствах. Впрочем, родство между Bulldozer и Bobcat — достаточно отдалённое, и упоминаем мы о нем лишь для того, чтобы стала понятна общая идея — в Bulldozer объединено много сравнительно несложных ядер.

При этом речь идёт совсем не о примитивном совмещении на одном полупроводниковом кристалле восьми простых ядер. При таком раскладе получившийся процессор обладал бы совсем невысокой однопоточной производительностью, и это стало бы достаточно серьёзной проблемой, так как программ, не дробящих нагрузку на несколько вычислительных потоков, не так уж и мало. Поэтому, во-первых, ядра были оптимизированы под работу на высоких тактовых частотах. А во-вторых, они были спарены в двухъядерные модули, способные совместно использовать свои ресурсы во благо обслуживания одного потока. В итоге получилась достаточно любопытная конструкция: входная часть исполнительного конвейера у такого двухъядерного модуля — общая, а в дальнейшем обработка инструкций делится между двумя наборами исполнительных устройств.

Основа конструкции Bulldozer — условно называемый двухъядерным модуль

Напомним, процесс обработки данных в современном процессоре включает несколько этапов: выборку x86-инструкций из кеш-памяти, их декодирование — перевод во внутренние макрооперации, выполнение, запись результатов. Первые два этапа в модуле Bulldozer производятся для пары ядер совместно, а далее для целочисленных инструкций выполнение распределяется по двум ядрам-кластерам либо, в случае вещественной арифметики, оно осуществляется в общем для двух ядер блоке операций с плавающей точкой.

Модули Bulldozer рассчитаны на обработку четырёх инструкций за такт, причём, благодаря технологии макрослияния, некоторые пары x86-инструкций могут рассматриваться процессором как одна операция. Это значит, что в целом двухъядерный модуль Bulldozer по своей мощности подобен одному ядру современных интеловских процессоров, которые также могут обрабатывать по четыре инструкции за такт и при этом тоже поддерживают макрослияния.

Однако между модулем Bulldozer и ядром Sandy Bridge есть существенные различия, способные поставить их примерно одинаковую теоретическую скорость под сомнение. Ввиду того, что модуль новых процессоров AMD содержит остатки двух равноправных ядер, максимальную производительность он может продемонстрировать только при обработке пары потоков. Если же на него ложится однопоточная нагрузка, то скорость её обслуживания будет ограничиваться числом исполнительных устройств внутри одного такого кластера. А их там, учитывая желание AMD упростить отдельные ядра, не так уж и много — в полтора раза меньше, чем в процессорах с микроархитектурой Sandy Bridge или K10. То есть по два арифметических ALU и по два адресных AGU.

Так выглядит функциональное устройство модуля, построенного на микроархитектуре Bulldozer. От двух ядер осталось лишь два набора целочисленных исполнительных устройств

Относительно невысокую сложность имеет и общий на процессорный модуль блок операций с плавающей точкой. В него входит два 128-битных исполнительных устройства FMAC, которые для обработки 256-битных инструкций могут объединяться в единое целое. Казалось бы, и здесь исполнительных устройств не так много, особенно с учётом того, что делятся они на пару ядер. Но зато они — более универсальные, чем в предшествующих и конкурирующих микроархитектурах, где применяются отдельные умножители и сумматоры. И благодаря этому в определённых случаях при работе с вещественными числами двухъядерный модуль Bulldozer может обеспечивать сравнимую и даже более высокую производительность, чем, например, одно ядро Sandy Bridge.

Аналогичная идея объединения 128-битных устройств для работы с 256-битными инструкциями используется и в Sandy Bridge

Однако свои самые сильные стороны модуль Bulldozer должен проявлять при двухпоточной нагрузке. Одно ядро Sandy Bridge тоже способно обрабатывать два вычислительных потока, для этого в нём имеется технология Hyper-Threading. Однако все инструкции при этом направляются на один набор исполнительных устройств, что на практике вызывает многочисленные коллизии. В модуле Bulldozer же сохранено два независимых целочисленных кластера, которые могут исполнять потоки параллельно, а суммарное количество исполнительных устройств в них превышает число таких устройств в ядре Sandy Bridge в полтора раза.

Слева — модуль Bulldozer, справа — некое конкурирующее ядро с поддержкой Hyper-Threading. На самом деле на Sandy Bridge оно не очень-то и похоже, но суть проблемы иллюстрация передаёт

В результате модуль Bulldozer обладает более высокой пиковой производительностью, нежели ядро Sandy Bridge, но раскрыть эту производительность несколько сложнее. Ядро Sandy Bridge интеллектуально загружает собственные ресурсы благодаря продвинутой внутрипроцессорной логике, самостоятельно разбирающей однопоточный код и исполняющей его параллельно на полном наборе своих исполнительных устройств. В Bulldozer же задача эффективного использования исполнительных устройств частично перекладывается на программиста, который должен разбить свой код на два потока — полноценная загрузка всех мощностей модуля станет возможной лишь тогда.

И вот что характерно. Рассматривая двухъядерный модуль процессора Bulldozer, мы всё время сопоставляли его с одним ядром Sandy Bridge, и при этом нам удавалось проводить вполне корректные параллели. Это заставляет задуматься — не стоит ли считать «восьмиядерность» новой микроархитектуры порождением фантазии маркетологов? AMD говорит, что считать ядра следует по количеству целочисленных кластеров, аргументируя это тем, что модуль способен обеспечить до 80 % производительности двух независимых ядер. Однако не следует забывать, что ядра, положенные в основу Bulldozer, существенно проще ядер других процессоров. Поэтому количество двухъядерных модулей — характеристика, отражающая производительность Bulldozer куда адекватнее.

Найди максимальное количество процессорных ядер и получи работу в маркетинговом отделе AMD

⇡ Кеш-память

Организация кеш-памяти в процессорах Bulldozer также «привязана» не столько к отдельным ядрам, сколько к двухъядерным модулям. Фактически на каждое ядро выделен лишь собственный кеш данных первого уровня, все остальные уровни кеш-памяти относятся либо к модулю в целом, либо к процессору:

  • Каждое ядро имеет собственную кеш-память первого уровня для данных. Её объём составляет 16 Кбайт, а архитектура предполагает наличие четырёх каналов ассоциативности. Этот кеш работает по алгоритму со сквозной записью, что означает его инклюзивность.
  • Кеш первого уровня для инструкций представлен в единственном экземпляре на каждый двухпроцессорный модуль. Его объём — 64 Кбайт, а количество каналов ассоциативности — два.
  • Кеш второго уровня также реализуется в единичном на модуль экземпляре. Его размер — внушительные 2 Мбайт, ассоциативность — 16 канальная, а алгоритм работы — эксклюзивный.
  • Кроме того, восьмиядерный процессор в целом располагает 8-мегабайтным L3 кешем с 64-канальной ассоциативностью. Особенность этого кеша состоит в его работе на существенно меньшей по сравнению с самим процессором частоте, которая составляет порядка 2 ГГц.

Следующая таблица описывает соотношение объёмов кеш-памяти процессоров восьмиядерных Bulldozer, четырёхядерных Sandy Bridge и Thuban (шестиядерных Phenom II X6, построенных на микроархитектуре K10).

Тип кеша Bulldozer (8 ядер/4 модуля) Sandy Bridge (4 ядра) Thuban (6 ядер)
L1I (инструкции) 4x64 Кбайт 4x32 Кбайт 6х64 Кбайт
L1D (данные) 8x16 Кбайт 4х32 Кбайт 6х64 Кбайт
L2 4х2 Мбайт 4х256 Кбайт 6х512 Кбайт
L3 8 Мбайт, 2,0-2,2 ГГц 8 Мбайт, работает на частоте процессора 6 Мбайт, 2,0 ГГц

Как видно по таблице, AMD сделала ставку на вместительные кеши верхних уровней, что может быть действительно полезно в случае серьёзной многопоточной нагрузки. Однако кеш-память в новых процессорах в целом работает медленнее, чем у предшествующих и конкурирующих продуктов. Это легко обнаруживается при измерении практической латентности.

Большие задержки при обращении к данным в Bulldozer могут быть компенсированы лишь высокой тактовой частотой этих CPU. Что, впрочем, и планировалось изначально — по частотам новые восьмиядерники должны были превосходить Phenom II на 30 %. Однако AMD так и не смогла спроектировать полупроводниковые кристаллы, способные стабильно работать при столь высоких значениях частоты. В результате высокая латентность кеш-памяти способна нанести системам на базе Bulldozer определённый урон.

AMD решила использовать совершенно другой подход для новой архитектуры Bulldozer. Было решено создать двухядерные модули, которые вместе используют некоторые ресурсы (L2 кэш-память, модуль вычислений с плавающей запятой), но не являются полностью независимыми друг от друга. (смотрите рисунок ниже)
По словам AMD это было сделано в целях оптимизации процессора и в то же время для уменьшения цены процессора. Оптимизация заключается в том, что на обычных многоядерных процессорах, некоторые модули могут бездействовать, и такие модули могут быть объединены в архитектуре Bulldozer. А если будет меньше модулей — значит, будет меньше потрачено материала, а это, в свою очередь, позитивно повлияет на стоимость, на экономию энергии и на уменьшение количества тепла.
Поэтому, хоть AMD и будет называть свои новые процессоры на архитектуре Bulldozer двухъядерными, на самом деле они не будут истинно двухъядерными, поскольку у них не будет полностью независимых ядер. А название «двухядерный процессор » будет использоваться в маркетинговых целях.

Для создания «четырехъядерных процессоров «, AMD использует два таких блока, так что процессор фактически имеет два «процессора» внутри (два стандартных блоков указаны на рисунке ниже), а не четыре. AMD по-прежнему будет называть новые процессоры четырехядерными.


Восемиядерный процессор на архитектуре Bulldozer.

Теперь давайте подробно рассмотрим модули Fetch и Decode, используемые в архитектуре Bulldozer.

Модули Fetch и Decode

Модуль выборки Fetch отвечает за получение инструкций для декодирования из кэш памяти или из оперативной памяти.

Модули Fetch и Decode.

Как уже было замечено, модули выборки используют сразу два «ядра». Кэш инструкции L1 также используются двумя ядрами одновременно, но каждое процессорное ядро имеет свою собственную кэш данных L1.
AMD уже анонсировала, что кэш инструкции L1, используемые в архитектуре Bulldozer, состоят из двухканального множественно-ассоциативного кэша объемом 64 Кб. Та же конфигурация используются в процессорах с архитектурой AMD64, но с разницей, что процессоры AMD64 имеют кэш-памяти L1 на каждое ядро, а процессоры Bulldozer будут иметь одну кэш-памяти L1 на каждую пару ядер. Однако, кэш данных будет иметь только 16 КБ, что значительно меньше, чем 64 КБ для каждого ядра, которые используются в процессорах на основе архитектуры AMD64.

TLBs (Translation Look-aside Buffer — буфер сверхбыстрой памяти). Размеры TLBs были раскрыты. Это буферы, с небольшим объемом памяти, предназначенные для преобразования виртуальных адресов памяти, в физические адреса.
Виртуальная память, больше известная как файл подкачки, это технология, где объем оперативной памяти «увеличивается» за счет специального файла на жестком диске.

Программы для компьютера пишутся с использованием инструкций x86, но в настоящее время процессоры понимают только собственные RISC инструкции. Модуль декодирования отвечает за преобразование x86 инструкций программ, в RISC микрокоманды. Архитектура Bulldozer имеет четыре декодера, но в данный момент AMD не раскрывает информацию о том, какие инструкции выполняет каждый декодер. Обычно один из этих декодеров выполняет сложные комплексные инструкции, используя предоставленный микрокод ROM (“µcode” или «microcode»). Декодирование сложных инструкций завершается через несколько тактов, после чего они преобразовываются в несколько микрокоманд. Обычно производители оптимизируют свои процессоры таким образом, что при декодировании наиболее распространенных инструкций — они выполнялись всего за один такт.

ВведениеНет никаких сомнений в том, что новые процессоры компании AMD, основанные на микроархитектуре Bulldozer, относятся к числу одних из самых ожидаемых продуктов не только этого года, но и, по меньшей мере, текущей пятилетки. Причин тому, как и существованию у продукции AMD огромной армии поклонников, сразу несколько. У кого-то свежи в памяти воспоминания о тех временах, когда процессоры этой компании были лучше интеловских по всем параметрам. Кто-то любит продукцию AMD за сбалансированное сочетание цены и производительности. А кого-то впечатлили эмоциональные рассказы AMD о преимуществах разрабатываемой в недрах компании микроархитектуры. Всё это наложилось на многолетнее томительное ожидание выхода процессоров поколения Bulldozer, и вот результат – вы читаете эту статью с огромным вниманием и нескрываемым интересом.

Впрочем, оно того явно стоит. От того, насколько удачной окажется микроархитектура Bulldozer, зависит ситуация на процессорном рынке в ближайшие несколько лет. Ведь это только Intel имеет инженерные и производственные ресурсы для того, чтобы выкатывать новые микроархитектурные решения раз в два-три года. AMD же вынуждена придерживаться гораздо более размеренного темпа в разработке. Страшно вспомнить, но та микроархитектура, которая используется в сегодняшних процессорах Phenom II и Athlon II уходит своими корнями в 1999 год, и с тех пор AMD занималась лишь внесением в неё косметических изменений. Поэтому мы не питаем особых иллюзий и относительно того, что с выходом Bulldozer цикл разработки внезапно оживится. Очевидно, что ближайшие несколько лет именно Bulldozer будет лежать в основе производительных предложений AMD.

На текущей версии планов компании развитие этой микроархитектуры нарисовано до 2014 года, но почти наверняка оно продолжится и дальше.

То же, что AMD обещает 10-15-процентный рост производительности каждый год – это скорее тревожный, чем внушающий оптимизм симптом. Скорее всего, такой прирост будет обеспечиваться в первую очередь увеличением тактовых частот, а уж затем какими-то новыми микроархитектурными усовершенствованиями.

Иными словами, удачность микроархитектуры Bulldozer в её текущем виде окажет решающее влияние на будущее положение компании AMD, на конкурентоспособность её продуктов, и в конечном итоге на общую ситуацию на процессорном рынке.

Конечно, нельзя отрицать, что Bulldozer для AMD – это не единственный ключевой продукт. Эта микроархитектура нацеливается сегодня на сегмент высокопроизводительных настольных и серверных продуктов. В то же время для других рыночных сегментов у AMD есть и иные предложения. Например, выпущенные компанией ранее в этом году дешёвые экономичные процессоры с микроархитектурой Bobcat или APU семейства Llano – не менее важные для компании направления. И эти предложения, как мы увидели по результатам тестов, являются удачными решениями, которые способны достойно выступать как в качестве решений для нетбуков и неттопов, так и в роли основы интегрированных платформ средних ценовых диапазонов.

Тем не менее, успех или неуспех Bulldozer имеет гораздо более существенное значение. Во-первых, эта микроархитектура нацеливается на рыночные сегменты с гораздо более высокой нормой прибыли – на сервера и производительные настольные системы. Поэтому, она способна оказать куда более сильное влияние на финансовое состояние AMD. Во-вторых, успех процессоров AMD серий C, E и A – это, честно говоря, вовсе не заслуга инженеров, занятых разработкой микропроцессорного дизайна. Рыночные удачи этих CPU (или APU, если придерживаться терминологии AMD) вытекают из наличия в них графических ядер семейства Radeon HD, попавших в процессоры AMD благодаря своевременной покупке компании ATI. Bulldozer же – это своего рода квалификационный экзамен для инженерной команды, занятой именно микроархитектурой вычислительных ядер. И, в третьих, Bulldozer, в конце концов, станет основой всей линейки процессоров AMD за исключением лишь решений для энергоэффективных платформ. Так что в конечном итоге именно эта микроархитектура придёт и в более низкие рыночные сегменты, вытеснив K10 почти отовсюду, в том числе и из процессоров Llano.



Короче говоря, переоценить значение удачного запуска процессоров с микроархитектурой Bulldozer вряд ли возможно. Это – знаковый продукт как на эмоциональном, так и на материалистическом уровне. И потому очень хочется, чтобы в реальности мы увидели, образно говоря, новый K7 или K8.

Но ещё до тестирования можно сказать, что шансы на повторение подобного феномена невелики. Перехватить пальму первенства компании AMD в прошлый раз помогла сама Intel, пытавшаяся продвигать далеко не самую идеальную микроархитектуру NetBurst. Тогда инженеры Intel сделали упор на рост тактовых частот, который в конце концов, натолкнулся на препятствия в виде гигантских токов утечки, а AMD предлагала более сбалансированную микроархитектуру, нацеленную на исполнение большего числа инструкций за такт. Но после того как Intel пересмотрела свою доктрину и ввела в обиход новую микроархитектуру Core, тоже нацеленную на исполнение максимального количества команд за такт, AMD откатилась на позиции отстающей, где и находилась до сегодняшнего момента.

Очевидно, что переплюнуть современные процессоры Intel в части числа исполняемых за такт инструкций очень тяжело. Сегодняшняя микроархитектура Sandy Bridge является результатом, по меньшей мере, трёх циклов оптимизации изначально эффективного дизайна, так что ожидать от AMD ещё более высокой удельной эффективности вычислительных ядер не приходится. Тем более что инженеры AMD даже не ставили перед собой такую цель.

Основная идея Bulldozer заложена в другом. Процессоры, построенные на этой микроархитектуре, по замыслу разработчиков должны показывать хорошую производительность благодаря высоким тактовым частотам и большему, чем у конкурента и предшественников, количеству вычислительных ядер. При этом они должны оставаться достаточно выгодными в производстве, то есть, не иметь слишком большого полупроводникового кристалла, и не демонстрировать слишком высокое тепловыделение в пересчёте на отдельное ядро.

Секреты многоядерного дизайна AMD

Вполне понятно, что увеличение количества процессорных ядер неминуемо влечёт за собой рост площади процессорного кристалла. В результате, возрастает как сложность производства, так и стоимость конечных продуктов. Поэтому, например, процессоры с максимальным количеством вычислительных ядер применяются сегодня только в серверном рыночном сегменте – корпоративные заказчики раскошеливаются гораздо охотнее индивидуальных пользователей. Выбранный же AMD курс на увеличение числа ядер при сохранении приемлемой стоимости получающихся процессоров должен быть сопряжён с упрощением самих ядер. Однако с другой стороны упрощение ядер влечёт за собой нежелательный эффект – падение производительности в приложениях со слабораспараллеливаемой нагрузкой, коих на данный момент всё ещё достаточное количество.

Поэтому инженеры AMD пошли своим собственным путём. Микроархитектура отдельных ядер усложнилась, по возможности увеличивая количество исполняемых за такт инструкций.



Но часть ресурсов, обычно присутствующих в каждом ядре, но обладающих при этом избыточной эффективностью, было решено сделать разделяемыми между парами вычислительных ядер.



Получившаяся двухъядерная сборка и стала базовым строительным блоком для процессоров Bulldozer. Такой узел, в терминологии AMD называемый модулем, имеет два полноценных набора целочисленных исполнительных устройств. Но при этом блок операций с плавающей точкой, устройства предварительной выборки и декодирования инструкций, а также кэш второго уровня существуют в единичном на пару ядер экземпляре и разделяют между ними свои ресурсы. По оценкам разработчиков мощности этих элементов вполне хватит и на два ядра, так как при обслуживании единичного ядра в реальной жизни они достаточно часто простаивают. К тому же, задержки в их бесперебойном функционировании не оказывает серьёзного влияния на результирующее быстродействие.

Как утверждает сама AMD, один сконструированный описанным образом двухъядерный модуль способен выдавать до 80 % от производительности полноценного двухъядерного процессора. При этом экономия транзисторного бюджета (и, соответственно, площади полупроводникового кристалла) доходит до 44 %.

Благодаря такому изобретательному уплотнению ядер AMD удалось заложить в базовой конструкции полупроводникового кристалла Bulldozer восьмиядерный (или четырёхмодульный) дизайн.



Причём, достаточно существенная часть кристалла при этом отдана под кэш-память. Разделяемые между парами ядер в пределах каждого процессорного модуля кэши второго уровня имеют объём 2 Мбайта, а общая на весь процессор L3 кэш-память составляет 8 Мбайт. Таким образом, учитывая традиционную для AMD эксклюзивную организацию кэшей, можно говорить, что их общий объём составляет 16 Мбайт на восьмиядерный процессор. Площадь полупроводникового кристалла Bulldozer при этом остаётся в приемлемых пределах, так что своей цели разработчики AMD вполне достигли.



В абсолютных числах это означает, что восьмиядерные Bulldozer будут обладать меньшим полупроводниковым кристаллом чем, например, шестиядерные процессоры Thuban (Phenom II X6), построенные на микроархитектуре K10. Правда, следует иметь в виду, что выпускаться Bulldozer будут по более совершенному техпроцессу с 32-нм нормами. По сравнению же с современными четырёхъядерными Intel Sandy Bridge, новые восьмиядерники AMD будут обладать лишь на 45 % большей площадью кристалла.

Впрочем, четырёхъядерные процессоры Sandy Bridge благодаря поддержке технологии Hyper-Threading также как и Bulldozer могут представляться операционной системе как восьмиядерные процессоры. Это, наверняка, породит споры о правомерности наименования Bulldozer полноценными восьмиядерными процессорами. Однако следует понимать, что AMD и Intel пришли к допустимости одновременного исполнения восьми вычислительных потоков разными путями. Разработчики Intel в своей микроархитектуре прикрутили дополнительные возможности, позволяющие выполнять два потока внутри одного ядра, на одном наборе исполнительных устройств. AMD же, напротив, из двух полноценных ядер выпилила «лишние» части, но наборов исполнительных устройств внутри каждого модуля осталось два.



В результате, интеловская технология Hyper-Threading повышает многопоточную производительность лишь на 15-20%, а решение AMD даёт 80-процентный прирост быстродействия при переходе от 4 к 8 потокам.

Хотя, конечно, полупроводниковый кристалл восьмиядерного Bulldozer из-за своей модульной структуры действительно сильно похож на четырёхъядерный.


Больше инструкций за такт?

На одном увеличении количества процессорных ядер далеко не уедешь. Это стало понятно ещё после выхода шестиядерных процессоров Phenom II X6, которые в целом уступают по производительности четырёхъядерным Sandy Bridge. Поэтому, разработчики AMD не ограничились одними лишь экстенсивными изменениями дизайна. Базовая микроархитектура Bulldozer по сравнению с K10 переделана чуть менее чем полностью, что даёт надежды на ускорение работы систем на процессорах AMD не только в многопоточных задачах, но и в приложениях с невысоким уровнем параллелизма. Причём, надежды эти опираются на вполне объективные обстоятельства. В то время как предыдущие микроархитектуры AMD затачивались под исполнение трёх команд за такт (на одном ядре), микроархитектура Bulldozer предполагает исполнение четырёх инструкций за такт и приблизилась по этой характеристике к процессорам конкурента с микроархитектурой Core.

Качественные изменения прослеживаются, начиная с самых первых стадий исполнительного конвейера – с этапа предварительной выборки и декодирования инструкций. Эти стадии являются общими для пар ядер внутри одного модуля, поэтому AMD специально позаботилась, чтобы они не стали узким местом микроархитектуры. Выборка инструкций из кэша L1I для декодирования осуществляется блоками по 32 байта – в два раза большими, чем в процессорах с микроархитектурой Core (второго поколения). Сам кэш инструкций первого уровня имеет объём 64 Кбайта и двухканальную ассоциативность. Предназначенные для декодирования инструкции подгружаются в него из кэш-памяти второго уровня с упреждением.

Принимающий самое непосредственное участие в процессе выборки блок предсказания ветвлений содержит два комплекта буферов, независимо отслеживающих активность разных ядер. Таким образом, при предсказании результатов логических переходов Bulldozer не «путается» между потоками. Так как новая микроархитектура нацеливается на работу на высокой тактовой частоте, качество блока предсказания ветвлений имеет огромное значение. Поэтому используемые в нём алгоритмы были полностью переделаны, и AMD надеется, что эффективность предсказания ветвлений в Bulldozer повысится.



Декодер x86-инструкций Bulldozer также разделяет свои ресурсы на два ядра и способен декодировать до 4 входящих команд за такт. Однако его производительность ограничена выдачей лишь четырёх макро-инструкций (являющихся результатом декодирования в терминах, используемых AMD), в то время как x86-команды могут распадаться на 1-2 и даже большее число макро-инструкций. Таким образом, хотя декодер и нарастил свою производительность по сравнению с прошлым поколением микроархитектуры на треть, его скорости может быть и недостаточно, учитывая, что на него возлагается задача обеспечения работой двух целочисленных и одного вещественночисленного вычислительных кластеров.

Следует отметить, что в Bulldozer нашёл применение и некий аналог технологии слияния инструкций macro-fusion. Некоторые группы x86-команд могут соединяться в единое целое и проходить через декодер как одна инструкция – у AMD это называется Branch Fusion.

Декодированные макро-инструкции распределяются на три вычислительных кластера, два из которых – это остатки полноценных вычислительных ядер и один – вещественночисленный, разделяемый между ядрами. Каждый из этих кластеров имеют собственную логику переупорядочивания инструкций и собственный планировщик. Это, очевидно, означает, что AMD оставляет за собой возможность полностью заменять или дополнять какие-то из этих кластеров в будущих продуктах.

Переупорядочивание инструкций в каждом из кластеров базируется на использовании физического регистрового файла, сохраняющего ссылки на содержимое регистров и исключающего необходимость постоянных пересылок данных внутри процессора при перестановках в порядке следования инструкций. Этот подход сменил на своём посту буфер переупорядочивания, так как физический регистровый файл не только показывает более высокую эффективность с точки зрения энергопотребления, но и более благосклонно относится к увеличению тактовой частоты процессора.

Целочисленные кластеры содержат по два арифметических исполнительных устройства (ALU) и по два устройства для работы с адресами памяти (AGU). По сравнению с микроархитектурой K10 число устройств уменьшилось на одно ALU и одно AGU, но AMD уверяет, что это не сильно снизит производительность, а вот площадь ядра позволит сэкономить существенно. Охотно верим – иметь более двух ALU и AGU в каждом целочисленном кластере, действительно, не имеет практического смысла, ведь из декодера на исполнение обоими кластерами может поступать не более четырёх макро-инструкций за такт.



Одновременно с этим исполнительные устройства стали более универсальными, они практически не различаются по своим функциям.

Серьёзно изменилась организация подсистемы кэш-памяти. Кэш L1D уменьшился с 64 до 16 Кбайт и стал инклюзивным со сквозной записью. При этом его ассоциативность увеличилась до 4 каналов, в дополнение к чему был добавлен «предсказатель пути». Уменьшение размера кэша данных первого уровня компенсируется существенным увеличением его пропускной способности, теперь он может обслуживать до трёх 128-битных операций одновременно: две – чтения и одну - записи.

Очевидно, изменения в полосе пропускания кэша L1D во многом связаны с необходимостью реализации в микроархитектуре 256-битных AVX-инструкций, поддержка которых появилась в разделяемом между ядрами блоке FPU. Впрочем, это не означает, что вещественночисленные исполнительные устройства стали 256-битными. На самом деле в модуле Bulldozer предусмотрено два 128-битных устройства, а AVX-инструкции декодируются как связанные пары 128-битных команд. Соответственно, для их выполнения FMAC-устройства (floating point multiply-accumulate) объединяются, а производительность вещественночисленного кластера снижается до одной AVX-команды на процессорный модуль за такт.



Своего кэша первого уровня у FPU нет, поэтому работа этого кластера с данными происходит через целочисленные устройства.

Коли уж инженеры AMD взялась за реализацию поддержки предложенных Intel AVX-инструкций, в процессорах Bulldozer добавлены и прочие актуальные наборы: SSE4.2 и направленные на ускорение операций шифрования инструкции AESNI. Кроме того, AMD внедрила и немного собственных команд: трёхоперандное умножение-сложение FMA4 и собственное видение дальнейшего развития AVX – XOP.



Кэш второго уровня в Bulldozer является общим в рамках процессорного модуля и разделяется между ядрами. Его ёмкость составляет впечатляющие 2 Мбайта, а ассоциативность - 16 канальная. Однако латентность работающего по такой схеме кэша увеличилась до 18-20 циклов при том, что ширина шины сохранилась как и раньше – 128-битной. Это значит, что L2 кэш в Bulldozer хоть и большой, но не очень быстрый, конкурирующие и предшествующие процессоры предлагают L2-кэш с примерно вдвое более низкой латентностью. Вкупе с небольшим L1D-кэшем с латентностью 4 цикла (что тоже больше чем в микроархитектуре K10), всё это выглядит не слишком обнадёживающе. Однако AMD уверяет, что латентность кэш-памяти увеличена исключительно для придания Bulldozer способности работы на высоких тактовых частотах.



Кроме того, инженеры AMD реализовали эффективный блок предварительной выборки, который призван загружать необходимые данные в кэш первого и второго уровней с упреждением. Утверждается, что качество работы этих блоков улучшено, и теперь они даже способны распознавать нерегулярные структуры данных.

В теории, Bulldozer производит неплохое впечатление. AMD полностью пересмотрела свой старый подход к микроархитектуре процессоров и воплотила в жизнь полностью видоизменённый дизайн. Который, на первый взгляд, выглядит весьма многообещающе, ведь новая микроархитектура оптимизирована под исполнение четырёх, а не трёх, команд за такт на одном процессорном ядре. К тому же она поддерживает макрослияние инструкций в процессе декодирования, что дополнительно увеличивает удельную производительность.

Но всё выглядит так хорошо лишь до тех пор, пока мы смотрим только на одно ядро и не задумываемся о том, что в реальности такие ядра скомбинированы парами. И двухъядерный модуль Bulldozer имеет слишком много общих на пару ядер частей. В частности, из-за того, что на такой модуль приходится лишь один блок выборки инструкций и один декодер, максимальное число исполняемых за такт команд остаётся равным четырём для всей двухъядерной сборки. А это значит, что логичным эквивалентом для одного ядра Sandy Bridge с точки зрения теоретической производительности выступает именно модуль, а не ядро Bulldozer. Возможность же исполнения модулем двух потоков в этом случае выглядит как вполне закономерный ответ AMD на технологию Hyper-Threading.

Конечно, проведённое нами тестирование реальных процессоров расставит всё по своим местам, но уже на этапе рассмотрения микроархитектуры мы вынуждены задуматься о том, что позиционирование Bulldozer как полноценных восьмиядерных процессоров – это маркетинговая уловка. Более же достоверно судить о вычислительных возможностях этих процессоров следует по числу модулей, которые с точки зрения теоретической производительности прекрасно сопоставляются с ядрами, построенными на микроархитектуре Intel Core второго поколения.

В этой связи возникает вполне закономерный вопрос – зачем AMD вообще связалась с реализацией двухпоточной обработки в рамках одного процессорного модуля? Почему нельзя было объединить исполнительные устройства, распределённые по двум ядрам, в единый кластер? Причин тому несколько.

Во-первых, для одновременной загрузки работой большого количества исполнительных устройств в общем случае необходима продвинутая внутрипроцессорная логика. AMD же, очевидно, не смогла реализовать в микроархитектуре Bulldozer высокоэффективные блоки предсказания переходов и предварительной выборки инструкций и данных. Поэтому задача распараллеливания работы и более оптимального использования исполнительных устройств переложена на производителей программного обеспечения, которые должны поставлять для Bulldozer продукты с поддержкой многопоточности.

Во-вторых, увеличение числа одновременно исполняемых потоков – это не так уж и плохо. Если для пользователей настольных систем, и, в особенности, геймеров, восемь достаточно простых ядер Bulldozer не сулят особенных преимуществ, то в серверных применениях такая микроархитектура должна быть встречена весьма благосклонно. Так что, вполне возможно, главной целью при разработке Bulldozer было не удовлетворение чаяний энтузиастов, а восстановление позиций AMD на серверном рынке.

Turbo Core ещё более Turbo

Энергетическая эффективность – одна из важнейших характеристик современных процессоров. Например, в своих будущих микроархитектурах компания Intel уделяет внимание снижению энергопотребления чуть ли не в первую очередь. AMD же пока что до такого не дошла, инженеры этой компании в первую очередь борются всё-таки за производительность. Но это не означает, что на тепловые и энергетические характеристики в Bulldozer разработчикам было совершенно наплевать. Напротив, вслед за Llano, принципиально новые подходы к увеличению энергетической эффективности нашли своё место и в процессорах Bulldozer. Однако в данном случае инженеры использовали освобождающийся потенциал не столько для экономии, сколько для выжимания дополнительного быстродействия через рост тактовых частот.

Конечно, определённые улучшения в части энергопотребления и тепловыделения привнесла новая производственная технология. Для выпуска Bulldozer применяется 32-нм техпроцесс с использованием материала с высокой диэлектрической проницаемостью среды, транзисторов с металлическими затворами и с технологией SOI. Иными словами, это – тот же техпроцесс GlobalFoundries, по которому выпускаются процессоры Llano. Благодаря новой технологии с 32-нм нормами рабочие напряжения питания серийных восьмиядерных процессоров Bulldozer не превышают 1.4 В.

Однако главное нововведение, перешедшее от Llano в Bulldozer – это силовые вентильные транзисторы, предназначенные для отключения питания от некоторых частей процессора. В Bulldozer они позволяют независимо снимать напряжение с отдельных двухъядерных модулей и с кэш-памяти.



Когда оба вычислительных ядра в модуле переходят в энергосберегающее состояние C6, модуль обесточивается. К сожалению, эту технологию нельзя применить к процессорным ядрам, так как выделенных ядер внутри Bulldozer попросту нет – они делят часть ресурсов с соседями по модулю.

Энергосберегающие состояния ядер C6 управляют в Bulldozer и технологией Turbo Core. В те моменты, когда в отключенном энергосберегающем состоянии находится как минимум половина процессорных модулей Bulldozer, он повышает своё напряжение питания и тактовую частоту. Такой форсированный режим работы называется Max Turbo Boost.

Впрочем, в Max Turbo Boost нет ничего нового, подобный авторазгон был введён AMD ещё в процессорах Thuban, построенных на микроархитектуре K10. Что же действительно ново, так это режим All Core Boost, в котором тактовая частота может увеличиваться свыше номинального значения даже тогда, когда активны все процессорные ядра. Внедрённая в Bulldozer усовершенствованная версия Turbo Core позволяет процессору с хорошей точностью судить о своём практическом энергопотреблении и тепловыделении, основываясь на информации о загрузке работой тех или иных блоков. Соответственно, если по этой оценке текущее тепловыделение и энергопотребление находится существенно ниже предельной границы, процессор может повышать свои напряжение питания и тактовую частоту даже в том случае, если в пассивном состоянии не находится ни одно ядро.



Таким образом, рабочая частота процессоров с микроархитектурой Bulldozer – чрезвычайно вариативная величина. В зависимости от «тяжести» исполняемых алгоритмов и от количества задействованных при этом ядер она может динамически меняться в очень широких пределах, достигающих 900 МГц.

Обновлённая десктопная платформа

С внедрением новой микроархитектуры компания AMD не только не изменила конструкцию платформы, но и даже сохранила совместимость процессоров Bulldozer с существующей инфраструктурой. Соответственно, также как и предшественники, новые процессоры содержат в себе интегрированный северный мост, включающий кэш третьего уровня, контроллер памяти и контроллер шины Hyper-Transport. При этом, несмотря на то, что во всех свежевышедших процессорах AMD и Intel внутрь встраивается и контроллер графической шины PCI Express, в Bulldozer такого нет.



Также как и в процессорах, построенных на микроархитектуре K10, в Bulldozer встроенный северный мост использует собственную тактовую частоту, которая для разных моделей устанавливается в 2.0-2.2 ГГц. Заметим, что эта частота определённым образом сказывается на быстродействии, так как она прямо влияет на скорость L3 кэша. Который в текущем варианте процессоров обладает увеличенным до 8 Мбайт объёмом и имеет 64-канальную ассоциативность. Отвечая пожеланиям корпоративных пользователей, данные, хранящиеся в этой кэш-памяти, защищены кодом коррекции ошибок ECC.

Встроенный же в Bulldozer контроллер памяти не имеет никаких принципиально новых возможностей. Как и ранее, он поддерживает DDR3 SDRAM, использует двухканальный дизайн и, фактически, состоит из двух независимых одноканальных контроллеров, которые могут работать как в спаренном, так и в несвязанном режиме. AMD лишь добавила поддержку более скоростных типов памяти, декларируя совместимость с DDR3-1867, и позаботилась о совместимости с энергоэффективными модулями с рабочими напряжениями 1.25 и 1.35 В.

Говоря о десктопной модификации Bulldozer, имеющей собственное кодовое имя Zambezi, следует отметить её направленность на новую платформу Socket AM3+, известную также под кодовым именем Scorpius. Процессорный сокет Socket AM3+ имеет 942 контакта, на один контакт больше, чем Socket AM3. Но, несмотря на это, совместимость Zambezi со старыми Socket AM3 платами сохранена. При установке новых процессоров в старые материнки, теряются, фактически, лишь отдельные функции по управлению питанием. Так, снижается скорость переключения частот при работе технологий Turbo Core и Cool"n"Quiet и не работает Vdrop.

Тем не менее, к выходу Zambezi компания AMD и производители материнских плат подготовили плеяду новых продуктов, основанных на новых наборах логики девятисотой серии. Структура типичной системы, основанной на процессоре Zambezi и построенной на новом чипсете, приведена на блок-схеме ниже.


Отличия нового чипсета AMD 990FX (и его упрощённых версий AMD 990X и AMD 970) заключаются исключительно в поддержке специфических электрических свойств Socket AM3+, и никаких новых интерфейсов они с собой не приносят. Как и в чипсетах восьмисотой серии, в новом южном мосту реализовано шесть SATA 6 Гбит/сек портов и четырнадцать портов USB 2.0. Как бы нам ни хотелось увидеть в новых наборах системной логики поддержку спецификации PCI Express 3.0 или, на худой конец, портов USB 3.0, ничего такого в них нет и на этот раз. Это, кстати, весьма странно, потому что в чипсетах для платформы более низкого уровня Socket FM1 поддержка USB 3.0 была введена.

Различия между модификациями новой серии наборов системной логики состоят исключительно в поддержке различных мульти-GPU конфигураций.


Модельный ряд процессоров Zambezi

Выход процессоров Zambezi завершает обновление модельного ряда, предлагаемого компанией AMD. Основанные на микроархитектуре Bulldozer настольные процессоры станут новым флагманским предложением этого производителя и быстро вытеснят с рынка всевозможные модификации Phenom II.

Подчёркивая инновационность новой микроархитектуры, AMD для десктопных процессоров Zambezi будет использовать новое маркетинговое наименование – FX. С одной стороны оно прекрасно вписывается в новую номенклатуру, подразумевающую маркировку процессоров литерами, а с другой – является отсылкой к легендарным процессорам Athlon 64 FX, которые шесть-семь лет тому назад были быстрейшими десктопными CPU. Впрочем, те времена безвозвратно прошли, так что давайте посмотрим, что готова предложить нам AMD сейчас.

В ближайшее время ассортимент процессоров серии FX будет включать четыре модели.



Несмотря на то, что различие между моделями процессоров Zambezi состоит не только в тактовых частотах, но и в количестве активных вычислительных ядер, все они будут базироваться на одном и том же унифицированном полупроводниковом кристалле. Вот этом:



Для получения процессоров с меньшим, чем восемь, количеством ядер AMD будет отключать часть из них на полупроводниковом кристалле. Возможность обратного их разблокирования, как это удавалось с процессорами с микроархитектурой K10, пока что находится под вопросом. Тем не менее, в BIOS прошедших через нашу лабораторию материнских плат на базе наборов логики девятисотой серии соответствующие опции присутствуют, так что надежда на благоприятное решение этого вопроса существует.

Отключение ядер для получения шестиядерных и четырёхъядерных модификаций процессоров будет происходить «помодульно». То есть, блокироваться будут именно двухъядерные модули целиком, а не «вторые» ядра внутри них, хотя подобная тактика была бы значительно выгоднее с точки зрения производительности. Однако выпуск шестиядерников и четырёхъядерников, построенных на микроархитектуре Bulldozer, объясняется не столько маркетинговыми соображениями, сколько необходимостью реализации отбраковки, которой, учитывая немаленькие размеры кристалла и новый технологический процесс, будет весьма немало.

Несмотря на то, что AMD затачивала новую микроархитектуру под работу на высоких тактовых частотах, пока что мы не можем назвать достигнутые величины впечатляющим прорывом. Четырёхгигагерцовый рубеж так и остаётся непокорённым, а номинальная частота старшего процессора FX даже ниже, чем, например, у Phenom II X4 980. Хочется надеяться, что с совершенствованием производственной технологии частоты Zambezi быстро пойдут вверх. Хотя, если верить текущей версии планов компании AMD, ускорение линейки произойдёт не ранее первого квартала 2012 года.

Не наблюдается прорыва и в части тепловыделения и энергопотребления. AMD долго говорила о том, что микроархитектура Bulldozer будет более энергоэффективной, но на деле старшие восьмиядерные модели имеют такой же уровень TDP, как и старшие Phenom II. Правда, через некоторое время компания должна добавить к числу своих предложений 95-ваттную версию FX-8120 и процессор FX-8100 с таким же расчётным тепловыделением.

Зато цены новых процессоров FX-серии выглядят более чем привлекательно. AMD не хочет отклоняться от взятого курса на предложение платформ по более выгодной, чем у конкурента, цене, поэтому старшие восьмиядерные модели Zambezi противопоставляются старшим же процессорам Intel Core i5. В целом, AMD планирует придерживаться следующей схемы позиционирования своих продуктов:



Иными словами, AMD вообще не намерена замахиваться на соперничество с шестиядерниками Intel и с перспективной платформой LGA2011, а хочет сосредоточиться на покорении среднего ценового сегмента.

Приятной новостью для энтузиастов станет и тот факт, что во всех процессорах серии FX не будут блокироваться никакие множители. Все Zambezi можно будет не только легко разгонять простой сменой базового множителя, но и аналогичным образом переконфигурировать им технологию Turbo Core. Также, доступен разгон подсистемы памяти и частоты встроенного в процессор северного моста.

Тестовый процессор: AMD FX-8150

Компания AMD прислала в адрес нашей редакции старший процессор семейства Zambezi, FX-8150.



Он имеет номинальную тактовую частоту 3.6 ГГц, а более подробную информацию о его характеристиках можно получить из приведённого скриншота CPU-Z.



Заметьте, в основе процессора лежит степпинг B2 – и это уже далеко не первая версия. Предыдущие модификации полупроводникового кристалла были забракованы производителем, поскольку они не могли работать на запланированных изначально тактовых частотах. Именно это и стало причиной некоторой задержки анонса, который изначально планировался весной, потом летом, а по факту произошёл в середине октября.

Впрочем, достигнутая на сегодня частота 3.6 ГГц не выглядит слишком впечатляющей. И у самой AMD, и у Intel есть продукты, работающие с более высокой скоростью. Однако в распоряжении у FX-8150 есть весьма многообещающая технология Turbo Core, которая при невысокой нагрузке способна автоматически увеличивать частоту процессора вплоть до 4.2 ГГц.



Примечательно, что частота 3.9 ГГц может достигаться даже в том случае, если нагрузка лежит на всех вычислительных ядрах, но при этом оставляет пространство для авторазгона без выхода за границы предельного энергопотребления и тепловыделения.



В моменты простоя технология Cool"n"Quiet снижает частоту FX-8150 до 1.4 ГГц. Напряжение питания при этом падает до 0.85 В.


Как мы тестировали

Новый восьмиядерный процессор AMD FX-8150, построенный на микроархитектуре Bulldozer, мы сравнили с одним из его предшественников, шестиядерным Phenom II X6 и с конкурирующими (по цене) предложениями Intel – четырёхъядерными процессорами Core i5-2500 и Core i7-2600. Кроме того, для большей наглядности, в число результатов добавлены и показатели производительности шестиядерного процессора Core i7-990X.

В результате, состав тестовых систем включал следующие программные и аппаратные компоненты:

Процессоры:

AMD FX-8150 (Zambezi, 8 ядер, 3.6 ГГц, 8 Мбайт L2 + 8 Мбайт L3);
AMD Phenom II X6 1100T (Thuban, 6 ядер, 3.3 ГГц, 3 Мбайта L2 + 6 Мбайт L3);
Intel Core i7-2600K (Sandy Bridge, 4 ядра, 3.4 ГГц, 1 Мбайт L2 + 8 Мбайт L3);
Intel Core i5-2500K (Sandy Bridge, 4 ядра, 3.3 ГГц, 1 Мбайт L2 + 6 Мбайт L3);
Intel Core i7-990X Extreme Edition (Gulftown, 6 ядер, 3.46 ГГц, 1.5 Мбайт L2 + 12 Мбайт L3).

Процессорный кулер: NZXT Havik 140;
Материнские платы:

Gigabyte 990FXA-UD5 (Socket AM3+, AMD 990FX + SB950);
ASUS P8Z68-V PRO (LGA1155, Intel Z68 Express);
Gigabyte X58A-UD5 (LGA1366, Intel X58 Express).

Память:

2 x 2 GB, DDR3-1600 SDRAM, 9-9-9-27 (Kingston KHX1600C8D3K2/4GX);
3 x 2 GB, DDR3-1600 SDRAM, 9-9-9-27 (Crucial BL3KIT25664TG1608).

Графическая карта: AMD Radeon HD 6970.
Жёсткий диск: Kingston SNVP325-S2/128GB.
Блок питания: Tagan TG880-U33II (880 Вт).
Операционная система: Microsoft Windows 7 SP1 Ultimate x64.
Драйверы:

Intel Chipset Driver 9.2.0.1030;
Intel Management Engine Driver 7.1.10.1065;
Intel Rapid Storage Technology 10.6.0.1022;
AMD Catalyst 11.10 Display Driver.

Обратите внимание, тестирование производилось под управлением актуальной версии операционной системы Windows 7, но AMD указывает на то, что диспетчер задач этой ОС распределяет вычислительные потоки не самым оптимальным образом. Windows 7 в первую очередь предпочитает направлять потоки на ядра, находящиеся в разных модулях. И это действительно обеспечивает более высокую удельную производительность, так как уменьшает нагрузку на разделяемые внутри модуля блоки. Однако такая стратегия препятствует включению турбо-режимов, которые могли бы быть использованы процессором в том случае, если бы часть двухъядерных модулей находилась в энергосберегающих состояниях.

Перспективная операционная система Windows 8 будет придерживаться иной тактики, и там потоки будут назначаться сначала на ядра в пределах одного модуля. В результате, как обещает AMD, в ряде приложений производительность систем на базе Zambezi сможет увеличиться на величину до 10 %.

Производительность

Предварительная оценка эффективности микроархитектуры Bulldozer

Перед тем, как приступить к «настоящему» тестированию процессоров, мы решили прикинуть, чего от микроархитектуры Bulldozer можно ожидать в принципе. Для этого мы провели небольшое сравнение процессора с этой микроархитектурой с другими CPU с микроархитектурами K10 и Sandy Bridge в искусственно созданных равных условиях: при одинаковой тактовой частоте и с одинаковым количеством активированных ядер.

Конкретнее, мы сопоставили AMD FX-8150, Phenom II X6 1100T и Core i7-2600 на частоте 3.6 ГГц и лишь с двумя включенными вычислительными ядрами. Для чистоты эксперимента все технологии энергосбережения и авторазгона, естественно, деактивировались. В качестве инструментария для тестирования был избран набор простеньких синтетических бенчмарков, входящих в утилиту SiSoft Sandra 2011, в котором мы принудительно отключали все наборы инструкций старше SSE3, так как они не поддерживаются в микроархитектуре K10.



Числа в таблице говорят лучше всяких слов. Производительность микроархитектуры Bulldozer стала гораздо ниже, чем у предшествующих процессоров. Комбинирование пар ядер в один модуль с разделяемыми ресурсами и сопутствующим этому упрощением микроархитектуры привело к тому, что на одинаковой частоте удельная производительность Bulldozer в пересчёте на ядро упала на 25-40 % по сравнению с микроархитектурой AMD прошлого поколения. В результате, ядра Bulldozer работают почти вдвое медленнее, чем ядра Sandy Bridge. Более того, быстродействие процессорного модуля Bulldozer, включающего два ядра, оказывается даже ниже, чем скорость работы одного ядра Sandy Bridge со включённой технологией Hyper-Threading. Следует ли ожидать рекордов производительности от процессора, построенного на такой микроархитектуре? Вопрос риторический.

Попутно взглянем на практические характеристики кэшей и подсистемы памяти. Для оценки скорости работы этих функциональных узлов мы провели тесты в утилите Cachemem из пакета Aida64. Во всех случаях использовалась DDR3-1600 память с задержками 9-9-9-27-1T. Также как и в предыдущем случае частоты процессоров остались выровнены на величине 3.6 ГГц.



В Zambezi по сравнению с процессорами Phenom II выросли практические латентности как всех кэшей, так и подсистемы памяти. Об этом мы говорили ещё при рассмотрении микроархитектуры Bulldozer. Однако за счёт изменения логической организации кэш-памяти её пропускная способность увеличилась практически во всех случаях.

Вместе с тем, самый быстрый двухканальный контроллер памяти и самая быстрая подсистема кэш-памяти реализованы в Sandy Bridge. Хотя, конечно, по объёму кэшей интеловский процессор носителям микроархитектуры Bulldozer несколько уступает.

Общая производительность

Для оценки производительности процессоров в общеупотребительных задачах мы традиционно используем тест Bapco SYSmark 2012, моделирующий работу пользователя в распространённых современных офисных программах и приложениях для создания и обработки цифрового контента. Идея теста очень проста: он выдаёт единственную метрику, характеризующую средневзвешенную скорость компьютера в распространённых приложениях.

Напомним, некоторое время тому назад AMD пыталась троллить SYSmark, распространяя утверждения о его необъективности из-за использования «неправильного» набора реальных приложений. Однако на наш взгляд такое суждение не является оправданным, так как для оценки производительности используются именно распространённые и реально популярные программы, вклад каждой из которых в конечный результат приведён на следующей диаграмме:



Поэтому мы не отказались от применения SYSmark 2012 и продолжаем использовать его показатели для оценки общеупотребительной производительности.



Первый же тест – и такое разочарование. Результат восьмиядерного FX-8150 всего на 10 % лучше производительности шестиядерного Phenom II X6 1100T и, естественно, совершенно не дотягивает до показателей быстродействия четырёхъядерных процессоров Intel. Так что выбранная AMD тактика по реализации в процессоре большого количества ядер с невысокой удельной производительностью вместо умеренного числа сложных, в целом, не даёт положительного результата.

Более глубокое понимание результатов SYSmark 2012 способно дать знакомство с оценками производительности, получаемыми в различных сценариях использования системы.

Сценарий Office Productivity моделирует типичную офисную работу: подготовку текстов, обработку электронных таблиц, работу с электронной почтой и посещение Интернет-сайтов. Сценарий задействует следующий набор приложений: ABBYY FineReader Pro 10.0, Adobe Acrobat Pro 9, Adobe Flash Player 10.1, Microsoft Excel 2010, Microsoft Internet Explorer 9, Microsoft Outlook 2010, Microsoft PowerPoint 2010, Microsoft Word 2010 и WinZip Pro 14.5.



В сценарии Media Creation моделируется создание рекламного ролика с использованием предварительно отснятых цифровых изображений и видео. Для этой цели применяются популярные пакеты компании Adobe: Photoshop CS5 Extended, Premiere Pro CS5 и After Effects CS5.



Web Development - сценарий, в рамках которого моделируется создание web-сайта. Используются приложения: Adobe Photoshop CS5 Extended, Adobe Premiere Pro CS5, Adobe Dreamweaver CS5, Mozilla Firefox 3.6.8 и Microsoft Internet Explorer 9.



Сценарий Data/Financial Analysis посвящён статистическому анализу и прогнозированию рыночных тенденций, которые выполняются в Microsoft Excel 2010.



Сценарий 3D Modeling всецело посвящён созданию трёхмерных объектов и рендерингу статичных и динамических сцен с использованием Adobe Photoshop CS5 Extended, Autodesk 3ds Max 2011, Autodesk AutoCAD 2011 и Google SketchUp Pro 8.



В последнем сценарии, System Management, выполняется создание бэкапов и установка программного обеспечения и апдейтов. Здесь задействуются несколько различных версий Mozilla Firefox Installer и WinZip Pro 14.5.



При различных моделях использования процессор с микроархитектурой Bulldozer демонстрирует принципиально разные результаты. В некоторых случаях он оказывается даже медленнее Phenom II X6, но есть и обратные ситуации. В целом, общее правило такое: преимущество FX-8150 становится особенно заметно там, где нагрузка многопоточная и хорошо параллелизованная, но при этом несложная в вычислительном плане.

Однако даже в самых благоприятных ситуациях FX-8150 отстаёт от Core i5-2500. Единственный сценарий, где эти процессоры сопоставимы по скорости, это трёхмерный рендеринг. В среднем же интеловское предложение опережает новинку AMD на внушительные 25 %. Печально.

Игровая производительность

Как известно, производительность платформ, оснащенных высокопроизводительными процессорами, в подавляющем большинстве современных игр определяется мощностью графической подсистемы. Именно поэтому при тестировании процессоров мы стараемся проводить испытания так, чтобы по возможности снять нагрузку с видеокарты: выбираются наиболее процессорозависимые игры, а тесты проводятся без включения сглаживания и с установкой далеко не самых высоких разрешений. То есть, полученные результаты дают возможность оценить не столько уровень fps, достижимый в системах с современными видеокартами, сколько то, насколько хорошо проявляют себя процессоры с игровой нагрузкой в принципе. Следовательно, основываясь на приведённых результатах, вполне можно строить догадки о том, как будут вести себя процессоры и в будущем, когда на рынке появятся более быстрые варианты графических ускорителей.


















Игры не относятся к категории задач, порождающих распараллеленную многопоточную нагрузку. Поэтому для сегодняшних геймерских применений больше подходят процессоры с четырьмя ядрами, а не те многоядерные монстры, которые предлагает AMD. Яркую иллюстрацию этого утверждения мы видим на приведённых диаграммах. Новый восьмиядерный FX-8150 ничуть не быстрее своего шестиядерного предшественника Phenom II X6.

Что же касается соотношения игровой производительности Zambezi и Sandy Bridge, то тут для новинки AMD всё ещё намного пессимистичней. Текущая микроархитектура процессоров Intel справляется с типичной нагрузкой, генерируемой 3D-играми, гораздо лучше, и нет никаких надежд на то, что AMD сможет хоть когда-то нагнать процессоры конкурента в этой категории задач. Иными словами, использовать Bulldozer в игровых системах может иметь смысл лишь только тогда, когда существует уверенность в достаточности производительности конкретного процессора для конкретной видеоподсистемы в конкретном наборе игр. Однако и в этом случае необходимо осознавать, что при очередном апгрейде видеоускорителя вы можете остаться в серьёзном проигрыше по сравнению с теми пользователями, которые изначально предпочли платформу и современные процессоры Intel.

В дополнение к игровым тестам приведём и результаты синтетического бенчмарка Futuremark 3DMark 11, запущенного с профилем Extreme.



Цель добавления этих результатов состояла в том, чтобы показать ту самую идеальную для FX-8150 ситуацию, когда видеоподсистема не даёт раскрыться процессорной мощности в полной мере. Здесь основная нагрузка ложится на видеокарту, а процессор играет лишь вспомогательную роль второго плана. В таких случаях можно говорить о равенстве быстродействия процессоров Bulldozer и Sandy Bridge, хотя, конечно, это и не совсем правда.



Впрочем, неплохо (на фоне прошлых результатов) выглядит FX-8150 и в физическом тесте 3DMark 11. При многопоточном расчёте игровой физической модели новый восьмиядерный процессор AMD работает со скоростью, сравнимой с быстродействием четырёхъядерного Core i5-2500.

Тесты в приложениях

В целом, средневзвешенная и игровая производительность Bulldozer в десктопной системе оказалась сильно ниже наших ожиданий. Однако не будем отчаиваться и попробуем найти те случаи, когда новая микроархитектура AMD способна показать свои сильные стороны.

Для измерения быстродействия процессоров при компрессии информации мы пользуемся архиватором WinRAR , при помощи которого с максимальной степенью сжатия архивируем папку с различными файлами общим объёмом 1.4 Гбайт.



Результат FX-8150 оказывается близок к Core i5-2500. WinRAR не относится к числу приложений, способных распараллелить свои вычисления на все восемь ядер Bulldozer, но положение, похоже, спасает гигантская кэш-память.

Второй аналогичный тест на скорость архивации проводится в программе 7-zip , использующей алгоритм сжатия LZMA2.



В 7-zip выступление FX-8150 достойно похвалы. Этому восьмиядерному процессору удаётся приблизится по скорости к четырёхъядерному Core i7-2600, в котором включена поддержка Hyper-Threading и который так же как и Bulldozer может исполнять восемь потоков одновременно.

Производительность процессоров при шифровании измеряется встроенным тестом популярной криптографической утилиты TrueCrypt . Следует отметить, что она не только способна эффективно загружать работой любое количество ядер, но и поддерживает специализированный набор инструкций AES.



Хорошо распараллеливаемые несложные целочисленные алгоритмы – это то, что надо для микроархитектуры Bulldozer. В таких случаях, как мы видим, можно получать весьма выдающуюся производительность. В частности, при шифровании FX-8150 отстаёт лишь от шестиядерного Core i7-990X и опережает все процессоры для платформы LGA1155.

При тестировании скорости перекодирования аудио используется утилита Apple iTunes , при помощи которой осуществляется преобразование содержимого CD-диска в AAC-формат. Заметим, что характерной особенностью этой программы является способность использования лишь пары процессорных ядер.



Программы, порождающие малое число вычислительных потоков, лучше держать от Bulldozer подальше. Отдельные ядра этого CPU слишком слабы для того, чтобы показывать в таких случаях сколь-нибудь достойные результаты.

Измерение производительности в Adobe Photoshop мы проводим с использованием собственного теста, представляющего собой творчески переработанный Retouch Artists Photoshop Speed Test , включающий типичную обработку четырёх 10-мегапиксельных изображений, сделанных цифровой камерой.



В Photoshop выступление FX-8150 не так провально, как у процессоров с микроархитектурой K10, но до Core i5-2500 он всё равно сильно не дотягивает. Очевидно, что хорошим подспорьем для микроархитектуры Bulldozer в данном случае оказывается вместительная кэш-память, но на одном этом далеко не уедешь. Эффективность и удельная производительность вычислительных ядер всё ещё имеет первостепенное значение.

Также нами был проведено тестирование и в программе Adobe Photoshop Lightroom 3. Тестовый сценарий включает пост-обработку и экспорт в JPEG ста 12-мегапиксельных изображений в RAW формате.



Lightroom умеет распараллеливать обработку фотографий на любое количество ядер, и потому восьмиядерный FX-8150 показывает здесь неплохой результат. Впрочем, «неплохой» - в данном случае относительное понятие, на самом деле его производительность сравнима с быстродействием лишь Core i5-2500. А, значит, два ядра Bulldozer равны одному ядру Sandy Bridge без поддержки Hyper-Threading.

Производительность в Adobe Premiere Pro тестируется измерением времени рендеринга в формат H.264 Blu-Ray проекта, содержащего HDV 1080p25 видеоряд с наложением различных эффектов.



С перекодированием видео неплохо справлялись и процессоры AMD предыдущего поколения. Микроархитектура Bulldozer позволила немного нарастить производительность в приложениях такого характера и, в результате, FX-8150 работает даже быстрее, чем Core i5-2500.

Скорость редактирования видео средствами Adobe After Effects была оценена путём замера времени работы заранее предопределённого набора фильтров и эффектов, включающего размытие, создание выпуклости, смешение кадров, создание свечения, добавление расфокусировки при движении, затенение, 2D- и 3D-манипуляции, инверсию и проч.



Несмотря на то, что нагрузка носит хорошо распараллеливаемый характер, FX-8150 от интеловских конкурентов в After Effects отстаёт.

Для измерения скорости перекодирования видео в формат H.264 используется x264 HD тест , основанный на измерении времени обработки исходного видео в формате MPEG-2, записанного в разрешении 720p с потоком 4 Мбит/сек. Следует отметить, что результаты этого теста имеют огромное практическое значение, так как используемый в нём кодек x264 лежит в основе многочисленных популярных утилит для перекодирования, например, HandBrake, MeGUI, VirtualDub и проч.






При перекодировании видео кодеком x264 процессоры AMD всегда показывали неплохую производительность. С выходом восьмиядерной микроархитектуры их результаты дополнительно возросли, и теперь FX-8150 при втором, наиболее ресурсоёмком, проходе кодирования обгоняет даже Core i7-2600. Итак, с немалым трудом мы наконец-то нашли второе, помимо TrueCrypt, приложение, где производительность процессора с микроархитектурой Bulldozer заслуживает лестных отзывов.

Вычислительную производительность и скорость рендеринга в Autodesk 3ds max 2011 мы измеряем, прибегая к услугам специализированного теста SPECapc . Начиная с этого тестирования мы начинаем использовать новую профессиональную версию SPECapc for 3ds Max 2011.






Рендеринг также относится к числу задач, подверженных оптимизации под многоядерные микроархитектуры. Но, несмотря на это, FX-8150 работает всё же медленнее, чем Core i5-2500 и Core i7-2600, не говоря уже о Core i7-990X. С другой стороны, позорной ситуации, когда новый процессор AMD проигрывает своему предшественнику, тут не наблюдается.

Усредняя результаты, полученные в отдельных приложениях, можно говорить, что на нашем наборе приложений FX-8150 оказался примерно на 14 % быстрее, чем Phenom II X6 1100T. И это позволило ему чуть менее чем в половине случаев выступить не хуже, чем Core i5-2500. Однако отставание от следующей модели Sandy Bridge, Core i7-2600, остаётся значительным и составляет более 10 %.

Энергопотребление

Несмотря на то, что нам удалось найти набор задач, в которых производительность Bulldozer можно назвать приемлемой, революционными процессоры на новой микроархитектуре совершенно не выглядят. Надежда остаётся только на энергопотребление, ведь ранее процессоры AMD уступали по этому параметру своим конкурентам более чем значительно. Теперь же, если верить обещаниям разработчиков, микроархитектура стала более нацеленной на энергетическую эффективность, да и новый 32-нм технологический процесс должен был внести свой вклад в улучшение электрических характеристик. Так что давайте посмотрим на FX-8150 через призму производительности на ватт.

На следующих ниже графиках, если иное не оговаривается отдельно, приводится полное потребление систем (без монитора), измеренное «после» блока питания и представляющее собой сумму энергопотребления всех задействованных в системе компонентов. КПД же самого блока питания в данном случае не учитывается. Во время измерений нагрузка на процессоры создавалась 64-битной версией утилиты LinX 0.6.4. Кроме того, для правильной оценки энергопотребления в простое мы активировали все имеющиеся энергосберегающие технологии: C1E, C6, AMD Cool"n"Quiet и Enhanced Intel SpeedStep.



В состоянии простоя потребление систем с процессорами, построенными на микроархитектуре Bulldozer, стало ниже, чем у аналогичных систем с CPU семейства Phenom II. Однако современные интеловские LGA1155-системы потребляют в режиме бездействия существенно меньше.



В случае, когда вычислительная нагрузка носит однопоточный характер, потребление Socket AM3+-систем резко увеличивается, очевидно, из-за высокой агрессивности технологии Turbo Core. С системами, построенными на процессорах Intel, такого не наблюдается, и они вновь могут похвастать существенно более высокой энергетической эффективностью.



При полной многопоточной нагрузке ситуация отличается не сильно. Разве только система с LGA1366-процессором Core i7-990X «ушла в отрыв». В остальном, всё по-старому. С точки зрения энергопотребления FX-8150 не может похвалиться никакими особенными успехами. Он стал потреблять чуть меньше, чем Phenom II X6 1100T, однако процессоры Sandy Bridge экономичнее, по меньшей мере, раза в полтора.

Всю отвоёванную за счёт внедрения новой микроархитектуры энергоэффективность AMD пустила на рост тактовых частот. И, в результате, мы не видим ни новый уровень экономичности, ни принципиально улучшившуюся производительность. Соответственно, с точки зрения производительности на ватт Bulldozer, как и его предшественники, серьёзно проигрывает конкурирующим микроархитектурам авторства Intel.

Для справки приведём потребление при полной нагрузке, измеренное отдельно в цепях питания процессора и материнской платы.






«Чистое» потребление восьмиядерного FX-8150 превышает потребление процессоров Sandy Bridge примерно в два раза. Учитывая, что и те, и другие процессоры производится по технологическому процессу с одинаковыми нормами, а кроме того, имеют похожее напряжение питания ядра, становится безумно интересно, что же имела в виду AMD, когда говорила об энергетической эффективности своей микроархитектуры Bulldozer.

Разгон

Платформа Socket AM3+ и процессоры серии FX изначально позиционируются как оверклокерские. Об этом свидетельствует как полная разблокировка всех множителей, так и эксперименты, проводимые под эгидой AMD, в рамках которых с использованием одного из процессоров FX-8150 был установлен мировой рекорд разгона. Многообещающе выглядят и заявления компании о том, что новая микроархитектура оптимизирована под работу на высоких тактовых частотах. Неужели из рук AMD мы получим новое оверклокерское чудо? Давайте проверим.

Разгонять любые процессоры FX очень просто, недаром «Unlocked» написано непосредственное на их логотипе. Частота работы процессора может быть изменена множителем либо через BIOS Setup, либо через специализированные утилиты, предоставляемые как самой AMD (Overdrive Utility ), так и производителями материнских плат. Аналогичным образом в Socket AM3+ системах можно разгонять встроенный в процессор северный мост и память.

В процессе испытаний мы смогли добиться устойчивого функционирования нашего экземпляра FX-8150 на частоте 4.6 ГГц. Для обеспечения стабильности в таком состоянии напряжение питания процессора пришлось увеличить до 1.475 В, а, кроме того, потребовалось включить функцию Load-Line Calibration. Во время тестов на стабильность температура процессора, работающего при такой частоте, не превышала 85 градусов по подсокетному датчику или 75 градусов по данным датчика, встроенного в процессор. Для отвода тепла, напомним, использовался эффективный воздушный кулер NZXT Havik 140 .



Обратите внимание, параллельно мы попытались разогнать и северный мост, встроенный в CPU, ведь увеличение его частоты положительно сказывается на скорости работы кэш-памяти третьего уровня и контроллера памяти. Однако, к сожалению, существенный разгон этого процессорного узла натолкнулся на незримую преграду, и частота свыше 2.4 ГГц ему не покорилась, даже несмотря на то, что мы параллельно пытались поднять его напряжение питания.

В любом случае, разгон FX-8150 до 4.6 ГГц – неплохой результат, особенно на фоне того, что процессоры AMD семейства Phenom II редко разгонялись на воздухе дальше 4.0 ГГц. Иными словами, микроархитектура Bulldozer, действительно, позволила несколько отодвинуть частотный предел ввысь.

Однако сравнивать разгон процессоров FX следует, прежде всего, не со старичками Phenom II, а с конкурирующими процессорами Core i5 и Core i7 для LGA1155-систем. А вот они-то разгоняются явно не хуже. Например, вполне типичный разгон для Core i5-2500K с увеличением напряжения на 0.15 В выше номинала и использованием воздушного кулера – это 4.7 ГГц. И на этом фоне результат FX-8150 уже не кажется таким блестящим.

Ещё сильнее впечатление от разгона Zambezi портится, если сопоставить производительность разогнанного FX-8150 и разогнанного же Core i5-2500K (в скобках указан прирост показателей относительно номинального режима):



В целом, разгон не изменяет качественного соотношения результатов. Но там, где FX-8150 был быстрее в номинальном режиме, разрыв сократился. А там, где лидировал Core i5-2500, он закрепил своё преимущество. Неудивительно: частота FX-8150 при разгоне увеличилась на 28 %, в то время как прирост частоты у Core i5-2500K – 42 %. Да и вообще, как можно судить по величине прироста производительности от разгона, микроархитектура Sandy Bridge реагирует на рост частоты более чутко. Иными словами, даже если иметь в виду оверклокинг, процессоры с микроархитектурой Bulldozer, хотя и разгоняются достаточно неплохо, сильнее интеловских конкурентов не выглядят.

Выводы

Удача или поражение? Наверняка многие из вас хотят увидеть в конце статьи чёткий вердикт. Однако в данном случае всё очень неоднозначно, и AMD своим Bulldozer поставила обозревателей в очень непростое положение.

Дело в том, что AMD продемонстрировала совершенно нестандартный подход к разработке микроархитектуры. Учитывая, что производительность процессора складывается из трёх компонентов: количества исполняемых в процессорном ядре за такт инструкций, частоты и количества ядер, разработчики сместили свои приоритеты на количество ядер. При этом удельная производительность отдельных ядер была снижена, но зато получившийся дизайн открыл путь к созданию недорогих восьмиядерных или даже более сложных процессоров. Это – очень сильный ход для серверного рынка, где правят бал многопоточные нагрузки и процессоры с большим количеством ядер серьёзно востребованы. Так что, весьма вероятно, новая микроархитектура Bulldozer позволит компании AMD существенно улучшить свои позиции на рынке производительных серверов.

Однако сегодня мы познакомились с процессором FX, построенным на этой микроархитектуре, но нацеленным на настольные компьютеры. И вот тут-то несоответствие между аппаратными возможностями Bulldozer и типичными десктопными нагрузками проявило себя в полной мере. Особенно обидно, что маркетинговая компания была построена таким образом, что многие поверили в Bulldozer как в восходящую звезду рынка настольных систем. Однако этим надеждам было не суждено оправдаться.


Процессоры FX, в основе которых лежит микроархитектура Bulldozer, смогли продемонстрировать свои сильные стороны лишь в небольшом подмножестве решаемых обычными пользователями задач. Среди типичных общеупотребительных приложений найдётся не так уж и много примеров, которые генерируют простую целочисленную многопоточную нагрузку, а высокая производительность Bulldozer раскрывается только в этом случае. В результате, в некоторых случаях Bulldozer оказался не просто медленнее конкурирующих решений компании Intel, но и даже хуже процессора Phenom II X6, построенного на микроархитектуре прошлого поколения. И это означает, что революционного десктопного процессора у AMD не получилось.

Фактически, FX – это просто следующий Phenom, который вроде как и неплох сам по себе, особенно по сравнению с предшественниками. Процессоры FX в целом побыстрее Phenom II, существенно лучше разгоняются и обладают немного меньшим потреблением, так что могут считаться неплохой заменой для носителей устаревшей микроархитектуры K10.

Однако напомним, AMD воюет не только сама с собой, но ещё и с компанией Intel. Поэтому мы всё-таки вынуждены озвучить неутешительный вывод о том, что процессоры FX имеет реальный смысл использовать разве только в тех десктопах, которые ориентированы на обработку и перекодирование видео. В остальных случаях на фоне процессоров Sandy Bridge их производительность редко когда выглядит обнадёживающе. То же самое можно сказать и в адрес энергопотребления, и про разгон. Отдельно нужно добавить, что процессоры AMD FX ожидаемо оказались и плохим вариантом для геймерских систем, так как современные 3D игры практически не используют действительно многопоточные алгоритмы. Однако приверженцы продукции AMD, наверняка, смогут смириться и с этим, учитывая, что количество кадров в секунду в играх зачаcтую упирается в графику, а не в процессор.

Иными словами, рыночные перспективы процессоров FX будут зависеть от двух факторов: от того, насколько велика армия адептов AMD; и от того, насколько умело производитель будет управлять ценовым рычагом. Однако широкая популярность десктопным процессорам с микроархитектурой Bulldozer явно не светит.

Как известно, Intel уже более пяти лет придерживается стратегии развития «Tick-Tock», меняя по нечётным годам технологический процесс производства, а по чётным - микроархитектуру. AMD следует совершенно другой политике, улучшая свои модели по мере готовности новых технологий. Так, последнее обновление микроархитектуры компания проводила почти четыре года назад, выпустив CPU Phenom на K10, освоившей с тех пор три техпроцесса – 65 нм у Agena, 45 нм у Deneb и 32 нм у Llano. Тем не менее, рано или поздно потенциал любой разработки исчерпывает себя и назревает необходимость её радикального обновления.

И, в отличие от Intel, которая планомерно освежает свою микроархитектуру каждые два года, AMD предпочитает делать это несколько реже, но внося больше изменений и улучшений. Фактически, с момента появления первых Athlon на К7, было всего два её обновления, но зато существенных и радикальных – это K8, представленная в 2003 году и ставшая основой для Athlon 64, и уже упомянутая K10, в семействах Phenom и Athlon II. Да, впоследствии компания наращивала частоты, кэши и количество ядер в своих продуктах, меняла технологические процессы, но их структура, являющаяся основой и «сердцем» целых семейств CPU, оставалась незыблемой.

Немного теории

Новая микроархитектура Bulldozer, дебютирующая в процессорах AMD FX, существенно отличается от прошлой – K10, и кроме того, не вписывается в стратегию предшествующих обновлений, когда инженеры стремились исправить их недостатки и подчеркнуть достоинства. Рассматривая K10, можно было увидеть в ней очертания и общую топологию K8 и K7, а если поступить аналогичным образом с Sandy Bridge, то и у последней можно заметить ряд особенностей предыдущих Nehalem и Conroe.

А если взяться за Bulldozer, сразу бросается в глаза, что она фактически полностью отлична как от K10, так и от других х86 совместимых микроархитектур. На фоне предшественников новинка смотрится не менее необычно, чем самолёт на фоне вертолёта. Рассмотрим её подробнее, но сразу оговорюсь, что постараюсь объяснить суть и характер изменений, не залезая в технические дебри и тонкости, поскольку большинству это скучно и неинтересно, а кому необходимо - тот и так знает, где найти интересующую его информацию.

Основное отличие Bulldozer от других актуальных процессорных микроархитектур заключается в компоновке x86 ядер, которые теперь попарно расположены в одном «модуле» и делят между собой остальные ресурсы – блок вещественных вычислений (FPU), кэш второго уровня (L2) и так называемый «front end», о последнем будет рассказано ниже. Таким образом, каждый модуль новой микроархитектуры является чем-то средним между обычным двухъядерным CPU и процессорным ядром с Hyper-Threading.

В некотором смысле это даже развитие идеи Hyper-Threading, но в отличие от неё, где два потока «разбивают» то же количество аппаратных ресурсов, в модуле Bulldozer"a два потока часть ресурсов делят, а часть - получают в единоличное пользование. Но баланс подобран грамотно, все «тяжёлые» и «дорогие» (с точки зрения транзисторного бюджета) блоки распределяются между двумя ядрами, а сами х86 ядра дублируются, поскольку тратится на каждое из них всего лишь около 12% общего числа транзисторов в модуле.

С точки зрения выполнения целочисленных и адресных операций каждый модуль представляет собой два полноценных и независимых ядра, между которыми при вещественных вычислениях делятся ресурсы FPU. Эти же ядра по факту и обслуживают FPU, отправляя ему инструкции на исполнение, загружая и выгружая данные, храня и отставляя МОПы, поскольку именно к ним привязаны вычислительные потоки, механизмы внеочередного исполнения команд и кэши данных первого уровня (L1D).

Очевидно, что основное преимущество данной схемы перед одним ядром - в повышенной производительности при многопоточной нагрузке, особенно с упором на целочисленные вычисления. Попробуем рассмотреть основные блоки Bulldozer подробнее.

Front end

Фактически, «front end» представляет собой набор логических устройств, обеспечивающих подготовку инструкций для исполнения на вычислительных устройствах. В него входят блоки предсказания переходов, точность работы которых влияет на то, как часто будет простаивать CPU в процессе ожидания передачи нужных данных из оперативной памяти или кэшей, кэш инструкций первого уровня (L1I) и декодер, который занимается «переводом» х86 инструкций в понятный для исполнительных устройств вид - МОПы.

Изменения, которые коснулись этих блоков, неоднозначны. С одной стороны, повысилась точность предсказаний переходов. При декодировании из кэша данные считываются порциями в 32 байта, как у K10, что хорошо и вдвое больше, чем у Sandy Bridge. Инструкции теперь перерабатываются четырьмя каналами, а не тремя, как в K7-K10. И это одно из самых важных и долгожданных улучшений в микроархитектуре. Но AMD только сейчас внедрила четырёхканальный декодер, в то время как у Intel он появился пять лет назад, в Conroe (Core2). При этом кэш инструкций фактически того же размера и ассоциативности (64 Кбайта, 2-way), что и в K10, куда он перекочевал без особых изменений ещё с K7.

Также не стоит забывать, что теперь и кэш инструкций, и декодер будут нужны не одному, а двум потокам, так что их возможности можно условно разделить пополам при интенсивной многопоточной нагрузке. Резюмируя, можно сказать, что новый «front end» выглядит в чём-то лучше, а в чём-то хуже, чем у предшественников, и будет демонстрировать свою силу и слабость в зависимости от характера задачи.

Х86 ядра

Данные блоки, в количестве двух штук на модуль, являются как раз той самой отличительной особенностью Bulldozer"a и позволяют одному модулю обрабатывать два потока инструкций. По сути, в них сосредоточены основные устройства х86 ядер с механизмом внеочередного исполнения команд (Out-of-Order Execution), а именно – буфер МОПов, поступивших с декодера (Sheduler), устройство отставки выполненных инструкций (Retire), сами целочисленные исполнительные устройства и устройства генерации адреса (ALU и AGU), по две штуки на х86 ядро, а также кэш данных первого уровня (L1D) и устройство загрузки выгрузки (LSU).

Во многом, х86 ядро Bulldozer"a напоминает целочисленный блок K10, но налицо ряд заметных и неоднозначных изменений. Во-первых, количество ALU и AGU сократилось с трёх до двух, по сравнению с K10. С одной стороны, это падение пиковой теоретической производительности в полтора раза, с другой, выжать её на практике практически невозможно, так что потеря не велика, хоть и есть. Во-вторых, кэш данных стал в четыре раза меньше, чем у K10, 16 Кбайт вместо 64 Кбайт, но зато его ассоциативность выросла с двух путей до четырёх. Так что можно назвать это оправданным разменом объёма на скорость.

Ну а LSU стал лучше во всём, как номинальная, так и эффективная вместимость буферов существенно выросла, а разрядность операций записи увеличена в два раза.

FPU

Пожалуй, один из самых важных блоков процессора – блок вещественных вычислений, отвечает, как несложно догадаться, за выполнение операций с плавающей запятой, а также исполнение наборов инструкций SSE всех версий, AVX, FMA и отдельных команд. Фактически FPU Bulldozer является самым мощным и функциональным на сегодня, и во многом именно благодаря ему, AMD надеется одолеть конкурирующие решения Intel на базе микроархитектуры Sandy Bridge.

Основой FPU Bulldozer являются два FMAC устройства, разрядностью 128-бит каждое. В отличие от K10, где за операции сложения и умножения отвечали разные устройства, эти являются универсальными и способны выполнить весь спектр поддерживаемых команд. Можно сказать, AMD перешла от ассиметричной схемы исполнительных устройств FPU к симметричной. В случае разделения ресурсов между двумя x86 ядрами, каждое может работать со своим FMAC устройством.

Единственным исключением является исполнение AVX команд разрядностью 256-бит, в этом случае оба вычислительных устройства выполняют эту операцию как единый блок. Причём стоит отметить, что если при AVX операциях 256-битной разрядности его производительность на один такт равна FPU Sandy Bridge, то при снижении разрядности AVX операций до 128-бит, темп их исполнения превышает таковой в два раза.

Помимо скорости стоит вспомнить и о функциональности. Как уже было сказано, блок вещественных вычислений Bulldozer"a поддерживает FMA (fused multiply-add – совмещённое умножение-сложение) команды, вида A = B x C + D. Причём результат умножения не округляется перед сложением, что положительно сказывается на точности вычислений. В общем итоге можно сказать, что FPU по всем параметрам лучше, чем в предыдущих микроархитектурах AMD, и инженеры могут гордиться своей работой.

Кэши и северный мост

Подсистема кэшей также претерпела несколько важных изменений, по сравнению с K10. Как уже упоминалось, кэш данных первого уровня (L1D) разменял объём на ассоциативность, а кэш инструкций (L1I) остался фактически без изменений. Кэш второго уровня (L2), который раньше единолично использовался одним ядром, теперь является общим для двух х86 ядер модуля. Кроме того, объём L2 кэша вырос с 512 Кбайт до 2 Мбайт, по сравнению с K10. Уровень ассоциативности остался тот же, 16-way.

Это значит, что в восьмиядерном, четырехмодульном ЦП с микроархитектурой Bulldozer используется четыре кэша второго уровня суммарным объёмом 8 Мбайт. Но, скорее всего, рост объёма и необходимость делить ресурсы между двумя ядрами также наложили отрицательный отпечаток на время доступа к кэшу второго уровня. Кэш третьего уровня и контроллер памяти, подобно K10, работают на своей частоте, более низкой, чем частоты модулей. Для анонсированных процессоров она составляет 2-2.2 ГГц, в зависимости от модели. Это меньше, чем у Sandy Bridge, где интегрированный контроллер памяти и L3 кэш работают на частоте ядра. Объём кэша третьего уровня у Bulldozer, составляет теперь 8 Мбайт, а его ассоциативность 64-way, что на треть больше, чем у Deneb (6 Мбайт и 48-way соответственно).

Стоит также напомнить, что кэш у процессоров AMD организован по так называемой эксклюзивной схеме, когда данные в кэшах разных уровней не дублируются и суммарный объём их всех можно считать и эффективным. Подводя итоги по кэшам, скажу, что изменения в L1 и L2 существенные, но неоднозначные, а L3 выглядит логичным развитием наработок K10.

Контроллер памяти ЦП AMD FX не претерпел существенных изменений, он по-прежнему двухканальный, а штатно поддерживаемая частота модулей памяти DDR3 увеличилась до 1866 МГц.

Turbo Core 2.0

Технология автоматического разгона, дебютировавшая в моделях AMD Phenom II X6, была существенно улучшена и во многом похожа на ту, что используется в линейке Sandy Bridge. В процессоре появился специальный блок, который отслеживает актуальное потребление CPU и загрузку ядер, и на основе этой информации изменяет частоты ядер модулей. Если потребление ЦП не превышает TDP, то частоты всех ядер могут подниматься сверх базовых на заданное значение.

К примеру, для AMD FX-8150 частота возрастает со штатных 3.6 ГГц до 3.9 ГГц, для всех восьми ядер. А когда потребление процессора ниже TDP, а часть ядер при этом ещё и простаивает, то частоты нагруженных ядер могут подниматься ещё выше, до 4.2 ГГц, в случае с AMD FX-8150. Справедливости ради стоит напомнить, что подобная технология используется в AMD Llano, где учитывается потребление не только ядер CPU, но и интегрированного графического процессора.

Теория - заключение

Что же можно сказать, подводя итоги по новой микроархитектуре? Как уже было показано выше, изменений очень много, все они глубокие и неоднозначные. Нет сомнений, что Bulldozer - новая микроархитектура AMD. Это же означает, что показать она себя может также очень неоднозначно, продемонстрировав местами производительность чуть ниже, чем у K10, а местами значительно больше.

Тем не менее, с точки зрения поддержки современных наборов команд и технологий автоматического повышения частот, ориентированности на многопоточную нагрузку, новая разработка AMD не уступает конкурирующей – Sandy Bridge, а в ряде случаев смотрится даже выгоднее. И хотя заметно, что у Bulldozer есть целый ряд слабых мест, они легко могут быть устранены в будущем.

На этом, вероятно, и будет основана стратегия компании на ближайшие годы. Bulldozer можно рассматривать, как инвестиции в её будущее, это скелет следующих микроархитектур, которые будут обрастать «мясом», и давать приросты производительности. Согласно текущим планам, AMD будет ежегодно, а не раз в несколько лет, обновлять микроархитектуру своих процессоров, что должно будет отзываться 10-15% приростом производительности и ростом энергоэффективности будущих решений.

Отдельно хотелось бы упомянуть момент, касающийся распределения вычислительных потоков по ядрам. Windows 7 в текущем виде лишена оптимизации под процессоры с микроархитектурой Bulldozer и не способна правильно распределять потоки, что в ряде случаев приводит к потери производительности, поскольку ЦП не может использовать технологии повышения частот, или же зависимые вычислительные потоки обмениваются данными через L3, а не более быстрый L2, поскольку они оказались привязаны к ядрам разных модулей.

AMD в своих материалах указывает, что планировщик Windows 8 уже умеет правильно работать с Bulldozer и преимущество в производительности над Windows 7 способно достигать в отдельных случаях до 10%, что, согласитесь, немало. Впрочем, возможно Microsoft выпустит патч на «семерку», который научит и эту популярную операционную систему правильно распределять потоки для новых процессоров AMD.

Теперь самое время закончить с теорией и посмотреть, чем же может порадовать новый флагман AMD на практике.

Инструментарий и методика тестирования

Скорость работы связки «процессор-чипсет-память» оценивалась следующими приложениями:

  • Cinebench 10 ;
  • Cinebench 11.5 ;
  • Pov-Ray All CPU Total seconds;
  • TrueCrypt Serpent-Twofish-AES ;
  • wPrime 2.00 ;
  • x264 v3 (устаревшая версия, без агрессивных оптимизаций под многопоточность);
  • x264 v4 (новая версия, хорошо оптимизированная под многопоточность с новыми кодеками);
  • WinRAR ;
  • Photoshop CS5 x64 (применение последовательности из нескольких десятков фильтров);
  • Autodesk Revit Architecture 2012 (визуализация 3D-чертежа дома).

Тестовый стенд

В тестировании участвовало несколько систем с использованием большого набора комплектующих, в том числе материнских плат. Таблица ниже позволит ознакомиться с полным описанием стендов, а также режимов работы конфигураций.

Материнская
плата
NB Чипсет Частота
памяти
Количество
ядер
Частота
шины
Множитель Турбо Название процессора
/режим
ASUS Crosshair V 2200 FX990 1333 8 200 21 4200 МГц FX 8150
3600 МГц
MSI 990FXA-GD80 2000 FX990 1333 6 200 16.5-18.5 3700 МГц Phenom II 1100
3300 МГц
MSI 990FXA-GD80 2000 FX990 1333 4 200 18.5 - Phenom II 980
3700 МГц
MSI 990FXA-GD80 2000 FX990 1333 4 200 15.5 - Athlon II 645
3100 МГц
MSI A75MA-G55 - A75 1333 4 100 29 - A8 3850
2900 МГц
MSI A75MA-G55 - A75 1333 4 100 24-27 2700 МГц A8 3800
2400 МГц
MSI A75MA-G55 - A75 1333 4 100 26 - A6 3650
2600 МГц
MSI A75MA-G55 - A75 1333 3 100 21-24 2400 МГц A6 3500
2100 МГц
MSI A75MA-G55 - A75 1333 2 100 27 - A4 3400
2700 МГц
MSI Z68A-GD80 - Z68 1333 4 100 34-38 3800 МГц i7 2600K
3400 МГц
MSI Z68A-GD80 - Z68 1333 4 100 33-37 3700 МГц i5 2500
3300 МГц
MSI Z68A-GD80 - Z68 1333 4 100 31-34 3400 МГц i5 2400
3100 МГц
ASUS P6X58D 2667 X58 1333 4 133 23 3060 МГц i7 930
2800 МГц
MSI Z68A-GD80 - Z68 1333 2 100 31 - i3 2100
3100 МГц
ASUS Crosshair V 2200 FX990 1866 8 200 21 4200 МГц FX 8150
3600 МГц 1866
MSI A75MA-G55 - A75 1866 4 100 29 - A8 3850
2900 МГц 1866
MSI A75MA-G55 - A75 1866 4 100 24-27 2700 МГц A8 3800
2400 МГц 1866
MSI A75MA-G55 - A75 1866 4 100 26 - A6 3650
2600 МГц 1866
MSI A75MA-G55 - A75 1866 3 100 21-24 2400 МГц A6 3500
2100 МГц 1866
MSI A75MA-G55 - A75 1866 2 100 27 - A4 3400
2700 МГц 1866
MSI Z68A-GD80 - Z68 1866 4 100 34-38 3800 МГц i7 2600K
3400 МГц 1866
MSI Z68A-GD80 - Z68 1866 4 100 33-37 3700 МГц i5 2500
3300 МГц 1866
ASUS Crosshair V 2200 FX990 1866 8 200 22.5 - FX 8150
4500 МГц
MSI 990FXA-GD80 2380 FX990 1820 6 340 12.5 - Phenom II 1100
4250 МГц
MSI 990FXA-GD80 2400 FX990 1600 6 200 21 - Phenom II 1100
4200 МГц
MSI 990FXA-GD80 2400 FX990 1600 4 200 22.5 - Phenom II 980
4500 МГц
MSI 990FXA-GD80 2240 FX990 1500 4 280 16 - Phenom II 980
4480 МГц
MSI A75MA-G55 - A75 2000 4 150 29 - A8 3850
4350 МГц
MSI A75MA-G55 - A75 2040 4 153 27 - A8 3800
4133 МГц
MSI A75MA-G55 - A75 1900 4 142 26 - A6 3650
3700 МГц
MSI A75MA-G55 - A75 1900 3 142 24 - A6 3500
3400 МГц
MSI A75MA-G55 - A75 2050 2 154 27 - A4 3400
4160 МГц
MSI 990FXA-GD80 2170 FX990 1650 4 310 12 - Athlon II 645
3720 МГц
MSI Z68A-GD80 - Z68 1866 4 100 48 5000 МГц i7 2600K
5000 МГц
MSI Z68A-GD80 - Z68 1866 4 100 45 - i7 2600K
4500 МГц
ASUS P6X58D 3200 X58 1600 4 200 21 - i7 930
4200 МГц

  • Оперативная память: объём 8 Гбайт, (2х4). Тайминги 9-9-9-24-2Т, частота от 1333 МГц до 2050 МГц, в зависимости от настроек и условий тестирования;
  • Видеокарта: AMD HD 6790;
  • Жёсткий диск: SSD Crucial М4 128 Гбайт;
  • Блок питания: Tagan TG1100-U95 1100 Вт;
  • Операционная система: Microsoft Windows 7 x64 Sp1.

И три режима тестирования:
1. Номинальные частоты процессора, память 1333 МГц.
2. Номинальные частоты процессора, память 1866 МГц.
3. Разгон, память работает на разной частоте в зависимости от множителя.

Результаты тестов

За начальную точку отсчета была взята конфигурация, состоящая из материнской платы на чипсете 990FX, ЦП AMD FX 8150, и памяти, работающей на частоте 1333 МГц, с таймингами 9-9-9-24-2Т.

Cinebench 10

Настройки:

  • Монопоток и многопоточный тест.
  • Профиль CPU.

Баллы

Номинальный режим: Performance 1 CPU | Multi CPU

Тест, использующий как одно, так и все ядра, показывает не лучшее положение дел у новичка, который чувствует себя не в своей тарелке, если нагрузка приходится только на одно ядро. Как только программа задействует все ядра, ситуация значительно изменяется, и он становится прямым конкурентом Intel i5-2500. Впрочем, AMD именно так и позиционирует свой ЦП с индексом 8150. А сравнивая производительность FX с i7-930, можно убедиться в превосходстве первого над вторым.

Баллы

Память на частоте 1866 МГц: Performance 1 CPU | Multi CPU

Включите JavaScript, чтобы видеть графики

Разогнанная память мало сказывается на производительности любого современного процессора AMD, поэтому бежать в магазин и обзаводиться высокочастотными модулями совсем не нужно.

Баллы

Overclocking: Performance 1 CPU | Multi CPU

Включите JavaScript, чтобы видеть графики

FX 8150 пока что слабо изучен, и разгон сопровождается трудностями взаимопонимания материнской платы и процессора. По температурам было видно, что Bulldozer способен работать на большей частоте, но иные множители не включились. Полагаю, со временем производители еще неоднократно обновят BIOS, прежде чем наладится дружба комплектующих. Тем не менее, 4.5 Ггц неплохая цифра, и благодаря такому разгону новичок в многопоточном тесте уверенно опережает практически все процессоры Intel, за исключением разогнанного i7-2600K.

Наименование 1 CPU % xCPU % Среднее
FX 8150 3600 МГц 0 0 0
Phenom II 1100 3300 МГц 2 -9 -4
Phenom II 980 3700 МГц 5 -26 -11
Athlon II 645 3100 МГц -20 -46 -33
A8 3850 2900 МГц -18 -42 -30
A8 3800 2400 МГц -28 -51 -40
A6 3650 2600 МГц -27 -47 -37
A6 3500 2100 МГц -37 -66 -51
A4 3400 2700 МГц -28 -72 -50
i7 2600K 3400 МГц 52 12 32
i5 2500 3300 МГц 49 1 25
i5 2400 3100 МГц 34 -7 14
i7 930 2800 МГц 8 -15 -4
i3 2100 3100 МГц 23 -46 -11
FX 8150 3600 МГц 1866 0 1 0
A8 3850 2900 МГц 1866 -17 -40 -28
A8 3800 2400 МГц 1866 -27 -48 -37
A6 3650 2600 МГц 1866 -24 -46 -35
A6 3500 2100 МГц 1866 -36 -65 -50
A4 3400 2700 МГц 1866 -26 -72 -49
i7 2600K 3400 МГц 1866 52 16 34
i5 2500 3300 МГц 1866 50 1 25
FX 8150 4500 МГц 10 23 16
Phenom II 1100 4250 МГц 20 14 17
Phenom II 1100 4200 МГц 19 14 16
Phenom II 980 4500 МГц 27 -11 8
Phenom II 980 4480 МГц 26 -11 8
A8 3850 4350 МГц 23 -12 6
A8 3800 4133 МГц 17 -17 0
A6 3650 3700 МГц 6 -25 -10
A6 3500 3400 МГц -1 -49 -25
A4 3400 4160 МГц 13 -56 -22
Athlon II 645 3720 МГц -4 -34 -19
i7 2600K 5000 МГц 106 52 79
i7 2600K 4500 МГц 83 46 64
i7 930 4200 МГц 49 18 34

Компания AMD редко балует свежими процессорными архитектурами. Если Intel обновляет структуру каждые два года, то конкурент последний раз отметился в 2007 году, выпустив K10, переделанную версию старенькой K8. Так что появление свежей Bulldozer — событие знаковое. На ближайшие несколько лет архитектура станет основой для всех кристаллов AMD, а также первым за долгое время шансом побороться с Intel в гонке за производительность.

Ходим парой

Создавая Bulldozer, инженеры AMD отказались от проверенной стратегии улучшения и частичного копирования старых наработок. Строение камней в корне отличается от того, что мы привыкли видеть в x86-системах.

Первое и самое важное нововведение - оригинальная компоновка. Все топовые версии Bulldozer официально оснащаются восемью ядрами. Однако на самом деле полноценных модулей четыре, просто у каждого по два вычислительных блока. Выглядит это так: два целочисленных арифметических кластера (они-то и называются ядрами и отвечают непосредственно за расчеты) делят между собой Front-End, кластер вычислений с плавающей запятой (FPU) и увеличенный до 2 Мб кэш второго уровня.

Польза такого тандема - экономия площади, снижение уровня потребления энергии и стоимости производства. Минус - совместное использование одних и тех же наборов плохо сказывается на итоговой производительности. При большой нагрузке один Front-End может не справиться с двумя ядрами. AMD потерю производительности не отрицает: по ее словам, дуэт примерно на 20% слабее полноценного двухъядерника.

Трудности общения

Чтобы исключить узкое место, Front-End пришлось научить эффективно делить ресурсы между двумя ядрами. Для этого были переработаны блок предсказания ветвления и декодер команд, который получил четвертый канал для обработки инструкций (как в Sandy Bridge) и технологию Branch Fusion . Последняя позволяет склеивать часть инструкций в одну операцию. Все это должно ускорить работу Front-End и не дать простаивать кристаллу.

Что касается самих ядер, то это набор из Out-of-Order, загрузки/выгрузки, L1-кэша и двух вычислительных кластеров. Блок внеочередного исполнения теперь оснащен физическим регистром файлов. Как и в Sandy Bridge, в него скидываются адреса хранения рабочих данных, что позволяет разгрузить основной конвейер Out-of-Order. Процессор загрузки/выгрузки получил увеличенный буфер, удвоенную разрядность и возможность работы с виртуальными адресами, что теоретически должно повысить скорость работы с L1-кэшем данных. Последний в Bulldozer стал в четыре раза меньше: 16 против 64 Кб в K10. Потерю компенсировали скоростью работы. Ассоциативность L1 повысилась с двух до четырех каналов, а это значит вдвое бо льшую эффективность поиска.

Вычислительных кластеров в одном модуле три штуки: два целочисленных и один для работы с данными с плавающей запятой. По сравнению с K10 первая пара потеряла по одному ALU (занимается вычислениями) и AGU (разбирается с адресами памяти). В теории это означает снижение пиковой производительности. На практике изменение будет практически не заметно: полностью нагрузить целочисленные кластеры сложно.

Основные изменения коснулись FPU, отвечающего за сложные расчеты с плавающей запятой. В K10 он стал значительно мощнее: получил по паре MMX и 128-бит FMAC-устройств для выполнения операций сложения и умножения. В отличие от K10, FMAC сделали универсальными: могут замещать друг друга, что положительно сказывается на скорости вычислений. Плюс к этому они научились совмещать операции в одном выражении, что повысило точность расчетов.

Помимо этого FPU получил обновленный ряд инструкций. Во-первых, процессор теперь работает с AVX, поддерживающим регистры длиной 256 бит. Для их расчетов, как и в Sandy Bridge, объединяются два FMAC. Во-вторых, Bulldozer может работать с инструкциями SSE 4.2, AENSI, FMA4 и XOP. Последние два набора уникальны для AMD. Для нас с вами все эти изменения означают только одно - команды, которые раньше делались за несколько тактов, теперь будут рассчитываться за один, а это напрямую влияет на производительность. Правда, чтобы ощутить прирост скорости, необходима поддержка инструкций со стороны софта.

Клей и ножницы

В итоге каждый модуль Bulldozer состоит из одного Front-End, L2- и L1-кэшей данных, двух целочисленных кластеров и блока для работы с числами с плавающей запятой. Всего на одном камне может находиться до четырех таких наборов. При этом каждому из них открыт доступ к ряду общих элементов. Первый - двухканальный контроллер памяти с поддержкой DDR3-1866 МГц. Второй - L3-кэш, объем которого по сравнению с K10 увеличился с 6 до 8 Мб, а ассоциативность - с 48 до 64 каналов. Заметим, что, в отличие от Sandy Bridge, частота L3-кэша не совпадает со скоростью ядер. Если топовый образец функционирует на скорости 3,6 ГГц, то память последнего уровня - на 2,2 ГГц. Это приводит к ощутимым задержкам, которые негативно сказываются на производительности. По словам AMD, на такую жертву пошли ради стабильной работы на высоких частотах.

Тадам!

Несмотря на архитектурные ухищрения и 32-нм техпроцесс, Bulldozer занимает внушительные 315 кв. миллиметров. Это примерно в полтора раза больше, чем четырехъядерный Sandy Bridge и старший Llano . К счастью, энергопотребление удалось сохранить в разумных пределах - 125 Вт.

Помимо восьмиядерных моделей, существуют версии с шестью и четырьмя вычислительными блоками. Младшие братья базируются на том же дизайне с восемью ядрами, но у них отключены один или два модуля.

Базовая частота варьируется от 3,1 до 3,6 ГГц. Как и у Sandy Bridge, в Bulldozer есть технология автоматического разгона. Специальный чип, отвечающий за Turbo Core 2.0 , отслеживает текущие нагрузку на ядра и уровень TDP и, как только появляется возможность, повышает частоту процессора. В случае топового кристалла, когда задействованы все модули, скорость может быть увеличена на 300 МГц. Если часть ресурсов простаивает - на 600 МГц. При низких нагрузках Bulldozer переходит в энергосберегающий режим, за это отвечает технология Cool"n"Quiet .

Ручной разгон прост. Во-первых, у всей линейки разблокирован множитель. Во-вторых, новички хорошо набирают высоту: под жидким азотом старший Bulldozer установил новый мировой рекорд - 8429 МГц.

Компаньоны

Работают Bulldozer на Socket AM3+. По сути, это слегка усовершенствованный AM3 с одним дополнительным контактом. Чипсеты с новым процессорным разъемом называются 990FX , 990X и 970 . Отличаются они контроллером PCIe 2.0. Старшая модель оснащена 32 линиями, младшие - 16. При этом 990FX и 990X поддерживают CrossFireX. Из особенностей чипсетов отметим шесть портов SATA Rev. 3 и 14 разъемов USB 2.0. Контроллера USB 3.0 нет.

Заметим, что Bulldozer могут работать и на старых платах. Все, что для этого нужно, - обновленный BIOS. Ограничения: у Turbo Core и Cool"n"Quiet снижается скорость реакции, а часть энергосберегающих функций недоступна.

Процессорная архитектура Bulldozer получилась интересной. Наконец-то AMD перестала заниматься самокопированием и придумала нечто действительно новое. К сожалению, явных преимуществ перед конкурентами немного. Заявленных восьми ядер нет. По-хорошему, перед нами четырехъядерные модели с увеличенным количеством вычислительных блоков, что-то вроде Intel Hyper-Threading, но на железном уровне. Идея хорошая, но производительность будет зависеть от того, насколько быстрым получился Front-End. Из реальных преимуществ Bulldozer можно выделить только мощный FPU для расчетов чисел с плавающей запятой и увеличенные по сравнению с K10 частоты работы.

Раскатаем! Закопаем!

AMD озвучила планы по выпуску следующих линеек процессоров. Компания рассчитывает ежегодно обновлять архитектуру, каждый раз добиваясь примерно 15-процентного прироста производительности на ватт. Если AMD будет придерживаться намеченного плана, то в 2012 году мы увидим архитектуру Piledriver («копер»), еще через год - Steamroller («паровой каток»), а 2014 год запомнится анонсом Excavator . Такие вот строительные работы.

Неправильные окна

Со слов AMD, Windows 7 не в состоянии раскрыть весь потенциал нового творения: планировщик ОС не учитывает особенности Bulldozer. Например, для новых процессоров важно, чтобы взаимосвязанные потоки были закреплены за одним модулем, в противном случае ядра будут обмениваться данными не через быстрый L2-кэш, а через память третьего уровня. Некоторые раздельные потоки также лучше обрабатывать аналогичным образом, дабы повысить эффективность Turbo Core 2.0. В то же время определенные задачи создают большую нагрузку на блок Front End, и их лучше раскидывать по разным модулям. Благодаря сотрудничеству с Microsoft эти нюансы будут учтены в планировщике Windows 8 . Впрочем, существенного прироста быстродействия ждать не стоит.

Словарик

Целочисленный вычислительный кластер - занимается операциями с целыми числами (1, 2, 10).

Front-End - блок предварительной выборки. Получает команды от программы и переводит их на понятный процессору язык.

FPU - кластер вычислений данных с плавающей запятой. Производит вычисления с дробными числами (1,2345) и большими значениями со степенями (1,2345E-10).

Блок предсказания ветвлений - заранее предугадывает, какие данные и операции могут понадобиться программе в следующий момент. Не дает простаивать процессору.

Декодер команд - разбивает программу на микрооперации, которыми потом пользуются вычислительные кластеры.

Out-of-Order - блок внеочередного исполнения. Занимается распределением действий между ядрами. Отправляет на расчет только те команды, для которых есть данные.

Блок загрузки/выгрузки (LSU ) - следит за перемещением данных между выходом с конвейера и L1-кэшем данных.

Ассоциативность кэша - связывание строчек и столбцов кэш-памяти. Чем выше ассоциативность, тем ниже скорость поиска, но выше его эффективность.

MMX - набор блоков для работы с числами до 8 байт.

Наборы инструкций - позволяют одной командой совершить операцию над несколькими данными.

Таблица 1

Технические характеристики процессоров AMD Bulldozer

Количество вычислительных ядер

Базовая частота

Частота в режиме Turbo Core

Поддержка памяти

Энергопотребление

Техпроцесс

Цена на ноябрь 2011 года

не известна