Введение
Intel сегодня занята продвижением новой микро-архитектуры Core 2. В июне был представлен новый серверный процессор Xeon 5100 (Woodcrest), а месяцем позже – настольный процессор Core 2 Duo (Conroe). На подходе и мобильная версия Merom. Следующей вехой станут четырёхядерные процессоры, которые будут содержать два двуядерных кристалла Woodcrest внутри единой физической упаковки (Clovertown). Вполне понятно, что коллектив разработчиков не сидит, сложа руки. Весьма любопытно, но Intel решила изучить опыт Sun UltraSPARC T1 (Niagara), чтобы представить к 2010 году радикальный процессорный редизайн, который должен давать в 16 раз большую производительность, чем Woodcrest. Причём, это данные не маркетингового отдела, а информация технических специалистов внутри компании.
Одно/двуядерная микро-архитектура Core 2 против Sun Niagara в худшем/лучшем сценариях. Intel верит, что может победить “динозавра” к 2010 году. Относительно крутые подъёмы графика Intel в 2008 и 2010 годах соответствуют переходам на 45 и 32 нм, а также возможным обновлениям микро-архитектуры.
Честно говоря, я не припомню, когда всего за четыре года мы получали почти 16x прирост производительности. Если сравнить Pentium 4 на 3,06 ГГц из 2002 года с нынешним 2,93-ГГц Core 2 Extreme, то мы получим, в лучшем случае, от двух- до пятикратного улучшения. Прирост производительности 16x у 32 ядер в 2010 году против нынешних двух ядер, если он действительно произойдёт, указывает на линейное масштабирование, то есть производительность будет увеличиваться пропорционально числу ядер. Многие из вас наверняка скажут, что это невозможно, поскольку даже сохранение уровня частот при переходе на два ядра оказалось проблематичным. Согласен, но давайте всё же посмотрим на новую архитектуру.
Санта-Клара бросила на серверный рынок, учитывая конкуренцию с Sun UltraSPARC T1, свои лучшие “мозги”. В результате возник проект под названием Keifer. Проект подразумевает создание микро-архитектуры, способной сбить Sun с серверного рынка к 2010 году, но Keifer легко может стать технической основой для серверных и массовых процессоров в будущем.
Сложные продуктовые циклы Intel
Перед тем, как мы перейдём к обсуждению Keifer, давайте взглянем на цикл разработки процессоров Intel, чтобы лучше понимать ситуацию. Узнать о грядущих продуктах и сроках выхода можно в публикуемых планах Intel. При этом следует следить ещё и за технологиями производства Intel. Постройка или модернизация процессорного завода проедает много-миллиардную долларовую дыру в бюджете полупроводниковой компании. Поэтому особое внимание уделяется тому, насколько прибыльны будут получившиеся продукты. Intel сегодня перешла на весьма эффективный цикл производства, который представлен ниже.
- Разрабатывать новый технологический процесс каждый нечётный год (например, 65 нм в 2005 году) и обновлять/уменьшать техпроцесс существующих продуктов для максимально возможного увеличения доли выхода годных кристаллов новых процессоров. Имеет смысл сначала представить мобильные процессоры, поскольку они не требуют высоких тактовых частот.
Пример: 65-нм техпроцесс был внедрён в 2005 году и сначала использовался для производства процессоров Pentium 4 6×1 и Pentium D 900. Pentium M всегда получал новые технологии производства первым (90-нм Dothan, 65-нм Yonah). - Выпустить новый мощный процессор позднее, пусть даже на год (например, Core 2 в 2006). Новый процессор использует последнюю микро-архитектуру и сбалансировано сочетает число ядер, набор функций и тактовую частоту. Его цель: достичь высокой производительности и хорошего соотношения производительности на ватт на основе текущего техпроцесса.
Пример: Core 2 Duo. - Выдать дешёвые продукты на одном ядре, чтобы максимально увеличить долю выхода годных кристаллов и прибыль. Частично дефектные двуядерные процессоры Core 2 можно продавать как версию с уменьшенным кэшем (Allendale) или как одноядерную модель (Millville) – в зависимости от того, где находятся дефекты.
Пример: Core 2 Duo E6400, E6300, E4200 (всего 2 Мбайт кэша L2), одноядерный Core 2 будет выпущен позднее (возможно, как Celeron). - Этот шаг относится только к многоядерным поколениям: создать продукт следующего поколения, взяв два существующих кристалла и установив их в одну упаковку. Возможно, придётся снизить тактовые частоты, дабы остаться в пределах теплового пакета. Зато можно дёшево и сердито удвоить число ядер.
Пример: Pentium D Presler использует два ядра Pentium 4 Cedar Mill, Core 2 Kentsfield будет использовать два ядра Core 2 Duo (Conroe). - К данному моменту существующие продукты должны быть готовы к переходу на следующий техпроцесс (45 нм в 2007). Тактовые частоты можно регулировать в зависимости от прогресса в производстве.
Пример: 45 нм будут анонсирован в 2007 году.
В зависимости от того, насколько всё пойдёт хорошо, цикл может быть больше или меньше двух лет. С учётом этого логично предположить, что первый четырёхядерный процессор (на едином кристалле) выйдет в 2008 году. К тому времени улучшения 65-нм техпроцесса должны дать повышенные тактовые частоты Conroe и Kentsfield без изменения энергопотребления, чтобы не выйти за пределы пакета. Harpertown станет также основой для восьмиядерного Gainstown, который должен последовать через несколько месяцев.
<nopage
Проблемы масштабирования
Если несколько процессорных ядер на одном кристалле общаются друг с другом напрямую, то при построении многоядерных процессоров на основе нескольких физических кристаллов приходится связывать их через процессорный интерфейс, которым, в случае серверных и настольных процессоров, является FSB (Front Side Bus). Такой подход уже не раз критиковали за создание “узкого места” в многоядерной конфигурации – ещё тогда, когда Intel выпустила первый Pentium D 800 (Smithfield). Если одному ядру понадобятся данные, находящиеся в кэше L1 или L2 другого процессора, то придётся использовать FSB, что “съедает” доступную пропускную способность шины.
Именно по этой причине поколение Core 2 имеет большой объединённый кэш L2, который совместно используется двумя ядрами. Но когда мы начнём собирать два двуядерных ядра в единую физическую упаковку для построения четырёхядерного процессора, “узкое место” FSB вновь проявит себя – и наверняка ещё хуже, поскольку уже четырём ядрам необходимо будет бороться за данные в кэшах L2 большего размера. Контрмеры Intel включают увеличение тактовой частоты шины. Шина серверной платформы уже работает на 333 МГц (FSB1333 QDR), настольная платформа наверняка получит такую модернизацию тогда, когда выйдет первый четырёхядерный продукт.
Второе “узкое место” – оперативная память системы. Она не является частью процессора, но находится за северным мостом материнской платы. И опять же, для связи с чипсетом материнской платы используется шина FSB, где за доступ к контроллеру памяти будут биться два ядра или больше. AMD интегрировала контроллер памяти в процессор ещё в 2003 году, что позволило сократить путь до памяти и увеличить производительность: контроллер работает на полной частоте CPU. Но реальное преимущество встроенного на процессор контроллера памяти становится заметно в многопроцессорных окружениях, когда каждый CPU может обращаться к памяти с максимальной пропускной способностью.
Конечно, возникает проблема когерентности памяти, но тот же Opteron достаточно “умён”, чтобы справиться с этой проблемой в конфигурации вплоть до четырёх процессоров. Как мы считаем, Intel не интегрировала контроллер памяти по двум причинам. Во-первых, никто не будет вносить изменения, если они не помогают зарабатывать деньги. Во-вторых, не забывайте бизнес чипсетов, которым Intel тоже занимается. Перенос контроллера памяти на процессор позволил бы убрать выгодные “галочки” у платформ Intel: совместимость, последовательность и набор функций, которые доступны эксклюзивно для платформ Intel (подумайте об I/O AT).
А что, если интегрировать контроллер памяти?
По причинам, сказанным выше, контроллер памяти рано или поздно придётся перенести на процессор. Добавление большого кэша, конечно, помогает, но если у вас работают четыре или больше процессорных ядер, необходимо гарантировать, что они не будут испытывать недостаток данных. Действительно, кому нужны многополосные магистрали, если заезд и выезд на них осуществляется по двум полосам?
Кроме того, 45- и 32-нм техпроцесс позволит разместить контроллер памяти на кристалле процессора с минимальными накладными издержками. Так что в будущем вполне можно ожидать, что Intel перенесёт контроллер памяти на процессор. Конечно, многие укажут на то, что интеграция контроллера памяти на процессоры AMD произошла ещё в 2003 году. Что ж, читайте дальше. У подобного шага есть своя причина, которую нам стоит пояснить.
Intel боится “солнца”?
Основой для анализа Intel послужил серверный процессор Sun Niagara (UltraSPARC T1). Он производится по 90-нм технологии, имеет один кристалл и восемь ядер, работает на 1,2 ГГц, даёт по четыре потока на ядро, использует четыре кэша L2 (3 Мбайт), доступ к которым осуществляется через crossbar-коммутатор, поддерживает четыре двухканальных интерфейса памяти DDR2-400. И состоит из 279 миллионов транзисторов. Размер ядра составляет 379 мм². И добавьте к этому низкое энергопотребление – 72 Вт. Да, этот продукт представляет собой серьёзную угрозу.
Как мы предполагаем, процессор Niagara примерно в два раза быстрее двухпроцессорной конфигурации Intel на двуядерных Woodcrest (восемь 1,2-ГГц ядер против четырёх 3-ГГц ядер). По анализу конкурента Intel, будущие 65- и 45-версии процессоров типа Niagara могут удваивать число потоков на ядро и размер кэша L2 с каждым поколением, параллельно с этим переходя на новые технологии памяти. Intel хочет к этому подготовиться, считая, что хорошо структурированный многоядерный подход с “умным” кэшем L3 поможет обойти Sun.
Keifer: 32 ядра в 8 узлах
Наверное, самым главным оружием в арсенале Intel можно считать высокий уровень производства и прогресс в этом отношении. Уже почти год Intel использует 65-нм техпроцесс, а AMD и Sun всё ещё находятся в состоянии перехода. Если предположить, что Intel раньше перейдёт на 45 и 32 нм, то компания может выпустить процессор с большим числом ядер и кэшем, чем конкурент.
Слайд на первой странице статьи показывает: переход с восьми на 16 ядер, как предполагает Intel, даст 50% прирост производительности. Проект Keifer, который будет основываться на базе полного редизайна, сразу же получив 32 ядра, в 2010 году может дать 100% прирост производительности по сравнению с 16-ядерным процессором.
Причиной подобных оптимистических прогнозов является модульный дизайн, включающий восемь рабочих узлов (node), каждое из которых несёт общий 3-Мбайт кэш L3 (24 Мбайт в сумме) и имеет четыре процессорных ядра с общим кэшем L2 512 кбайт. Для быстрой связи между узлами используется кольцо, наподобие подсистемы памяти, реализованной в ATi Radeon X1900.
Каждый узел Keifer несёт четыре ядра с кэшем L1 32 кбайт для данных и 32 кбайт для инструкций, а также с 512 кбайт кэша L2 каждое. Ограничение объёма кэша L2 позволит получить более высокую производительность, чем меньшее количество ядер с большими кэшами.
Каждый узел с контроллером памяти
Давайте обсудим встроенный контроллер памяти. Если представить себе 32 ядра на чип, то придётся как-то реализовывать логику памяти, чтобы она не создавала “узких мест”. И общий многоканальный контроллер DDR с высокой пропускной способностью здесь будет не лучшим вариантом. Другой подход: по выделенному контроллеру памяти на ядро, что просто технически невозможно при таком их количестве. Промежуточным решением станет по контроллеру памяти на узел. Об этом думает и Intel.
Каждый узел получит восемь интерфейсов FBD2-1066 на 12,8 Гбайт/с, что даст суммарную пропускную способность 102,4 Гбайт/с (по текущей информации Intel). Четыре ядра с общим контроллером памяти – вполне разумный компромисс. А кольцевая шина должна обеспечить достаточную пропускную способность для связи между узлами.
Подобный модульный подход не только многообещающ с точки зрения производительности. Он также хорош и с позиции бизнеса. Процессоры с дефектными ядрами можно превращать в модели с меньшим числом узлов или меньшим числом ядер на узел. Кремний с дефектами в области кэша L3 можно превращать в модели с меньшим количеством кэша L3 и т.д.
Будут ли использоваться все восемь контроллеров памяти, пусть решает потребитель, но уже понятно, что подобный однопроцессорный 32-ядерный сервер всего с восемью модулями памяти станет впечатляюще дешёвым и скоростным решением.
Заключение
Мы не можем быть точно уверены, как давно проект Keifer уже существует в недрах Intel, но точно не менее полугода. В то же время, по некоторым слухам, этот проект уже закрыт. Документы, которые мы получили из закрытых источников, датируются от марта до мая 2006. Но информация очень интересная, поскольку она позволяет узнать, в каком направлении будет двигаться Intel в ближайшие годы, когда настанет время заменять Core. К тому же, как видим, стратегия развития будущих процессоров выбирается аналитически, за несколько лет. И она тесно связана с доступными технологиями производства.