Путеводитель по сайту

Multi-Core vs. Many-Core, или Зачем нужны многоядерные микропроцессоры?

English version Распечатать

***

***

 

***

Multi-Core vs. Many-Core, или Зачем нужны многоядерные микропроцессоры?

…в процессе развития количество ядер будет становиться всё больше и больше.

(Разработчики Intel)

 

 

Ещё core, да ещё core, да ещё много, много core!..

…Ещё совсем недавно мы не слышали и не ведали о многоядерных процессорах, а сегодня они агрессивно вытесняют одноядерные. Начался бум многоядерных процессоров, который пока – слегка! – сдерживают их сравнительно высокие цены. Но никто уже не сомневается, что будущее – именно за многоядерными процессорами!..

 

Что такое ядро процессора

В центре современного центрального микропроцессора (CPU – сокр. от англ. central processing unit – центральное вычислительное устройство) находится ядро (core) – кристалл кремния площадью примерно один квадратный сантиметр, на котором посредством микроскопических логических элементов реализована принципиальная схема процессора, так называемая архитектура (chip architecture).

 

Ядро связано с остальной частью чипа (называемой «упаковка», CPU Package) по технологии «флип-чип» (flip-chip, flip-chip bonding – перевернутое ядро, крепление методом перевернутого кристалла). Эта технология получила такое название, потому что обращённая наружу – видимая – часть ядра на самом деле является его «дном», – чтобы обеспечить прямой контакт с радиатором кулера для лучшей теплоотдачи. С обратной (невидимой) стороны находится сам «интерфейс» – соединение кристалла и упаковки. Соединение ядра процессора с упаковкой выполнено с помощью столбиковых выводов (Solder Bumps).

Ядро расположено на текстолитовой основе, по которой проходят контактные дорожки к «ножкам» (контактным площадкам), залито термическим интерфейсом и закрыто защитной металлической крышкой.

 

Что такое многоядерный процессор

Многоядерный процессор – это центральный микропроцессор, содержащий 2 и более вычислительных ядра на одном процессорном кристалле или в одном корпусе.

 

Для чего нужна многоядерность

Первый (естественно, одноядерный!) микропроцессор Intel 4004 был представлен 15 ноября 1971 г. корпорацией Intel. Он содержал 2300 транзисторов, работал на тактовой частоте 108 кГц и стоил $300.

Требования к вычислительной мощности центрального микропроцессора постоянно росли и продолжают расти. Но если раньше производителям процессоров приходилось постоянно подстраиваться под текущие насущные (вечно растущие!) запросы пользователей ПК, то теперь чипмейкеры идут с бо-о-о-льшим опережением!

 

Долгое время повышение производительности традиционных одноядерных процессоров в основном происходило за счет последовательного увеличения тактовой частоты (около 80% производительности процессора определяла именно тактовая частота) с одновременным увеличением количества транзисторов на одном кристалле. Однако дальнейшее повышение тактовой частоты (при тактовой частоте более 3,8 ГГц чипы попросту перегреваются!) упирается в ряд фундаментальных физических барьеров (поскольку технологический процесс почти вплотную приблизился к размерам атома: сегодня процессоры выпускаются по 45-нм технологии, а размеры атома кремния – приблизительно 0,543 нм):

• во-первых, с уменьшением размеров кристалла и с повышением тактовой частоты возрастает ток утечки транзисторов. Это ведет к повышению потребляемой мощности и увеличению выброса тепла;

• во-вторых, преимущества более высокой тактовой частоты частично сводятся на нет из-за задержек при обращении к памяти, так как время доступа к памяти не соответствует возрастающим тактовым частотам;

• в-третьих, для некоторых приложений традиционные последовательные архитектуры становятся неэффективными с возрастанием тактовой частоты из-за так называемого «фон-неймановского узкого места» – ограничения производительности в результате последовательного потока вычислений. При этом возрастают резистивно-емкостные задержки передачи сигналов, что является дополнительным узким местом, связанным с повышением тактовой частоты.

 

Применение многопроцессорных систем также не получило широкого распространения, так как требует сложных и дорогостоящих многопроцессорных материнских плат. Поэтому было решено добиваться дальнейшего повышения производительности микропроцессоров другими средствами. Самым эффективным направлением была признана концепция многопоточности, зародившаяся в мире суперкомпьютеров, – это одновременная параллельная обработка нескольких потоков команд.

 

Так в недрах компании Intel родилась Hyper-Threading Technology (HTT) – технология сверхпоточной обработки данных, которая позволяет процессору выполнять в одноядерном процессоре параллельно до четырех программных потоков одновременно. Hyper-threading значительно повышает эффективность выполнения ресурсоемких приложений (например, связанных с аудио- и видеоредактированием, 3D-моделированием), а также работу ОС в многозадачном режиме.

Процессор Pentium 4 с включенным Hyper-threading имеет одно физическое ядро, которое разделено на два логических, поэтому операционная система определяет его, как два разных процессора (вместо одного).

 

