РЕКЛАМА
ИНФОРМАЦИЯ
ПОЛЕЗНЫЕ ССЫЛКИ
Сбалансированная система для игр: поиск узких мест по производительности GPU и CPU

Чипсет 990FX: AMD и SLI снова возвращаются

Sandy Bridge: Intel Core второго поколения

AMD Phenom II X6 1090T и платформа 890FX: встречаем Leo

Rambler's Top100 Рейтинг@Mail.ru

ПРОЦЕССОРЫ

Обзор AMD FX-8150: от Bulldozer к Zambezi и FX
Краткое содержание статьи: Это, вероятно, самый ожидаемый запуск 2011 года. Линейка процессоров AMD FX, наконец, готова к выходу. Сможет ли новая архитектура Bulldozer противостоять Intel Sandy Bridge и начать новую эпоху конкуренции?

Обзор AMD FX-8150: от Bulldozer к Zambezi и FX


Редакция THG,  14 ноября 2011
Назад
Вы читаете страницу 2 из 10
1 2 3 4 5 6 7 8 9 10
Далее


Идея архитектуры AMD Bulldozer

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

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

Концепция Bulldozer начинается с понимания того, что будущее за многопоточными вычислениями…

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

С другой стороны находиться одновременная многопоточность (Simultaneous multi-threading, SMT), дублирующая ресурсы, необходимые для выполнения инструкций в несколько потоков на одном физическом ядре с минимальными расходами по количеству транзисторов. Если один поток не способен полностью нагрузить все ресурсы ядра, то в работу включается SMT, выжимающая до капли весь его потенциал. Это и делает технология Intel Hyper-Threading. То есть операционная система Windows видит два логических процессора для каждого физического ядра, однако прирост производительности в реальных приложениях намного скромнее.

Вот почему AMD была недовольна чипами Intel с технологией Hyper-Threading, чётко разграничивая физические и логические ядра. В наших собственных тестах мы не раз видели, что дешёвый четырёхъядерный Phenom II обгонял двуядерный Core i3 с поддержкой Hyper-Threading в многопоточных тестах WinRAR или 7-Zip, которые работают на физических ядрах более эффективно.

Что такое ядро?

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

По словам ведущего инженера-разработчика Bulldozer, Майка Батлера (Mike Butler), такой подход оправдан, потому что традиционные ядра, работающие в окружениях с ограниченным энергопотреблением, не оптимально используют тепловой запас. В этом есть смысл; когда вы пытаетесь засунуть как можно больше ядер в сервер, то лучше в первую очередь настроить сервер в пользу ресурсов, которые будут использоваться чаще всего, и предотвратить "съедание" места/энергии компонентами, которые можно сделать общими без особого ущерба для производительности.

…но одновременная оптимизация под производительность и энергопотребление заставила сделать некоторые ресурсы общими

Решение об общем использовании начинает плохо проявляться, когда обеим потокам требуются одинаковые ресурсы, и в этот момент производительность заметно падает по сравнению с многопроцессорностью на уровне чипов. Но AMD оптимистична: в августе прошлого года, когда компания начала разглашать некоторые детали об архитектуре на конференции HotChips, предполагалось, что модуль Bulldozer может обеспечивать производительность, в среднем, до 80% от уровня двух полных ядер, с минимальными затратами пространства кристалла. В результате, в окружениях с интенсивной многопоточной нагрузкой, процессор на архитектуре Bulldozer должен обеспечивать серьёзное увеличение эффективности.

Это также означает, что AMD пришлось переопределить основы ядра. Компания утверждает, что для лучшей согласованности с модулями Bulldozer, всё, что содержит собственный целочисленный конвейер является ядром (неудивительно, правда?), хотя бы по тому, что большая часть вычислительной нагрузки процессора как раз и представляет собой целочисленные вычисления. У нас с такой формулировкой проблем не возникло. Но если совместное использование ресурсов всё же негативно повлияет на производительность в расчёте на такт, то AMD придётся больше рассчитывать на повышение тактовых частот или более активное продвижение многопоточности, чтобы это компенсировать. Запомним это, на будущее.

Учимся разделять

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

Для операционной системы получившийся модуль кажется парой ядер, наподобие двух логических ядер Hyper-Threading. AMD вполне естественно отметает идею того, что Bulldozer будет вести себя наподобие Hyper-Threading (или SMT), заявляя, что этот дизайн обеспечивает лучшую масштабируемость, чем два потока, разделяющие одно физическое ядро. Опять же, это имеет смысл – модуль Bulldozer нельзя назвать одним ядром, поскольку многие вычислительные ресурсы, по сути, дублированы.

Но это подвигает нас к рассуждениям на тему отношения аппаратного обеспечения AMD и программного обеспечения, которое будет постоянно на нём работать. Недавно мы поднимали тему о специфических оптимизациях в Windows 7, которые явились следствием сотрудничества Intel и Microsoft – особенно мы подчеркиваем парковку ядер. Перед тем, как использовать логические ядра (Hyper-Threading) Windows 7 выполняет интеллектуальную диспетчеризацию на физические ядра.

В теории, AMD могла бы выиграть от этого же преимущества. Если Windows сможет использовать сначала четыре модуля FX-8150, а уже потом нагружать второе ядро каждого модуля, то мы получим максимальную производительность на четырёх одновременно работающих потоках. Однако всё происходит не так. По словам Аруна Кишана (Arun Kishan), инженера по программному дизайну Microsoft, каждый модуль на данный момент определяется как два ядра, и назначается наравне с другими. Поэтому в приложении с двумя потоками мы можем получить один активный модуль и три бездействующих модуля – это хорошо для экономии энергии, но уже не так хорошо с точки зрения производительности. Также это расходится с заявлением AMD о том, что в случае одного активного потока, оно имеет полный доступ ко всем общим ресурсам. Добавление всего одного дополнительного потока может нагрузить эти общие ресурсы, даже если множество других модулей будут бездействовать.

Однако Microsoft ищет способ изменить данное поведение в будущем. Арун сказал, что характеристики производительности двухъядерных модулей ближе к SMT, чем к физическим ядрам, поэтому компания собирается определять их и рассматривать точно так же, как Hyper-Threading, в будущем. Последствия должны быть впечатляющими. Производительность, несомненно, увеличится, но усилия AMD по отключению бездействующих модулей окажутся менее эффективными.

Всё довольно сложно. Учитывая, что производительность сегодня более важна. Так что давайте разбираться…
Назад
Вы читаете страницу 2 из 10
1 2 3 4 5 6 7 8 9 10
Далее



СОДЕРЖАНИЕ

Отзывы об AMD FX-8150 в Клубе экспертов THG [ 109 отзывов] Отзывы об AMD FX-8150 в Клубе экспертов THG [ 109 отзывов]


РЕКЛАМА
РЕКОМЕНДУЕМ ПРОЧЕСТЬ!

История мейнфреймов: от Harvard Mark I до System z10 EC
Верите вы или нет, но были времена, когда компьютеры занимали целые комнаты. Сегодня вы работаете за небольшим персональным компьютером, но когда-то о таком можно было только мечтать. Предлагаем окунуться в историю и познакомиться с самыми знаковыми мейнфреймами за последние десятилетия.

Пятнадцать процессоров Intel x86, вошедших в историю
Компания Intel выпустила за годы существования немало процессоров x86, начиная с эпохи расцвета ПК, но не все из них оставили незабываемый след в истории. В нашей первой статье цикла мы рассмотрим пятнадцать наиболее любопытных и памятных процессоров Intel, от 8086 до Core 2 Duo.

ССЫЛКИ