Оплата        21.10.2019   

Долгожданный процессор AMD Bulldozer. Turbo Core ещё более Turbo

Недавний анонс новейших процессоров AMD стал одним из самых ярких событий текущего года. Напряженное ожидание, которое подогревалось многочисленными утечками информации и секретными слайдами, не оставляло в покое не только фанатов бело-зеленого лагеря, но и приверженцев продукции конкурирующей компании. Данные о производительности поступали самые противоречивые: от подавляющего преимущества над конкурентами до полного провала. Никто не станет спорить с утверждением, что микроархитектура Stars, лежащая в основе всех нынешних настольных решений компании AMD, на сегодняшний день порядком устарела. Возможности наследников легендарных К8, процессоров AMD Phenom II и Athlon II, более не отвечают современным реалиям. Именно поэтому вывод на рынок процессоров, основанных на принципиально новой архитектуре Bulldozer, был чрезвычайно необходим. Это позволило бы сравняться или даже обогнать решения конкурентов по производительности и энергоэффективности. Преимущество в быстродействии должна обеспечить принципиально новая восьмиядерная архитектура, а внедрение тонкого 32-нм технологического процесса вместе с «продвинутыми» возможностями управления напряжениями и частотами отдельных функциональных блоков обещают значительное снижение энергопотребления в сравнении с решениями предыдущего поколения.

Наконец, 12 октября покров таинственности был сорван: именно тогда состоялся долгожданный анонс процессоров AMD FX, в основе которых лежит микроархитектура Bulldozer. Чипмейкер представил целую линейку CPU — носителей этой микроархитектуры, которая включает четырех-, шести- и восьмиядерные модели. Кроме прочего, компания AMD возродила торговую марку «FX», имя которой в прошлом носили продукты для энтузиастов. Действительно, все процессоры AMD FX нынешнего поколения имеют разблокированный на повышение коэффициент умножения, что, по идее, должно сделать их привлекательными для любителей разгона. Гибко варьируя количеством функциональных блоков и рабочими частотами, AMD удалось заполнить практически все основные рыночные ниши, начиная от недорогих игровых систем и заканчивая предложениями для конфигураций верхнего ценового диапазона. Полный модельный ряд новейших процессоров AMD в сравнении с четырех- и шестиядерными Phenom II выглядит так:

FX 8150 FX 8120 FX 6100 FX 4100 Phenom II X6 Phenom II X4
Ядро Zambezi Zambezi Zambezi Zambezi Thuban Deneb
Разъем Socket AM3/AM3+ Socket AM3/AM3+ Socket AM3/AM3+ Socket AM3/AM3+ Socket AM2+/AM3 Socket AM2+/AM3
Техпроцесс CPU, нм 32 32 32 32 45 45
Количество транзисторов, млн. 2000 2000 2000 2000 904 758
Площадь кристалла, кв. мм 315 315 315 315 346 243
Число ядер 8 8 6 4 6 4
Номинальная частота, МГц 3600 3100 3600 3100 2600 — 3300 3200 — 3700
Частота Turbo Core, МГц 3900/4200* 3400/4000* 3300/3900* 3600/3800* 3100 — 3700
Частота NB, МГц 2200 2200 2200 2200 2000 2000/1800
Объем L1 кэша, КБ 16 x 8 + 64 x 4 16 x 8 + 64 x 4 16 x 6 + 64 x 3
16 x 4 + 64 x 2 128 x 6 128 x 4
Объем L2 кэша, КБ 2048 x 4
2048 x 4
2048 x 4
2048 x 4
512 x 6
512 x 4
Объем L3 кэша, МБ 8 8 8 8 6 6
Множитель 18 15,5 16,5 18 13 — 16,5 16 — 18,5
Каналов памяти 2 2 2 2 2 2
Поддерживаемый тип памяти DDR3 1333/1600/1866 DDR3 1333/1600/1866 DDR3 1333/1600/1866 DDR3 1333/1600/1866 DDR2 800/1066, DDR3 1333/1600
Шина для связи с чипсетом Hyper Transport 3.1 Hyper Transport 3.1 Hyper Transport 3.1 Hyper Transport 3.1 Hyper Transport 3.0 Hyper Transport 3.0
Частота Hyper Transport, МГц 5200 5200 5200 5200 4000 4000
Рабочее напряжение, В 0,825-1,4 0,825-1,4 0,825-1,4 0,825-1,4 0,825-1,4 0,825-1,4
TDP, Вт 125 125 95 95 125 125
Рекомендованная стоимость, $ 245 205 165 115 165 — 205 117 — 185

