Intel продемонстрировала то, что в 2015 году должно стать обыденностью
Когда пару лет назад в Intel объявили, что «тера-эра» (в том числе достижение производительности микросхем уровня 1 TFLOPS) наступит в 2015 году, это воспринималось как некоторое отдаленно-сказочное будущее. На международной конференции по твердотельной электронике ISSCC-2007 в Сан-Франциско представители корпорации показали, как она воплотит сказку в быль, продемонстрировав экспериментальную микросхему, производительность которой превосходит 1 TFLOPS.
Над реализацией этого исследовательского проекта бригада из 30 инженеров трудилась 18 месяцев. Они перевыполнили исходную задачу — уложиться в 100 Вт энергопотребления: на частоте 3,16 ГГц эта микросхема потребляет всего 64 Вт, поэтому удалось достигнуть еще одного рекордного показателя — 0 16 GFLOPS/Вт.
Микросхема TRC (Tera Research Chip) является экспериментальной, она предназначена для проведения исследований многоядерных микросхем с большим числом ядер, их межсоединения, оптимизации энергопотребления и т. д. Состоит она из 80 ядер, расположенных в виде двухмерной решетки 8х10. Каждое ядро включает в себя «процессорный движок» (Processor Engine, PE), связанный с пятипортовым маршрутизатором, осу?ществляющим передачу пакетов между ядрами. Четыре порта маршрутизатора отвечают каналам к ближайшим соседям данного ядра, а пятый, в настоящее время не задействованный, будет обеспечивать коммуникации с многослойной («стекируемой») 3D-памятью SRAM, которая будет располагаться над основной микросхемой.
Маршрутизатор ядра является фактически неблокирующимся координатным коммутатором с полной пропускной способностью 80 Гбайт/с. По аналогии с «системой на кристалле» разработчики Intel характеризуют свою разработку как «сеть на кристалле» (Network-on-Chip, NoC).
Каждый «процессорный движок» имеет два независимых устройства с плавающей точкой FPMAC; 3 Кбайт однотактной памяти команд и 2 Кбайт однотактной памяти данных, а также блок интерфейса с маршрутизатором. Последний осуществляет инкапсуляцию пакетов при обменах данными между РЕ и маршрутизатором. Каждый «движок» может посылать (и получать) пакеты данных и пакеты команд в любой другой PE-микросхемы.
Команды, выполняемые РЕ, отвечают архитектуре сверхбольшого командного слова (VLIW), они имеют длину 96 бит, обеспечивая возможность выполнения до восьми операций за такт. Архитектура допускает планирование выполнения операций в оба блока FPMAC, одновременные операции загрузки/записи в память данных, посылки и получения пакетов из сети, операции управления программой и динамического «засыпания».
Файл регистров имеет десять портов (шесть для чтения, четыре для записи). Устройства FPMAC осуществляют операции с плавающей точкой одинарной точности (32 разряда в соответствии со стандартом IEEE-754) типа «умножить и сложить». Они являются девятистадийными конвейерами, поэтому каждое устройство выдает два результата с плавающей точкой за такт, а весь комплекс, составляющий РЕ, — четыре результата за такт.
При «базовой» частоте 4 ГГц (видимо, такая частота была заложена разработчиками в качестве начального приближения) этому отвечает пиковая производительность РЕ, равная 16 GFLOPS, а всей микросхемы TRC — 1,28 TFLOPS.
Рекорды TRC
TRC изготовлена на фабрике Intel в Ирландии с применением 65-нанометровой технологии (сколько выпущено экземпляров, неизвестно). Она упакована в 1248-контактный LGA-корпус, площадь микросхемы — 275 кв. мм, на которых расположено 100 млн. транзисторов. Ядра имеют размер 1,5х2 мм.
В микросхеме использованы интересные технические новинки. Например, система распространения сигнала часов между ядрами обеспечивает точность в 3 пикосекунды при максимальном пробеге сигнала в 26 мм. Для обеспечения эффективного понижения энергопотребления каждое ядро индивидуально может переходить в состояние сна. При этом «засыпать» может 90% логики FPMAC и 74% логики PE.
В зависимости от используемой тактовой частоты TRC может «переводить» в тепло от 62 до 265 Вт, поэтому, по некоторым данным, сейчас применяется жидкостное охлаждение. Предполагается, что в промышленной версии TRC тепловыделение будет уменьшено, и охлаждаться она будет обычными вентиляторами.
Собственно, показатель 1 TFLOPS был превзойден на частоте TRC в 3,16 ГГц. В Intel приводят оценки производительности на поблочно-матричных операциях из пакета LAPACK. Абсолютный же рекорд производительности относится к частоте 5,6 ГГц (1,8 TFLOPS). Правда, при этом производительность в расчете на 1 Вт оказывается несколько ниже, чем при 3,16 ГГц.
Возможно, Intel будет выпускать подобные микросхемы как с ядрами общего назначения (а не исключительно с плавающей точкой, как в TRC), так и со специализированными микросхемами (о последнем говорилось еще два года назад). Много крайне интересных особенностей остаются неясными — например, как будет реализована связь с микросхемой памяти SRAM, которая будет располагаться вертикально над TRC и обеспечивать, по некоторым данным, 2 Мбайт памяти в расчете на каждое ядро. Быть может, соответствующие каналы будут использовать уже оптические технологии?
Intel справедливо отмечает, что теперь центр тяжести должен смещаться в сторону программирования — нужна операционная система (хотя на ccNUMA-системах ОС Linux умеет работать и с большим числом процессоров), нужны хорошо распараллеливаемые приложения. В общем, сложной работы программистам прибавится.