Кто же такой Сисадмин? ⇡ Считаем ядра: восемь или четыре.

30.10.2019 Мониторы

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

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

Bulldozer для AMD – это всерьез и надолго. Данная микроархитектура на ближайшие несколько лет станет основой для будущих процессоров из различных сегментов: серверного, десктопного и мобильного. Это касается как дискретных CPU, так и гибридных – APU также со временем планируется трансформировать под Bulldozer. Лишь для компактных систем AMD собирается использовать чипы на экономичной Bobcat и ее модернизированных версиях. С анонсом Bulldozer компания решила возродить легендарную серию, представив процессоры линейки AMD FX, которые получили новую архитектуру и производятся с применением наиболее прогрессивного 32-нанометрого техпроцесса.

Особенности архитектуры

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

С учетом новой структуры внутренняя архитектура была очень серьезно переработана, что фактически затронуло все исполнительные блоки. Сходства с К10, которая использовалась для чипов Phenom II и Athlon II, практически нет. AMD внедрила поддержку инструкций AVX, SSE 4.2 и AES-NI и добавила собственные наборы FMA4 и XOP.

Как и топовые процессоры Phenom, чипы FX получили трехуровневую систему кеширования. Однако ее организация также заметно отличается о той, что была у предшественников. Кеш-данных L1 уменьшился с 64 КБ до 16 КБ, в то же время существенно возросла его пропускная способность. L2 объемом 2 МБ является общим для обоих ядер каждого модуля. В зависимости от количества последних суммарная емкость кеш-памяти второго уровня в процессоре AMD FX может составлять от 4 до 8 МБ. Латентность его несколько увеличена – плата за оптимизацию для работы на повышенных частотах. Чипы с архитектурой Bulldozer также оснащены L3-кешем объемом 8 МБ. Учитывая эксклюзивную схему работы, суммарный объем буфера довольно впечатляющий как для десктопных моделей. Усовершенствованный алгоритм предвыборки данных позволяет надеяться, что скорость подсистемы памяти будет увеличена. Что касается непосредственно ОЗУ, то CPU FX поддерживают модули DDR3-1866 в двухканальном режиме.

Для производства AMD FX используется 32-нанометровый техпроцесс с технологией SOI, аналогичный применяемому при изготовлении APU Llano. Чипы выпускаются на мощностях родственной компании GlobalFoundries. В основе CPU лежит восьмиядерный кристалл площадью 315 мм2. Согласно топологии, большая его часть отводится под кеш-память, потому неудивительно, что суммарное количество транзисторов в данном случае составляет впечатляющие 2 млрд. Для сравнения: шестиядерные Phenom II X6 (Thuban) включают «всего» 904 млн транзисторов, но из-за 45-нанометрового техпроцесса площадь кристалла равна 346 мм2. Учитывая разницу в площади, можно предположить, что себестоимость чипов FX ниже, чем у предшественников. Однако переход на 32 нм непросто дается GlobalFoundries. AMD уже сообщала о сложностях с выходом годных заготовок, ввиду которых компания не может в полной мере удовлетворить спрос на гибридные Llano. Будем надеяться, что это никак не повлияет на доступность в продаже FX, и все желающие смогут их приобрести.

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

Технические характеристики процессоров
Модель FX-8150 Phenom II X6 1075T Phenom II X4 975 Core i7-2600K Core i5-2500K
Кодовое имя Bulldozer Thuban Deneb Sandy Bridge Sandy Bridge
Количество ядер/потоков, шт. 8/8 6/6 4/4 4/8 4/4
Базовая тактовая частота, ГГц 3,6 3 3,6 3,4 3,3
Тактовая частота после авторазгона, ГГц 3,9/4,2 3,5 3,8 3,7
Объем кеш-памяти L2/L3, МБ 8/8 6×0,5/6 4×0,5/6 4×0,25/8 4×0,25/6
Технология производства, нм 32 45 45 32 32
Процессорный разъем AM3+ AM3 AM3 LGA1155 LGA1155
Энергопотребление (TDP), Вт 125 125 125 95 95
Рекомендованная цена, $ 245 181(162*) 175 (160*) 317 (315*) 216 (225*)
* По данным каталога Hotline.ua .

Turbo Core

Технология динамического увеличения частоты Turbo Core ранее использовалась компанией AMD для шестиядерных Thuban и APU Llano. Процессоры FX имеют новый механизм и алгоритм работы данной функции. В случае, когда под нагрузкой энергопотребление чипа укладывается в рамки его TDP, а температура не превышает заданного значения, частота может автоматически увеличиваться (100–300 МГц) даже в ситуации, когда активны все ядра (All Core Boost). Если же как минимум половина модулей простаивают, то AMD FX может переходить в режим Max Turbo Boost, повысив напряжение питания и весьма значительно тактовую частоту работающих блоков (до 900 МГц).

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

Логическая поддержка

Как и у предыдущей десктопной платформы AMD, контроллер шины PCI Express 2.0 остался прерогативой северного моста чипсета, а не перебрался под крышку процессора. Именно количество поддерживаемых линий данного интерфейса, а вследствие и способность построения конфигураций с несколькими видеокартами стали определяющими отличиями новых наборов логики для чипов Zambezi. В распоряжении топового AMD 990FX находятся 42 линка с возможностью компоновки на графические нужды как 2×16x или 4×8x. AMD 990X имеет 26 линий и позволяет подружить только две видеокарты в режиме CrossFireX или SLI в конфигурации 2×8x. Ну а AMD 970 при таком же числе линков PCI-E предлагает довольствоваться одним адаптером. Во всех случаях периферию обслуживает южный мост SB950, который не несет каких-либо интересных новшеств: шесть портов SATA 6 Гб/c с возможностью создания RAID (0,1,5,10), до 14 разъемов USB 2.0, работа с PCI. Увы, в отличие от чипсета AMD A75 для платформы FM1 поддержки скоростной шины USB 3.0 здесь нет.

Платформа AM3+

Для работы с процессорами серии FX нужна материнская плата с разъемом AM3+. Это может быть как модель на «новом» чипсете AMD 9xx, так и продукт с логикой предыдущих поколений. Совместимость с AM3 теоретически возможна, но не гарантируется ни самой AMD, ни производителями материнских плат. Не исключено, что последние выпустят прошивки для своих топовых решений, но это скорее единичные случаи. И даже в подобных ситуациях чипы FX будут функционировать с уменьшенной скоростью переключения состояний Turbo Boost и Cool’n’Quiet. При этом все возможные проблемы с работой системы лягут на плечи пользователей. Потому на беспроблемный апгрейд рассчитывать в данном случае не приходится.

Платы с AM3+ легко отличить по черному цвету процессорного разъема, тогда как коннектор AM3 белый. К счастью, конструкция элементов крепления СО не изменилась, потому для охлаждения AMD FX подойдет любой кулер, совместимый с AM2/AM2+/AM3.

Модельный ряд

3DMark 11, тест CPU (Physics), баллы
3DMark Vantage, баллы
PC Mark 7, тест Cоmputation, баллы
CineBench 11.5, баллы
x264 HD Benchmark 4.0, кадры/c
7-Zip 9.20, MIPS
Far Cry 2, 1920×1080, DX10, высокое качество, кадры/c
Hard Reset, 1920×1080, режим High, кадры/c
Metro 2033, 1920×1080, DX11, PhysX, высокое качество, кадры/c
Colin McRae: DiRT 3, 1920×1080, высокое качество, кадры/c
Lost Planet 2, 1920×1080, DX11, высокое качество, тест B, кадры/c
Crysis 2, 1920×1080, DX9, высокое качество, тест Downtown, кадры/c
Энергопотребление системы, Вт

Благодаря модульной структуре процессоров компании несложно выстроить свой модельный ряд, предлагая устройства с различными количеством вычислительных блоков и тактовыми частотами. На старте линейка десктопных чипов, получивших название Zambezi, включает четыре CPU. Флагманом является восьмиядерное решение FX-8150 с частотной формулой 3,6/3,9/4,2 ГГц. По 8 МБ кеш-памяти L2 и L3, а также TDP на уровне 125 Вт. Схожа по оснащению и FX-8120, отличие лишь в частотном режиме работы – 3,1/3,4/4,0 ГГц. Шестиядерный FX-6100 имеет 6 МБ кеш-памяти второго уровня и все те же 8 МБ L3, а вот его тепловой пакет – 95 Вт. Наиболее доступная версия с двумя модулями и четырьмя вычислительными блоками x86 FX-4100 функционирует на 3,6/3,7/3,8 ГГц, довольствуется 4 МБ L2, емким L3 (8 МБ) и TDP в 95 Вт. Что касается стоимости устройств, то рекомендованные оптовые цены для перечисленных моделей находятся на уровне $245/205/165/115 соответственно.

