Введение
Четыре года назад AMD встряхнула мир вычислительной техники, представив архитектуру K8. Весьма амбициозный дизайн заметно отличался от архитектуры Intel. Последняя занималась в то время гонкой частот Pentium 4, но AMD пошла другим путём, увеличивая эффективность работы процессора в расчёте на такт.
Кроме того, AMD первой предложила любопытную идею – поддержку 64-битных вычислений, которые позволяют обойти ограничение объёма оперативной памяти в 4 Гбайт, и сегодня этот вопрос, через четыре года, становится очень актуальным. AMD расширила архитектуру x86, предложив x86-64, причём идею поддержала и Microsoft, выпустив 64-битную версию Windows XP. Но Intel не пожелала оставаться в стороне от разработки “Windows XP x64”, поэтому перед официальным выходом системы (в апреле 2005 года) появились процессоры с технологией EM64T, являющейся клоном x86-64, которая, как божится Intel, является независимой разработкой компании, а совместимость с 64-битной технологией AMD – “просто так получилось”.
Впрочем, какая всё же разница? Если архитектура K7 (Athlon и Athlon XP) позволила AMD завоевать сердца геймеров и энтузиастов, то K8 оказалась уже весомым аргументом в пользу AMD, учитывая такие технологические преимущества, как поддержку 64-битных вычислений и интеграцию контроллера памяти на кристалл.
Разные версии
После 2003 года процессоры Athlon 64 претерпели ряд итераций. Начнём с сокетов. AMD объявила изначально два сокета, Socket 754 и Socket 940, которые обеспечивали работу одноканальной и двухканальной (64 и 128 бит) памяти DDR. Затем, в 2004 году появился Socket 939, после чего в 2006 году был объявлен новый Socket AM2, который стал поддерживать память DDR2. Параллельно с этим Athlon 64 обзавёлся двумя ядрами, превратившись в Athlon 64 X2.
Впрочем, переход с памяти DDR на DDR2 оказался не самым успешным, и, несмотря на более высокую пропускную способность памяти, производительность Athlon для Socket AM2 оказалась, в целом, разочаровывающей. Никакого шага вперёд, как ожидали пользователи, не получилось. Заключалась ли проблема в контроллере памяти? И да, и нет, поскольку внутренний дизайн чипа значительно не менялся, хотя новая память обладала весьма существенными изменениями, в частности, значительно возросшими задержками. Впрочем, AMD пыталась всеми силами задержать выпуск новых процессоров, которые появились только в мае 2006 года. Разочарование стало ещё большим на фоне объявления новых процессоров Core 2 Duo от Intel.
Одно можно сказать точно: после впечатляющего старта AMD не смогла как следует использовать успех Athlon 64, почивая на лаврах. Посудите сами: за четыре года, несмотря на совершенствование техпроцесса (130, 90 и 65 нм), AMD смогла увеличить частоты чипов всего с 2,2 до 3 ГГц (3,2 ГГц, если учитывать недавно объявленный 6400+). Конечно, не стоит забывать о переходе на два ядра, поддержку нового типа памяти, а также и увеличение скорости каналов HyperTransport. Но за четыре года мы ожидали всё же большего прогресса, особенно если посмотреть в сторону Intel, которая весьма быстро развивала Pentium 4 и Pentium D.
Впрочем, AMD довольно рано начала работать над преемником K8. Два амбициозных проекта (K9 и K10) очень сильно опираются на параллелизм и используют, наверное, слишком авангардную архитектуру, поскольку разработчики программного обеспечения относятся к идее многопоточности со средним энтузиазмом. Другие технологические решения касались выбора, то есть выбирать или нет память FB-DIMM, выбирать или нет интеграцию контроллера памяти на кристалл. AMD пришлось столкнуться и с уходом ряда инженеров, которые играли ключевую роль в дизайне K8. AMD пришлось свернуть все проекты в пользу чипа, который компания как раз и представила: Barcelona.
K8L, K9, K10? Немного технических подробностей
Путаница с кодовыми названиями довольно сильная, но на самом деле стоит смотреть только на Barcelona. На практике проекты K9 и K10, слишком уж амбициозные, были закрыты в пользу Barcelona, которую можно назвать K8L. Если быть точным, перед нами, в некоторой степени, эволюция архитектуры K8, а не новый чип.
Среди наиболее интересных технических инноваций можно отметить изменение числа ступеней конвейера до 12 (их насчитывается 14 у Xeon Core 2), а также добавление блока управления непрямыми предсказаниями (когда ветвление зависит от памяти по внешним адресам). Эта техника применяется Intel с момента появления Pentium M.
Был доработан и блок инструкций SSE. Процессор K8 мог обрабатывать одновременно две 64-битные инструкции SSE (или одну 128-битную инструкцию). С настоящего времени блок SSE у процессора Barcelona обладает “родной” поддержкой 128 битов, что должно существенно увеличить производительность подобных операций.
Другие тоже немаловажные изменения касаются компенсации самого слабого звена K8, а именно, работы с большими задержками памяти. У памяти DDR2 задержки памяти заметно выросли, что привело к необходимости создания новых технологий, которые позволили бы их компенсировать. AMD решила рассмотреть эту проблему под разными углами, прежде всего улучшив блоки предварительной выборки, которые отвечают за досрочное получение информации из памяти в кэш. В обработке очереди инструкций были выполнены модификации, касающиеся зависимости инструкций чтения и записи в память. По умолчанию процессор пытается выполнить максимальное количество инструкций чтения, пусть и в ущерб остальным. В результате блоки предварительной выборки смогут работать эффективнее. Впрочем, предсказанная информация хороша только в том случае, если она правильная. Если читаемый участок данных будет перезаписан, то предсказание уже потеряет смысл.
До сих пор процессоры использовали предсказание чтения в зависимости от наличия инструкций записи. То есть они не выполняли инструкции чтения, если в очереди присутствовали инструкции записи, пусть даже они были независимы. Intel добавила в архитектуру Core 2 систему предсказания для обхода подобных ситуаций. AMD, похоже, выбрала несколько другое решение, пусть и с тем же результатом. Но пока у нас нет более точной информации.
Контроллер памяти был тоже доработан, и для DDR2 принцип работы с памятью был немного изменён. AMD решила остановить свой выбор на памяти DDR2 (стандартная регистровая /ECC) для платформ Opteron, хотя Intel сегодня продвигает FB-DIMM. Выбор AMD можно аргументировать меньшим энергопотреблением. Но FB-DIMM обладают небольшим приростом производительности на равных частотах, поскольку позволяют одновременно выполнять инструкции чтения и записи.
Чтобы компенсировать эту проблему, AMD добавила буфер на уровне контроллера памяти, который будет запоминать операции записи в память, чтобы выполнять их позднее. Это позволяет компенсировать переход между режимом записи и чтения памяти DDR2. Кроме того, вместо двухканального 128-битного контроллера Barcelona использует два независимых 64-битных контроллера, которые могут одновременно адресовать разные участки памяти.
Обратите внимание, что на данный момент Opteron работает только с памятью DDR2-667 МГц. Пока без памяти DDR2-800. Последняя будет доступна на момент выпуска Phenom. AMD также пролоббировала в JEDEC принятие стандарта DDR2-1066. Будет весьма интересно посмотреть, сможет или нет Phenom работать с этой памятью. Тем более что на данный момент эта память является прерогативой, в основном, оверклокеров.
Что касается кэш-памяти, то AMD сохранила свои пристрастия: кэш на 128 кбайт (2×64 кбайт для данных и инструкций) первого уровня независим от 512-кбайт кэша второго уровня (то есть содержимое кэша первого уровня не копируется в кэш второго уровня). AMD добавила кэш третьего уровня объёмом 2 Мбайт. Этот кэш является общим для четырёх ядер (получается всего 4,5 Мбайт кэша на чип против 8 Мбайт у четырёхядерного процессора Intel).
AMD внесла ряд изменений в технологию виртуализации, объявив о более гладком варианте по сравнению с главным конкурентом. Но на практике следует отметить, что основные продукты на рынке виртуализации (VMware или бесплатный VirtualBox) поддерживают программную виртуализацию по причинам лучшей скорости. Кстати, Intel признала этот факт, объявив, что для компании важнее точность, а не скорость. AMD добавила поддержку Nested Paging (Rapid Virtualization Indexing), новый уровень виртуализации адресов, чтобы поддерживать несколько host-систем и не обращаться к программной технике Shadow Paging.
Давайте поговорим и о характеристиках питания нового процессора. Цепи питания четырёх ядер остались общими, однако частота каждого ядра может независимо меняться. AMD отделила питание контроллера памяти, который может полностью выключаться, если не используется. На момент объявления процессора AMD указала и возможность индивидуального управления частотой контроллера памяти. То есть частота контроллера будет меняться в зависимости от состояния процессора (P-состояний), чтобы снизить общее энергопотребление. AMD сохранила возможность питания каналов HyperTransport, чтобы связь между ядрами не прерывалась.
Обычно производители процессоров указывают максимальное энергопотребление чипов. Его часто называют тепловым пакетом (TDP, Thermal Power Design). Тепловой пакет указывает на максимальное энергопотребление при максимальной нагрузке процессора. Но AMD решила разработать собственный метод оценки под названием ACP. Идея заключается в измерении энергопотребления в таких тестах, как TPC-C, SPEC или STREAM, чтобы получить более реалистичное значение. Конечно, идея выглядит интересной, но на практике она всё же является весьма умелым способом обхода значений максимального энергопотребления. AMD оправдывает свой способ тем, что конкуренты высчитывают TDP тоже не самыми “тяжёлыми” путями.
В остальном Barcelona остаётся тем же ядром, которое знакомо нам по архитектуре K8.
Как насчёт процессоров?
Сначала новые процессоры AMD появятся на рынке серверов. Как обычно, первой появится линейка Opteron, причём основным новшеством будет появление четырёх ядер: все процессоры Barcelona будут использовать четыре ядра. В отличие от Xeon Quad от Intel, все они располагаются на едином кристалле, а Intel выбрала более прагматичный путь объединения двух двуядерных кристаллов в одной упаковке.
AMD определяет три разных сегмента для четырёхядерных чипов Opteron. Первый состоит из моделей с индексом HE, призванных обеспечить максимальную эффективность энергопотребления. Они имеют максимальную частоту 1,9 ГГц и тепловой пакет 75 Вт. В стандартном сегменте будут присутствовать чипы до 2 ГГц с тепловым пакетом 95 Вт. AMD определила и высокопроизводительный сегмент с чипами SE, где частоты будут составлять до 2,5 ГГц (125 Вт).
Интересно отметить, что в предыдущей версии презентации присутствовала только частота 2,3 ГГц. Впрочем, сегмент SE пока больше имиджевый, поскольку чипы будут доступны в четвёртом квартале, как обещает AMD. В конце года запланирован и выпуск Phenom (по некоторым источникам в декабре).
Производительность?
AMD пока не пожелала предоставить прессе образцы процессоров Opteron Barcelona, поэтому мы вынуждены довольствоваться цифрами, которые предоставила AMD, сравнив процессоры Opteron Barcelona (2350) с Xeon 5345 (2,66 ГГц). AMD выбрала этот процессор за его близкой тепловой пакет (80 против 75 ватт). Платформа Intel использует память FB-DIMM, а Opteron поддерживает традиционную DDR2 (667 МГц в обоих случаях).
Придётся оценивать производительность по тесту SPEC, который является одним из стандартов индустрии. Несмотря на разницу в 666 МГц, AMD смогла на равном уровне показать себя в SPECint (вычисления в целых числах) и выйти вперёд на тридцать процентов в SPEFfp (вычисления в числах с плавающей запятой). Интересные цифры. Похоже, что процессоры Barcelona на момент выпуска смогли компенсировать очень низкие тактовые частоты.
Заключение
Что же можно сказать по поводу выхода Opteron Barcelona? Увы, но техпроцесс 65 нм у AMD так и не обеспечил высоких частот работы. Но следует признать, что с 463 миллионами транзисторов на одном кристалле AMD представила весьма сложный технологический продукт. Увеличение производительности в расчётах с плавающей запятой будет весьма интересным в некоторых приложениях, впрочем, следует отметить, что программисты всё больше переходят с поддержки x87 на SSE. У нас пока нет данных о производительности SSE-блоков у Barcelona. В любом случае, появление Barcelona освежит линейку AMD, которая несколько залежалась с прошлого года, когда был выпущен Core 2 Duo. Нацеливаясь изначально на рынок серверов, AMD может предоставить интересные варианты. Жаль, что процессор Barcelona не появился в начале года. Не будем забывать, что в ноябре Intel представит процессор Xeon Penryn с 45-нм техпроцессом и частотой 3,33 ГГц, тоже на рынок серверов.