КАТАЛОГ ТОВАРОВ

Срок доставки товара в течении 1-3 дней !!!

 

ПОЛЬЗОВАТЕЛЬ
КОРЗИНА

Как работает многоядерный процессор. Самый многоядерный процессор


12-ядерный процессор в десктопе / Процессоры и память

В недалёком прошлом основной характеристикой центральных процессоров для настольных компьютеров, адекватно отражающей их уровень производительности, была тактовая частота. Некоторые наши читатели наверняка даже помнят те времена, когда именно эта величина, а не абстрактный процессорный номер занимала центральное место в маркировке CPU. Однако с тех пор всё сильно изменилось. Оказалось, что увеличение частоты процессоров выше 3-4 ГГц вызывает серьёзные проблемы с тепловыделением, и потому прогресс в частоте прекратился, вместо этого производители начали увеличивать количество ядер. Высокая производительность в таких чипах обеспечивается не столько способностью выполнять инструкции с высоким темпом, сколько наличием в процессоре нескольких равноправных вычислительных ядер, предлагающих возможности параллельной обработки.

Однако и развитие концепции многоядерности требует серьёзных технологических усилий — увеличение количества ядер приводит к кратному росту транзисторного бюджета и потому оказывается возможным лишь во время серьёзных прорывов в миниатюризации норм производственного процесса. Так что сегодня мы пришли к ситуации, когда разница в скорости работы флагманских процессоров разных поколений стала определяться по большей части лишь изменениями в их микроархитектуре. Действительно, никакого ощутимого прогресса в частоте мы не видим примерно с 2003 года, а количество ядер у старших моделей десктопных процессоров не растёт где-то с 2009-го. Если же к этому прибавить тот факт, что новые микроархитектуры в последнее время делают лишь робкие шаги в сторону улучшения удельной производительности, то вырисовывается достаточно унылая картина: состояние рынка процессоров для настольных систем можно охарактеризовать как явно застойное.

К счастью, понимают это не только потребители, но и сами разработчики. Поэтому, например, последний высокопроизводительный CPU компании Intel, Core i7-5960X, получил не стандартные по меркам продуктов такого класса шесть вычислительных ядер, а уже целых восемь. В ряде случаев это действительно позволило поднять быстродействие десктопных систем верхней ценовой категории на принципиально новый уровень. Однако расширение набора вычислительных ресурсов на одну треть некоторым энтузиастам может показаться недостаточной мерой, тем более что на самом деле Intel умеет делать чипы и со значительно большим числом ядер. В десктопы они не попадают, но для серверного рынка у компании есть предложения с 10, 12, 14, 15, а с первого квартала этого года – с 16 и даже с 18 ядрами. Поэтому совершенно неудивительно, что существует небольшая прослойка пользователей, которая не обращает внимания на формальное позиционирование и строит свои настольные компьютеры на базе таких монструозных многоядерных процессоров. Более того, конфигурации с подобными чипами существуют среди серийно выпускаемых компьютеров: например, 12-ядерным CPU класса Xeon может быть укомплектован один из вариантов рабочей станции Mac Pro.

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

Учитывая сказанное, мы решили провести эксперимент и посмотреть, доросли ли общеупотребительные десктопные нагрузки до возможностей, которые им могут предоставить современные процессоры с числом ядер больше восьми. По случаю в нашей редакции оказался 12-ядерный процессор Xeon E5 v3 нового поколения, основанный на дизайне Haswell-EP. Мы решили попробовать собрать с его участием настольную систему, похожую на флагманские платформы со старшими Haswell-E, и посмотреть на практике, будет ли от этого какой-нибудь прок.

⇡#Процессорные ядра и масштабируемость производительности

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

Впрочем, даже в случае приложений с неограниченной многопоточностью прирост производительности может оказаться не впечатляющим. Дело в том, что любые, даже самые хорошо распараллеливаемые алгоритмы содержат части, которые нуждаются в последовательном выполнении. Этот фактор встаёт на пути кратной масштабируемости быстродействия и описывается в так называемом законе Амдала. Сформулированный американским математиком Джином Амдалом ещё в 1969 году принцип гласит: «В случае, когда задача разделяется на несколько частей, суммарное время её выполнения на параллельной системе не может быть меньше времени выполнения самого длинного фрагмента». И это значит, что ускорение выполнения программы за счёт распараллеливания на множестве процессорных ядер ограничено временем, необходимым для выполнения её последовательных связанных частей.

Идею закона Амдала проще всего пояснить практическим примером: если в программе идеальному распараллеливанию поддаётся 90 процентов кода, а оставшиеся 10 процентов могут выполняться лишь в однопоточном режиме, то максимально достижимо только десятикратное увеличение скорости работы программы — вне зависимости от того, насколько большим количеством ядер располагает процессор. Именно поэтому многоядерные архитектуры эффективнее всего использовать в тех ситуациях, когда доля последовательного кода минимальна. При этом увеличение тактовой частоты остаётся более действенным и универсальным способом улучшения быстродействия.

На следующей иллюстрации мы приводим графики теоретически рассчитанного по закону Амдала ускорения выполнения программ с долями параллельного кода от 50 до 95 процентов для равночастотных процессоров с числом ядер от 1 до 20.

Глядя на график, нетрудно уловить важную закономерность. С ростом количества вычислительных ядер в процессоре получаемый за счёт этого прирост производительности постепенно снижается. То есть если, например, шестиядерный процессор позволяет получить четырёхкратное улучшение быстродействия по сравнению с одноядерным, то это совершенно не означает, что применение для решения той же задачи 12-ядерного CPU позволит довести прирост в быстродействии до восьмикратного уровня. Более того, увеличение числа ядер выше восьми имеет смысл лишь в таких задачах, где доля распараллеливаемого кода больше 80 процентов. В противном случае кратное усложнение (и, соответственно, удорожание) CPU обернётся лишь незначительным выигрышем в производительности, который не будет превышать и 20 процентов.

Именно основываясь на подобных расчётах, Intel и приняла решение ограничить количество ядер в десктопных процессорах восемью штуками. Большинство общеупотребительных задач, решаемых настольными компьютерами, имеют долю распараллеливаемого кода, не превышающую 80-процентного уровня, поэтому использование в них CPU с серверным арсеналом ядер попросту нецелесообразно. А для основной массы игровых приложений, пусть даже и оптимизированных под многопоточность, где доля параллельного кода редко выходит за 60-процентную границу, вполне хватит и процессоров с четырьмя ядрами. Дальнейшее же углубление многоядерности может добавить к производительности лишь 15-20 процентов, что вряд ли можно назвать достойным откликом на рост количества вычислительных ядер в несколько раз.

Все приведённые выше теоретические расчёты сделаны для идеального случая и не учитывают, что ядра разделяют между собой общие ресурсы, такие как кеш и оперативная память, а также имеют ограниченный канал для взаимодействия. Поэтому в реальной жизни производительность может масштабироваться ещё хуже, чем показано на графиках. Более того, при увеличении числа ядер выше некой границы их быстродействие может даже снижаться. Здесь же нужно упомянуть и о том, что увеличение сложности процессора в большинстве случаев влечёт за собой некоторое снижение его предельной тактовой частоты. Поэтому с многоядерными CPU явно не стоит связывать большие надежды. Формула «больше ядер — выше быстродействие» работает далеко не всегда, причём десктопные нагрузки представляют собой как раз не очень благоприятную среду для подобной масштабируемости. Иными словами, увеличение числа ядер – достаточно специфический способ для улучшения быстродействия процессора, и подходит он далеко не для всех ситуаций.

⇡#Xeon E5 v3 и Core i7-5хх0: в чём разница

Первые процессоры серии Haswell-EP, появившиеся в результате перевода серверных многоядерных CPU на микроархитектуру Haswell, появились одновременно с Haswell-E осенью прошлого года. Эти чипы, получившие официальное наименование Xeon E5 v3, основываются на полупроводниковых кристаллах, производимых по 22-нм технологии, и предназначаются для установки в платы с одним или несколькими разъёмами LGA2011-3, не совместимыми по выводам с привычным LGA2011, использовавшимся в серверных платформах прошлых поколений. Основными преимуществами Haswell-EP по сравнению с их предшественниками Sandy Bridge-EP и Ivy Bridge-EP стало увеличение максимального количества ядер вместе с ростом объёма кеш-памяти, а также снижение тепловыделения. Кроме того, процессоры Xeon E5 v3 получили встроенный преобразователь питания и поддержку AVX2-инструкций, а также унаследовали ряд других улучшений, повышающих удельную производительность за счёт оптимизаций на уровне микроархитектуры.

Когда мы знакомились с высокопроизводительной десктопной платформой LGA2011-3 и с процессорами семейства Haswell-E, мы говорили о том, что она получена в результате адаптации серверных процессоров Haswell-EP для настольных систем. Именно это и обуславливает наличие между ними родственных связей, которые позволяют устанавливать процессоры класса Xeon E5 v3 в материнские платы на базе набора логики Intel X99. В существовании такой совместимости нет ничего странного: подобные полусерверные-полудесктопные конфигурации можно было создавать и на базе процессоров и платформ прошлого поколения – ничего не изменилось и с внедрением новой микроархитектуры. Haswell-E и Haswell-EP используют одинаковый процессорный разъём, а для работоспособности Xeon E5 v3 в материнках для настольных ПК необходима лишь их поддержка со стороны BIOS, которую производители плат обычно добавляют как минимум в своих продуктах верхней ценовой категории.

Однако между Xeon E5 v3 и Core i7-5xx0 для LGA2011-3 знак тождественного равенства поставить всё же нельзя. Эти процессоры имеют важные различия: на фоне Haswell-EP десктопный дизайн имеет заметные упрощения, а старшие модификации Xeon E5 v3, обладающие числом ядер более восьми, могут похвастать более продвинутой внутренней конструкцией. В частности, для серверных процессоров Haswell-EP у Intel подготовлено три принципиально различных процессорных кристалла, но в Haswell-E используется лишь самый простой из них.

Ядро 18-ядерного процессора семейства Xeon E5 v3

Младшие Xeon E5 v3 с числом ядер до восьми включительно, так же как и десктопные Haswell-E, основываются на кристалле площадью 354 мм2, состоящем из 2,6 млрд транзисторов. Структурно этот кристалл состоит из двух рядов процессорных ядер, между которыми расположен разделяемый кеш третьего уровня. Ядра и блоки кеша объединяются между собой одной двунаправленной кольцевой шиной, к которой подключён четырёхканальный контроллер памяти с поддержкой DDR4 SDRAM, контроллер шины PCI Express 3.0 и QPI-интерфейс, необходимый при создании многопроцессорных конфигураций.