Разгон

Возможность беспрепятственного разгона процессоров является одним из ключевых параметров чипов FX. На этой особенности компания AMD делает отдельный акцент. Свободный множитель доступен всем моделям линейки, а возможность его изменения будет присутствовать на любой плате с AM3+.

Архитектура FX изначально создавалась с учетом функционирования на высоких тактовых частотах. Умельцы, вооруженные сосудами с жидким азотом, смогли получить скриншот CPU-Z в ситуации, когда процессор работал почти на 8,5 ГГц. При этом, правда, понадобилось оставить активным лишь один модуль из четырех. Все восемь ядер удалось заставить функционировать на 8,1 ГГц. Ранее подобных частот достигали разве что максимально облегченные версии Intel Celeron для LGA775. Теперь же у энтузиастов появится куда более интересный объект для оверклокерских экспериментов.

В случае с воздушной системой охлаждения придется довольствоваться более скромными результатами. При повышении напряжения питания до 1,45 В CPU стабильно работал на 4,6 ГГц. Может и не столь впечатляюще, но потенциал очевидно лучше, чем у 45-нанометровых чипов Phenom II.

Итоги

Результаты тестов производительности представлены на диаграммах. Картина достаточно показательна для того, чтобы в целом сложить мнение о возможностях новой разработки AMD. Процессоры FX ожидаемо получили прирост быстродействия в многопоточных задачах – архивировании, кодировании HD-видео, рендеринге. Здесь восьмиядерному чипу вполне по силам тягаться и с Core i5-2500K, и с более дорогостоящим Core i7-2600K. Однако как только дело доходит до приложений с неважной оптимизацией для параллельного исполнения кода, AMD FX сдают позиции – удельная производительность их x86-блоков даже несколько ниже, чем у продуктов с архитектурой K10. В играх, которые в лучшем случае задействуют 3–4 потока, заметное преимущество у процессоров от Intel. Если использовать максимальные настройки качества графики, где видеокарта становится ограничителем, показатели систем выравниваются, но оценить реальный потенциал CPU в таких условиях невозможно.

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

Даже судя по стоимости AMD FX очевидно, что компания в первую очередь планирует закрепиться в средней ценовой категории, осознанно отдавая Intel сегмент топовых дорогостоящих решений. В текущих условиях достойно выступать в лиге «супертяжеловесов» объективно производитель сейчас не может. Сделав ставку на многоядерные вычисления, получить выдающиеся результаты в слабо оптимизированном ПО очень проблематично. Вместе с тем всего пять лет назад мы искренне удивлялись, кому может понадобиться на десктопе четырехъядерный процессор и как эффективно использовать ресурсы подобного CPU. Сегодня же это обыденность, и преимущества чипов с таким количеством вычислительных блоков уже не вызывают вопросов. Возможно, подобное признание некоторое время спустя получат и восьмиядерные модели.

К счастью, AMD не будет сложа руки наблюдать, какая участь постигнет ее процессоры. Озвученные планы дальнейшего развития внушают хотя и сдержанный, но все же оптимизм. Компания продолжит активно дорабатывать нынешнюю архитектуру, улучшая как энергоэффективность, так и производительность CPU, однако указанные темпы – 10–15% в год – не очень впечатляют. С подобными показателями рассчитывать на кардинальное изменение ситуации можно лишь в том случае, если Intel замедлит развитие своих продуктов, но предпосылок для этого нет – механизм «тик-так» пока еще не давал сбоев. Уже весной 2012 года будут представлены чипы Ivy Bridge, выполненные по 22-нанометровой технологии и использующие 3D-транзисторы.

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

Компания 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 года

не известна

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

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

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 будет хорошим решением.