Если закрыть глаза на количество вычислительных ядер, в сравнении с предшественниками процессоры FX получили более быструю шину Hyper Transport 3.1, поддержку скоростной памяти DDR3 1866 МГц и увеличенную до 8 Мбайт кэш-память 3-го уровня. Кроме того, обращаем ваше внимание на достаточно высокие тактовые частоты, которые вплотную приблизились, а в отдельных случаях даже преодолели рубеж в 4000 МГц. Если исходить из рекомендованной цены, четырехъядерный процессор FX 4100 должен конкурировать с двухядерными Sandy Bridge и младшими Phenom II X4; соперниками шестиядерного FX 6100 станут младшие модели Core i5 и шестиядерные Phenom II X6. Восьмиядерные модели FX 8120 и FX 8150 играют в «высшей лиге», где правят бал старшие Core i5 и Core i7, которые до сих пор показывали великолепный уровень производительности. Как видно, позиционирование новых процессоров AMD FX обязывает их держаться на уровне очень серьезных соперников, так что новичкам придется ой как нелегко!

Микроархитектура Bulldozer: строение и особенности функционирования

Прежде всего, необходимо отметить, что AMD FX являются чистокровными центральными процессорами и не имеют в своем составе графического ядра. Конечно, в этой связи можно обвинить AMD в непоследовательности, ведь продвижение на рынок APU (Accelerated Processing Unit) — одна из основных стратегических инициатив компании. Взамен встроенного видеоадаптера пользователи получают полную совместимость AMD FX с производительной платформой Socket AM3/AM3+, для которой предлагается множество отличных системных плат и обеспечена поддержка всех актуальных возможностей расширения. Специально для процессоров FX компания AMD выпустила обновленную 9-ю серию наборов системной логики.


Напомним основные возможности флагманского чипсета AMD 990FX. Итак, он позволяет строить графические конфигурации AMD CrossFireX и NVIDIA SLI, благодаря южному мосту SB950 поддерживает стандарт SATA 6 Гбит/с, но лишен возможности подключения устройств USB 3.0. Что касается материнских плат Socket AM3, основанных на наборах системной логики предыдущих поколений, то после обновления микрокода прошивки они тоже должны будут поддерживать Bulldozer. Но это уже зависит от конкретной модели.

Одной из ключевых особенностей процессоров на базе микроархитектуры Bulldozer стал переход на 32-нм литографический процесс, который на протяжении почти двух лет весьма успешно используется основным конкурентом — компанией Intel. Кроме потенциального уменьшения энергопотребления и улучшения разгонного потенциала, этот факт положительно отразился на стоимости производства полупроводниковых кристаллов. AMD уже нельзя назвать новичком в деле освоения 32-нм техпроцесса: именно с таким уровнем детализации выпускаются вполне удачные APU Llano, которые хоть и не завоевали признания среди энтузиастов, зато отлично подходят для построения недорогих и компактных универсальных ПК. Благодаря применению современных технологий производства чип (несмотря на то что содержит почти 2000 млн. транзисторов) вышел весьма компактным. Восьмиядерные AMD FX 8150 имеют площадь ядра всего в 315 мм², что меньше, чем у флагманов предыдущего поколения — Phenom II X6, кристалл которых занимает целых 346 мм². Впрочем, до показателей четырехъядерных Sandy Bridge процессорам AMD FX все же далеко, так как у первых чип, несмотря на наличие встроенного графического акселератора, занимает всего 216 мм².

Главные нововведения, которые были сделаны в микроархитектуре Bulldozer, коснулись алгоритма выполнения многопоточных вычислений. Долгое время центральные процессоры были способны выполнять единственный вычислительный поток в один момент времени. Так называемая одновременная работа нескольких программ осуществлялась при помощи обработчика прерываний, то есть вычислительные задачи разных приложений по очереди получали кратковременный доступ к ресурсам процессора. Именно благодаря этому стала возможной работа многозадачных операционных систем. Стоит ли говорить, что скорость работы в таком режиме была невысокой. В то же время, разработчики CPU стали замечать, что в нагрузке разные функциональные блоки процессора могут простаивать без работы, пока другие заняты обработкой вычислительного потока. Именно это и натолкнуло их на совместное использование одних и тех же ресурсов процессора для обработки нескольких вычислительных потоков. Компания Intel внедрила такую возможность под названием Hyper-Threading в свои процессоры еще в далеком 2002 году. Данный принцип дает некоторый прирост в определенном типе задач. В то же время, подход AMD к реализации многопоточных вычислений долгое время оставался неизменным: каждый поток должен выполняться на отдельном ядре. Теперь же, после оптимизации производительности отдельных узлов процессора и тщательного анализа нагрузки, разработчики AMD посчитали, что быстродействия некоторых узлов вполне достаточно для обслуживания сразу двух независимых вычислительных потоков. Такой подход позволил здорово сократить количество транзисторов, но сохранить высокую продуктивность. Теперь же, в свете увеличения требований к быстродействию при сохранении приемлемых параметров энергопотребления, разработчики вынуждены искать пути увеличения количества исполняемых за такт инструкций.

Итак, в основе всех центральных процессоров AMD FX лежит полупроводниковый кристалл, состоящий из четырех вычислительных модулей, каждый из которых снабжен собственным массивом кэш-памяти 2-го уровня, общего кэша 3-го уровня объемом 8 Мбайт, двухканального контроллера памяти DDR3, контроллеров шины HyperTransport и встроенного северного моста.