Процессоры Xeon E5 v3, обладающие числом ядер от 10 до 12, используют более массивный полупроводниковый кристалл, включающий 3,84 млрд транзисторов и оккупирующий площадь 492 мм2. В нём вычислительные ядра расположены тремя рядами, а кеш распределён в двух областях — между первыми двумя рядами ядер и с наружного края третьего ряда. Для коммутации и обмена данными в этом случае используется уже две равноправные кольцевые шины. Одна связывает первые ряды ядер и кеша, а вторая работает с третьим рядом и крайней областью кеш-памяти. Для обмена данными между кольцевыми шинами в процессоре появился дополнительный элемент — буферизирующий коммутатор. Такая схема, получившая название «кластер-на-ядре», снижает нагрузку на кольцевые шины и обеспечивает более высокую скорость взаимодействия между ядрами и лучшую пропускную способность кеш-памяти при многопоточных нагрузках. Более того, в таком варианте процессорного дизайна контроллер памяти разделён на две части, которые разведены по различным кольцевым шинам. Фактически процессоры Xeon E5 v3 с числом вычислительных ядер более 10 обладают не одним четырёхканальным, а двумя двухканальными контроллерами памяти с поддержкой DDR4 SDRAM.

Самый же сложный вариант полупроводникового кристалла Haswell-EP, который предназначается для процессоров с 14-18 вычислительными ядрами, имеет ещё более замысловатое строение. Площадь такого кристалла составляет 662 мм2, он содержит 5,69 млрд транзисторов. В нём ядра расположены четырьмя рядами, между которыми проложены две области кеш-памяти третьего уровня. Как и в предыдущем случае, эти элементы объединены двумя кольцевыми шинами, сопряжёнными в единое целое буферизирующим коммутатором. Контроллер памяти DDR4 вновь разделён на две двухканальные части, а контроллеры PCIe и QPI отнесены к той из кольцевых шин, которая обслуживает меньшее количество ядер.

Вариант с двумя независимыми двунаправленными кольцевыми шинами и буферизирующим коммутатором в Haswell-EP нашёл применение впервые. Ранее в многоядерных процессорах Sandy Bridge-EP и Ivy Bridge-EP ядра объединялись тремя однонаправленными кольцевыми шинами, проходящими через разные группы ядер. Такая схема была проще и обходилась без какой-либо коммутации, но она показала свою неэффективность в сложных многопоточных задачах, в которых трафик по кольцевым шинам сильно возрастал и мог привести к нежелательным простоям ядер.

Одной из ключевых возможностей, появившихся в LGA2011-3-процессорах, стала поддержка нового типа памяти DDR4 SDRAM с большими рабочими частотами и меньшим напряжением питания. Совместимость с такой памятью есть как в серверных, так и в десктопных модификациях CPU, однако контроллеры DDR4, которыми располагают серверные Xeon E5 v3, имеют несколько иные возможности, чем есть в процессорах класса Core i7-5хх0. Для серверных CPU критичным является объём поддерживаемой памяти, поэтому в них введена поддержка регистровых модулей (RDIMM) и модулей с пониженной нагрузкой (LRDIMM). В результате если десктопный Haswell-E позволяет установить до 64 Гбайт памяти восемью небуферизованными планками, серверные процессоры Haswell-EP могут комплектоваться массивом из двенадцати модулей LRDIMM общей ёмкостью до 768 Гбайт или аналогичным количеством RDIMM-модулей общим объёмом 384 Гбайт. При этом скорость таких модулей, так же как и в случае десктопных платформ, может достигать режима DDR4-2133. Таким образом, если принять во внимание четырёхканальную архитектуру контроллера DDR4 SDRAM в Haswell-EP, максимальная производительность подсистемы памяти составляет 68 Гбайт/с на процессор.

Ещё одно различие между Haswell-E и Haswell-EP заключается в поддержке шины QPI. В серверных платформах эта шина используется для создания межпроцессорных соединений, поэтому в десктопных моделях CPU она отсутствует. Серверные же Xeon E5 v3 имеют активный контроллер QPI 1.1, который, кстати говоря, реализует две шины с пропускной способностью 9,6 ГТрансфер/с, что на 20 процентов выше полосы пропускания межпроцессорной шины в Sandy Bridge-EP и Ivy Bridge-EP.

⇡#Тестовый процессор: Xeon E5-4650 v3

На самом деле, если уж говорить об использовании мощных серверных процессоров в составе настольных конфигураций, то для этой цели лучше бы подошли процессоры серии Xeon E5-2600 v3, имеющие до 18 ядер и формально ориентированные на двухпроцессорные конфигурации. Однако нам выбирать не приходится – компания Intel предоставила нам для экспериментов Xeon E5-4650 v3, ориентированный на четырёхпроцессорные системы. Впрочем, для десктопной платформы с единственным процессорным разъёмом почти никакой разницы нет. Да, Xeon E5-4650 v3, в отличие от Xeon E5-26xx v3, обойдётся несколько дороже, однако в этой статье о стоимости мы говорить не будем.

Xeon E5-4650 v3 – это серверный Haswell-EP средней мощности. Он несёт в себе 12 вычислительных ядер с поддержкой технологии Hyper-Threading, обладает L3-кешем объёмом 30 Мбайт и имеет паспортную тактовую частоту 2,0 ГГц. Обратите внимание, частота этого CPU заметно ниже, чем у десктопного восьмиядерника Core i7-5960X, и это – расплата за возросшее количество ядер. К тому же роль играет и тот факт, что тепловой пакет Xeon E5-4650 v3, ориентированного на использование в составе упакованных в стоечные корпуса многопроцессорных конфигураций, ограничен достаточно консервативной величиной 105 Вт. Впрочем, невысокая паспортная частота отчасти компенсируется режимом Turbo, благодаря которому процессор может разгоняться до 2,6 ГГц при небольших нагрузках и до 2,3 ГГц при нагрузке на все 12 ядер.

Как это ни странно, но такой типично серверный процессор без каких-либо проблем может работать в десктопной материнской плате. Несмотря на то, что для систем на базе Haswell-EP у Intel имеются специализированные наборы логики, например Intel C612, серверные LGA2011-3-процессоры прекрасно себя чувствуют в типично десктопных платах на базе чипсета Intel X99. Мы проверили наш тестовый Xeon E5-4650 v3 в ASUS X99-Deluxe и в ASUS Rampage V Extreme – в обоих случаях никаких препятствий не возникло, да и в списке совместимости на сайте ASUS поддержка Xeon E5 v3 материнскими платами на базе Intel X99 обещана явно. Более того, как показала практика, Haswell-EP легко находит общий язык и с обычной небуферизованной DDR4 SDRAM, так что десктопная платформа с процессором серии Xeon E5 v3 на самом деле не требует никаких специальных комплектующих серверного класса. Иными словами, если вы решитесь собирать настольную систему с многоядерным серверным CPU, дополнительных трат не потребуется – раскошелиться придётся только на сам процессор. Например, цены 12-ядерных Haswell-EP начинаются с отметки в $1 500.

Выше мы подробно расписали преимущества Xeon E5 v3 перед Core i7-5хх0, главными из которых являются увеличенное число вычислительных ядер и более продуманная схема внутренних коммуникаций. Однако у серверных процессоров есть и явные минусы, которые наверняка огорчат энтузиастов. Дело в том, что десктопные Haswell-E благосклонны к разгону и имеют незаблокированные множители, позволяя произвольно варьировать частоту вычислительных ядер, кеша и памяти. Серверные же процессоры такие вольности пресекают на корню. Поднять частоту выше величин, предусмотренных технологией Turbo Boost, невозможно. Не допускается также и тактование памяти в режимах, превосходящих DDR3-2133. И это значит, что на любом разгоне Xeon E5 v3 можно поставить крест.

Таким образом, несмотря на то, что изначально идея использования процессора Xeon E5 v3 в десктопной платформе выглядела очень многообещающе, по мере более глубокого погружения в тему мы сталкиваемся с всё возрастающим числом аргументов против. И хотя никаких явных препятствий для создания серверно-десктопного гибрида пока не просматривается, похоже, что это попросту нецелесообразно. Впрочем, не будем забегать вперёд — перед тем как делать какие-то выводы, давайте ознакомимся с результатами тестов.

Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.

3dnews.ru

Многоядерный процессор — Википедия

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

Терминология

В английском языке существует два часто употребляемых термина для процессоров, имеющих несколько ядер: multi-core и many-core.

Термин мультиядерный (англ. multi-core[1]) обычно применяется к центральным процессорам, содержащим два и более ядра общего назначения, однако иногда используется и для цифровых сигнальных процессоров (DSP) и однокристальных систем (SoC, СнК). Под многоядерностью процессора понимают, что несколько ядер являются интегрированными на одну интегральную схему (изготовлены на одном кремниевом кристалле). Если же в один корпус были объединены несколько полупроводниковых кристаллов, то конструкцию называют многочиповый модуль (англ. multi-chip module, MCM).

Термином многопроцессорный обозначают компьютеры, имеющие несколько физически раздельных процессоров (например, серверные материнские платы часто имеют 2 или 4 сокета для подключения нескольких чипов), но управляемые одним экземпляром операционной системы (ОС).

Понятие многоядерный[1] (англ. many-core[2] или англ. massively multi-core) может использоваться для описания многоядерных систем, имеющих высокое количество ядер, от десятков до сотен или более. Например, именно название «многоядерный» («many-core») использовалось Intel для вычислителей Intel MIC[3].

Мультипроцессор на кристалле (single-chip multiprocessor, on-chip multiprocessor, chip multiprocessing, CMP) — так ранние исследователи называли свои проекты размещения нескольких процессоров на одной подложке[4][5][6].

Видео по теме

Архитектура многоядерных систем

Архитектура многоядерных процессоров во многом повторяет архитектуру симметричных мультипроцессоров (SMP-машин) только в меньших масштабах и со своими особенностями.

