`

СПЕЦИАЛЬНЫЕ
ПАРТНЕРЫ
ПРОЕКТА

Архив номеров

Как изменилось финансирование ИТ-направления в вашей организации?

Best CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

AMD Bulldozer: мы пойдем другим путем

+79
голосов

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

AMD Bulldozer мы пойдем другим путем

А ведь это, ни много ни мало, первая разработка AMD «с нуля» со времен К8: все прошедшие с того времени обновления CPU компании были лишь эволюционным развитием. За это время Intel смогла не только выйти из проигрышного положение, в которое она попала с процессорами Pentium 4 и Pentium D, но и стремительно уйти в отрыв с архитектурами Nehalem и Sandy Bridge, очень сильно сократив долю AMD и на рынке десктопных CPU, и в серверном сегменте. Итак, что же смогли изобрести в исследовательских центрах AMD, чтобы вернуться в активную борьбу?

Смена парадигмы

Новая архитектура AMD построена по значительно отличающемуся от применяемого разработчиками CPU принципа: вместо монолитной структуры из одинаковых и равноправных блоков (ядер) Bulldozer строится по модульному принципу. Базовой единицей процессора теперь является т.н. модуль Bulldozer, состоящий из двух блоков целочисленных вычислений, одного — вычислений с плавающей точкой, и сопутствующей архитектуры. Из этих модулей и компонуется кристалл процессора в зависимости от потребностей производителя. Фактически такой подход можно рассматривать как развитие уже применявшегося в архитектуре K8-K10 подхода AMD, ориентированного на упрощение наращивания числа исполнительных ядер в одном кристалле.

AMD Bulldozer мы пойдем другим путем

AMD называет каждый модуль Bulldozer двухъядерным, хотя фактически это не совсем точно: как мы уже отметили, в нем только один FPU. Такое решение было принято неспроста: в большинстве современных задач отмечается значительный «перекос» в сторону целочисленных вычислений, в то время как операции с плавающей точкой производятся реже. Соответственно, и нужда в обслуживающих их элементах меньше, а ведь они потребляют энергию (и выделяют тепло) и занимают место на кристалле. Потому инженеры AMD прибегли к такой оптимизации модуля, за счет чего, как заявляется, удалось сэкономить примерно 12% площади кристалла. К слову, он все равно получился немаленьким: связка из 4 модулей Bulldozer состоит из 1,2 млрд транзисторов, а весь кристалл — из 1,6 млрд.

В зависимости от позиционирования в десктопном процессоре может быть от 1 до 4 таких модулей, и, соответственно, для него будут засчитываться от двух до восьми ядер. В серверных CPU число модулей будет доходить до 8 (16 ядер), однако достигается это «склеиванием» двух кристаллов на одной подложке, подобно Intel Pentium D (для которых такой подход оказался не лучшим).

Модуль Bulldozer

Два независимых выделенных исполнительных кластера могут обслуживать два независимых потока целочисленных вычислений, параллельно с ними работает и FPU (поочередная активация блоков не требуется). Это достигается за счет наличия в модуле Bulldozer выделенного кэша первого уровня для инструкций емкостью 16 КБ, инклюзивных кэшей данных первого уровня емкостью по 16 КБ (к которым имеет доступ FPU) и разделяемого между исполнительными блоками кэша второго уровня на 2 МБ. Кроме того, процессор оснащается еще и кэшем третьего уровня, разделяемым между всеми модулями и достигающим 8 МБ для кристалла из 4 модулей. Как видим, по сравнению с Phenom объем кэша первого уровня значительно уменьшен, однако AMD заявляет, что за счет наличия достаточно емкого L2, а главное, благодаря серьезно переработанному и улучшенному блоку предсказания ветвлений и выборки данных и инструкций это не должно стать «бутылочным горлышком».

AMD Bulldozer мы пойдем другим путем

Серьезным изменением в архитектуре Bulldozer стало значительное удлинение исполнительного конвейера ядер. Как известно, «чистая» производительность одного ядра измеряется числом инструкций, которое оно может исполнить за такт, умноженным на его частоту. Удлинение конвейера, с одной стороны, приводит к снижению первого параметра, однако дает возможность значительно увеличить второй. Именно такой подход использовала Intel в своей архитектуре NetBurst (Pentium 4), однако в том случае потребовавшееся для роста частот повышение напряжения питания привело к очень сильному росту тепловыделения, что и стало главным недостатком NetBurst. AMD рассчитывает избежать этого как за счет оптимизаций самой архитектуры, так и благодаря 32-нанометровому процессу, который, естественно, радикально более экономичен, чем 90 нм во времена Prescott.

Не допускать ошибок

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

AMD Bulldozer мы пойдем другим путем

В Bulldozer эти две части разделены и сделаны независимыми: предсказатель создает очередь потенциальных целей и работает над ней, и если он все же ошибается и выбирает не ту ветвь, то может тут же начать работу заново, не дожидаясь, пока блок выборки заново все загрузит. В результате эффективность параллельных вычислений растет (не забываем, что речь идет о многоядерном модуле). Это особенно важно именно в свете выросшей длины исполнительного конвейера — чем он длиннее, тем дольше он «сбрасывается» в случае ошибки и, в итоге, медленнее работает. Также стоит отметить внедрение AMD технологии слияния некоторых инструкций — они могут преобразовываться в одну «большую», поддерживаемую вычислительными кластерами, и исполняться за раз. В AMD это называют Branch Fusion. Переупорядочивание очереди теперь осуществляется на основе физического регистрового файла, а не логического буфера — так эффективнее в условиях высоких частот.

Мускульная сила

Переходя к исполнительным блокам, отметим, что с формальной точки зрения производительность Bulldozer в целочисленных вычислениях увеличена, однако есть нюанс. Каждое ядро Phenom могло за такт исполнить три INT-инструкции, а модуль Bulldozer — четыре. Однако в нем два исполнительных блока, а в Phenom — один, таким образом, в случае обработки лишь одного потока модуль Bulldozer сможет исполнить лишь две инструкции. К счастью для AMD, в современном мире исключительно однопотокового исполнения практически не бывает, так что это не должно составить проблемы (тем более, что, по словам инженеров компании, третий порт ALU в Phenom все равно большую часть времени простаивал). Кроме того, декодер Bulldozer все равно не может обработать за такт больше 4 инструкций.

AMD Bulldozer мы пойдем другим путем

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

AMD Bulldozer мы пойдем другим путем

FPU состоит из двух традиционных конвейеров и двух блоков FMAC (floating point multiply-accumulate). Благодаря им Bulldozer обзавелся поддержкой инструкций SSE 4.2, AES-NI, векторных AVX и даже парой собственных — FMA4 (fused multiply-add) и XOP. Каждый блок FMAC является 128-битным, потому для исполнения инструкций AVX они объединяются и исполняют их как связанную пару, по одной за такт. Если оценивать с точки зрения производительности за такт, итоговый 8-ядерный процессор с архитектурой Bulldozer при равной частоте будет таким же в вычислениях с плавающей точкой, как и 4-ядерный Phenom II. А прирост производительности будет достигаться только в случае использования SSE4, AVX и AES-NI (ну и уникальных инструкций AMD, которые еще должны внедрить разработчики ПО). Кроме того, не стоит забывать, что на десктопном рынке флагман AMD в серии Phenom II оснащается шестью ядрами.

Итак, с точки зрения архитектуры Bulldozer довольно неоднозначен: с одной стороны, мы видим значительный прирост эффективности в целочисленных вычислениях при условии полной загрузки всех 8 исполнительных блоков на кристалле, с другой, снижение внимания к FPU. Но как же все-таки достичь очевидного преимущества над предыдущим поколением процессоров, а главное — над конкурентом? Частотой.

И снова в фокусе частота

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

AMD Bulldozer мы пойдем другим путем

Когда процессор загружен не полностью, появившиеся в кристалле Bulldozer силовые транзисторы позволяют полностью отключить один или несколько модулей, снизив потребление и тепловыделение кристалла. Если два из четырех модулей отключены, процессор получает возможность войти в режим Max Turbo Core: повышается напряжение питания и тактовая частота двух активных модулей, а прирост может доходить до 900 МГц (в восьмиядерных CPU AMD FX-8120 и FX-8140). Если же активно более половины модулей, применяется промежуточная ступень Turbo Core. Отметим, что Bulldozer теперь имеет возможность повышать частоту и в случае загруженности всех ядер, если процессор все же не достигает «потолка» TDP. В серверном сегменте AMD ввела еще одну интересную функцию. TDP Power Cap позволяет администратору сервера установить для процессора порог TDP, выше которого он ни при каких условиях не сможет подняться. Ориентируясь на него, механизм управления питанием будет управлять тактовой частотой ядер. Подобный подход позволит гибко настроить уровень энергопотребления и тепловыделения сервера под конкретную задачу. Принципиальное отличие от традиционных методов ограничения тепловыделения вроде ручного снижения тактовой частоты и напряжения питания или полного отключения Turbo Boost у CPU Intel состоит в том, что вместо полного отключения режимов питания (p-states) появляется возможность ограничить потребление в них. Соответственно, появляется возможность получить максимально возможную частоту, даже с учетом Max Turbo Core, однако при этом повысить экономичность. Функция TDP Power Cap должна значительно упростить контроль за нагрузкой на силовые линии и системы кондиционирования в плотных серверных стойках и кластерах, где чаще всего пиковая производительность — вовсе не ключевой параметр качества системы.

Инфраструктура

Кроме модулей Bulldozer, на кристалле процессора располагаются дополнительная логика, обеспечивающая доступ к остальным подсистемам компьютера. В первую очередь это северный мост, интегрированный в процессор. Он работает на собственной частоте 2-2,2 ГГц (в зависимости от модели), которая совпадает с частотой L3-кэша. На кристалле также расположено 4 контроллера шины HyperTransport, количество активных среди них зависит от модели и платформы. Так, в настольных CPU Zambezi активен только один канал HT, в серверных Valencia для двухпроцессорных систем — два, в Interlagos — четыре. Поддерживается шина HyperTransport 3.1, работающая на частоте 3,2 ГГц и обеспечивающая пропускную способность 25,6 ГБ/с. Для доступа к оперативной памяти используются два канала DDR3 с максимальной частотой модулей до 1866 МГц (у серверных процессоров Interlagos с двумя кристаллами на подложке — 4 канала и до 3 модулей DIMM на канал).

Платформа

Десктопная модификация Bulldozer с кодовым названием Zambezi ориентирована на использование существующей платформы Socket AM3+ и чипсета AMD 990FX/990X/970. Серверные Interlagos наследуют совместимость с Socket G34 у Opteron 6100 на чипсетах AMD SR56×0 с южными мостами SP510, а младшие Valencia — с С32 на тех же наборах системной логики.

Zambezi формально остаются совместимы и с Socket AM3, теряя при этом лишь расширенные возможности управления питанием, однако реальная работоспособность зависит от поддержки новых процессоров в BIOS конкретной материнской платы.

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

Модельный ряд процессоров для настольных ПК, по имеющейся информации, будет включать в себя 14 CPU AMD FX разных сегментов, среди которых 5 моделей с двумя активными модулями Bulldozer на кристалл, 4 — с тремя и 5 — с полнофункциональным восьмиядерным кристаллом. Из них на данный момент представлены 7, остальные будут выпущены ближе ко второму полугодию 2012 года.

AMD Bulldozer мы пойдем другим путем
© Wikipedia

Серверные CPU Opteron для рабочих станций, энергоэффективных систем и серверов начального уровня Zurich включают три модели — Opteron 3250 EE и 3260 EE с 2 активными модулями, и 3280 HE — с четырьмя.

AMD Bulldozer мы пойдем другим путем
© Wikipedia

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

AMD Bulldozer мы пойдем другим путем
© Wikipedia

Наконец, Opteron 6200 Interlagos ранжируется по количеству активных ядер от 4 до 16 и, соответственно. Отметим, что при этом они сохраняют отличный показатель энергоэффективности: за исключением Opteron 6282 SE с базовой частотой 2,6 ГГц и пиковой 3,3 ГГц, уровень TDP для которого установлен на отметке 105 Вт, все модели не превышают 80 Вт. В арсенале AMD есть даже 16-ядерная модель с TDP всего 65 Вт!

AMD Bulldozer мы пойдем другим путем
© Wikipedia

Будущее

Компания AMD довольно оптимистично смотрит на темпы дальнейшего совершенствования архитектуры Bulldozer, и даже предлагает свой вариант стратегии Intel Tick-Tock! Уже заявлены планы по ежегодному обновлению ревизий вплоть до 2014 года, которые предусматривают увеличение производительности на 10-15% с каждой итерацией. В 2012 году планируется выход Piledriver, который, помимо упомянутого роста быстродействия CPU, будет включать в себя еще и графическое ядро, и воплотится в APU Trinity. Кроме того, можно ожидать и процессоры на этой ревизии архитектуры без графики для платформы Socket AM3+. В 2013 году нас ожидает Steamroller, а в 2014 — Excavator. Деталей о них пока нет, к сожалению.

AMD Bulldozer мы пойдем другим путем

Итоги

Новая процессорная архитектура AMD Bulldozer получилась интересной и довольно противоречивой. С одной стороны, компания продолжает ориентироваться на наращивание числа вычислительных ядер CPU, с другой — заметно упрощает их по сравнению с прошлым поколением. С одной стороны, значительно увеличивается тактовая частота и энергоэффективность, с другой — удлиняется исполнительный конвейер, что снижает удельную производительность на такт. И, наконец, по-прежнему в деле ключевой козырь AMD — цена. За те же деньги, что стоят четырехъядерные процессоры Intel пользователь может приобрести шести- или даже восьмиядерный AMD FX, если же говорить о серверном сегменте, там цифры и вовсе зашкаливают. По имеющимся в Сети результатам тестов, в некоторых случаях Opteron 6200 обеспечивают практически двукратное превосходство над Intel X5600 по соотношению цены/производительности. Однако ключевой фактор, который определяет все перспективы Bulldozer на рынке, — это поддержка со стороны ПО. Для того чтобы эти процессоры раскрыли свой потенциал, нужно использовать их в среде с высокой степенью параллелизма, с ПО, поддерживающим современные наборы инструкций (в идеальном случае — с FMA4 и XOP). К сожалению, на рынке настольных ПК такая модель использования очень редка, и потому для AMD есть единственный путь для конкуренции с Intel — наращивать тактовую частоту и постепенно снижать стоимость процессоров, повышая их привлекательность для потребителей. Для серверного рынка же Opteron 4200/6200 выглядят очень перспективно, и можно констатировать, что своей главной цели AMD все же достигла — как-никак, Bulldozer в первую очередь серверная микроархитектура.

+79
голосов

Напечатать Отправить другу

Читайте также

 
 
IDC
Реклама

  •  Home  •  Рынок  •  ИТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Сети  •  Безопасность  •  Наука  •  IoT