Интел представляет 80-ядерные процессоры
Процессор, объединивший 80 ядер, обладающий производительностью 1 терафлоп - это уже не фантастика, а реальность.
Компания Интел представила свои новые достижения на международной конференции полупроводниковых схем ISSCC. Обычно Интел проводила подобные презентации в последний день своего форума для разработчиков, но на этот раз компания отказалась от собственных традиций. Основной темой стал проект, связанный с высокопроизводительными технологиями, в которых производительность процессоров измеряется в числах с приставкой тера. Перед обсуждением самих процессоров стоит рассмотреть основы технологий, получивших от разработчиков Интел название технологий тера-масштаба.
Иллюстрация демонстрирует, что производительность на следующем этапе развития технологий будет измеряться в тера-флопсах, а объемы данных - в терабайтах.
Решение тера-проблем
На весеннем форуме 2005 года Интел отметила очень серьезную проблему многоядерных чипов, с которой их разработчики должны столкнуться уже в ближайшем будущем: не достаточная полоса пропускания шины памяти. Мы уже видим эти проблемы сегодня на примере одно-, двух- и четырех-ядерных процессоров х86. Все они имеют одинаковую полосу пропускания шины памяти. Проблема значительно усугубится, когда на одном чипе будет 8, 16, 32 и больше ядер.
Очевидным решением может являться увеличение шины FSB и шины памяти, работающих на высоких частотах, но это можно рассматривать только как временное решение. Предыдущий слайд демонстрирует, что шестиканальному контроллеру памяти в этом случае потребуется 1800 контактов. Это значительно усложнит проблемы разводки схем в таких чипах. Таким образом, простое расширение шины памяти и ее ускорение нельзя считать приемлемым вариантом решение проблемы, особенно при значительном увеличении количества ядер в будущих микропроцессорах.
Что же можно сделать, когда скорость доступа процессора к данным памяти становится все меньше и меньше? Обычно в такой ситуации в иерархии уровней памяти появляется новый уровень. Каждый уровень в этой иерархии (регистры, кэши L1/L2/L3, системная память, жесткий диск) призван сгладить различие в скорости доступа данных между уровнями, непосредственно над и под ним. В таком случае очевидным решением было бы просто добавить больше памяти на ядро многоядерного процессора, возможно, добавив кэш L4.
Недостаток такого решения заключается в необходимости увеличения и без того большой площади кристалла многоядерного процессора, ведь объем памяти, необходимый нескольким десяткам процессорных ядер не ограничивается несколькими мегабайтами кэша. Вместо того, чтобы увеличивать площадь процессоров, Интел предлагает "двигаться в высоту". Подложка с множеством ядер будет просто одним слоем многослойного чипа. В таких слоях можно разместить разные виды памяти (DRAM, Flash или и то и другое). Так как площадь подложек при этом не увеличивается, Интел рассчитывает, что не увеличится и количество дефектов на одну подложку.
Такое расположение значительно увеличит пропускную способность при обмене данными с памятью, так как расположение прямо над процессорными ядрами позволяет просто увеличивать количество каналов, связывающих ядра и память. Задержки тоже при этом остаются минимальными, так как сигналы передаются в пределах слоев одного чипа.
Это не исключает необходимость системной памяти. Как предполагает Интел, в одном слое можно будет вместить 256 МБ памяти. Возможность использования нескольких таких слоев и резонное увеличение внешней шины памяти делают реальной возможность обеспечения десяткам процессорных ядер нормального доступа к данным.
Полтора года спустя Интел вернулась к этой теме, но с другой стороны, говоря об увеличении пропускной способности шин до скорости, измеряемой терабитами в секунду. Не смотря на то, что трехмерная структура процессора позволит ядрам на одной подложке иметь необходимый доступ к данным, процессор все еще должен связываться с внешним миром. Технология FSB, в особенности в представлении Интел, в течение последних нескольких лет практически не развивается. Мы говорим о процессорах с несколькими десятками ядер, и им нужны не только большие объемы памяти и высокая пропускная способность шины памяти, но и быстрые коммуникации с внешним миром.
Исследования Интел в кремниевой фотонике привели к созданию работающего гибридного кремниевого лазера, продемонстрированного на форуме компании для разработчиков в прошлом году. Идея заключается в том, что оптическая шина может обеспечить значительно более высокую скорость при уменьшенном энергопотреблении. Это идеально подходит для будущих многоядерных процессоров.
Представители Интел рассказывали о некоторых проектах тера-масштаба с трехмерной упаковкой чипов, предоставляющих терабайты пропускной способности, необходимые процессорам и кремний-фотонные терабиты внешней шины для соединения этих процессоров с остальными компонентами системы. Заключительной темой стало предоставление терафлоп производительности. Процессор, о котором шла речь, был чипом собственного дизайна Интел, объединившим 80 ядер на одной подложке. И сейчас Интел сообщила подробности о своем терафлоповом процессоре, его архитектуре, и месте, которое он занимает в планах компании на будущее.
Процессор
Как отмечено в названии процессора, Teraflops Research Chip - это исследовательский образец, и его нельзя назвать серийным продуктом. Интел пока не имеет планов даже по продаже этих чипов, но технологии, примененные при его создании, мы увидим в будущих процессорах компании уже довольно скоро.
Процессор Teraflops основан на техпроцессе 65 нм. На 275 квадратных миллиметрах площади подложки находится 100 миллионов транзисторов. Для сравнения, процессор Интел Core 2 Duo, тоже основанный на техпроцессе 65 нм, имеет 291 миллион транзисторов на подложке площадью 143 квадратных миллиметра. Причина, по которой процессор, больший по площади имеет значительно меньшее количество транзисторов заключается в минимальном объеме памяти. В то же время у Core 2 половину площади занимает кэш L2.
Teraflops состоит из 8 металлических слоев с медными связями. Этот процессор построен на одной подложке, объединившей 80 независимых процессорных ядер. Они размещены в виде прямоугольника 8 на 10. Одно ядро имеет площадь 3 квадратных миллиметра.
Чип использует упаковку LGA, аналогично Core 2 и Pentium 4, но с 1248 контактами. 343 из них используются для передачи сигналов, а остальные - это питание и земля.
Чип может работать на нескольких скоростях, в зависимости от рабочего напряжения, но минимальная тактовая частота необходимая, чтобы соответствовать названию чипа - это 3,13 ГГц при напряжении 1 В. При этой частоте и напряжении пиковая производительность чипа с 80 ядрами составляет 1 терафлоп, а энергопотребление достигает 98 Вт. При частоте 4 ГГц чип может достичь производительности 1,28 терафлоп. Напряжение и энергопотребление при этом составят 1,2 В и 181 Вт, соответственно. Самая низкая частота, на которой может работать чип - 1 ГГц, энергопотребление при этом - 11 Вт, а количество выполняемых операций с плавающей запятой может достигать 310 миллиардов в секунду.
Архитектура
Не смотря на довольно большую площадь подложки, отдельные ядра нового процессора имеют очень простую архитектуру. Это не архитектура х86, не смотря на то, что Интел отмечает, что одним из следующих шагов проекта является интеграция ядер х86. На высоком уровне каждое ядро состоит из блока обработки Processing Engine (PE), выполняющего все вычисления и пяти-портового роутера, обеспечивающего прохождение данных от одного ядра к другому.
Чтобы оставить структуру ядер максимально простой, они основаны на 96-битной архитектуре Very Long Instruction Woord (VLIW). Другой известный представитель этой архитектуры - процессоры Itanium, но между дизайнами этих процессоров больше нет почти ничего общего. Хоть эта архитектура и не распространена как архитектура ядер процессоров настольных компьютеров, но она не далека от специализированных систем. Количество приложений, которые можно будет запустить на компьютере с таким процессором, ограничено, и это добавляет проблем на уровне компиляции.
Конечно, использование VLIW добавило своих проблем, но Интел получила и фундаментальные преимущества, позволившие компании создать многоядерный процессор, не задумываясь о том, как получить высокую производительность.
Блок обработки имеет 3 КБ памяти для команд и 2 КБ для данных, 10-портовый файл регистров и два одноцикловых модуля одинарной точности для выполнения вычислений с плавающей запятой.
Не смотря на то, что сам чип может выполнять один триллион операций с плавающей запятой в секунду, не стоит очень удивляться таким большим числам, это не 128-битные операции, а операции одинарной точности. Каждое ядро имеет два 32-битных множественных регистра (FPMAC) для работы с плавающей запятой. Здесь нет других модулей обработки, так что все арифметические операции выполняются именно этими модулями. Это ограничивает применение высокой производительности в приложениях, но поддерживает идею, что основная цель этого чипа - не рекорды скорости, а разработка технологии, которая позволит в будущем создавать многоядерные процессоры. Задача разработчиков на данном этапе - объединение множества ядер в структуру, работающую как одно целое.
"Сеть"
Все 80 ядер полностью идентичны, что упростило дизайн чипа. Как мы уже отмечали, каждое ядро имеет два основных компонента: модуль обработки и роутер.
Роутер ядра используется для передачи данных и команд в сети между ядрами. Ядру при передаче данных нет необходимости работать с ними, оно может быть использовано просто как маршрутизатор. Модуль обработки ядра при этом может быть отключен от питания, в целях уменьшения энергопотребления.
Роутер каждого ядра имеет пять 39-битных портов, которые обеспечивают общую пропускную способность 80 ГБ/с (при работе процессора на частоте 4 ГГц). Только 0,34 мм^2 из площади ядра (3 мм^2) занимает роутер, что позволяет разместить 80 роутеров в одном чипе.
Четыре из пяти портов предназначены для связи с другими ядрами, как это показано на слайде:
Пятый порт предназначен для связи с памятью на других слоях. Подробнее об этом Интел обещает рассказать в будущем квартале.
Основное достижение Интел в этом чипе то, что вычислительный модуль может быть заменен на все что угодно, включая ядра х86 или ядра, предназначенные для каких-то специальных целей (DSP или модули аппаратного шифрования). Вместо 80 ядер легко представить процессор, например, с двенадцатью. Шесть из них могут иметь архитектуру х86, а оставшиеся шесть - могут быть ядрами, предназначенными для специальных задач, например, рендеринг, кодирование и т.п. Сеть роутеров, работающая с 80 ядрами, с таким же успехом может работать с любым количеством ядер.
Частоты и управление питанием
Современные микропроцессоры имеют еще одну проблему. Разработчикам очень трудно обеспечить появление частотного сигнала в одно и то же время во всех частях процессора, особенно, принимая во внимание увеличение рабочих частот и площади процессоров. Но это необходимо для нормальной работы процессора. Интел говорит, что обеспечение синхронизации тактовой частоты требует около 30% всей энергии, потребляемой процессором, так что, любая экономия, которой удастся добиться в этой области, будет довольно значительной.
Чип teraflop не обычен еще и тем, что все ядра независимы и частотный сигнал должен появляться одновременно только в пределах одного ядра площадью всего 3 мм^2, а не по всему чипу площадью 275 мм^2. Это позволило разработчикам не согласовывать по фазе тактовые частоты каждого отдельного процессора. Конечно, в такой конфигурации взаимодействие ядер между собой может немного замедлиться по сравнению с теоретически возможным, но большое энергосбережение позволяет пойти на эти небольшие потери. По ожиданиям Интел, для синхронизации тактовой частоты всему процессору при работе на 4 ГГц понадобится всего 2,2 Вт или 1,2% общего энергопотребления.
Если же мы представим сеть более сложных ядер, то синхронизация по частоте в этом случае потребует больше энергии, но увеличится и выигрыш от синхронизации только в пределах каждого ядра.
Управление питанием не единственная область в которой Интел пыталась выискивать возможности сокращения энергопотребления. Каждое ядро процессора поделено на 21 регион, которые могут выключаться независимо друг от друга в зависимости от вида выполняемых инструкций.
Каждый из пяти портов роутера тоже может отключаться независимо от других. Имея 80 ядер процессор также может перераспределять вычислительную нагрузку исходя из термических условий. Если часть ядер становится слишком горячей, включится другой набор ядер, чтобы избежать перегрева в отдельных частях процессора.
Конечно, за все это придется расплачиваться увеличением времени ожидания при включении компонентов процессора, но, как говорится, "красота требует жертв".
Заключение
Вполне вероятно, что новый чудо-процессор Интел, как многие другие технологии, и не превратится в реальный продукт. Утверждать можно и то, что нет какой-то магической логики в выбранном производителем количестве ядер. Скорее всего, число 80 определилось как максимальное количество ядер, которое компания смогла поместить на фиксированной площади. В то же время, процессор с производительностью, измеряющейся с приставкой тера- является переломным этапом в отрасли, даже с учетом того, что пока нет данных каких-либо тестов. Естественно, хотелось бы оценить новые технологии как по вычислительной мощности, так и с точки зрения рациональности новой сетевой архитектуры, технологий управления питанием, трехмерной упаковки памяти и т.п.
Интел заявляет, что следующим шагом в продолжении исследований станет появление трехмерных многослойных ядер. Эти заявления позволяют предположить, что компания уже добилась определенных успехов в этой области и вскоре представит свои результаты.
Что же касается массового выпуска многоядерных процессоров, стоит ожидать появления 8 или 16 ядерных чипов на основе ядер x86, предназначенных как для рядовых задач, так и для специализированных вычислительных компексов, и использующих технологию трехмерной упаковки памяти.
Через сколько лет или месяцев мы увидим описанные технологии в массовых продуктах? На этот вопрос Интел отвечает довольно большими для компьютерного мира сроками 5-10 лет. Именно столько времени необходимо компании, чтобы эти исследования дошли до этапа массового производства. К 2010 году Интел ожидает, что массовыми станут четырехядерные процессоры, а к 2015 - многоядерные, в которых мы и увидим технологии, представленные Интел сейчас. Исследования под знаком "тера" положили начало эре тера-масштабов в массовой компьютерной технике.
Источник: www.stolica.ru
|