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

Материал из Википедии — свободной энциклопедии

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

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

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

Термин мультиядерный (

корпус были объединены несколько полупроводниковых кристаллов, то конструкцию называют многочиповый модуль (англ.
 multi-chip module, MCM).

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

Понятие многоядерный

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 раза.

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

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

Каждое ядро может использовать технологию

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

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

кэш-памяти
между ядрами. Бывают процессоры с такой поддержкой и без неё. Способ связи между ядрами:

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

Кэш-память: Во всех существующих на сегодня многоядерных процессорах

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

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

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

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

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

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

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

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

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

POWER

Первым процессором, предназначенным для массового использования, а не для

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

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

SPARC

В марте 2004 года компания

UltraSPARC IV+
(середина 2005 года), где два ядра процессора совместно использовали off-chip кэш 3-го уровня и on-chip кэш 2-го уровня.

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

x86

В апреле 2005 года

AMD64, предназначенный для серверов
.

В мае 2005 года

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 ядер).

В феврале 2020 года компания AMD выпустила в продажу первый 64-ядерный процессор для домашних компьютеров AMD Ryzen Threadripper 3990X[13].

Сводные данные по истории микропроцессоров и их параметров представлены в обновляющейся английской статье: Хронология микропроцессоров, 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 Вт[14].

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

26 октября 2009 года

системная шина связаны посредством топологии mesh network
. Процессоры производятся по 40-нм техпроцессу и работают на тактовой частоте 1,5 ГГц. Выпуск 100-ядерных процессоров назначен на начало 2011 года.

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

В июне

карты расширения и конкурировать на рынках GPGPU и высокопроизводительных вычислений с решениями типа Nvidia Tesla и AMD FireStream.[19]
По опубликованному в 2012 году описанию архитектуры, возможны чипы с количеством ядер до 60.

В октябре

центрального процессора, но компания Adapteva[англ.] предлагает использовать их в качестве сопроцессора для таких сложных задач, как распознавание лиц
или жестов пользователя. Компания Adapteva утверждает, что в дальнейшем число ядер данного микропроцессора может быть доведено до 4096 Планируется, что 4096-ядерный процессор в основной версии (700 МГц), по оценкам, позволит получить 5,6 TFLOPS, потребляя всего 80 Ватт.

[20][21].

В январе

2D-графики и других мультимедийных задач (поддерживается OpenGL ES 2.0 и OpenCL 1.1)[22]
.

В августе 2019 года компания Cerebras Systems[англ.] представила самый большой в мире многоядерный суперпроцессор Cerebras Wafer Scale Engine; он имеет более 1,2 триллиона транзисторов на 400 000 ядрах и занимает почти всю площадь полупроводниковой пластины диаметром 300 мм.[23]. В 2020 г. они же создали самый большой процессор в истории вычислительной техники; в испытаниях он обошёл по производительности суперкомпьютер из первой сотни общемирового рейтинга[24].

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

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

мобильные устройства
.

Например:

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

См. также

Примечания

  1. 1 2 Кризис параллельного мира Архивная копия от 4 октября 2013 на Wayback Machine, Сергей Кузнецов: Обзор декабрьского 2009 г. номера журнала Computer (IEEE Computer Society, V. 42, No 12, декабрь, 2009): «архитектур мультиядерных (multicore) и многоядерных (many-core) процессоров»
  2. Programming Many-Core Chips. By András Vajda Архивная копия от 21 октября 2013 на Wayback Machine, page 3
  3. [1] Архивная копия от 4 октября 2013 на Wayback Machine: " для которого ввели этот новый термин вместо привычного 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. Дата обращения: 4 сентября 2016. Архивировано из оригинала 29 августа 2007 года.
  6. ChipMultiprocessor Architecture: Techniques to Improve Throughput and Latency — Kunle Olukotun, Lance Hammond, James Laudon — 2007
  7. «AMD дала зелёный свет 8- и 12-ядерным процессорам серии Opteron 6100» Архивная копия от 30 сентября 2010 на Wayback Machine — overclockers.ua
  8. Сайт 3DNews: «Официальный анонс процессоров AMD FX» Архивная копия от 15 октября 2011 на Wayback Machine
  9. Сайт 3DNews: «AMD начала массовые поставки серверных Bulldozer. Настольные откладываются?» Архивная копия от 5 ноября 2011 на Wayback Machine.
  10. Сайт 3DNews: «Появились данные о серверных AMD Bulldozer: 3 ГГц максимум?» Архивная копия от 18 сентября 2011 на Wayback Machine.
  11. Intel® Xeon® Processor E7 Family. Дата обращения: 3 августа 2016. Архивировано 9 августа 2016 года.
  12. Intel unleashes new Xeon E7 v4 CPUs including 24-core monster | TechRadar. Дата обращения: 3 августа 2016. Архивировано 10 августа 2016 года.
  13. AMD сегодня начнёт продажи 64-ядерного Ryzen Threadripper 3990X. 3DNews - Daily Digital Digest. Дата обращения: 28 июля 2020. Архивировано 10 февраля 2020 года.
  14. Intel продемонстрировала 80-ядерный суперпроцессор будущего. Lenta.ru (27 сентября 2006). Дата обращения: 13 августа 2010. Архивировано 3 января 2012 года.
  15. Статья на сайте 3dnews.ru: «Tilera Tile64 — чип с 64 процессорными ядрами» Архивная копия от 10 сентября 2010 на Wayback Machine
  16. «Tilera Now Shipping the TILE64 Processor: the World’s Highest Performance Embedded Processor». Дата обращения: 19 октября 2018. Архивировано из оригинала 23 марта 2010 года.
  17. Modnews
  18. Статья на сайте lenta.ru: «Intel продемонстрировала 48-ядерный процессор» Архивная копия от 26 августа 2010 на Wayback Machine
  19. Сайт 3DNews: «Intel MIC: 22-нм Knights Corner — в 2012 году, ExaScale — в 2018 году» Архивная копия от 10 ноября 2011 на Wayback Machine
  20. Сайт 3DNews: «64-ядерный чип от Adapteva может быть использован в смартфонах и планшетах» Архивная копия от 8 октября 2011 на Wayback Machine, 05.10.2011
  21. Adapteva скоро начнет поставки ознакомительных образцов 28-нанометровых 64-ядерных процессоров E64G4 Архивная копия от 11 августа 2016 на Wayback Machine // Ixbt.com, 21 Марта, 2012
  22. Сайт 3DNews: «ZiiLabs представила „4+96-ядерный“ процессор ZMS-40» Архивная копия от 15 января 2012 на Wayback Machine
  23. * The first computer chip with a trillion transistors Архивная копия от 8 декабря 2019 на Wayback Machine // обзорная статья The Economist, Dec 7th 2019 (англ.)
  24. Крупнейший в мире процессор обогнал по производительности суперкомпьютер Архивная копия от 27 ноября 2020 на Wayback Machine // Вести.ру, 27 ноября 2020
  25. Архивированная копия. Дата обращения: 15 апреля 2008. Архивировано из оригинала 21 июля 2011 года.
  26. Propeller | Parallax Inc. Дата обращения: 15 апреля 2008. Архивировано 29 июля 2009 года.

Литература

  • (1999) Processor Architecture — From Dataflow to Superscalar and Beyond (ISBN 3540647988(англ.)
  • Кунле Олукотун. Chip Multiprocessor Architecture: Techniques to Improve Throughput and Latency. — Morgan and Claypool Publishers, 2007. — 154 p. — ISBN 159829122X. (англ.)
  • (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. (англ.)

Ссылки