Очевидно, что младшие модели получаются из полноценных чипов путем отключения отдельных функциональных блоков. Глядя на структуру кристалла Zambezi невольно создается впечатление, что перед нами обычный четырехъядерный процессор. На самом деле это не так, и более всего данный факт демонстрирует строение вычислительного модуля — структурной единицы процессоров AMD FX.

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


Кроме того, каждый из вычислительных модулей располагает блоком вычислений с плавающей точкой (FPU), который также подвергся значительным доработкам. Так к стандартным SIMD-расширениям добавились наборы SSE4.1 и SSE4.2, а также специфические инструкции XOP, AES и AVX, которые позволяют значительно повысить быстродействие при условии их поддержки со стороны программного обеспечения. Интересно выглядит возможность выполнения 256-битных инструкций AVX, для этого задействуются ресурсы сразу двух блоков, каждый из которых способен обрабатывать 128-битные команды FMAC. При этом блок FPU способен выполнять две коротких инструкции AVX одновременно.

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

Пару слов следует сказать про организацию внутренней памяти AMD FX, которые стали чемпионами не только по количеству ядер, но и по суммарному объему кэша. Как мы уже говорили, каждый из блоков целочисленных вычислений располагает буфером для хранения данных объемом 16 Кбайт, при этом оба буфера могут использоваться для работы блока FPU. Для хранения инструкций каждый вычислительный модуль располагает отдельным кэшем L1 объемом 64 Кбайт, а промежуточные данные накапливаются в кэш-памяти второго уровня, размеры которого составляют впечатляющие 2 Мбайт. Общий для всех четырех вычислительных блоков массив кэша 3-го уровня имеет объем 8 Мбайт и обладает ассоциативностью в 64 линии на каждый модуль. Благодаря применению эксклюзивной организации кэшей 2-го и 3-го уровней можно говорить об их суммарном объем в 16 Мбайт. Не удивительно, что кристалл Bulldozer получился таким сложным, львиная доля транзисторного бюджета отведена для организации внутренней памяти процессора. Заметим, что рабочая частота кэш-памяти L3 может составлять 2000 МГц или 2200 МГц в зависимости от модели процессора.

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

Помимо архитектуры изменения претерпели и механизмы управления энергопотребления. Несмотря на большее количество транзисторов и высокие тактовые частоты, даже старшие восьмиядерные AMD FX имеют тепловой пакет, не превышающий 125 Вт. Конечно, определенную роль в этом сыграл и 32-нм технологический процесс, благодаря которому штатное напряжение питания не превышает 1,4 В, но основная заслуга все таки принадлежит продвинутым механизмам регулировки тактовых частот и питающих напряжений. Первое поколение данной концепции было реализовано в Phenom II X6, где в случае вычислительной нагрузки не более трех потоков, частоты трех активных ядер могли повышаться на 400 МГц. Процессоры AMD FX предлагают гораздо более гибкий поход к управлению ключевыми параметрами быстродействия. Так, благодаря применению силовых вентильных транзисторов диспетчер энергосбережения процессора способен отключать целые функциональные блоки. При отсутствии нагрузки вычислительный модуль вместе с массивом кэш-памяти 2-го уровня может полностью отключаться, высвобождая часть бюджета TDP. В то же время, тактовая частота и напряжение активных вычислительных модулей может повышаться, причем прирост частоты в режиме Max Turbo достигает солидных 900 МГц. Согласитесь, столь агрессивный алгоритм работы автоматического разгона нам еще не встречался. Более того, при равномерной нагрузке всех вычислительных модулей существует возможность увеличения тактовой частоты порядка 300 МГц. Собственно, это и есть режим работы Turbo Core, причем он будет активен до тех пор, пока энергопотребление процессора не выходит за рамки теплового пакета. Иными словами, самое понятие «штатная тактовая частота» для AMD FX теряет свой первоначальный смысл.


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


Уже сейчас известно, что планировщик заданий будущей Microsoft Windows 8 будет оптимизирован для работы на процессорах Bulldozer. А что касается дня сегодняшнего, возможно, будет выпущено обновление для нынешних операционных систем, или же программисты AMD наконец-то разработают «чудо-драйвер»…

Bulldozer - кодовое название процессоров AMD64 выполненных по 32 нм технологии и ориентированных в первую очередь на серверные платформы и высокопроизводительных персональные компьютеры.

Нововведения
Процессоры Bulldozer имеют в своем арсенале совершенно другую архитектуру компоновку ядер, в отличии от предшествующего поколения AMD K8 и AMD K10. При беглом взгляде на кристалл Zambezi 8-ми ядерного процессора многие ошибаются, визуально определяя только четыре ядра. На самом деле это вычислительные модули. Инженеры компании AMD - поместили x86-ядра процессоров попарно в одном модуле. Вот и выходит, что восьмиядерные процессоры идут с четырьмя модулями, шестиядерные - имеют в своем арсенале уже три модуля, а четырехъядерные - соответственно только два. Выигрыш от такого решения заключается в повышении производительности процессора при многопоточной нагрузке.

Помимо стандартных функций, свойственных старым процессорам AMD, добавились и новые: SSE4.1, SSE4.2, CVT16, AVX, XOP и FMAC. А также реализована технология AMD Fusion – совмещение графического ядра и центрального процессора, аналог технологии Sandy Bridge.

Процессоры Бульдозер AMD теперь поддерживают новую версию технологии AMD Direct Connect (устраняет недостатки некоторых архитектур во время обмена данными), а также четыре канала HyperTransport 3.1 соответственно на каждый процессор. Технология расширения памяти AMD G3MX дает возможность значительно увеличить пропускную способность процессора.

Кроме этого следует отметить полную поддержку памяти DDR3 с частотой 1866 МГц и значительно увеличенный до 8 Мбайт объем L3 кэша.

Серьезных изменений претерпел и механизм управления энергопотребление. Некоторую роль здесь сыграл 32-нм техпроцесс, благодаря которому штатное напряжение не превышает 1.4 В, но в основном благодаря улучшенному механизму регулировки тактовых частот – тепловой пакет не превышает 125 Вт.

На предыдущих моделях процессорах Phenom II X6, если нагрузка была не более 3-х потоков, частота 3-х активных ядер повышалась на 400 МГц. «Бульдозеры» оснащены более гибким механизмом по управлению быстродействием. В случае отсутствия нагрузки, диспетчер энергосбережения может отключить модуль вместе с массивом памяти L2-кеша. Тем самым достигается снижение тепловыделения. Одновременно тактовая частота задействованных вычислительных модулей при необходимости может возрасти, в активизированном режиме Max Turbo – повышение составляет до - 900 МГц. Когда же идет приблизительно одинаковая нагрузка на все вычислительные модули, то повышение частоты возможно в пределах 300 МГц. В новых процессорах «Бульдозер» есть поддержка технологии Turbo Core 2, аналог Intel Turbo Boost (повышение частоты процессора с номинальной 3,5 до 4,2 Ггц), что положительно сказывается на производительности. Turbo Core активен до того времени, пока энергопотребление процессора не превышает установленный лимит TPD (теплового пакета). По этой причине для новых процессоров AMD FX такое понятие, как «штатная тактовая частота» теряет общепринятый смысл.

Кстати, по потенциалу разгона именно процессор AMD FX-8150 удалось разогнать до 8,429 ГГц, что является на данный момент абсолютным рекордом.

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

Согласно информации, в Windows 8 планировщик заданий будет учитывать особенности архитектуры Bulldozer, что позволит использовать использования Turbo Core на полную силу. Ну а пользователям Windows 7 и XP стоит надеяться на обновление, которое быть может, выпустит компания Microsoft или инженеры программисты AMD выпустят в свет некий «волшебный» драйвер.

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

Итак, из многочисленных графиков и бенчмарков можно наблюдать картину. Самый топовый в модельном ряду FX-8150 при сравнении с Core i5 2500k:

Проигрывает в тестах, генерирующих однопоточную загрузку (кстати тут его обходит и Phenom II K10);

Выигрывает в большинстве в многопоточных тестах, где нагрузка распределяется равномерно на все 8 ядер;

Поддержка криптографический инструкции AES-NI позволяет приблизится к Core I7 2600K;

Результаты тестов 3D, к сожалению, также не радуют, FX-8150 отстает от своих конкурентов;

В играх процессор AMD FX-8150 уступает Core i5 2500k, даже в тех играх в которых декларируется загрузка всех ядер процессора.

Хотя процессоры AMD FX Бульдозер уступают своим конкурентам по производительности, у них заложен неплохой потенциал на будущее. Проблема не в том, что инженеры компании AMD не смогли добиться поставленной цели. Планировалось, что основой высокой производительности процессоров базирующихся на новой микроархитектуре, будет реализовано за счет большего количества ядер, работающих на повышенных частотах. Но в период реализации идеи Bulldozerа в кремень, возникли трудности и увидевшие свет CPU AMD FX на достаточной тактовой частоте так и не заработали. Что повлекло за собой малое число исполняемых каждым отдельным ядром инструкций, а это в свою очередь снизило производительность в целом. Компенсировать же этот негативный эффект не смогли даже установленные 8-мь ядер на AMD FX-8150.

Это и объясняет, что во время многопоточной нагрузки восьмиядерный AMD FX-8150 оказался на уровне 4-х ядерного процессора от Intel Core i5, а при однопоточной показывает весьма посредственные результаты.

Но компания AMD работает над ошибками и в скором времени появится второе поколение бульдозеров Piledriver, что вселяет надежду на получение более удачного продукта. Из заявленной информации сотрудников AMD новое поколение процессоров будет иметь производительность выше на 40-50% по сравнению с FX-8150, ну а «штатная частота» на 30 превышать современную.

Что касается вопроса покупки процессора Bulldozer для игр, то это решение не слишком выглядит удачно на фоне отсутствия превосходства над процессорами Intel и в виду ценовой политики AMD.