Первые многоядерные процессоры (first generation CMP) представляли собой самые простые схемы: два процессорных ядра, размещенные на одном кристалле без разделения каких-либо ресурсов, кроме шины памяти (например, Sun UltraSPARC IV и Intel Pentium D). «Настоящим многоядерным» (second generation CMP) процессор считается, когда его вычислительные ядра совместно используют кэш третьего или второго уровня: например, Sun UltraSPARC IV+, Intel Core Duo и все современные многоядерные процессоры.

В многоядерных процессорах тактовая частота, как правило, намеренно снижена. Это позволяет уменьшить энергопотребление процессора без потери производительности: энергопотребление растёт как куб от роста частоты процессора. Удвоив количество ядер процессора и снизив в двое их тактовую частоту, можно получить практически ту же производительность, при этом энергопотребление такого процессора снизится в 4 раза.

В некоторых процессорах тактовая частота каждого ядра может меняться в зависимости от его индивидуальной нагрузки. Ядро является полноценным микропроцессором, использующим все достижения микропроцессорной техники: конвейеры, внеочередное исполнение кода, многоуровневый кэш, поддержка векторных команд.

Суперскалярность в ядре присутствует не всегда, если, например, производитель процессора стремится максимально упростить ядро.

Каждое ядро может использовать технологию временной многопоточности или, если оно суперскалярное, технологию SMT для одновременного исполнения нескольких потоков, создавая иллюзию нескольких «логических процессоров» на основе каждого ядра. На процессорах компании Intel эта технология носит название Hyper-threading и удваивает число логических процессоров по сравнению с физическими. На процессорах Sun UltraSPARC T2 (2007 г.) такое увеличение может достигать 8 потоков на ядро.

Многоядерные процессоры можно подразделить по наличию поддержки когерентности (общей) кэш-памяти между ядрами. Бывают процессоры с такой поддержкой и без неё. Способ связи между ядрами:

  • разделяемая шина;
  • сеть (Mesh) на каналах точка-точка;
  • сеть с коммутатором;
  • общая кэш-память.

Кэш-память: Во всех существующих на сегодня многоядерных процессорах кэш-памятью 1-го уровня обладает каждое ядро в отдельности, а кэш-память 2-го уровня существует в нескольких вариантах:

  • разделяемая — расположена на одном кристалле с ядрами и доступна каждому из них в полном объёме. Используется в процессорах семейств Intel Core;
  • индивидуальная — отдельные кэши равного объёма, интегрированные в каждое из ядер. Обмен данными из кэшей 2-го уровня между ядрами осуществляется через контроллер памяти — интегрированный (Athlon 64 X2, Turion X2, Phenom) или внешний (использовался в Pentium D, в дальнейшем Intel отказалась от такого подхода).

Многоядерные процессоры также имеют гомогенную или гетерогенную архитектуру:

  • гомогенная архитектура — все ядра процессора одинаковы и выполняют одни и те же задачи. Типичные примеры: Intel Core Duo, Sun SPARC T3, AMD Opteron;
  • гетерогенная архитектура — ядра процессора выполняют разные задачи. Типичный пример: процессор Cell альянса IBM, Sony и Toshiba, у которого из девяти ядер одно является ядром процессора общего назначения PowerPC, а восемь остальных — специализированными процессорами, оптимизированными для векторных операций, которые используются в игровой приставке Sony PlayStation 3.

Производительность

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

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

Наращивание количества ядер

На сегодня многими производителями процессоров, в частности Intel, AMD, IBM, ARM, дальнейшее увеличение числа ядер процессоров признано как одно из приоритетных направлений увеличения производительности.

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

POWER
Основная статья: POWER

Первым процессором, предназначенным для массового использования, а не для встроенных систем, стал POWER4 с двумя ядрами PowerPC на одном кристалле, выпущенный компанией IBM в 2001 году.

2-ядерный IBM PowerPC-970MP (G5) был представлен в 2005 году. Этим процессором оснащались последние Power Mac G5.

SPARC
Основная статья: SPARC

В марте 2004 года компания Sun Microsystems представила первый 2-ядерный процессор архитектуры SPARC: UltraSPARC IV — CMP первого поколения. Процессором второго поколения CMP стал UltraSPARC IV+ (середина 2005 года), где два ядра процессора совместно использовали off-chip кэш 3-го уровня и on-chip кэш 2-го уровня.

Компания Fujitsu в своей линейке SPARC64 представила 2-ядерный процессор SPARC64 VI только в 2007 году.

x86

В апреле 2005 года AMD выпустила 2-ядерный процессор Opteron архитектуры AMD64, предназначенный для серверов.

В мае 2005 года Intel выпустила процессор Pentium D архитектуры x86-64, ставший первым 2-ядерным процессором, предназначенным для персональных компьютеров. Это был «быстрый» ответ компании Intel на вызов компании AMD. По сути Pentium D, созданный на основе ведущей у Intel архитектуры NetBurst, состоял из двух раздельных процессоров, помещённых на одну подложку, без каких-либо общих элементов. Так как компания Intel отказалась от архитектуры NetBurst в конце 2005 года, развитие Pentium D не получил. Настоящий многоядерный процессор Core Duo на более экономичной архитектуре Core был выпущен компанией Intel в январе 2006 года.

В марте 2010 года появились первые 12-ядерные серийные процессоры, которыми стали серверные процессоры Opteron 6100 компании AMD (архитектура x86/x86-64).[7]

В 2011 году компанией AMD освоено производство 8-ядерных процессоров для домашних компьютеров[8] и 16-ядерных для серверных систем[9].

В августе 2011 года компанией AMD были выпущены первые 16-ядерные серийные серверные процессоры Opteron серии 6200 (кодовое наименование Interlagos). Процессор Interlagos объединяет в одном корпусе два 8-ядерных (4-модульных) чипа и является полностью совместимым с существующей платформой AMD Opteron серии 6100 (Socket G34).[10]

По состоянию на 2016 год Intel выпускает процессоры для серверов Xeon E7 — с количеством ядер от 4 до 24.[11][12] (E5 — до 22 ядер).

Сводные данные по истории микропроцессоров и их параметров представлены в обновляющейся английской статье: Хронология микропроцессоров, 2010-е годы. Для получения числа ядер процессора надо умножить поля «Cores per die» и «Dies per module», для получения числа аппаратных потоков — умножить число ядер на число «threads per core». Например, для Xeon E7, Intel: «4, 6, 8, 10» ядер на 1 die на 1-2 аппаратных потоков = максимум 10 ядер и 20 аппаратных потоков, AMD FX «Bulldozer» Interlagos «4-8» на 2 на 1 = максимум 16 ядер и 16 потоков.

История экспериментальных многоядерных процессоров

27 сентября 2006 года на форуме разработчиков «IDF Fall» Intel продемонстрировал экспериментальный 80 ядерный чип с производительностью до 1 TFLOPS. Каждое ядро работало с тактовой частотой 3,16 ГГц, энергопотребление чипа достигало около 100 Вт[13].

20 августа 2007 года компания Tilera, анонсировала чип TILE64 (англ.)русск. с 64 процессорными ядрами и встроенной высокопроизводительной сетью, посредством которой обмен данными между различными ядрами может происходить со скоростью до 32 Тбит/с.[14][15]

26 октября 2009 года Tilera анонсировала[16] 100-ядерный процессор широкого назначения серии TILE-Gx (англ.). Каждое процессорное ядро представляет собой отдельный процессор с кэш-памятью 1 и 2 уровней. Ядра, память и системная шина связаны посредством топологии mesh network. Процессоры производятся по 40-нм техпроцессу и работают на тактовой частоте 1,5 ГГц. Выпуск 100-ядерных процессоров назначен на начало 2011 года.

2 декабря 2009 года Intel представила одночиповый «облачный» Single-chip Cloud Computer (SCC) компьютер, представляющий собой 48-ядерный чип. «Облачность» процессора состоит в том, что все 48 ядер сообщаются между собой как сетевые узлы. SCC — часть проекта, целью которого является создание 100-ядерного процессора[17].

В июне 2011 года Intel раскрыла детали разрабатываемой архитектуры Many Integrated Core (MIC) — эта технология выросла из проекта Larrabee. Микропроцессоры на основе этой архитектуры получат более 50 микроядер архитектуры x86 и начнут производиться в 2012 году по 22-нм техпроцессу. Эти микропроцессоры не могут быть использованы в качестве центрального процессора, но из нескольких чипов этой архитектуры будут строиться вычислительные ускорители в виде отдельной карты расширения и конкурировать на рынках GPGPU и высокопроизводительных вычислений с решениями типа Nvidia Tesla и AMD FireStream.[18] По опубликованному в 2012 году описанию архитектуры, возможны чипы с количеством ядер до 60.

В октябре 2011 года компания Adapteva (англ.)русск. представила 64-ядерные микропроцессоры Epiphany IV (англ.)русск., которые показывают производительность до 70 гигафлопс (SP), при этом потребляя менее 1 Вт электроэнергии. Микропроцессоры спроектированы с использованием RISC-архитектуры и, ознакомительные образцы планировалось произвести в 2012 году по 28-нм техпроцессу GlobalFoundries. Данные процессоры не могут быть использованы в качестве центрального процессора, но компания Adapteva (англ.)русск. предлагает использовать их в качестве сопроцессора для таких сложных задач, как распознавание лиц или жестов пользователя. Компания Adapteva утверждает, что в дальнейшем число ядер данного микропроцессора может быть доведено до 4096 Планируется, что 4096-ядерный процессор в основной версии (700 МГц), по оценкам, позволит получить 5,6 TFLOPS, потребляя всего 80 Ватт.

[19][20].

В январе 2012 года компания ZiiLabs (англ.)русск. (дочернее предприятие Creative Technology) анонсировала 100-ядерную систему на чипе ZMS-40. Эта система, объединяющая 4-ядерный процессор ARM Cortex-A9 1,5 ГГц (с мультимедийными блоками Neon) и массив из 96 более простых и менее универсальных вычислительных ядер StemCell. Ядра StemCell — это энергоэффективная архитектура SIMD, пиковая производительность при вычислениях с плавающей запятой (32 бит) — 50 гигафлопс, ядра которой работают скорее как GPU в других системах на чипе, и могут быть использованы для обработки видео, изображений и аудио, для ускорения 3D- и 2D-графики и других мультимедийных задач (поддерживается OpenGL ES 2.0 и OpenCL 1.1)[21].

Многоядерные контроллеры

Существует также тенденция внедрения многоядерных микроконтроллеров в мобильные устройства.

Например:

  • seaForth-24[22] — новая разработка многоядерной MISC-архитектуры Чака Мура: 1 ГГц 24-ядерный асинхронный контроллер.
  • Контроллер от Parallax (англ.)русск.[23] имеет восемь 32-разрядных процессоров (COG) в одном кристалле P8X32A.
  • Kilocore PowerPC-процессор с 1024 8-битными ядрами, работающими на частоте 125 МГц. На данный момент существует 256-ядерный процессор.

См. также

Примечания

  1. ↑ 1 2 Кризис параллельного мира, Сергей Кузнецов: Обзор декабрьского 2009 г. номера журнала Computer (IEEE Computer Society, V. 42, No 12, декабрь, 2009): «архитектур мультиядерных (multicore) и многоядерных (many-core) процессоров»
  2. ↑ Programming Many-Core Chips. By András Vajda, page 3
  3. ↑ [1]: " для которого ввели этот новый термин вместо привычного multi-core, "
  4. ↑ The Case for a Single-Chip Multiprocessor — Kunle Olukotun, Basem A. Nayfeh, Lance Hammond, Ken Wilson, and Kunyung Chang — Appears in Proceedings Seventh International Symp. Architectural Support for Programming Languages and Operating Systems (ASPLOS VII), Cambridge, MA, October 1996
  5. ↑ Stanford Hydra Single-Chip Multiprocessor
  6. ↑ ChipMultiprocessor Architecture: Techniques to Improve Throughput and Latency — Kunle Olukotun, Lance Hammond, James Laudon — 2007
  7. ↑ «AMD дала зелёный свет 8- и 12-ядерным процессорам серии Opteron 6100» — overclockers.ua
  8. ↑ Сайт 3DNews: «Официальный анонс процессоров AMD FX»
  9. ↑ Сайт 3DNews: «AMD начала массовые поставки серверных Bulldozer. Настольные откладываются?».
  10. ↑ Сайт 3DNews: «Появились данные о серверных AMD Bulldozer: 3 ГГц максимум?».
  11. ↑ Intel® Xeon® Processor E7 Family
  12. ↑ Intel unleashes new Xeon E7 v4 CPUs including 24-core monster | TechRadar
  13. ↑ Intel продемонстрировала 80-ядерный суперпроцессор будущего. Lenta.ru (27 сентября 2006). Проверено 13 августа 2010. Архивировано 2 марта 2012 года.
  14. ↑ Статья на сайте 3dnews.ru: «Tilera Tile64 — чип с 64 процессорными ядрами»
  15. ↑ «Tilera Now Shipping the TILE64 Processor: the World’s Highest Performance Embedded Processor»
  16. ↑ Modnews
  17. ↑ Статья на сайте lenta.ru: «Intel продемонстрировала 48-ядерный процессор»
  18. ↑ Сайт 3DNews: «Intel MIC: 22-нм Knights Corner — в 2012 году, ExaScale — в 2018 году»
  19. ↑ Сайт 3DNews: «64-ядерный чип от Adapteva может быть использован в смартфонах и планшетах», 05.10.2011
  20. ↑ Adapteva скоро начнет поставки ознакомительных образцов 28-нанометровых 64-ядерных процессоров E64G4 // Ixbt.com, 21 Марта, 2012
  21. ↑ Сайт 3DNews: «ZiiLabs представила „4+96-ядерный“ процессор ZMS-40»
  22. ↑ http://www.intellasys.net/index.php?option=com_content&task=view&id=35
  23. ↑ Propeller | Parallax Inc

Литература

  • (1999) Processor Architecture — From Dataflow to Superscalar and Beyond (ISBN 3540647988) (англ.)
  • Kunle Olukotun. Chip Multiprocessor Architecture - Techniques to Improve Throughput and Latency. — Morgan and Claypool Publishers, 2007. — 154 p. — ISBN 159829122X. (англ.)
  • (2008) OpenSPARC Internals (ISBN 0557019745) (англ.)
  • (2009) Microprocessor Architecture — From Simple Pipelines to Chip Multiprocessors (ISBN 0521769922) (англ.)
  • Многоядерные процессоры. Учебный курс. А. В. Калачев ISBN 978-5-9963-0349-6
  • Mario Nemirovsky, Dean M. Tullsen. Multithreading Architecture. — Morgan and Claypool Publishers, 2013. — 1608458555 p. — ISBN 1608458555. (англ.)

Ссылки

wikipedia.green

Многоядерный процессор Википедия

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

Терминология

В английском языке существует два часто употребляемых термина для процессоров, имеющих несколько ядер: multi-core и many-core.

Термин мультиядерный (англ. multi-core[1]) обычно применяется к центральным процессорам, содержащим два и более ядра общего назначения, однако иногда используется и для цифровых сигнальных процессоров (DSP) и однокристальных систем (SoC, СнК). Под многоядерностью процессора понимают, что несколько ядер являются интегрированными на одну интегральную схему (изготовлены на одном кремниевом кристалле). Если же в один корпус были объединены несколько полупроводниковых кристаллов, то конструкцию называют многочиповый модуль (англ. multi-chip module, MCM).

Термином многопроцессорный обозначают компьютеры, имеющие несколько физически раздельных процессоров (например, серверные материнские платы часто имеют 2 или 4 сокета для подключения нескольких чипов), но управляемые одним экземпляром операционной системы (ОС).

Понятие многоядерный[1] (англ. many-core[2] или англ. massively multi-core) может использоваться для описания многоядерных систем, имеющих высокое количество ядер, от десятков до сотен или более. Например, именно название «многоядерный» («many-core») использовалось Intel для вычислителей Intel MIC[3].

Мультипроцессор на кристалле (single-chip multiprocessor, on-chip multiprocessor, chip multiprocessing, CMP) — так ранние исследователи называли свои проекты размещения нескольких процессоров на одной подложке[4][5][6].

Архитектура многоядерных систем

Архитектура многоядерных процессоров во многом повторяет архитектуру симметричных мультипроцессоров (SMP-машин) только в меньших масштабах и со своими особенностями.

Первые многоядерные процессоры (first generation CMP) представляли собой самые простые схемы: два процессорных ядра, размещенные на одном кристалле без разделения каких-либо ресурсов, кроме шины памяти (например, Sun UltraSPARC IV и Intel Pentium D). «Настоящим многоядерным» (second generation CMP) процессор считается, когда его вычислительные ядра совместно используют кэш третьего или второго уровня: например, Sun UltraSPARC IV+, Intel Core Duo и все современные многоядерные процессоры.

В многоядерных процессорах тактовая частота, как правило, намеренно снижена. Это позволяет уменьшить энергопотребление процессора без потери производительности: энергопотребление растёт как куб от роста частоты процессора. Удвоив количество ядер процессора и снизив вдвое их тактовую частоту, можно получить практически ту же производительность, при этом энергопотребление такого процессора снизится в 4 раза.

В некоторых процессорах тактовая частота каждого ядра может меняться в зависимости от его индивидуальной нагрузки. Ядро является полноценным микропроцессором, использующим все достижения микропроцессорной техники: конвейеры, внеочередное исполнение кода, многоуровневый кэш, поддержка векторных команд.

Суперскалярность в ядре присутствует не всегда, если, например, производитель процессора стремится максимально упростить ядро.

Каждое ядро может использовать технологию временной многопоточности или, если оно суперскалярное, технологию SMT для одновременного исполнения нескольких потоков, создавая иллюзию нескольких «логических процессоров» на основе каждого ядра. На процессорах компании Intel эта технология носит название Hyper-threading и удваивает число логических процессоров по сравнению с физическими. На процессорах Sun UltraSPARC T2 (2007 г.) такое увеличение может достигать 8 потоков на ядро.

Многоядерные процессоры можно подразделить по наличию поддержки когерентности (общей) кэш-памяти между ядрами. Бывают процессоры с такой поддержкой и без неё. Способ связи между ядрами:

  • разделяемая шина;
  • сеть (Mesh) на каналах точка-точка;
  • сеть с коммутатором;
  • общая кэш-память.

Кэш-память: Во всех существующих на сегодня многоядерных процессорах кэш-памятью 1-го уровня обладает каждое ядро в отдельности, а кэш-память 2-го уровня существует в нескольких вариантах:

  • разделяемая — расположена на одном кристалле с ядрами и доступна каждому из них в полном объёме. Используется в процессорах семейств Intel Core;
  • индивидуальная — отдельные кэши равного объёма, интегрированные в каждое из ядер. Обмен данными из кэшей 2-го уровня между ядрами осуществляется через контроллер памяти — интегрированный (Athlon 64 X2, Turion X2, Phenom) или внешний (использовался в Pentium D, в дальнейшем Intel отказалась от такого подхода).

Многоядерные процессоры также имеют гомогенную или гетерогенную архитектуру:

  • гомогенная архитектура — все ядра процессора одинаковы и выполняют одни и те же задачи. Типичные примеры: Intel Core Duo, Sun SPARC T3, AMD Opteron;
  • гетерогенная архитектура — ядра процессора выполняют разные задачи. Типичный пример: процессор Cell альянса IBM, Sony и Toshiba, у которого из девяти ядер одно является ядром процессора общего назначения PowerPC, а восемь остальных — специализированными процессорами, оптимизированными для векторных операций, которые используются в игровой приставке Sony PlayStation 3.

Производительность

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

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

Наращивание количества ядер

На сегодня многими производителями процессоров, в частности Intel, AMD, IBM, ARM, дальнейшее увеличение числа ядер процессоров признано как одно из приоритетных направлений увеличения производительности.

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

POWER
Основная статья: POWER

Первым процессором, предназначенным для массового использования, а не для встроенных систем, стал POWER4 с двумя ядрами PowerPC на одном кристалле, выпущенный компанией IBM в 2001 году.

2-ядерный IBM PowerPC-970MP (G5) был представлен в 2005 году. Этим процессором оснащались последние Power Mac G5.

SPARC
Основная статья: SPARC

В марте 2004 года компания Sun Microsystems представила первый 2-ядерный процессор архитектуры SPARC: UltraSPARC IV — CMP первого поколения. Процессором второго поколения CMP стал UltraSPARC IV+ (середина 2005 года), где два ядра процессора совместно использовали off-chip кэш 3-го уровня и on-chip кэш 2-го уровня.

Компания Fujitsu в своей линейке SPARC64 представила 2-ядерный процессор SPARC64 VI только в 2007 году.

