Центральный процессор
- 1 year ago
- 0
- 0
Многоя́дерный проце́ссор — центральный процессор , содержащий два и более вычислительных ядра на одном процессорном кристалле или в одном корпусе .
В английском языке существует два часто употребляемых термина для процессоров, имеющих несколько ядер: 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 потоков на ядро.
Многоядерные процессоры можно подразделить по наличию поддержки когерентности (общей) кэш-памяти между ядрами. Бывают процессоры с такой поддержкой и без неё. Способ связи между ядрами:
Кэш-память: Во всех существующих на сегодня многоядерных процессорах кэш-памятью 1-го уровня обладает каждое ядро в отдельности, а кэш-память 2-го уровня существует в нескольких вариантах:
Многоядерные процессоры также имеют гомогенную или гетерогенную архитектуру:
В приложениях, оптимизированных под многопоточность , наблюдается прирост производительности на многоядерном процессоре. Однако если приложение не оптимизировано, то оно не будет получать практически никакой выгоды от дополнительных ядер, а может даже выполняться медленнее, чем на процессоре с меньшим количеством ядер, но большей тактовой частотой . Это в основном приложения, разработанные до появления многоядерных процессоров, либо приложения, в принципе не использующие многопоточность.
Большинство операционных систем позволяют выполнять несколько приложений одновременно . При этом достигается выигрыш в производительности, даже если приложения однопоточные.
На сегодня многими производителями процессоров, в частности Intel , AMD , IBM , ARM , дальнейшее увеличение числа ядер процессоров признано как одно из приоритетных направлений увеличения производительности.
Первым процессором, предназначенным для массового использования, а не для встроенных систем , стал POWER4 с двумя ядрами PowerPC на одном кристалле, выпущенный компанией IBM в 2001 году.
2-ядерный IBM PowerPC-970MP ( G5 ) был представлен в 2005 году. Этим процессором оснащались последние Power Mac G5 .
В марте 2004 года компания Sun Microsystems представила первый 2-ядерный процессор архитектуры SPARC: UltraSPARC IV — CMP первого поколения. Процессором второго поколения CMP стал UltraSPARC IV+ (середина 2005 года), где два ядра процессора совместно использовали off-chip кэш 3-го уровня и on-chip кэш 2-го уровня.
Компания Fujitsu в своей линейке SPARC64 представила 2-ядерный процессор SPARC64 VI только в 2007 году.
В апреле 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 г. они же создали самый большой процессор в истории вычислительной техники; в испытаниях он обошёл по производительности суперкомпьютер из первой сотни общемирового рейтинга .
Существует также тенденция внедрения многоядерных микроконтроллеров в мобильные устройства .
Например: