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

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

Тест — Стройка десятилетия. Изучаем процессорную архитектуру AMD Bulldozer
«…явных преимуществ перед конкурентами немного. Заявленных восьми ядер нет. По-хорошему, перед нами четырехъядерные модели с увеличенным количеством вычислительных блоков, что-то вроде Intel Hyper-Threading, но на железном уровне…»
Игроманияhttps://www.igromania.ru/
Тест
Стройка десятилетия. Изучаем процессорную архитектуру AMD BulldozerСтройка десятилетия. Изучаем процессорную архитектуру AMD Bulldozer
Стройка десятилетия. Изучаем процессорную архитектуру AMD Bulldozer

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

Ходим парой

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

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

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

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

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

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

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

Что касается самих ядер, то это набор из 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 сделали универсальными: могут замещать друг друга, что положительно сказывается на скорости вычислений. Плюс к этому они научились совмещать операции в одном выражении, что повысило точность расчетов.

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

Помимо этого 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 Вт.

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

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

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

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

Ручной разгон прост. Во-первых, у всей линейки разблокирован множитель. Во-вторых, новички хорошо набирают высоту: под жидким азотом старший 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

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

FX-8150

8

FX-8120

8

FX-8100

8

FX-6100

6

FX-4100

4

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

FX-8150

3,6 ГГц

FX-8120

3,1 ГГц

FX-8100

3,1 ГГц

FX-6100

3,3 ГГц

FX-4100

3,6 ГГц

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

FX-8150

4,2 ГГц

FX-8120

4 ГГц

FX-8100

3,7 ГГц

FX-6100

3,9 ГГц

FX-4100

3,8 ГГц

L2-кэш

FX-8150

8 Мб

FX-8120

8 Мб

FX-8100

8 Мб

FX-6100

6 Мб

FX-4100

4 Мб

L3-кэш

FX-8150

8 Мб

FX-8120

8 Мб

FX-8100

8 Мб

FX-6100

8 Мб

FX-4100

8 Мб

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

FX-8150

DDR3-1866

FX-8120

DDR3-1866

FX-8100

DDR3-1866

FX-6100

DDR3-1866

FX-4100

DDR3-1866

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

FX-8150

125 Вт

FX-8120

125 Вт

FX-8100

125 Вт

FX-6100

95 Вт

FX-4100

95 Вт

Техпроцесс

FX-8150

32 нм

FX-8120

32 нм

FX-8100

32 нм

FX-6100

32 нм

FX-4100

32 нм

Сокет

FX-8150

AM3+

FX-8120

AM3+

FX-8100

AM3+

FX-6100

AM3+

FX-4100

AM3+

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

FX-8150

9200 руб.

FX-8120

7200 руб.

FX-8100

не известна

FX-6100

5500 руб.

FX-4100

4000 руб.

Хотите скрыть партнерские блоки? Авторизуйтесь и читайте материалы не отвлекаясь.
Комментарии
Загрузка комментариев