x86

В апреле 2005 года AMD выпустила 2-ядерный процессор Opteron архитектуры AMD64, предназначенный для серверов.

В мае 2005 года Intel выпустила процессор Pentium D архитектуры x86-64, ставший первым 2-ядерным процессором, предназначенным для персональных компьютеров. Это был «быстрый» ответ компании Intel на вызов компании AMD. По сути Pentium D, созданный на основе ведущей у Intel архитектуры NetBurst, состоял из двух раздельных процессоров, помещённых на одну подложку, без каких-либо общих элементов. Так как компания Intel отказалась от архитектуры NetBurst в конце 2005 года, развитие Pentium D не получил. Настоящий многоядерный процессор Core Duo на более экономичной архитектуре Core был выпущен компанией Intel в январе 2006 года.

В марте 2010 года появились первые 12-ядерные серийные процессоры, которыми стали серверные процессоры Opteron 6100 компании AMD (архитектура x86/x86-64).[7]

В 2011 году компанией AMD освоено производство 8-ядерных процессоров для домашних компьютеров[8] и 16-ядерных для серверных систем[9].

В августе 2011 года компанией AMD были выпущены первые 16-ядерные серийные серверные процессоры Opteron серии 6200 (кодовое наименование Interlagos). Процессор Interlagos объединяет в одном корпусе два 8-ядерных (4-модульных) чипа и является полностью совместимым с существующей платформой AMD Opteron серии 6100 (Socket G34).[10]

По состоянию на 2016 год Intel выпускает процессоры для серверов Xeon E7 — с количеством ядер от 4 до 24.[11][12] (E5 — до 22 ядер).

Сводные данные по истории микропроцессоров и их параметров представлены в обновляющейся английской статье: Хронология микропроцессоров, 2010-е годы. Для получения числа ядер процессора надо умножить поля «Cores per die» и «Dies per module», для получения числа аппаратных потоков — умножить число ядер на число «threads per core». Например, для Xeon E7, Intel: «4, 6, 8, 10» ядер на 1 die на 1-2 аппаратных потоков = максимум 10 ядер и 20 аппаратных потоков, AMD FX «Bulldozer» Interlagos «4-8» на 2 на 1 = максимум 16 ядер и 16 потоков.

История экспериментальных многоядерных процессоров

27 сентября 2006 года на форуме разработчиков «IDF Fall» Intel продемонстрировал экспериментальный 80 ядерный чип с производительностью до 1 TFLOPS. Каждое ядро работало с тактовой частотой 3,16 ГГц, энергопотребление чипа достигало около 100 Вт[13].

20 августа 2007 года компания Tilera, анонсировала чип TILE64 (англ.)русск. с 64 процессорными ядрами и встроенной высокопроизводительной сетью, посредством которой обмен данными между различными ядрами может происходить со скоростью до 32 Тбит/с.[14][15]

26 октября 2009 года Tilera анонсировала[16] 100-ядерный процессор широкого назначения серии TILE-Gx (англ.). Каждое процессорное ядро представляет собой отдельный процессор с кэш-памятью 1 и 2 уровней. Ядра, память и системная шина связаны посредством топологии mesh network. Процессоры производятся по 40-нм техпроцессу и работают на тактовой частоте 1,5 ГГц. Выпуск 100-ядерных процессоров назначен на начало 2011 года.

2 декабря 2009 года Intel представила одночиповый «облачный» Single-chip Cloud Computer (SCC) компьютер, представляющий собой 48-ядерный чип. «Облачность» процессора состоит в том, что все 48 ядер сообщаются между собой как сетевые узлы. SCC — часть проекта, целью которого является создание 100-ядерного процессора[17].

В июне 2011 года Intel раскрыла детали разрабатываемой архитектуры Many Integrated Core (MIC) — эта технология выросла из проекта Larrabee. Микропроцессоры на основе этой архитектуры получат более 50 микроядер архитектуры x86 и начнут производиться в 2012 году по 22-нм техпроцессу. Эти микропроцессоры не могут быть использованы в качестве центрального процессора, но из нескольких чипов этой архитектуры будут строиться вычислительные ускорители в виде отдельной карты расширения и конкурировать на рынках GPGPU и высокопроизводительных вычислений с решениями типа Nvidia Tesla и AMD FireStream.[18] По опубликованному в 2012 году описанию архитектуры, возможны чипы с количеством ядер до 60.

В октябре 2011 года компания Adapteva (англ.)русск. представила 64-ядерные микропроцессоры Epiphany IV (англ.)русск., которые показывают производительность до 70 гигафлопс (SP), при этом потребляя менее 1 Вт электроэнергии. Микропроцессоры спроектированы с использованием RISC-архитектуры и, ознакомительные образцы планировалось произвести в 2012 году по 28-нм техпроцессу GlobalFoundries. Данные процессоры не могут быть использованы в качестве центрального процессора, но компания Adapteva (англ.)русск. предлагает использовать их в качестве сопроцессора для таких сложных задач, как распознавание лиц или жестов пользователя. Компания Adapteva утверждает, что в дальнейшем число ядер данного микропроцессора может быть доведено до 4096 Планируется, что 4096-ядерный процессор в основной версии (700 МГц), по оценкам, позволит получить 5,6 TFLOPS, потребляя всего 80 Ватт.

[19][20].

В январе 2012 года компания ZiiLabs (англ.)русск. (дочернее предприятие Creative Technology) анонсировала 100-ядерную систему на чипе ZMS-40. Эта система, объединяющая 4-ядерный процессор ARM Cortex-A9 1,5 ГГц (с мультимедийными блоками Neon) и массив из 96 более простых и менее универсальных вычислительных ядер StemCell. Ядра StemCell — это энергоэффективная архитектура SIMD, пиковая производительность при вычислениях с плавающей запятой (32 бит) — 50 гигафлопс, ядра которой работают скорее как GPU в других системах на чипе, и могут быть использованы для обработки видео, изображений и аудио, для ускорения 3D- и 2D-графики и других мультимедийных задач (поддерживается OpenGL ES 2.0 и OpenCL 1.1)[21].

Многоядерные контроллеры

Существует также тенденция внедрения многоядерных микроконтроллеров в мобильные устройства.

Например:

  • seaForth-24[22] — новая разработка многоядерной MISC-архитектуры Чака Мура: 1 ГГц 24-ядерный асинхронный контроллер.
  • Контроллер от Parallax (англ.)русск.[23] имеет восемь 32-разрядных процессоров (COG) в одном кристалле P8X32A.
  • Kilocore PowerPC-процессор с 1024 8-битными ядрами, работающими на частоте 125 МГц. На данный момент существует 256-ядерный процессор.

См. также

Примечания

  1. ↑ 1 2 Кризис параллельного мира, Сергей Кузнецов: Обзор декабрьского 2009 г. номера журнала Computer (IEEE Computer Society, V. 42, No 12, декабрь, 2009): «архитектур мультиядерных (multicore) и многоядерных (many-core) процессоров»
  2. ↑ Programming Many-Core Chips. By András Vajda, page 3
  3. ↑ [1]: " для которого ввели этот новый термин вместо привычного multi-core, "
  4. ↑ The Case for a Single-Chip Multiprocessor — Kunle Olukotun, Basem A. Nayfeh, Lance Hammond, Ken Wilson, and Kunyung Chang — Appears in Proceedings Seventh International Symp. Architectural Support for Programming Languages and Operating Systems (ASPLOS VII), Cambridge, MA, October 1996
  5. ↑ Stanford Hydra Single-Chip Multiprocessor
  6. ↑ ChipMultiprocessor Architecture: Techniques to Improve Throughput and Latency — Kunle Olukotun, Lance Hammond, James Laudon — 2007
  7. ↑ «AMD дала зелёный свет 8- и 12-ядерным процессорам серии Opteron 6100» — overclockers.ua
  8. ↑ Сайт 3DNews: «Официальный анонс процессоров AMD FX»
  9. ↑ Сайт 3DNews: «AMD начала массовые поставки серверных Bulldozer. Настольные откладываются?».
  10. ↑ Сайт 3DNews: «Появились данные о серверных AMD Bulldozer: 3 ГГц максимум?».
  11. ↑ Intel® Xeon® Processor E7 Family
  12. ↑ Intel unleashes new Xeon E7 v4 CPUs including 24-core monster | TechRadar
  13. ↑ Intel продемонстрировала 80-ядерный суперпроцессор будущего. Lenta.ru (27 сентября 2006). Проверено 13 августа 2010. Архивировано 2 марта 2012 года.
  14. ↑ Статья на сайте 3dnews.ru: «Tilera Tile64 — чип с 64 процессорными ядрами»
  15. ↑ «Tilera Now Shipping the TILE64 Processor: the World’s Highest Performance Embedded Processor»
  16. ↑ Modnews
  17. ↑ Статья на сайте lenta.ru: «Intel продемонстрировала 48-ядерный процессор»
  18. ↑ Сайт 3DNews: «Intel MIC: 22-нм Knights Corner — в 2012 году, ExaScale — в 2018 году»
  19. ↑ Сайт 3DNews: «64-ядерный чип от Adapteva может быть использован в смартфонах и планшетах», 05.10.2011
  20. ↑ Adapteva скоро начнет поставки ознакомительных образцов 28-нанометровых 64-ядерных процессоров E64G4 // Ixbt.com, 21 Марта, 2012
  21. ↑ Сайт 3DNews: «ZiiLabs представила „4+96-ядерный“ процессор ZMS-40»
  22. ↑ http://www.intellasys.net/index.php?option=com_content&task=view&id=35
  23. ↑ Propeller | Parallax Inc

Литература

  • (1999) Processor Architecture — From Dataflow to Superscalar and Beyond (ISBN 3540647988) (англ.)
  • (2009) Microprocessor Architecture — From Simple Pipelines to Chip Multiprocessors (ISBN 0521769922) (англ.)
  • Многоядерные процессоры. Учебный курс. А. В. Калачев ISBN 978-5-9963-0349-6
  • Mario Nemirovsky, Dean M. Tullsen. Multithreading Architecture. — Morgan and Claypool Publishers, 2013. — 1608458555 p. — ISBN 1608458555. (англ.)

Ссылки

wikiredia.ru

Многоядерный процессор

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

Терминология

В английском языке существует два часто употребляемых термина для процессоров, имеющих несколько ядер: multi-core и many-core .