Для узкопрофильных многопоточных задач: обработка видео, рендеринг и т.д. AMD Bulldozer будет хорошим решением.

Новый флагман: FX-8150

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

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


Наши «фирменные» матрешки: теперь с десктопными и серверными процессорами Bulldozer


Ещё один любопытный момент - это цены. AMD позиционирует процессоры FX очень агрессивно, рекомендованная стоимость младшей четырёхъядерной модели составляет всего лишь $115, а старшая, восьмиядерная, оценивается в $245. При этом площадь полупроводникового кристалла Bulldozer доходит до 315 кв.мм даже несмотря на то, что производится он по современному 32-нм техпроцессу.


Все процессоры AMD FX основываются на таком полупроводниковом кристалле с четырьмя модулями, состоящем из 2 млрд транзисторов


Это означает, что себестоимость процессоров FX почти в полтора раза превосходит себестоимость четырёхъядерного Sandy Bridge, и как производитель собирается извлекать прибыль из продаж новинки с таким ценообразованием - большой вопрос.

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


Номинальная частота - всего 3,6 ГГц, хотя степпинг у процессора уже новый, B2. Даже на несколько месяцев задержав анонс и сделав редизайн полупроводникового кристалла, AMD не смогла достичь изначально планировавшихся тактовых частот. В результате старший из FX имеет даже меньшую частоту, чем некоторые Phenom II. Так что вполне возможно, вскорости мы увидим ещё один степпинг и обновление модельного ряда.

Впрочем, на данном этапе AMD смогла решить проблему невысоких тактовых частот с помощью «хода конём» - обновлённой технологии Turbo Core. В том случае, если в процессоре активна лишь половина ядер, он может существенно увеличивать свою частоту. Например, FX-8150 в таком случае разгоняется до 4,2 ГГц. Существует и некоторое промежуточное состояние - частота может повышаться до 3,9 ГГц, если загружены все ядра, но тепловыделение и энергопотребление не превышает установленных норм.

Естественно, в реальной работе частота процессоров FX сильно скачет. В качестве иллюстрации предлагаем лог реальной частоты FX-8150 при прохождении теста PCMark Vantage.


Как видно по графику, минимальная частота процессора составляет 1,4 ГГц. До такого значения он сбрасывает свою скорость при низкой загрузке в рамках технологии Cool"n"Quiet. В то же время, когда процессор не простаивает, его частота практически всегда выше штатных 3,6 ГГц. Если отбросить моменты простоя, то среднее значение частоты по результатам практических измерений составляет 3,81 ГГц, что на 6 % выше её номинального значения. Так что Turbo Core даёт неплохую прибавку, хотя, конечно, о 30-процентном превышении частоты над частотами Phenom II речь всё равно не идёт.

Ещё солиднее тактовая частота FX-8150 выглядит, если нагрузка на процессор носит однопоточный характер. Например, ниже приводится аналогичный предыдущему график, построенный при выполнении однопоточной версии теста CINEBENCH R11.5.


Здесь среднее значение частоты процессора получилось равным 4,1 ГГц, и это - выше номинала уже на 14 %.

Описание тестовых систем

Судя по тому, какую цену компания AMD установила на свой процессор FX-8150, сам производитель видит его конкурентом для старших четырёхъядерных процессоров Sandy Bridge. Собственно, это вполне согласуется с мнением, что эквивалентом двухъядерного модуля в понимании AMD выступает одно ядро актуальных интеловских процессоров. Так что для тестирования против AMD FX-8150 мы выбрали несколько LGA1155-четырёхъядерников из семейств Core i7 и Core i5, а также процессор Phenom II X6 1100T, выступающий носителем предыдущего поколения микроархитектуры AMD.

В итоге, учитывая совместимость старых процессоров AMD с новой платформой Socket AM3+, были использованы две тестовые платформы.

Платформа Socket AM3+:

  • Процессоры AMD FX-8150 и Phenom II X6 1100T;
  • Материнская плата ASUS Crosshair V Formula, построенная на наборе логики AMD 990FX (BIOS версии 0813);
Платформа LGA1155:
  • Процессоры Core i7-2600K, Core i5-2500K и Core i5-2400;
  • Материнская плата ASUS P8P67 Deluxe, построенная на наборе логики Intel P67 Express (BIOS версии 2001);
  • Память 4 Гбайт DDR3-1600 9-9-9-27 (Kingston KHX1600C8D3K2/4GX).
Во всех этих платформах постоянными оставались графическая карта AMD Radeon HD 6970 (с драйвером Catalyst 11.10) и жёсткий диск Western Digital VelociRaptor WD3000HLFS. Тестирование проводилось в операционной системе Microsoft Windows 7 SP1 Ultimate x64.

Формальные характеристики принявших участие в тестировании процессоров:



Использовавшееся программное обеспечение:
  • CPU-Z 1.58;
  • Aida64 Extreme Edition 1.85.1653
  • Futuremark PCMark 7 1.0.4;
  • Futuremark 3DMark Vantage 1.1.0;
  • Futuremark 3DMark 11 1.0.2;
  • SuperPi mod 1.5 XS;
  • wPrime 2.05;
  • WinRAR 4.1 x64;
  • 7-zip 9.20 x64;
  • TrueCrypt 7.1;
  • Fritz Chess Benchmark 4.2;
  • MAXON Cinebench Release 11.5 x64;
  • TechARP x264 HD Benchmark 4.0;
  • Crysis 2 1.9;
  • Far Cry 2 1.0.3;
  • Metro 2033: The Last Refuge 1.2;
  • DiRT 3 1.1.
В играх тестирование проводилось дважды:
  • В разрешении 1280x1024 при настройках качества High и отключенном полноэкранном сглаживании;
  • В разрешении 1920x1080 при настройках качества Ultra High и максимально доступном уровне полноэкранного сглаживания.
Особенности платформы Socket AM3+

Процессоры серии AMD FX предназначаются для использования в составе новой платформы Socket AM3+, которая является дальнейшим развитием привычного Socket AM3. Формально нововведения весьма незначительны и связаны только с совершенствованием схемы управления питанием. Однако, пользуясь моментом, AMD пытается перевести своих приверженцев на новое поколение системных плат с новыми чипсетами и обновлённым процессорным разъёмом.

Согласно официальным данным, материнские платы для процессоров AMD FX должны базироваться на чипсетах девятисотой серии и комплектоваться специальным разъёмом Socket AM3+. Такие платы не только поддерживают новинки, но и обратно совместимы с процессорами Phenom II и Athlon II. Однако новые чипсеты, как и новый процессорный разъём, предлагают минимальные отличия от предшествующих наборов системной логики восьмисотой серии, поэтому ожидать от них каких-то принципиально новых возможностей не следует.


Старые же материнки с процессорным разъёмом Socket AM3 и чипсетами восьмисотой группы с процессорами FX работать в теории не должны. Но дело не в механической или электрической несовместимости, а в предпринимаемых AMD организационных мерах. Компания настоятельно не рекомендует производителям плат добавлять поддержку процессоров FX в платы предыдущего поколения. Правда, далеко не все готовы беспрекословно следовать таким требованиям, и в природе всё-таки существуют старые Socket AM3-платы, готовые принять новые процессоры. Например, их можно найти среди предложений компаний ASRock и MSI. Более же «раскрученные» производители, ASUS и Gigabyte убедительным рекомендациям AMD, похоже, вняли и поддержку FX в старые платы добавлять не стали, по крайней мере, открыто.

Для того чтобы убедиться в этом воочию, мы попробовали запустить FX-8150 в AM3-материнской плате ASUS Crosshair IV Formula, построенной на наборе логики AMD 890FX. Для этой платы на днях как раз вышел новый бета-BIOS, про который даже сказано «For use with AM3+ CPUs only». Однако ни с этой, ни с какими другими версиями прошивки запустить систему так и не удалось. С установленным в неё процессором FX-8150 плата никаких признаков жизни не подавала. Так что мы можем только подтвердить - проблемы с совместимостью AM3-плат и процессоров AM3+ действительно существуют.

Впрочем, что там AM3-платы, не всё гладко и с современными AM3+ материнскими платами, которые должны поддерживать процессоры FX «из коробки». Уже после выхода первой порции обзоров новинок в сети распространился слух о скором появлении новых пропатченных версий BIOS, которые якобы должны поднять производительность новых CPU. И этот слух имеет под собой определённую почву. Перед самым анонсом семейства FX компания AMD распространила среди производителей плат код новой реализации протокола AGESA (AMD Generic Encapsulated Software Architecture), отвечающего за инициализацию ядер и контроллеров процессора. Обновление действительно должно было обеспечить определённое увеличение быстродействия систем на базе процессоров с микроархитектурой Bulldozer, однако далеко не все производители материнских плат пока что успели встроить его в свои прошивки.

Я проверил уровень прироста скорости, который даёт интеграция в BIOS новой версии AGESA 1.1.0.0, результаты соответствующих тестов приводятся в таблице.

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

Новой возможностью процессоров с микроархитектурой Bulldozer стала официальная совместимость с DDR3-1867 SDRAM. Более того, неофициально в процессорах AMD FX поддерживаются и более скоростные режимы: DDR3-2133 и даже DDR3-2400. Использование высокочастотных модулей памяти - это ещё один способ увеличить производительность систем, основанных на процессорах AMD FX. Однако на серьёзный ли прирост можно рассчитывать в этом случае? Посмотрим.


Оптимальной памятью для AMD FX, похоже, является DDR3-1600 SDRAM. От её установки был получен существенный прирост скорости, а дальнейшее увеличение частоты DDR3 уже не приводит к столь же ощутимому эффекту. Учитывая, что DDR3-1600 стоит сейчас почти столько же, сколько и DDR3-1333, именно её мы бы и посоветовали для Socket AM3+ системы. Впрочем, если вы хотите выжать из нового процессора AMD всё возможное, то оверклокерские модули памяти, ясное дело, не повредят.