Hyper-threading фактически стала трамплином к созданию процессоров с двумя физическими ядрами на одном кристалле. В 2-ядерном чипе параллельно работают два ядра (два процессора!), которые при меньшей тактовой частоте обеспечивают большую производительность, поскольку параллельно (одновременно!) выполняются два независимых потока инструкций.

Способность процессора выполнять одновременно несколько программных потоков называется параллелизмом на уровне потоков (TLPthread-level parallelism). Необходимость в TLP зависит от конкретной ситуации (в некоторых случаях она просто бесполезна!).

 

Основные проблемы создания многоядерных процессоров

• каждое ядро процессора должно быть независимым, – с независимым энергопотреблением и управляемой мощностью;

• рынок программного обеспечения должен быть обеспечен программами, способными эффективно разбивать алгоритм ветвления команд на четное (для процессоров с четным количеством ядер) или на нечётное (для процессоров с нечётным количеством ядер) количество потоков;

• …

 

Преимущества многоядерных процессоров

• возможность распределять работу программ, например, основных задач приложений и фоновых задач операционной системы, по нескольким ядрам;

• увеличение скорости работы программ;

• процессы, требующие интенсивных вычислений, протекают намного быстрее;

• более эффективное использование требовательных к вычислительным ресурсам мультимедийных приложений (например, видеоредакторов);

• снижение энергопотребления;

• работа пользователя ПК становится более комфортной;

• …

 

Недостатки многоядерных процессоров

• возросшая себестоимость производства многоядерных процессоров (по сравнению с одноядерными) заставляет чипмейкеров увеличивать их стоимость, а это отчасти сдерживает спрос;

• так как с оперативной памятью одновременно работают сразу два и более ядра, необходимо «научить» их работать без конфликтов;

• возросшее энергопотребление требует применения мощных схем питания;

• требуется более мощная система охлаждения;

• количество оптимизированного под многоядерность программного обеспечения ничтожно мало (большинство программ рассчитаны на работу в классическом одноядерном режиме, поэтому они просто не могут задействовать вычислительную мощь дополнительных ядер);

• операционные системы, поддерживающие многоядерные процессоры (например, Windows XP SP2 и выше) используют вычислительные ресурсы дополнительных ядер для собственных системных нужд;

• …

 

Следует признать, что в настоящее время многоядерные процессоры используются крайне неэффективно. Кроме того, на практике n-ядерные процессоры не производят вычисления в n раз быстрее одноядерных: хотя прирост быстродействия и оказывается значительным, но при этом он во многом зависит от типа приложения. У программ, которые не рассчитаны на работу с многоядерными процессорами, быстродействие увеличивается всего на 5%. А вот оптимизированные под многоядерные процессоры программы работают быстрее уже на 50%.

 

Ядер, как и памяти, много не бывает!..

Лидеры процессоростроения, компании Intel и AMD, считают, что будущее за параллельными вычислениями и продолжают последовательно наращивать количество ядер в процессорах.

 

Появление многоядерных процессоров стимулирует появление операционных систем и прикладного программного обеспечения, поддерживающего многоядерность.

 

***

Мнения чипмейкеров о многоядерности

• По сообщению пресс-службы AMD, на сегодня рынок 4-ядерных процессоров составляет не более 2% от общего объема. Очевидно, что для современного покупателя приобретение 4-ядерного процессора для домашних нужд пока почти не имеет смысла по многим причинам. Во-первых, на сегодня практически нет программ, способных эффективно использовать преимущества 4-х одновременно работающих потоков; во-вторых, производители ПК позиционируют 4-ядерные процессоры, как Hi-End-решения, добавляя к оснастке ПК самые современные видеокарты и объемные жесткие диски, – а это в конечном счете ещё больше увеличивает стоимость и без того недешёвых ПК

 

• Разработчики Intel говорят: «…в процессе развития количество ядер будет становиться всё больше и больше…».

 

***

Что ждёт нас в будущем

• В корпорации Intel уже говорят не о «Мультиядерности» (Multi-Core) процессоров, как это делается в отношении 2-, 4-, 8-, 16- или даже 32-ядерных решений, а о «Многоядерности» (Many-Core), подразумевая совершенно новую архитектурную макроструктуру чипа, сравнимую (но не схожую) с архитектурой процессора Cell.

Структура такого Many-Core-чипа подразумевает работу с тем же набором инструкций, но с помощью мощного центрального ядра или нескольких мощных CPU, «окруженных» множеством вспомогательных ядер, что поможет более эффективно обрабатывать сложные мультимедийные приложения в многопоточном режиме. Кроме ядер «общего назначения», процессоры Intel будут обладать также специализированными ядрами для выполнения различных классов задач – таких, как графика, алгоритмы распознавания речи, обработка коммуникационных протоколов.

 

Именно такую архитектуру представил Джастин Раттнер (Justin R. Rattner), руководитель сектора Corporate Technology Group Intel, на пресс-конференции в Токио. По его словам, таких вспомогательных ядер в новом многоядерном процессоре может насчитываться несколько дюжин. В отличие от ориентации на большие, энергоемкие вычислительные ядра с большой теплоотдачей, многоядерные кристаллы Intel будут активизировать только те ядра, которые необходимы для выполнения текущей задачи, тогда как остальные ядра будут отключены. Это позволит кристаллу потреблять ровно столько электроэнергии, сколько нужно в данный момент времени.

 

