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

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

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

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

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

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

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

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

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

Архитектура многоядерных процессоров во многом повторяет архитектуру симметричных мультипроцессоров ( 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

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

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

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 ).

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

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

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

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

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

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

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

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

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

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

.

В январе 2012 года компания (англ.) (дочернее предприятие 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) .

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

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

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

Например:

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

См. также

Примечания

  1. от 4 октября 2013 на Wayback Machine , Сергей Кузнецов: Обзор декабрьского 2009 г. номера журнала Computer (IEEE Computer Society, V. 42, No 12, декабрь, 2009): «архитектур мультиядерных (multicore) и многоядерных (many-core) процессоров»
  2. от 21 октября 2013 на Wayback Machine , page 3
  3. от 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. . Дата обращения: 4 сентября 2016. Архивировано из 29 августа 2007 года.
  6. ChipMultiprocessor Architecture: Techniques to Improve Throughput and Latency — Kunle Olukotun, Lance Hammond, James Laudon — 2007
  7. от 30 сентября 2010 на Wayback Machine — overclockers.ua
  8. Сайт 3DNews : от 15 октября 2011 на Wayback Machine
  9. Сайт 3DNews : от 5 ноября 2011 на Wayback Machine .
  10. Сайт 3DNews : от 18 сентября 2011 на Wayback Machine .
  11. . Дата обращения: 3 августа 2016. 9 августа 2016 года.
  12. . Дата обращения: 3 августа 2016. 10 августа 2016 года.
  13. . 3DNews - Daily Digital Digest . Дата обращения: 28 июля 2020. 10 февраля 2020 года.
  14. . Lenta.ru (27 сентября 2006). Дата обращения: 13 августа 2010. 3 января 2012 года.
  15. Статья на сайте 3dnews.ru: от 10 сентября 2010 на Wayback Machine
  16. . Дата обращения: 19 октября 2018. Архивировано из 23 марта 2010 года.
  17. Статья на сайте lenta.ru: от 26 августа 2010 на Wayback Machine
  18. Сайт 3DNews : от 10 ноября 2011 на Wayback Machine
  19. Сайт 3DNews : от 8 октября 2011 на Wayback Machine , 05.10.2011
  20. от 11 августа 2016 на Wayback Machine // Ixbt.com, 21 Марта, 2012
  21. Сайт 3DNews : от 15 января 2012 на Wayback Machine
  22. * от 8 декабря 2019 на Wayback Machine // обзорная статья The Economist , Dec 7th 2019 (англ.)
  23. от 27 ноября 2020 на Wayback Machine // Вести.ру , 27 ноября 2020
  24. . Дата обращения: 15 апреля 2008. Архивировано из 21 июля 2011 года.
  25. . Дата обращения: 15 апреля 2008. 29 июля 2009 года.

Литература

  • (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 . (англ.)

Ссылки

  • Двухъядерные процессоры Intel и AMD: теория: от 20 августа 2010 на Wayback Machine , от 25 августа 2010 на Wayback Machine // Ferra.ru ,й июнь 2005
  • Вячеслав Любченко, Юрий Тяжлов // Osp.ru , июнь 2007
  • // IXBT.com , окт 2017
Источник —

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