Проблемы распределения нагрузки

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

Для проверки удачности в этом плане диспетчера задач Windows 7 мы на примере шахматного бенчмарка Fritz провели небольшое исследование, в рамках которого обратили внимание на производительность системы при различном количестве вычислительных потоков, которые назначаются по ядрам в автономном режиме. Параллельно аналогичное тестирование проводилось и в том случае, когда диспетчер задач от распределения нагрузки был освобождён. При этом его роль мы брали на себя и действовал в соответствии с двумя различными стратегиями: либо в первую назначали нагрузку на ядра, находящиеся в разных модулях; либо, напротив, сначала задействовали ядра одного модуля, а только потом переключались на следующий.


Выбор стратегии задействования ядер, как оказывается, имеет весьма существенное влияние на производительность в том случае, когда речь идёт о нагрузке, порождающей от двух до шести потоков. Разброс в показателях быстродействия может достигать 30 %, а это, согласитесь, немало.

Что же касается Windows 7, то штатный диспетчер задач этой операционной системы справляется со своей ролью в целом не так плохо. По большей части его результат ближе к оптимальной стратегии, однако и на старуху бывает проруха, и эта проруха случается при трех- и четырёхпоточной нагрузке, где стандартный диспетчер задач проигрывает оптимальному варианту 8-9%.

Получается, что производительность систем на базе AMD FX может быть дополнительно улучшена внесением изменений в алгоритмы работы ядра операционной системы. И этот шаг будет сделан в Windows 8. AMD совместно с Microsoft ведут работу над соответствующими оптимизациями, и в перспективе производительность систем, основанных на микроархитектуре Bulldozer и использующих Windows, станет выше. Для восьмиядерного процессора рассчитывать можно на примерно 5-10-процентный прирост скорости при работе алгоритмов, использующих от двух до пяти процессорных ядер.

Разгон

Компания AMD всегда лояльно относилась к оверклокерам. Среди процессоров семейства Phenom II всё время существовали «разблокированные» модели, не стали исключением и процессоры AMD FX. Можно сказать, что теперь AMD пошла даже дальше и не стала заморачиваться на какую-либо блокировку множителей вообще ни в каких моделях процессоров, построенных на микроархитектуре Bulldozer. Что, впрочем, вполне логично. Всё-таки простой оверклокинг - это ещё один конкурентный плюс, а платформа Socket AM3+ в отличие от интеловской LGA1155 даже в случае жёсткой фиксации процессорного множителя оставляет доступ к разгону через увеличение частоты базового тактового генератора BCLK. То есть смысла в каких-либо ограничениях со стороны производителя не так уж и много.


«Разблокировано» - вот так прямо и написано на логотипе новых процессоров


Ещё одна хорошая новость заключается в том, что процессоры AMD FX таят в себе неплохой частотный потенциал. Новый 32-нм технологический процесс и микроархитектура, в теории нацеленная на работу при высоких частотах, позволили AMD даже установить своеобразный мировой рекорд, добившись работы новых процессоров на непревзойдённой частоте 8,4 ГГц. Правда, для этого использовалось малодоступное для обычных людей охлаждение жидким гелием. Впрочем, не разочаровывают процессоры AMD FX и при разгоне в стандартных условиях, на воздухе.

Представители AMD поделились с нами следующей табличкой, описывающей их представление о частотном потенциале новинок:


Конечно, разгон в двухъядерном режиме, про который, в частности, говорит AMD, имеет мало практической ценности, но приведённые данные дают понимание и того, что на работу процессора FX-8150 на частоте 4,6 ГГц в полноценном режиме рассчитывать можно.

Собственно, этот завет мы без особого труда и выполнили:


При частоте 4,6 ГГц наш экземпляр FX-8150 смог работать вполне устойчиво. А для того чтобы добиться такого результата, потребовалось всего ничего - увеличить коэффициент умножения процессора, поднять его напряжение питания до 1,45 В и включить функцию материнской платы Load-Line Calibration.

Единственная возникшая проблема - в температуре. Разгон увеличивает тепловыделение процессоров FX очень сильно, поэтому для того чтобы не столкнуться с перегревом, нужно использовать производительный кулер. Например, нам справиться с горячим норовом Bulldozer помог только ThermalRight Silver Arrow, но даже с ним температура под нагрузкой переваливала за 80 градусов.

Сложно себе представить, какая система охлаждения может потребоваться в том случае, если при разгоне захочется поднять напряжение побольше - а ведь сама AMD говорит о том, что допустимо использовать и более высокие значения напряжения, вплоть до 1,55 В. К тому же проблемы могут возникнуть и с электропитанием: разогнанный AMD FX может «кушать» по процессорной 12-вольтовой линии более 26,5 А. Мало того, что с такой нагрузкой справятся далеко не любые БП, но и на ряде материнских плат в этом случае будет просто срабатывать защита. Впрочем, настоящих оверклокеров это вряд ли остановит.