• В июле 2008 г. корпорация Intel сообщила, что рассматривает возможность интеграции в один процессор нескольких десятков и даже тысяч вычислительных ядер. Ведущий инженер компании Энвар Галум (Anwar Ghuloum) написал в своем блоге: «В конечном счете, я рекомендую воспользоваться следующим моим советом… разработчики уже сейчас должны начать думать о десятках, сотнях и тысячах ядер». По его словам, в настоящий момент Intel изучает технологии, которые смогли бы масштабировать вычисления «на то количество ядер, которые мы пока не продаём».

 

По мнению Галума, в конечном счете успех многоядерных систем будет зависеть от разработчиков, которым, вероятно, придется изменить языки программирования и переписать все существующие библиотеки.

 

• Преимущества многоядерности (или параллелизма) описаны в статье «Платформа 2015: развитие процессоров и платформ Intel® в ближайшие 10 лет». Авторы статьи сообщают, что Intel в течение нескольких следующих лет планирует выпустить процессоры, которые будут содержать множество ядер – в некоторых случаях сотни. По словам специалистов, архитектура с поддержкой многопроцессорной обработки на уровне кристалла (CMP Chip-level multiprocessing – многопроцессорная обработка на уровне кристалла) является будущим микропроцессоров, так как «позволяет достичь высокой производительности и в то же время обеспечить эффективное управление питанием и эффективный режим охлаждения».

 

 

Примечания

1. Кодовое название (обозначение, наименование) – это название ядра процессора.

2. Линейка – это модельный ряд процессоров одной серии. В рамках одной линейки процессоры могут значительно отличаться друг от друга по целому ряду параметров.

3. Чип (англ. chip) – кристалл; микросхема.

4. Под технологическим процессом (техпроцесс, технология, технология производства микропроцессоров) подразумевается размер затвора транзистора. Например, когда мы говорим – 32-нм технологический процесс, – это означает, что размер затвора транзистора составляет 32 нанометра.

5. Канал – это область транзистора, по которой проходит управляемый ток основных носителей заряда.

Исток – это электрод транзистора, из которого в канал входят основные носители заряда.

Сток – это электрод транзистора, через который из канала уходят основные носители заряда.

Затвор – это электрод транзистора, служащий для регулирования поперечного сечения канала.

6. Фактически, транзисторы – это миниатюрные переключатели, с помощью которых реализуются те самые «нули» и «единицы», составляющие основу цифровой информации. Затвор предназначен для включения и выключения транзистора. Во включенном состоянии транзистор пропускает ток, а в выключенном – нет. Диэлектрик затвора расположен под электродом затвора. Он предназначен для изоляции затвора, когда ток проходит через транзистор.

Более 40 лет для изготовления диэлектриков затвора транзистора использовался диоксид кремния (благодаря легкости его применения в массовом производстве и возможности постоянного повышения производительности транзисторов за счет уменьшения толщины слоя диэлектрика). Специалистам Intel удалось уменьшить толщину слоя диэлектрика до 1,2 нм (что равнозначно всего 5 атомарным слоям!) – такой показатель был достигнут в 65-нанометровой технологии производства.

Однако дальнейшее уменьшение толщины слоя диэлектрика приводит к усилению тока утечки через диэлектрик, в результате чего растут потери тока и тепловыделение. Рост тока утечки через затвор транзистора по мере уменьшения толщины слоя диэлектрика из диоксида кремния является одним из самых труднопреодолимых технических препятствий на пути следования закону Мура. Для решения этой принципиальной проблемы корпорация Intel заменила диоксид кремния в диэлектрике затвора на тонкий слой из материала high-k на основе гафния. Это позволило уменьшить ток утечки более чем в 10 раз по сравнению с диоксидом кремния. Материал high-k диэлектрика затвора несовместим с традиционными кремниевыми электродами затвора, поэтому в качестве второй составляющей «рецепта» Intel для ее новых транзисторов, создаваемых на основе 45-нанометрового техпроцесса, стала разработка электродов с применением новых металлических материалов. Для изготовления электродов затвора транзистора применяется комбинация различных металлических материалов.

 

Валерий Сидоров

 

 

***

Раскрывая тайны Windows…

Дело о…

Статьи о ПК и PC

Вирусы vs. антивирусы

Apple = iСтив + iPod + iPhone + iPad + iTunes + iMac + …

Apps for iPad, iPhone, iPod touch…

 

 

 

 

 

Путеводитель по сайту

18+

© Сидоров В.В. 2016. All rights reserved.

Авторство всех материалов сайта http://netler.ru принадлежит Валерию Сидорову и охраняется Законом о защите авторских прав. Использование материалов сайта в offline-изданиях без согласования с автором категорически запрещается. В online-изданиях разрешается использовать материалы сайта при условии сохранения имени и фамилии автора и активной гиперссылки на сайт http://netler.ru.