Термин мультиядерный ( англ.   multi-core [1] ) обычно применяется к центральным процессорам , содержащим два и более ядра общего назначения, однако иногда используется и для цифровых сигнальных процессоров (DSP) и однокристальных систем (SoC, СнК). Под многоядерностью процессора понимают, что несколько ядер являются интегрированными на одну интегральную схему (изготовлены на одном кремниевом кристалле). Если же в один корпус были объединены несколько полупроводниковых кристаллов, то конструкцию называют многочиповый модуль ( англ.   multi-chip module , MCM).

Термином многопроцессорный обозначают компьютеры, имеющие несколько физически раздельных процессоров (например, серверные материнские платы часто имеют 2 или 4 сокета для подключения нескольких чипов), но управляемые одним экземпляром операционной системы (ОС).

Понятие многоядерный [1] ( англ.   many-core [2] или англ.   massively multi-core ) может использоваться для описания многоядерных систем, имеющих высокое количество ядер, от десятков до сотен или более. Например, именно название «многоядерный» («many-core») использовалось Intel для вычислителей Intel MIC [3] .

Мультипроцессор на кристалле (single-chip multiprocessor, on-chip multiprocessor, chip multiprocessing, CMP) — так ранние исследователи называли свои проекты размещения нескольких процессоров на одной подложке [4] [5] [6] .

Архитектура многоядерных систем

Архитектура многоядерных процессоров во многом повторяет архитектуру симметричных мультипроцессоров ( SMP-машин ) только в меньших масштабах и со своими особенностями.

Первые многоядерные процессоры ( first generation CMP ) представляли собой самые простые схемы: два процессорных ядра, размещенные на одном кристалле без разделения каких-либо ресурсов, кроме шины памяти (например, Sun UltraSPARC IV и Intel Pentium D ). «Настоящим многоядерным» ( second generation CMP ) процессор считается, когда его вычислительные ядра совместно используют кэш третьего или второго уровня: например, Sun UltraSPARC IV+, Intel Core Duo и все современные многоядерные процессоры.

В многоядерных процессорах тактовая частота, как правило, намеренно снижена. Это позволяет уменьшить энергопотребление процессора без потери производительности: энергопотребление растёт как куб от роста частоты процессора. Удвоив количество ядер процессора и снизив вдвое их тактовую частоту, можно получить практически ту же производительность, при этом энергопотребление такого процессора снизится в 4 раза.

В некоторых процессорах тактовая частота каждого ядра может меняться в зависимости от его индивидуальной нагрузки. Ядро является полноценным микропроцессором, использующим все достижения микропроцессорной техники: конвейеры , внеочередное исполнение кода, многоуровневый кэш , поддержка векторных команд .

Суперскалярность в ядре присутствует не всегда, если, например, производитель процессора стремится максимально упростить ядро.

Каждое ядро может использовать технологию временной многопоточности или, если оно суперскалярное, технологию SMT для одновременного исполнения нескольких потоков , создавая иллюзию нескольких «логических процессоров» на основе каждого ядра. На процессорах компании Intel эта технология носит название Hyper-threading и удваивает число логических процессоров по сравнению с физическими. На процессорах Sun UltraSPARC T2 (2007 г.) такое увеличение может достигать 8 потоков на ядро.

Многоядерные процессоры можно подразделить по наличию поддержки когерентности (общей) кэш-памяти между ядрами. Бывают процессоры с такой поддержкой и без неё. Способ связи между ядрами:

  • разделяемая шина;
  • сеть (Mesh) на каналах точка-точка;
  • сеть с коммутатором;
  • общая кэш-память .

Кэш-память:Во всех существующих на сегодня многоядерных процессорах кэш-памятью 1-го уровня обладает каждое ядро в отдельности, а кэш-память 2-го уровня существует в нескольких вариантах:

  • разделяемая  — расположена на одном кристалле с ядрами и доступна каждому из них в полном объёме. Используется в процессорах семейств Intel Core ;
  • индивидуальная  — отдельные кэши равного объёма, интегрированные в каждое из ядер. Обмен данными из кэшей 2-го уровня между ядрами осуществляется через контроллер памяти — интегрированный ( Athlon 64 X2 , Turion X2 , Phenom ) или внешний (использовался в Pentium D , в дальнейшем Intel отказалась от такого подхода).

Многоядерные процессоры также имеют гомогенную или гетерогенную архитектуру:

  • гомогенная архитектура  — все ядра процессора одинаковы и выполняют одни и те же задачи. Типичные примеры: Intel Core Duo , Sun SPARC T3 , AMD Opteron ;
  • гетерогенная архитектура  — ядра процессора выполняют разные задачи. Типичный пример: процессор Cell альянса IBM , Sony и Toshiba , у которого из девяти ядер одно является ядром процессора общего назначения PowerPC , а восемь остальных — специализированными процессорами, оптимизированными для векторных операций, которые используются в игровой приставке Sony PlayStation 3 .

Производительность

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

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

Наращивание количества ядер

На сегодня многими производителями процессоров, в частности Intel , AMD , IBM , ARM , дальнейшее увеличение числа ядер процессоров признано как одно из приоритетных направлений увеличения производительности.

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

POWER
Основная статья: POWER

Первым процессором, предназначенным для массового использования, а не для встроенных систем , стал POWER4 с двумя ядрами PowerPC на одном кристалле, выпущенный компанией IBM в 2001 году.

2-ядерный IBM PowerPC-970MP ( G5 ) был представлен в 2005 году. Этим процессором оснащались последние Power Mac G5 .

SPARC
Основная статья: SPARC

В марте 2004 года компания Sun Microsystems представила первый 2-ядерный процессор архитектуры SPARC: UltraSPARC IV  — CMP первого поколения. Процессором второго поколения CMP стал UltraSPARC IV+ (середина 2005 года), где два ядра процессора совместно использовали off-chip кэш 3-го уровня и on-chip кэш 2-го уровня.

Компания Fujitsu в своей линейке SPARC64 представила 2-ядерный процессор SPARC64 VI только в 2007 году.

x86

В апреле 2005 года AMD выпустила 2-ядерный процессор Opteron архитектуры AMD64 , предназначенный для серверов .

В мае 2005 года Intel выпустила процессор Pentium D архитектуры x86-64 , ставший первым 2-ядерным процессором, предназначенным для персональных компьютеров. Это был «быстрый» ответ компании Intel на вызов компании AMD. По сути Pentium D, созданный на основе ведущей у Intel архитектуры NetBurst , состоял из двух раздельных процессоров, помещённых на одну подложку, без каких-либо общих элементов. Так как компания Intel отказалась от архитектуры NetBurst в конце 2005 года, развитие Pentium D не получил. Настоящий многоядерный процессор Core Duo на более экономичной архитектуре Core был выпущен компанией Intel в январе 2006 года.

В марте 2010 года появились первые 12-ядерные серийные процессоры, которыми стали серверные процессоры Opteron 6100 компании AMD (архитектура x86 / x86-64 ). [7]

В 2011 году компанией AMD освоено производство 8-ядерных процессоров для домашних компьютеров [8] и 16-ядерных для серверных систем [9] .

В августе 2011 года компанией AMD были выпущены первые 16-ядерные серийные серверные процессоры Opteron серии 6200 (кодовое наименование Interlagos ). Процессор Interlagos объединяет в одном корпусе два 8-ядерных (4-модульных) чипа и является полностью совместимым с существующей платформой AMD Opteron серии 6100 ( Socket G34 ). [10]

По состоянию на 2016 год Intel выпускает процессоры для серверов Xeon E7  — с количеством ядер от 4 до 24. [11] [12] (E5 — до 22 ядер).

Сводные данные по истории микропроцессоров и их параметров представлены в обновляющейся английской статье: Хронология микропроцессоров , 2010-е годы . Для получения числа ядер процессора надо умножить поля «Cores per die» и «Dies per module», для получения числа аппаратных потоков — умножить число ядер на число «threads per core». Например, для Xeon E7, Intel: «4, 6, 8, 10» ядер на 1 die на 1-2 аппаратных потоков = максимум 10 ядер и 20 аппаратных потоков, AMD FX «Bulldozer» Interlagos «4-8» на 2 на 1 = максимум 16 ядер и 16 потоков.

История экспериментальных многоядерных процессоров

27 сентября 2006 года на форуме разработчиков «IDF Fall» Intel продемонстрировал экспериментальный 80 ядерный чип с производительностью до 1 TFLOPS. Каждое ядро работало с тактовой частотой 3,16 ГГц, энергопотребление чипа достигало около 100 Вт [13] .

20 августа 2007 года компания Tilera , анонсировала чип TILE64   (англ.) русск. с 64 процессорными ядрами и встроенной высокопроизводительной сетью, посредством которой обмен данными между различными ядрами может происходить со скоростью до 32 Тбит/с. [14] [15]

26 октября 2009 года Tilera анонсировала [16] 100-ядерный процессор широкого назначения серии TILE-Gx ( англ. ). Каждое процессорное ядро представляет собой отдельный процессор с кэш-памятью 1 и 2 уровней. Ядра, память и системная шина связаны посредством топологии mesh network . Процессоры производятся по 40-нм техпроцессу и работают на тактовой частоте 1,5 ГГц. Выпуск 100-ядерных процессоров назначен на начало 2011 года.

2 декабря 2009 года Intel представила одночиповый « облачный » Single-chip Cloud Computer (SCC) компьютер, представляющий собой 48-ядерный чип. « Облачность » процессора состоит в том, что все 48 ядер сообщаются между собой как сетевые узлы. SCC — часть проекта, целью которого является создание 100-ядерного процессора [17] .

В июне 2011 года Intel раскрыла детали разрабатываемой архитектуры Many Integrated Core (MIC) — эта технология выросла из проекта Larrabee . Микропроцессоры на основе этой архитектуры получат более 50 микроядер архитектуры x86 и начнут производиться в 2012 году по 22-нм техпроцессу. Эти микропроцессоры не могут быть использованы в качестве центрального процессора , но из нескольких чипов этой архитектуры будут строиться вычислительные ускорители в виде отдельной карты расширения и конкурировать на рынках GPGPU и высокопроизводительных вычислений с решениями типа Nvidia Tesla и AMD FireStream . [18] По опубликованному в 2012 году описанию архитектуры, возможны чипы с количеством ядер до 60.

