Жар холодных чисел…
Любая вычислительная операция, произведенная с использованием полупроводникового устройства, вызывает в той или иной мере повышение его температуры, то есть порождает тепло, или «Жар холодных числ», как сказал когда-то Александр Блок, хотя и имел в виду нечто совсем другое.
Тепловыделение всегда было одной из наиболее существенных проблем при работе полупроводниковых устройств любой логики и размера, причем с каждым годом эта проблема становится все более актуальной. Как же с ней бороться?
Великий маг и престидижитатор Кристобаль Хозевич Хунта из фантастической повести братьев Стругацких «Понедельник начинается в субботу» принципиально занимался решением только тех задач, которые не имели решения, поскольку все остальные задачи считал недостойными себя. Без сомнения, он с удовольствием занялся бы и решением задачи снижения тепловыделения на современном процессоре.
Подчиняясь неумолимому закону Мура, с каждым годом транзисторы становятся все меньше, а, значит, электронам приходится передвигаться по все более узким переходам, все более «энергично» сталкиваясь с атомами вещества и тем способствуя выделению все большего тепла. Чем больше транзисторов размещается на единице площади, тем больше мощности они потребляют и, соответственно, выделяют энергии. Плотность размещения транзисторов в современных чипах достигает миллионов единиц на квадратный миллиметр. Например, у 90-нанометрового ядра процессора Intel® Pentium® 4 (Prescott) на площади 112 мм2 размещено около 125 млн транзисторов!
Еще в относительно благополучном, с точки зрения тепловыделения, 2001 году Патрик Гелсингер, являвшийся в то время главным директором корпорации Intel по технологиям, заметил: «Если мы будем продолжать использовать современные методы разработки процессоров, то к 2010 году процессоры будут вырабатывать больше тепла на квадратный миллиметр, чем ядерный реактор». По его убеждению, решить эту проблему способны лишь совершенно новые, революционные методы.
Мы расскажем о нескольких направлениях исследований, которые ведутся сегодня в корпорации Intel в надежде решить «вечную» проблему.
«Материальный» вопрос
Самая простая и очевидная мысль – попробовать изменить материалы, используемые при производстве микропроцессоров. В исследовательских лабораториях Intel создаются новые материалы, призванные заменить те, что применяются при производстве полупроводниковых компонентов уже более 30 лет. Так, уже анонсированы транзисторы Intel, разработанные с использованием нового диэлектрика затвора с высоким коэффициентом диэлектрической проницаемости (high-k диэлектрик) и новых сплавов для производства самих затворов транзисторов (metal gate). Напомним, что в данном случае затвор представляет собой электрод транзистора, управляющий его «включением» и «выключением», а диэлектрик затвора - это тонкая изоляционная пленка под затвором. В совокупности новые материалы позволяют радикально снизить утечки тока, порождающие нежелательное тепловыделение. Не будем забывать, что токи утечки возрастают экспоненциально при переходе с 90-нанометрового на 65-нанометровый технологический процесс по сравнению с переходом от 130- к 90-нм технологиям!
По данным корпорации Intel, новый диэлектрик позволяет снизить токи утечки более чем в 100 раз по сравнению с традиционным диоксидом кремния. Сочетание нового диэлектрика и нового сплава для изготовления затвора даст возможность продлить действие закона Мура и технологическое лидерство корпорации Intel еще на 5-10 лет. Транзисторы на основе новых материалов рассматриваются в качестве одного из вариантов для изготовления будущих процессоров Intel уже в 2007 году, в рамках производственного процесса Intel с проектной нормой 45 нанометров.
Кроме того, исследователи Intel ведут разработки в области новых материалов непосредственно для транзисторов. Так, в феврале 2005 года инженеры Intel и компании QinetiQ продемонстрировали прототип транзистора на основе нового материала – антимонида индия (InSb), обладающего уникальными электронными свойствами.
Антимонид индия, двухкомпонентный полупроводник, начали исследовать около двух лет назад. Работающий в нем квантовый эффект «потенциальной ямы» позволяет в несколько раз снизить время и напряжение, необходимые для переключения транзистора. В результате, как показали исследования прототипов NMOS-транзисторов из антимонида индия, они обеспечивают трехкратное повышение производительности при сохранении того же уровня тепловыделения, что и у современных транзисторов, или такую же производительность, как у нынешних транзисторов, но при десятикратном снижении выделяемой мощности.
«Точечное» охлаждение
Исследователи из лаборатории изучения цепей корпорации Intel под руководством Рэма Кришнамурти (Ram Krishnamurty) идут немного иным путем - они, как мудрые медики, берутся не лечить болезнь, а устранить ее причину.
Рэм Кришнамурти и его сотрудники решили внимательнее разобраться, какие конкретно участки микропроцессора выделяют больше тепла, а какие - меньше. Для этого они использовали широко известную технологию «тепловидения». В результате специалисты обнаружили, что до пугающих любого пользователя 125 градусов Цельсия нагревается лишь небольшой участок процессора - ALU (Arithmetic and Logic Unit, элемент для логических и арифметических операций), тогда как вся остальная часть, включая кэш-память, нормально функционирует при вполне приемлемой для кристалла температуре не выше 65 градусов.
Если процессор выполняет простую пересылку данных из одного участка памяти в другой, то это не приводит к нагреву. А вот когда производятся сложные математические операции, процессор нагревается. Мало того, современные процессоры корпорации Intel используют не одно, а от четырех до 24 ALU. Поскольку все ALU пересылают данные друг другу, они располагаются поблизости друг от друга, что еще больше увеличивает плотность выделения тепла.
Чтобы снизить тепловыделение, исследователи под руководством Рэма Кришнамурти разработали новую схему ALU, которая позволяет повысить производительность процессора и снизить тепловыделение. «Новая технология позволяет в четыре раза снизить потери мощности на тепловое излучение», - утверждает Стив Павловский (Stephen S. Pawlowski), главный директор по технологиям и генеральный менеджер по архитектуре и планированию подразделения Digital Enterprise Group корпорации Intel. В группе Кришнамурти были достигнуты наивысшие показатели по быстродействию ALU в отрасли: 10 ГГц для 32-разрядного целочисленного ALU, изготовленного по технологии 130 нм, и 7 ГГц для 64-разрядного целочисленного ALU, изготовленного по технологии 90 нм. Эти показатели быстродействия в два-три раза выше, чем у других компаний. Новый элемент ALU решили назвать Nozomi - в честь высокоскоростного японского поезда.
«Мы осознали, что именно ALU являются “горячими точками” микропроцессора: они потребляют львиную долю мощности, и в будущем это будет только усугубляться, - говорит Кришнамурти. - 64-разрядный ALU типа Nozomi, протестированный в нашей лаборатории, потребляет всего-навсего 300 милливатт, что в два с лишним раза меньше, чем аналогичные устройства других производителей».
Каждый элемент
Итак, исследуются новые материалы, новые структуры ALU, но творческая мысль продолжает поиск путей для снижения тепловыделения и находит их буквально во всех элементах процессора.
Одна из таких идей получила воплощение в виде технологий Intel® SpeedStep® и Intel® Enhanced SpeedStep®, позволяющих снижать тактовую частоту процессора в зависимости от загрузки процессора. Первоначально данная технология использовалась лишь в процессорах для мобильных ПК, но затем перекочевала и в серверные процессоры семейства Intel® Xeon™, и в процессоры для настольных систем семейства Intel Pentium 4.
В другой технологии, получившей кодовое наименование Foxton, применяется более изощренная «идеология»: для принятия решения о повышении или понижении тактовой частоты процессор использует информацию не о своей загрузке, а о своем текущем тепловыделении. При этом технология Foxton позволяет процессору динамически изменять не только свою частоту, но и напряжение питания. Процессор снабжается датчиками текущего напряжения питания, энергопотребления и температуры. Основываясь на этих данных, процессор в реальном времени вычисляет собственное тепловыделение. Если оно оказывается выше или ниже некоей требуемой величины, то логика ЦПУ принимает решение о соответствующем уменьшении либо увеличении напряжения питания. Частота же процессора всегда определяется как максимально возможная для текущей величины напряжения.
Еще одна интеллектуальная технология снижения энерговыделения - Thermal Monitor - представляет собой некий симбиоз датчика температуры и технологии Intel SpeedStep. По достижении процессором определенной температуры начинает действовать механизм модуляции тактовой частоты: на определенное время большинство вычислительных узлов процессора циклически отключается/включается, пока не будет восстановлена приемлемая температура. В моменты отключения узлов выделяемая мощность минимальна, что и позволяет процессору «остыть».
Наконец, технология Demand Based Switching позволяет управлять частотой вращения вентилятора: когда нет необходимости в его работе, он снижает обороты и тем самым также экономит энергию.
Для борьбы с лишним теплом используется буквально каждая возможность. Например, инженеры устранили соединительные спайки между чипом и разъемом, куда он вставлялся. Это уменьшило толщину устройства в целом и позволило снизить напряжение питания, а с ним и энерговыделение.
Еще одна перспективная технология предполагает использование динамически «спящих» транзисторов (Dynamic Sleep Transistor) и будет использоваться в чипах, изготовленных по технологии 65 нм. Суть ее состоит в том, что большие блоки транзисторов в кэш-памяти процессора могут полностью отключаться во время «простоя» и заметно снижать энергопотребление.
Многоядерные процессоры Intel
Корпорация Intel уже давно работает над концепцией параллелизма и аппаратными средствами реализации многопоточности. Одно из первых открытых обсуждений этой темы нашло отражение в статье, написанной в 1989 году «архитекторами» Intel Пэтом Гелсингером, Паоло Гарджини, Герхардом Паркером и Альбертом Ю (www.intel.com/research/silicon/ieee/circa2000.pdf). Возможность реализации многопоточности открывает перед разработчиками весьма привлекательные перспективы по увеличению производительности, масштабируемости и функциональной гибкости устройств, и в то же время позволяет существенно снизить их термические параметры.
Сегодня Intel налаживает выпуск многоядерных процессоров, в которых содержится два или более полнофункциональных ядра ЦПУ, благодаря чему один процессор может одновременно выполнять несколько потоков программных инструкций. В сочетании с технологией Нyper-Threading, позволяющей операционной системе «видеть» один физический процессор как два логических, процессоры семейства Intel® Pentium® Extreme Edition могут обрабатывать до четырех программных потоков одновременно, максимально эффективно используя имеющиеся в наличии ресурсы. При этом увеличение количества ядер – это еще и эффективный способ решения проблемы тепловыделения.
Поскольку частота процессора примерно пропорциональна напряжению питания, а активная мощность – квадрату этого напряжения, то при переходе от одноядерной архитектуры процессора к двухъядерной можно сохранить тот же уровень производительности, снизив частоту каждого из процессоров (читай – напряжение на нем) вдвое. При этом суммарное тепловыделение процессора снизится в четыре раза, а плотность выделяемой мощности – и того больше. В реальности, конечно же, все обстоит немного сложнее, но порядок цифр - именно такой.
Можно действовать по-другому. Если взять ядро в два раза меньшее по линейным размерам с пропорционально уменьшенной производительностью (тоже в 2 раза), то на площади одного большого кристалла можно будет разместить четыре маленьких ядра. Потребляемая мощность у подобного четырехъядерного процессора будет такая же, как и у их большого собрата, а производительность – в два раза больше!
Кроме того, общее энергопотребление многоядерного процессора может быть снижено за счет гибкого и независимого управления мощностью, потребляемой каждым из потоков. Переброс процессов из одного ядра в другое можно использовать для распределения выделяемой энергии по большей площади, что снижает вероятность локальных перегревов.
Не менее эффективно снижает энергопотребление и использование специальных ядер, занятых решением конкретных задач, таких как кодировка видео, работа с графикой, распознавание речи. Тепловыделение специализированного ядра может составлять единицы ватт, тогда как для решения аналогичной задачи процессором общего назначения потребовалось бы 50-75 Вт.