Многоядерный процессор
Многоя́дерный проце́ссор — центральный процессор, содержащий два и более вычислительных ядра на одном процессорном кристалле или в одном корпусе.
Терминология
В английском языке существует два часто употребляемых термина для процессоров, имеющих несколько ядер: multi-core и many-core.
Термин мультиядерный (
Термином многопроцессорный обозначают компьютеры, имеющие несколько физически раздельных процессоров (например, серверные материнские платы часто имеют 2 или 4 сокета для подключения нескольких чипов), но управляемые одним экземпляром операционной системы (ОС).
Понятие многоядерный
Мультипроцессор на кристалле (single-chip multiprocessor, on-chip multiprocessor, chip multiprocessing, CMP) — так ранние исследователи называли свои проекты размещения нескольких процессоров на одной подложке[4][5][6].
Архитектура многоядерных систем
Первые многоядерные процессоры (first generation CMP) представляли собой самые простые схемы: два процессорных ядра, размещенные на одном кристалле без разделения каких-либо ресурсов, кроме шины памяти (например, Sun UltraSPARC IV и Intel Pentium D). «Настоящим многоядерным» (second generation CMP) процессор считается, когда его вычислительные ядра совместно используют кэш третьего или второго уровня: например, Sun UltraSPARC IV+, Intel Core Duo и все современные многоядерные процессоры.
В многоядерных процессорах тактовая частота, как правило, намеренно снижена. Это позволяет уменьшить энергопотребление процессора без потери производительности: энергопотребление растёт как куб от роста частоты процессора. Удвоив количество ядер процессора и снизив вдвое их тактовую частоту, можно получить практически ту же производительность, при этом энергопотребление такого процессора снизится в 4 раза.
В некоторых процессорах тактовая частота каждого ядра может меняться в зависимости от его индивидуальной нагрузки. Ядро является полноценным микропроцессором, использующим все достижения микропроцессорной техники: конвейеры, внеочередное исполнение кода, многоуровневый кэш, поддержка векторных команд.
Суперскалярность в ядре присутствует не всегда, если, например, производитель процессора стремится максимально упростить ядро.
Каждое ядро может использовать технологию
Многоядерные процессоры можно подразделить по наличию поддержки
- разделяемая шина;
- сеть (Mesh) на каналах точка-точка;
- сеть с коммутатором;
- общая кэш-память.
Кэш-память: Во всех существующих на сегодня многоядерных процессорах
- разделяемая — расположена на одном кристалле с ядрами и доступна каждому из них в полном объёме. Используется в процессорах семейств Intel Core;
- индивидуальная — отдельные кэши равного объёма, интегрированные в каждое из ядер. Обмен данными из кэшей 2-го уровня между ядрами осуществляется через контроллер памяти — интегрированный (Athlon 64 X2, Turion X2, Phenom) или внешний (использовался в Pentium D, в дальнейшем Intel отказалась от такого подхода).
Многоядерные процессоры также имеют гомогенную или гетерогенную архитектуру:
- гомогенная архитектура — все ядра процессора одинаковы и выполняют одни и те же задачи. Типичные примеры: Intel ;
- гетерогенная архитектура — ядра процессора выполняют разные задачи. Типичный пример: процессор Sony PlayStation 3.
Производительность
В приложениях, оптимизированных под многопоточность, наблюдается прирост производительности на многоядерном процессоре. Однако если приложение не оптимизировано, то оно не будет получать практически никакой выгоды от дополнительных ядер, а может даже выполняться медленнее, чем на процессоре с меньшим количеством ядер, но большей
Большинство операционных систем позволяют выполнять несколько приложений одновременно. При этом достигается выигрыш в производительности, даже если приложения однопоточные.
Наращивание количества ядер
На сегодня многими производителями процессоров, в частности Intel, AMD, IBM, ARM, дальнейшее увеличение числа ядер процессоров признано как одно из приоритетных направлений увеличения производительности.
История массовых многоядерных процессоров
POWER
Первым процессором, предназначенным для массового использования, а не для
в 2001 году.2-ядерный IBM PowerPC-970MP (G5) был представлен в 2005 году. Этим процессором оснащались последние Power Mac G5.
SPARC
В марте 2004 года компания
Компания Fujitsu в своей линейке SPARC64 представила 2-ядерный процессор SPARC64 VI только в 2007 году.
x86
В апреле 2005 года
В мае 2005 года
В марте 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 года
2 декабря 2009 года Intel представила одночиповый «облачный» Single-chip Cloud Computer (SCC) компьютер, представляющий собой 48-ядерный чип. «Облачность» процессора состоит в том, что все 48 ядер сообщаются между собой как сетевые узлы. SCC — часть проекта, целью которого является создание 100-ядерного процессора[18].
В июне
В октябре
В январе
.В августе 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-ядерный процессор.
См. также
- Ядро микропроцессора
- Многопроцессорность
- Многопоточность
- Hyper-threading)
- Tilera Corporation
- Intel Larrabee— проект новой архитектуры Intel Many Integrated Core
- MALT (Mucosa-associated lymphoid tissue[англ.])
Примечания
- ↑ 1 2 Кризис параллельного мира Архивная копия от 4 октября 2013 на Wayback Machine, Сергей Кузнецов: Обзор декабрьского 2009 г. номера журнала Computer (IEEE Computer Society, V. 42, No 12, декабрь, 2009): «архитектур мультиядерных (multicore) и многоядерных (many-core) процессоров»
- ↑ Programming Many-Core Chips. By András Vajda Архивная копия от 21 октября 2013 на Wayback Machine, page 3
- ↑ [1] Архивная копия от 4 октября 2013 на Wayback Machine: " для которого ввели этот новый термин вместо привычного multi-core, "
- ↑ 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
- ↑ Stanford Hydra Single-Chip Multiprocessor . Дата обращения: 4 сентября 2016. Архивировано из оригинала 29 августа 2007 года.
- ↑ ChipMultiprocessor Architecture: Techniques to Improve Throughput and Latency — Kunle Olukotun, Lance Hammond, James Laudon — 2007
- ↑ «AMD дала зелёный свет 8- и 12-ядерным процессорам серии Opteron 6100» Архивная копия от 30 сентября 2010 на Wayback Machine — overclockers.ua
- ↑ Сайт 3DNews: «Официальный анонс процессоров AMD FX» Архивная копия от 15 октября 2011 на Wayback Machine
- ↑ Сайт 3DNews: «AMD начала массовые поставки серверных Bulldozer. Настольные откладываются?» Архивная копия от 5 ноября 2011 на Wayback Machine.
- ↑ Сайт 3DNews: «Появились данные о серверных AMD Bulldozer: 3 ГГц максимум?» Архивная копия от 18 сентября 2011 на Wayback Machine.
- ↑ Intel® Xeon® Processor E7 Family . Дата обращения: 3 августа 2016. Архивировано 9 августа 2016 года.
- ↑ Intel unleashes new Xeon E7 v4 CPUs including 24-core monster | TechRadar . Дата обращения: 3 августа 2016. Архивировано 10 августа 2016 года.
- ↑ AMD сегодня начнёт продажи 64-ядерного Ryzen Threadripper 3990X . 3DNews - Daily Digital Digest. Дата обращения: 28 июля 2020. Архивировано 10 февраля 2020 года.
- ↑ Intel продемонстрировала 80-ядерный суперпроцессор будущего . Lenta.ru (27 сентября 2006). Дата обращения: 13 августа 2010. Архивировано 3 января 2012 года.
- ↑ Статья на сайте 3dnews.ru: «Tilera Tile64 — чип с 64 процессорными ядрами» Архивная копия от 10 сентября 2010 на Wayback Machine
- ↑ «Tilera Now Shipping the TILE64 Processor: the World’s Highest Performance Embedded Processor» . Дата обращения: 19 октября 2018. Архивировано из оригинала 23 марта 2010 года.
- ↑ Modnews
- ↑ Статья на сайте lenta.ru: «Intel продемонстрировала 48-ядерный процессор» Архивная копия от 26 августа 2010 на Wayback Machine
- ↑ Сайт 3DNews: «Intel MIC: 22-нм Knights Corner — в 2012 году, ExaScale — в 2018 году» Архивная копия от 10 ноября 2011 на Wayback Machine
- ↑ Сайт 3DNews: «64-ядерный чип от Adapteva может быть использован в смартфонах и планшетах» Архивная копия от 8 октября 2011 на Wayback Machine, 05.10.2011
- ↑ Adapteva скоро начнет поставки ознакомительных образцов 28-нанометровых 64-ядерных процессоров E64G4 Архивная копия от 11 августа 2016 на Wayback Machine // Ixbt.com, 21 Марта, 2012
- ↑ Сайт 3DNews: «ZiiLabs представила „4+96-ядерный“ процессор ZMS-40» Архивная копия от 15 января 2012 на Wayback Machine
- ↑ * The first computer chip with a trillion transistors Архивная копия от 8 декабря 2019 на Wayback Machine // обзорная статья The Economist, Dec 7th 2019 (англ.)
- Cerebras reveals world’s 'largest computer chip' for AI tasks Архивная копия от 11 января 2020 на BBC// 19 August 2019 (англ.)
- Cerebras reveals world’s 'largest computer chip' for AI tasks Архивная копия от 11 января 2020 на
- ↑ Крупнейший в мире процессор обогнал по производительности суперкомпьютер Архивная копия от 27 ноября 2020 на Wayback Machine // Вести.ру, 27 ноября 2020
- ↑ Архивированная копия . Дата обращения: 15 апреля 2008. Архивировано из оригинала 21 июля 2011 года.
- ↑ 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. (англ.)
- (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. (англ.)
Ссылки
- Двухъядерные процессоры Intel и AMD: теория: часть 1 Архивная копия от 20 августа 2010 на Wayback Machine, часть 2 Архивная копия от 25 августа 2010 на Wayback Machine // Ferra.ru,й июнь 2005
- Вячеслав Любченко, Юрий Тяжлов Осторожно: многоядерный процессор // Osp.ru, июнь 2007
- Многоядерные процессоры /ретроспектива с 2005 года/ : Шестиядерные процессоры Intel Core i5 и Core i7 (Coffee Lake) // IXBT.com, окт 2017