В октябре 2011 года компания Adapteva   (англ.) русск. представила 64-ядерные микропроцессоры Epiphany IV   (англ.) русск. , которые показывают производительность до 70 гигафлопс (SP), при этом потребляя менее 1 Вт электроэнергии. Микропроцессоры спроектированы с использованием RISC -архитектуры и, ознакомительные образцы планировалось произвести в 2012 году по 28-нм техпроцессу GlobalFoundries. Данные процессоры не могут быть использованы в качестве центрального процессора , но компания Adapteva   (англ.) русск. предлагает использовать их в качестве сопроцессора для таких сложных задач, как распознавание лиц или жестов пользователя. Компания Adapteva утверждает, что в дальнейшем число ядер данного микропроцессора может быть доведено до 4096Планируется, что 4096-ядерный процессор в основной версии (700 МГц), по оценкам, позволит получить 5,6 TFLOPS, потребляя всего 80 Ватт.

[19] [20] .

В январе 2012 года компания ZiiLabs   (англ.) русск. (дочернее предприятие Creative Technology ) анонсировала 100-ядерную систему на чипе ZMS-40 . Эта система, объединяющая 4-ядерный процессор ARM Cortex-A9 1,5 ГГц (с мультимедийными блоками Neon) и массив из 96 более простых и менее универсальных вычислительных ядер StemCell . Ядра StemCell — это энергоэффективная архитектура SIMD , пиковая производительность при вычислениях с плавающей запятой (32 бит) — 50 гигафлопс , ядра которой работают скорее как GPU в других системах на чипе, и могут быть использованы для обработки видео, изображений и аудио, для ускорения 3D - и 2D-графики и других мультимедийных задач (поддерживается OpenGL ES 2.0 и OpenCL 1.1) [21] .

Многоядерные контроллеры

Существует также тенденция внедрения многоядерных микроконтроллеров в мобильные устройства .

Например:

  • seaForth-24 [22]  — новая разработка многоядерной MISC -архитектуры Чака Мура : 1 ГГц 24-ядерный асинхронный контроллер.
  • Контроллер от Parallax   (англ.) русск. [23] имеет восемь 32-разрядных процессоров (COG) в одном кристалле P8X32A.
  • Kilocore PowerPC -процессор с 1024 8-битными ядрами, работающими на частоте 125 МГц. На данный момент существует 256-ядерный процессор.

См. также

Примечания

  1. ↑ 1 2 Кризис параллельного мира , Сергей Кузнецов: Обзор декабрьского 2009 г. номера журнала Computer (IEEE Computer Society, V. 42, No 12, декабрь, 2009): «архитектур мультиядерных (multicore) и многоядерных (many-core) процессоров»
  2. ↑ Programming Many-Core Chips. By András Vajda , page 3
  3. ↑ [1] : " для которого ввели этот новый термин вместо привычного multi-core, "
  4. ↑ The Case for a Single-Chip Multiprocessor — Kunle Olukotun, Basem A. Nayfeh, Lance Hammond, Ken Wilson, and Kunyung Chang — Appears in Proceedings Seventh International Symp. Architectural Support for Programming Languages and Operating Systems (ASPLOS VII), Cambridge, MA, October 1996
  5. ↑ Stanford Hydra Single-Chip Multiprocessor
  6. ↑ ChipMultiprocessor Architecture: Techniques to Improve Throughput and Latency — Kunle Olukotun, Lance Hammond, James Laudon — 2007
  7. ↑ «AMD дала зелёный свет 8- и 12-ядерным процессорам серии Opteron 6100»  — overclockers.ua
  8. ↑ Сайт 3DNews : «Официальный анонс процессоров AMD FX»
  9. ↑ Сайт 3DNews : «AMD начала массовые поставки серверных Bulldozer. Настольные откладываются?» .
  10. ↑ Сайт 3DNews : «Появились данные о серверных AMD Bulldozer: 3 ГГц максимум?» .
  11. ↑ Intel® Xeon® Processor E7 Family
  12. ↑ Intel unleashes new Xeon E7 v4 CPUs including 24-core monster | TechRadar
  13. ↑ Intel продемонстрировала 80-ядерный суперпроцессор будущего . Lenta.ru (27 сентября 2006). Проверено 13 августа 2010. Архивировано 2 марта 2012 года.
  14. ↑ Статья на сайте 3dnews.ru: «Tilera Tile64 — чип с 64 процессорными ядрами»
  15. ↑ «Tilera Now Shipping the TILE64 Processor: the World’s Highest Performance Embedded Processor»
  16. ↑ Modnews
  17. ↑ Статья на сайте lenta.ru: «Intel продемонстрировала 48-ядерный процессор»
  18. ↑ Сайт 3DNews : «Intel MIC: 22-нм Knights Corner — в 2012 году, ExaScale — в 2018 году»
  19. ↑ Сайт 3DNews : «64-ядерный чип от Adapteva может быть использован в смартфонах и планшетах» , 05.10.2011
  20. ↑ Adapteva скоро начнет поставки ознакомительных образцов 28-нанометровых 64-ядерных процессоров E64G4 // Ixbt.com, 21 Марта, 2012
  21. ↑ Сайт 3DNews : «ZiiLabs представила „4+96-ядерный“ процессор ZMS-40»
  22. ↑ http://www.intellasys.net/index.php?option=com_content&task=view&id=35
  23. ↑ Propeller | Parallax Inc

Литература

  • (1999) Processor Architecture — From Dataflow to Superscalar and Beyond ( ISBN 3540647988 )  (англ.)
  • (2009) Microprocessor Architecture — From Simple Pipelines to Chip Multiprocessors ( ISBN 0521769922 )  (англ.)
  • Многоядерные процессоры. Учебный курс. А. В. Калачев ISBN 978-5-9963-0349-6
  • Mario Nemirovsky, Dean M. Tullsen. Multithreading Architecture. — Morgan and Claypool Publishers, 2013. — 1608458555 p. — ISBN 1608458555 .   (англ.)

Ссылки

www.cruer.com

Как работает многоядерный процессор — СОВЕТЫ И РЕШЕНИЕ КОМПЬЮТЕРНЫХ ПРОБЛЕМ

вычисление мощности

Почти все продаваемые в настоящее время процессоры (за исключением самых дешевых моделей) построены из нескольких ядер. Что это значит на практике?

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

Поддерживают ли все программы несколько ядер? Как в полной мере использовать производительность новейших процессоров?

Ниже найдете ответы на эти вопросы, а как включить все ядра на Windows 7 и Windows 10 можете ознакомиться по ссылке.

Идея для процессора

В последние годы устройства, состоящие из многих ядер, не новость. Давным-давно производители заметили, что многоядерность увеличивает вычислительную эффективность системы, позволяя одновременное проведение многих расчетов.

Только из-за возможностей проектирования и затрат многоядерные системы были в основном реализованы в виде набора компьютеров с одноядерными процессорами, соединенными друг с другом с помощью сети обмена данными.

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

многоядерная система

Теперь в продаже появились материнские платы, позволяющие устанавливать несколько элементов, но цены на такие материнские платы и совместимые процессоры превосходят возможности домашних пользователей.

Несколько лет назад компания Intel представила интересную идею. В некоторых устройствах Pentium 4 производительность систем была увеличена за счет использования технологии HT (Hyper-Threading).

Она состоит в том, что два независимых потока (строки команд, выполняемые приложением) могли одновременно использовать процессор, создавая впечатление параллельного выполнения. Процессор с использованием HT рассматривался в операционной системе как два. Технология HT повысила эффективность почти на 20 процентов.

К сожалению, производство систем Hyper-Threading оказалось очень сложным и дорогостоящим.

интел горе i7

Что определяет производительность процессора

Несколько лет назад производительность определялась частотой. Так было, например, в Intel Pentium 4.

К сожалению, такое решение начало приводить к тупиковой ситуации — наряду с увеличением частоты увеличилось потребление питания и количество выделяемого тепла.

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

Решение оказалось в совсем другой архитектуре процессоров Intel Core, где вместо скорости шины основное внимание уделялось увеличению размера кеша и количества ядер.

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

Внешне многоядерные устройства не отличается от эквивалента с одним ядром. Разница лежит на кремниевой микросхеме.

Например, Intel Core 2 Duo состоит из двух ядер и кеша. Сверху его покрывает металлическая крышка, которая помимо защиты тонких кремниевых структур предназначена для удаления тепла.

четырехъядерный интел

Может ли операционная система и программы использовать много ядер

В настоящее время операционные системы Microsoft, легко справляются с многоядерными устройствами.

Кроме того, системы Linux также могут работать с несколькими ядрами, но в то время как операционные системы позволяют использовать несколько ядер, большинство программ постоянно используют только одно ядро ЦП.

Только последнее специализированное программное обеспечение может использовать мощность нескольких ядер.

К сожалению, любители компьютерных игр имеют гораздо меньшую эффективность от многоядерных систем.

Здесь очень много играет производительность графической карты. Тем не менее, многие новые игры поддерживаю многоядерные устройства.

Когда нужен четырехъядерный процессор

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

В этом случае это не стоит переплачивать, потому что стоимость самого дешевого четырехъядерного Intel Core 2 Quad Q6600 в настоящее время стоит порядочно.

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

Последние версии программ, таких как CINEMA 4D и POV-Ray, разработаны на использование вычислительной мощности четырехъядерных процессоров. Успехов.

vsesam.org

Многоядерный процессор - это... Что такое Многоядерный процессор?

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

Архитектура многоядерных систем

Многоядерные процессоры можно подразделить по наличию поддержки когерентности кеш-памяти между ядрами. Бывают процессоры с такой поддержкой и без неё.

Способ связи между ядрами:

  • разделяемая шина
  • сеть (Mesh) на каналах точка-точка
  • сеть с коммутатором
  • общая кеш-память

Кеш-память: Во всех существующих на сегодня многоядерных процессорах кеш-памятью 1-го уровня обладает каждое ядро в отдельности, а кеш-память 2-го уровня существует в нескольких вариантах:

  • разделяемая — расположена на одном кристалле с ядрами и доступна каждому из них в полном объёме. Используется в процессорах семейств Intel Core.
  • индивидуальная — отдельные кеши равного объёма, интегрированные в каждое из ядер. Обмен данными из кешей 2-го уровня между ядрами осуществляется через контроллер памяти — интегрированный (Athlon 64 X2, Turion X2, Phenom) или внешний (использовался в Pentium D, в дальнейшем Intel отказалась от такого подхода).