Помимо разгона «базовой части» процессора, допускается и увеличение частоты встроенного в процессор северного моста, включающего L3-кеш и контроллер памяти. Стандартно у FX-8150 он работает на 2,2 ГГц, но эту частоту можно тоже поменять - соответствующий множитель доступен, и он также незаблокирован. Так что в дополнение к описанному разгону CPU до 4,6 ГГц мы смогли поднять и эту частоту, она без ущерба для стабильности свободно увеличилась до 2,4 ГГц. Не столь сильно, как того хотелось бы, но всё же лучше чем ничего.

Неплохой и сравнительно простой разгон процессоров AMD FX - это их неотъемлемая и важная черта, поэтому далее тестирование производительности FX-8150 проводилось дважды - в номинальном режиме и при описанном 4,6-гигагерцевом разгоне. Соответственно, противопоставлялись такому разогнанному Bulldozer разогнанные же процессоры Core i7-2600K и Core i5-2500K, частота работы которых была доведена до тех же 4,6 ГГц.

Результаты однопоточных тестов

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


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

Результаты многопоточных тестов


Если же мы посмотрим на скорость FX-8150 в задачах, где нагрузка может эффективно делиться на его восемь ядер, то мы увидим совсем иную картину. В большинстве случаев производительность новинки находится на уровне каких-то Core i5/Core i7, что хорошо вписывается в теорию о близости вычислительной мощности ядра Sandy Bridge и двухъядерного модуля Bulldozer.

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

Поддержка новых наборов инструкций

Ядра с микроархитектурой Bulldozer получили поддержку всех актуальных наборов инструкций, включая новомодные криптографические AES-NI и AVX, предназначенные для интенсивных вычислений с плавающей точкой в мультимедиа, научных и финансовых задачах. Пока что доступно не столь много приложений с их поддержкой, но производительности в программах, их использующих, мы уделили отдельное внимание.

Инструкции AES-NI активно используются при шифровании с использованием одноимённого алгоритма в утилите TrueCrypt.


Поддержка AES в Bulldozer находится на хорошем уровне. При шифровании FX-8150 показывает себя на равне с Core i7-2600K.

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


Результаты откровенно низкие. FX-8150 существенно проигрывает не только интеловским конкурентам, но и процессору Phenom II X6, где никакой поддержки AVX нет и в помине, а вычисления ведутся с использованием стандартных команд SSE.

Дополнительно AMD предоставила нам скомпилированный с поддержкой AVX вариант кодека x264, который мы также использовали в рамках нашего стандартного теста перекодирования видео.


Включение новых инструкций позволило поднять скорость работы кодека примерно на 4 % как для процессоров AMD, так и для их интеловских конкурентов (речь идёт о результатах второго прохода). Общая же картина осталась в целом той же, что и при использовании стандартной версии x264, не задействующей AVX.

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


Несмотря на то, что процессорные тесты из 3DMark активно задействуют многопоточность, результаты FX-8150 далеко не так хороши, как в чисто вычислительных многопоточных бенчмарках. Общий же индекс производительности, выдаваемый в обеих версиях 3DMark, и того хуже - более высоким быстродействием обладает даже Core i5-2400.


В заключительной части тестирования FX-8150 потерпел фиаско. Даже те игры, где заявлено активное использование любого числа процессорных ядер, делают это не столь эффективно, чтобы FX-8150 удалось хоть где-то ощутимо выиграть. Флагманский процессор AMD в целом обеспечивает более низкую, чем Core i5 и Core i7, производительность, но от разгрома его спасает видеокарта, которая зачастую выступает "бутылочным горлышком" и не даёт в полной мере раскрыться процессорной производительности.

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

Выводы

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

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


С выбором для десктопных Bulldozer торговой марки FX компания AMD явно погорячилась. Процессор на картинке совсем не похож на те Athlon 64 FX семилетней давности, которые внушали страх и ужас всем интеломанам


Провал? Нет, не совсем. Современная версия Bulldozer производительностью, мягко говоря, не блещет, но зато она хорошо демонстрирует, что заложенный в ней потенциал далеко не так уж и плох. И если AMD продолжит заниматься оптимизацией и развитием имеющегося решения, то мы имеем все шансы дождаться от этой компании куда более интересного продукта. Например, в следующем году в планах AMD стоит выпуск обновления Bulldozer, микроархитектуры Piledriver, которая должна будет предложить на 10-15 % более высокое удельное быстродействие. Если при этом производитель сможет добиться работы процессоров на изначально планировавшихся тактовых частотах - на 30% превышающих современные достижения, то в итоге может получиться CPU, превосходящий FX-8150 по скорости на 40-50 %. А это - совсем другой разговор. Остаётся только надеяться, что в следующий раз все эти намерения перейдут с бумаги в реальные продукты в обозримые сроки и в неурезанном виде.

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

Как известно, 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

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

Однако не всё так просто. Увеличение количества исполняемых вычислительным ядром за такт инструкций — довольно сложная задача. Классический 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 определённый урон.