Производительность

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

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

Наращивание количества ядер

На сегодня основными производителями процессоров — Intel и AMD дальнейшее увеличение числа ядер процессоров признано как одно из приоритетных направлений увеличения производительности.

В 2011 году освоено производство 8-ядерных процессоров для домашних компьютеров,[1] и 16-ядерных для серверных систем.[2]

Имеются экспериментальные разработки процессоров с большим количеством ядер (более 20). Некоторые из таких процессоров уже нашли применение в специфических устройствах.

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

Двухядерные процессоры различных архитектур существовали ранее, например IBM PowerPC-970MP (G5), но их использование было ограничено узким кругом специализированных применений.

В апреле 2005 года AMD выпустила 2-ядерный процессор Opteron архитектуры AMD64, предназначенный для серверов. В мае 2005 года Intel выпустила процессор Pentium D архитектуры x86-64, ставший первым 2-ядерным процессором, предназначенным для персональных компьютеров.

В марте 2010 года появились первые 12-ядерные серийные процессоры, которыми стали серверные процессоры Opteron 6100 компании AMD (архитектура x86/x86-64).[3]

В августе 2011 года компанией AMD были выпущены первые 16-ядерные серийные серверные процессоры Opteron серии 6200 (кодовое наименование Interlagos). Процессор Interlagos объединяет в одном корпусе два 8-ядерных (4-модульных) чипа и является полностью совместимым с существующей платформой AMD Opteron серии 6100 (Socket G34).[4]

Сводные данные по истории микропроцессоров и их параметров представлены в обновляющейся английской статье: Хронология микропроцессоров, 2010ые годы. Для получения числа ядер процессора надо умножить поля "Cores per die" и "Dies per module", для получения числа аппаратных потоков - умножить число ядер на число "threads per core". Например, для Xeon E7, Intel: "4, 6, 8, 10" ядер на 1 die на 1-2 аппаратных потоков = максимум 10 ядер и 20 аппаратных потоков, AMD FX "Bulldozer" Interlagos "4-8" на 2 на 1 = максимум 16 ядер и 16 потоков.

История экспериментальных многоядерных процессоров

27 сентября 2006 года Intel представила прототип 80-ядерного процессора.[5] Предполагается, что массовое производство подобных процессоров станет возможно не раньше перехода на 32-нанометровый техпроцесс.

20 августа 2007 года компания Tilera, анонсировала чип TILE64 (англ.) с 64 процессорными ядрами и встроенной высокопроизводительной сетью, посредством которой обмен данными между различными ядрами может происходить со скоростью до 32 Тбит/с.[6][7]

26 октября 2009 года Tilera анонсировала[8] 100-ядерный процессор широкого назначения серии TILE-Gx (англ.). Каждое процессорное ядро представляет собой отдельный процессор с кеш-памятью 1 и 2 уровней. Ядра, память и системная шина связаны посредством топологии mesh network. Процессоры производятся по 40-нм техпроцессу и работают на тактовой частоте 1,5 ГГц. Выпуск 100-ядерных процессоров назначен на начало 2011 года.

2 декабря 2009 года Intel представила одночиповый «облачный» Single-chip Cloud Computer (SCC) компьютер, представляющий собой 48-ядерный чип. «Облачность» процессора состоит в том, что все 48 ядер сообщаются между собой как сетевые узлы. SCC — часть проекта, целью которого является создание 100-ядерного процессора. Ожидается, что некоторые функции SCC появятся в серийных процессорах Intel в 2010 году.[9]

В июне 2011 года Intel раскрыла детали разрабатываемой архитектуры Many Integrated Core (MIC) — эта технология выросла из проекта Larrabee. Микропроцессоры на основе этой архитектуры получат более 50 микроядер архитектуры x86 и начнут производится в 2012 году по 22-нм техпроцессу. Эти микропроцессоры не могут быть использованы в качестве центрального процессора, но из нескольких чипов этой архитектуры будут строиться вычислительные ускорители в виде отдельной карты расширения и конкурировать на рынках GPGPU и высокопроизводительных вычислений с решениями типа Nvidia Tesla и AMD FireStream.[10] По опубликованному в 2012 году описанию архитектуры, возможны чипы с количеством ядер до 60.

В октябре 2011 года компания Adapteva представила 64-ядерные микропроцессоры Epiphany IV, которые показывают производительность до 70 гигафлопс, при этом потребляя менее 1 Вт электроэнергии. Микропроцессоры спроектированы с использованием RISC-архитектуры и начнут массово производится в начале 2012 года по 28-нм техпроцессу. Данные процессоры не могут быть использованы в качестве центрального процессора, но компания Adapteva предлагает использовать их в качестве сопроцессора для таких сложных задач, как распознавание лиц или жестов пользователя. Компания Adapteva утверждает, что в дальнейшем число ядер данного микропроцессора может быть доведено до 4096[11].

В январе 2012 года компания ZiiLabs (дочернее предприятие Creative Technology) анонсировала 100-ядерную систему на чипе ZMS-40. Эта система, объединяющая 4-ядерный процессор ARM Cortex-A9 1,5 ГГц (с мультимедийными блоками Neon) и массив из 96 более простых и менее универсальных вычислительных ядер StemCell. Ядра StemCell — это энергоэффективная архитектура SIMD, пиковая производительность при вычислениях с плавающей запятой (32 бит) — 50 гигафлопс, ядра которой работают скорее как GPU в других системах на чипе, и могут быть использованы для обработки видео, изображений и аудио, для ускорения 3D- и 2D-графики и других мультимедийных задач (поддерживается OpenGL ES 2.0 и OpenCL 1.1)[12].

Многоядерные контроллеры

Существует также тенденция внедрения многоядерных микроконтроллеров в мобильные устройства.

Например:

  • seaForth-24 — новая разработка multi-core MISC архитектуры Chuck Moore 1 ГГц 24-ядерный асинхронный контроллер.
  • Контроллер от Parallax [1] имеет восемь 32-разрядных процессоров (COG) в одном кристалле P8X32A.
  • Kilocore PowerPC процессор с 1024 8-ми битными ядрами работающими на частоте 125 МГц. На данный момент существует 256-ядерный процессор.

См. также

Ссылки

Примечания

dik.academic.ru

Многоядерный процессор Википедия

В английском языке существует два часто употребляемых термина для процессоров, имеющих несколько ядер: multi-core и many-core.

Термин мультиядерный (англ. multi-core[1]) обычно применяется к центральным процессорам, содержащим два и более ядра общего назначения, однако иногда используется и для цифровых сигнальных процессоров (DSP) и однокристальных систем (SoC, СнК). Под многоядерностью процессора понимают, что несколько ядер являются интегрированными на одну интегральную схему (изготовлены на одном кремниевом кристалле). Если же в один корпус были объединены несколько полупроводниковых кристаллов, то конструкцию называют многочиповый модуль (англ. multi-chip module, MCM).

Термином многопроцессорный обозначают компьютеры, имеющие несколько физически раздельных процессоров (например, серверные материнские платы часто имеют 2 или 4 сокета для подключения нескольких чипов), но управляемые одним экземпляром операционной системы (ОС).

Понятие многоядерный[1] (англ. many-core[2] или англ. massively multi-core) может использоваться для описания многоядерных систем, имеющих высокое количество ядер, от десятков до сотен или более. Например, именно название «многоядерный» («many-core») использовалось Intel для вычислителей Intel MIC[3].

Мультипроцессор на кристалле (single-chip multiprocessor, on-chip multiprocessor, chip multiprocessing, CMP) — так ранние исследователи называли свои проекты размещения нескольких процессоров на одной подложке[4][5][6].

Архитектура многоядерных процессоров во многом повторяет архитектуру симметричных мультипроцессоров (SMP-машин) только в меньших масштабах и со своими особенностями.

Первые многоядерные процессоры (first generation CMP) представляли собой самые простые схемы: два процессорных ядра, размещенные на одном кристалле без разделения каких-либо ресурсов, кроме шины памяти (например, Sun UltraSPARC IV и Intel Pentium D). «Настоящим многоядерным» (second generation CMP) процессор считается, когда его вычислительные ядра совместно используют кэш третьего или второго уровня: например, Sun UltraSPARC IV+, Intel Core Duo и все современные многоядерные процессоры.

В многоядерных процессорах тактовая частота, как правило, намеренно снижена. Это позволяет уменьшить энергопотребление процессора без потери производительности: энергопотребление растёт как куб от роста частоты процессора. Удвоив количество ядер процессора и снизив вдвое их тактовую частоту, можно получить практически ту же производительность, при этом энергопотребление такого процессора снизится в 4 раза.

В некоторых процессорах тактовая частота каждого ядра может меняться в зависимости от его индивидуальной нагрузки. Ядро является полноценным микропроцессором, использующим все достижения микропроцессорной техники: конвейеры, внеочередное исполнение кода, многоуровневый кэш, поддержка векторных команд.

Суперскалярность в ядре присутствует не всегда, если, например, производитель процессора стремится максимально упростить ядро.

Каждое ядро может использовать технологию временной многопоточности или, если оно суперскалярное, технологию SMT для одновременного исполнения нескольких потоков, создавая иллюзию нескольких «логических процессоров» на основе каждого ядра. На процессорах компании Intel эта технология носит название Hyper-threading и удваивает число логических процессоров по сравнению с физическими. На процессорах Sun UltraSPARC T2 (2007 г.) такое увеличение может достигать 8 потоков на ядро.

Многоядерные процессоры можно подразделить по наличию поддержки когерентности (общей) кэш-памяти между ядрами. Бывают процессоры с такой поддержкой и без неё. Способ связи между ядрами:

  • разделяемая шина;
  • сеть (Mesh) на каналах точка-точка;
  • сеть с коммутатором;
  • общая кэш-память.

Кэш-память: Во всех существующих на сегодня многоядерных процессорах кэш-памятью 1-го уровня обладает каждое ядро в отдельности, а кэш-память 2-го уровня существует в нескольких вариантах:

  • разделяемая — расположена на одном кристалле с ядрами и доступна каждому из них в полном объёме. Используется в процессорах семейств Intel Core;
  • индивидуальная — отдельные кэши равного объёма, интегрированные в каждое из ядер. Обмен данными из кэшей 2-го уровня между ядрами осуществляется через контроллер памяти — интегрированный (Athlon 64 X2, Turion X2,

ruwikiorg.ru