stringtranslate.com

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

Схема универсального двухъядерного процессора с локальными кэшами уровня 1 ЦП и общим кэшем уровня 2 на кристалле
Двухъядерный процессор Intel Core 2 Duo E6750
Двухъядерный процессор AMD Athlon X2 6400+

Многоядерный процессор ( MCP ) — это микропроцессор на одной интегральной схеме (ИС) с двумя или более отдельными центральными процессорами (ЦП), называемыми ядрами , чтобы подчеркнуть их множественность (например, двухъядерный или четырехъядерный ). Каждое ядро ​​считывает и выполняет инструкции программы , [1] в частности, обычные инструкции ЦП (такие как добавление, перемещение данных и переход). Однако MCP может выполнять инструкции на отдельных ядрах одновременно, увеличивая общую скорость для программ, поддерживающих многопоточность или другие методы параллельных вычислений . [2] Производители обычно интегрируют ядра на один кристалл ИС , известный как чип-мультипроцессор (CMP), или на несколько кристаллов в одном корпусе чипа . По состоянию на 2024 год микропроцессоры, используемые почти во всех новых персональных компьютерах, являются многоядерными.

Многоядерный процессор реализует многопроцессорность в одном физическом корпусе. Разработчики могут связывать ядра в многоядерном устройстве тесно или свободно. Например, ядра могут совместно использовать кэши или нет , и они могут реализовывать методы передачи сообщений или межъядерной связи с общей памятью . Обычные сетевые топологии, используемые для соединения ядер, включают шину , кольцо , двумерную сетку и перекрестную . Однородные многоядерные системы включают только идентичные ядра; неоднородные многоядерные системы имеют ядра, которые не идентичны (например, big.LITTLE имеет неоднородные ядра, которые совместно используют один и тот же набор инструкций , в то время как AMD Accelerated Processing Units имеет ядра, которые не используют один и тот же набор инструкций). Так же, как и в однопроцессорных системах, ядра в многоядерных системах могут реализовывать такие архитектуры, как VLIW , суперскалярная , векторная или многопоточная .

Многоядерные процессоры широко используются во многих областях применения, включая общее назначение , встроенные , сетевые , цифровую обработку сигналов (DSP) и графику (GPU). Количество ядер достигает даже десятков, а для специализированных чипов более 10 000, [3] а в суперкомпьютерах (т. е. кластерах чипов) количество может превышать 10 миллионов (а в одном случае до 20 миллионов элементов обработки в дополнение к хост-процессорам). [4]

Улучшение производительности, достигаемое за счет использования многоядерного процессора, во многом зависит от используемых программных алгоритмов и их реализации. В частности, возможный прирост ограничен долей программного обеспечения, которое может работать параллельно на нескольких ядрах; этот эффект описывается законом Амдаля . В лучшем случае, так называемые ошеломляюще параллельные задачи могут реализовать факторы ускорения, близкие к числу ядер, или даже больше, если задача разделена достаточно, чтобы поместиться в кэш(и) каждого ядра, избегая использования гораздо более медленной памяти основной системы. Большинство приложений, однако, не ускоряются так сильно, если программисты не вкладывают усилия в рефакторинг . [5]

Распараллеливание программного обеспечения является важной текущей темой исследований. Коинтеграция многопроцессорных приложений обеспечивает гибкость в проектировании сетевой архитектуры. Адаптируемость в параллельных моделях является дополнительной функцией систем, использующих эти протоколы. [6]

На потребительском рынке двухъядерные процессоры (то есть микропроцессоры с двумя блоками) стали обычным явлением на персональных компьютерах в конце 2000-х годов. [7] Четырехъядерные процессоры также были приняты в ту эпоху для более мощных систем, прежде чем стать стандартом. В конце 2010-х годов шестиядерные процессоры (шесть ядер) начали входить в мейнстрим [8] и с начала 2020-х годов обогнали четырехъядерные во многих областях. [9]

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

Термины «многоядерный» и «двухъядерный» чаще всего относятся к какому-либо центральному процессору (ЦП), но иногда также применяются к цифровым сигнальным процессорам (ЦСП) и системам на кристалле (СнК). Эти термины обычно используются только для обозначения многоядерных микропроцессоров, которые производятся на одном кристалле интегральной схемы ; отдельные кристаллы микропроцессоров в одном корпусе обычно называются другими именами, например, многочиповый модуль . В этой статье термины «многоядерный» и «двухъядерный» используются для ЦП, производимых на одной и той же интегральной схеме, если не указано иное.

В отличие от многоядерных систем, термин « многопроцессорный процессор» относится к нескольким физически отдельным процессорным блокам (которые часто содержат специальные схемы для облегчения связи между ними).

Термины «многоядерный» и «массово многоядерный» иногда используются для описания многоядерных архитектур с особенно большим количеством ядер (от десятков до тысяч [10] ). [11]

Некоторые системы используют много ядер программного микропроцессора, размещенных на одной ПЛИС . Каждое «ядро» можно считать « ядром интеллектуальной собственности полупроводника », а также ядром ЦП. [ требуется цитата ]

Разработка

В то время как технология производства улучшается, уменьшая размер отдельных вентилей, физические ограничения микроэлектроники на основе полупроводников стали основной проблемой проектирования. Эти физические ограничения могут вызывать значительные проблемы с рассеиванием тепла и синхронизацией данных. Для повышения производительности ЦП используются различные другие методы. Некоторые методы параллелизма на уровне инструкций (ILP), такие как суперскалярный конвейер , подходят для многих приложений, но неэффективны для других, которые содержат труднопредсказуемый код. Многие приложения лучше подходят для методов параллелизма на уровне потоков (TLP), и несколько независимых ЦП обычно используются для увеличения общего TLP системы. Сочетание увеличенного доступного пространства (благодаря усовершенствованным производственным процессам) и спроса на увеличенный TLP привело к разработке многоядерных ЦП.

Коммерческие стимулы

Несколько бизнес-мотивов стимулируют развитие многоядерных архитектур. В течение десятилетий можно было улучшить производительность ЦП, уменьшив площадь интегральной схемы (ИС), что снижало стоимость одного устройства на ИС. В качестве альтернативы, для той же площади схемы, в конструкции можно было использовать больше транзисторов, что увеличивало функциональность, особенно для архитектур сложных вычислений с набором команд (CISC). Тактовые частоты также увеличились на порядки в десятилетия конца 20-го века, с нескольких мегагерц в 1980-х до нескольких гигагерц в начале 2000-х.

Поскольку темпы улучшения тактовой частоты замедлились, возросло использование параллельных вычислений в форме многоядерных процессоров для повышения общей производительности обработки. Несколько ядер использовались на одном и том же чипе ЦП, что могло затем привести к лучшим продажам чипов ЦП с двумя или более ядрами. Например, Intel выпустила 48-ядерный процессор для исследований в области облачных вычислений; каждое ядро ​​имеет архитектуру x86 . [12] [13]

Технические факторы

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

Кроме того:

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

Преимущества

Близость нескольких ядер ЦП на одном кристалле позволяет схеме когерентности кэша работать на гораздо более высокой тактовой частоте, чем это возможно, если бы сигналы выходили за пределы кристалла. Объединение эквивалентных ЦП на одном кристалле значительно повышает производительность операций отслеживания кэша (альтернатива: отслеживание шины ). Проще говоря, это означает, что сигналы между различными ЦП проходят более короткие расстояния, и, следовательно, эти сигналы деградируют меньше. Эти более качественные сигналы позволяют отправлять больше данных за заданный период времени, поскольку отдельные сигналы могут быть короче и не должны повторяться так часто.

Предполагая, что кристалл физически помещается в корпус, многоядерные конструкции ЦП требуют гораздо меньше места на печатной плате (PCB), чем многочиповые конструкции SMP . Кроме того, двухъядерный процессор потребляет немного меньше энергии, чем два связанных одноядерных процессора, в основном из-за уменьшенной мощности, необходимой для управления внешними по отношению к чипу сигналами. Кроме того, ядра имеют некоторые общие схемы, такие как кэш L2 и интерфейс к системной шине (FSB). С точки зрения конкурирующих технологий для доступной области кремниевого кристалла, многоядерная конструкция может использовать проверенные конструкции библиотеки ядер ЦП и производить продукт с меньшим риском ошибки проектирования, чем разработка новой конструкции с более широким ядром. Кроме того, добавление большего кэша страдает от убывающей отдачи.

Многоядерные чипы также обеспечивают более высокую производительность при меньшем энергопотреблении. Это может быть важным фактором в мобильных устройствах, работающих от батарей. Поскольку каждое ядро ​​в многоядерном ЦП, как правило, более энергоэффективно, чип становится более эффективным, чем имеющий одно большое монолитное ядро. Это обеспечивает более высокую производительность при меньшем энергопотреблении. Однако проблемой здесь являются дополнительные накладные расходы на написание параллельного кода. [15]

Недостатки

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

Интеграция многоядерного чипа может снизить выход годных чипов. Их также сложнее контролировать с точки зрения температуры, чем одноядерные конструкции с меньшей плотностью. Intel частично решила эту первую проблему, создав свои четырехъядерные конструкции, объединив два двухъядерных на одном кристалле с единым кэшем, поэтому можно использовать любые два рабочих двухъядерных кристалла, в отличие от производства четырех ядер на одном кристалле и требуя, чтобы все четыре работали для производства четырехъядерного ЦП. С точки зрения архитектуры, в конечном счете, конструкции с одним ЦП могут лучше использовать площадь поверхности кремния, чем многопроцессорные ядра, поэтому приверженность разработке этой архитектуры может нести риск устаревания. Наконец, чистая вычислительная мощность — не единственное ограничение производительности системы. Два вычислительных ядра, совместно использующие одну и ту же системную шину и пропускную способность памяти, ограничивают реальное преимущество производительности.

Аппаратное обеспечение

Тенденции

Тенденция в разработке процессоров направлена ​​на постоянное увеличение числа ядер, поскольку теоретически возможны процессоры с сотнями или даже тысячами ядер. [16] Кроме того, многоядерные чипы, смешанные с одновременной многопоточностью , памятью на кристалле и специализированными «гетерогенными» (или асимметричными) ядрами, обещают дальнейший рост производительности и эффективности, особенно при обработке мультимедиа, распознавании и сетевых приложениях. Например, ядро ​​big.LITTLE включает высокопроизводительное ядро ​​(называемое «big») и маломощное ядро ​​(называемое «LITTLE»). Существует также тенденция к повышению энергоэффективности за счет сосредоточения внимания на производительности на ватт с расширенным мелкозернистым или сверхмелкозернистым управлением питанием и динамическим масштабированием напряжения и частоты (например, ноутбуки и портативные медиаплееры ).

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

Архитектура

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

То, как реализованы и интегрированы несколько ядер, существенно влияет как на навыки программирования разработчика, так и на ожидания потребителя относительно приложений и интерактивности по сравнению с устройством. [17] Устройство, рекламируемое как восьмиядерное, будет иметь независимые ядра только в том случае, если оно рекламируется как True Octa-core или в похожем стиле, в отличие от двух наборов четырехъядерных процессоров, каждый из которых имеет фиксированную тактовую частоту. [18] [19]

Статья «Разработчики ЦП обсуждают многоядерное будущее» Рика Мерритта, EE Times 2008, [20] включает следующие комментарии:

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

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

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

Программные эффекты

Устаревшая версия антивирусного приложения может создать новый поток для процесса сканирования, в то время как его поток графического интерфейса будет ожидать команд от пользователя (например, отмены сканирования). В таких случаях многоядерная архитектура малополезна для самого приложения из-за того, что единственный поток выполняет всю тяжелую работу, и невозможности равномерно распределить работу между несколькими ядрами. Программирование действительно многопоточного кода часто требует сложной координации потоков и может легко вносить тонкие и труднообнаружимые ошибки из-за переплетения обработки данных, общих для потоков (см. thread-safety ). Следовательно, такой код гораздо сложнее отлаживать, чем однопоточный код, когда он ломается. Было отмечено отсутствие мотивации для написания потоковых приложений потребительского уровня из-за относительной редкости спроса на потребительском уровне на максимальное использование компьютерного оборудования. Кроме того, последовательные задачи, такие как декодирование алгоритмов энтропийного кодирования , используемых в видеокодеках, невозможно распараллелить, поскольку каждый сгенерированный результат используется для создания следующего результата алгоритма энтропийного декодирования.

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

Телекоммуникационный рынок был одним из первых, кому потребовалась новая конструкция обработки пакетов параллельного пути данных, поскольку произошло очень быстрое внедрение этих многоядерных процессоров для пути данных и плоскости управления. Эти MPU заменят [21] традиционные сетевые процессоры, которые были основаны на фирменном микрокоде или пикокоде .

Методы параллельного программирования могут извлечь выгоду из нескольких ядер напрямую. Некоторые существующие модели параллельного программирования, такие как Cilk Plus , OpenMP , OpenHMPP , FastFlow , Skandium, MPI и Erlang , могут использоваться на многоядерных платформах. Intel представила новую абстракцию для параллелизма C++ под названием TBB . Другие исследовательские работы включают Codeplay Sieve System , Cray's Chapel , Sun's Fortress и IBM's X10 .

Многоядерная обработка также повлияла на возможности разработки современного вычислительного программного обеспечения. Разработчики, программирующие на новых языках, могут обнаружить, что их современные языки не поддерживают многоядерную функциональность. Это требует использования числовых библиотек для доступа к коду, написанному на таких языках, как C и Fortran , которые выполняют математические вычисления быстрее [ требуется ссылка ], чем новые языки, такие как C# . MKL от Intel и ACML от AMD написаны на этих родных языках и используют преимущества многоядерной обработки. Балансировка рабочей нагрузки приложения между процессорами может быть проблематичной, особенно если они имеют разные характеристики производительности. Существуют разные концептуальные модели для решения этой проблемы, например, использование языка координации и программных строительных блоков (библиотек программирования или функций более высокого порядка). Каждый блок может иметь разную собственную реализацию для каждого типа процессора. Пользователи просто программируют, используя эти абстракции, а интеллектуальный компилятор выбирает лучшую реализацию на основе контекста. [22]

Управление параллелизмом приобретает центральную роль в разработке параллельных приложений. Основные шаги в проектировании параллельных приложений:

Разделение
Этап разбиения проекта призван раскрыть возможности параллельного выполнения. Следовательно, основное внимание уделяется определению большого количества небольших задач для получения того, что называется мелкозернистой декомпозицией проблемы.
Коммуникация
Задачи, генерируемые разделом, предназначены для параллельного выполнения, но, как правило, не могут выполняться независимо. Вычисления, которые должны быть выполнены в одной задаче, обычно требуют данных, связанных с другой задачей. Затем данные должны передаваться между задачами, чтобы обеспечить продолжение вычислений. Этот информационный поток указывается на этапе коммуникации проекта.
Агломерация
На третьем этапе разработка переходит от абстракции к конкретному. Разработчики пересматривают решения, принятые на этапах разбиения и коммуникации, с целью получения алгоритма, который будет эффективно выполняться на некотором классе параллельных компьютеров. В частности, разработчики рассматривают, полезно ли объединять или агломерировать задачи, определенные на этапе разбиения, чтобы обеспечить меньшее количество задач, каждая из которых большего размера. Они также определяют, стоит ли реплицировать данные и вычисления.
Картографирование
На четвертом и последнем этапе проектирования параллельных алгоритмов разработчики указывают, где должна выполняться каждая задача. Эта проблема отображения не возникает на однопроцессорных компьютерах или компьютерах с общей памятью, которые обеспечивают автоматическое планирование задач.

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

Лицензирование

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

Встроенные приложения

Встроенная система на сменной плате с процессором, памятью, источником питания и внешними интерфейсами

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

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

Сетевые процессоры

С 2010 года многоядерные сетевые процессоры стали мейнстримом, и такие компании, как Freescale Semiconductor , Cavium Networks , Wintegra и Broadcom, производят продукцию с восемью процессорами. Для разработчика системы ключевой проблемой является то, как использовать все ядра в этих устройствах для достижения максимальной сетевой производительности на системном уровне, несмотря на ограничения производительности, присущие симметричной многопроцессорной (SMP) операционной системе. Такие компании, как 6WIND, предоставляют портативное программное обеспечение для обработки пакетов, разработанное таким образом, чтобы сетевая плоскость данных работала в среде быстрого пути за пределами операционной системы сетевого устройства. [25]

Цифровая обработка сигнала

В цифровой обработке сигналов наблюдается та же тенденция: у Texas Instruments есть трехъядерный TMS320C6488 и четырехъядерный TMS320C5441, у Freescale — четырехъядерный MSC8144 и шестиядерный MSC8156 (и обе компании заявили, что работают над восьмиядерными преемниками). К новым продуктам относятся семейство Storm-1 от Stream Processors, Inc с 40 и 80 АЛУ общего назначения на чип, все программируемые на C как SIMD-движок, и Picochip с 300 процессорами на одном кристалле, ориентированный на коммуникационные приложения.

Гетерогенные системы

В гетерогенных вычислениях , где система использует более одного типа процессора или ядер, многоядерные решения становятся все более распространенными: Xilinx Zynq UltraScale+ MPSoC имеет четырехъядерный ARM Cortex-A53 и двухъядерный ARM Cortex-R5. Программные решения, такие как OpenAMP, используются для помощи в межпроцессорной коммуникации.

Мобильные устройства могут использовать архитектуру ARM big.LITTLE .

Примеры оборудования

Коммерческий

Бесплатно

Академический

Показатели

Исследования и разработки многоядерных процессоров часто сравнивают множество вариантов, и разрабатываются бенчмарки, чтобы помочь в таких оценках. Существующие бенчмарки включают SPLASH-2, PARSEC и COSMIC для гетерогенных систем. [49]

Смотрите также

Примечания

  1. ^ Цифровые сигнальные процессоры (DSP) использовали многоядерные архитектуры гораздо дольше, чем высокопроизводительные процессоры общего назначения. Типичным примером реализации, специфичной для DSP, будет комбинация RISC - ЦП и DSP MPU . Это позволяет разрабатывать продукты, которым требуется процессор общего назначения для пользовательских интерфейсов и DSP для обработки данных в реальном времени; этот тип проектирования распространен в мобильных телефонах . В других приложениях все большее число компаний разрабатывают многоядерные DSP с очень большим количеством процессоров.
  2. ^ Два типа операционных систем могут использовать двухпроцессорный мультипроцессор: секционированная мультипроцессорная обработка и симметричная мультипроцессорная обработка (SMP). В секционированной архитектуре каждый ЦП загружается в отдельные сегменты физической памяти и работает независимо; в ОС SMP процессоры работают в общем пространстве, выполняя потоки внутри ОС независимо.

Ссылки

  1. Рауз, Маргарет (27 марта 2007 г.). «Определение: многоядерный процессор». TechTarget. Архивировано из оригинала 5 августа 2010 г. Получено 6 марта 2013 г.
  2. ^ Шауэр, Брайан. "Многоядерные процессоры – необходимость" (PDF) . Архивировано из оригинала (PDF) 2011-11-25.
  3. ^ ab Smith, Ryan. «NVIDIA анонсирует серию GeForce RTX 30: Ampere для игр, начиная с RTX 3080 и RTX 3090». www.anandtech.com . Получено 15 сентября 2020 г.
  4. ^ "Sunway TaihuLight - Sunway MPP, Sunway SW26010 260C 1,45 ГГц, Sunway | TOP500". www.top500.org . Получено 15.09.2020 .
  5. ^ Suleman, Aater (20 мая 2011 г.). «Что делает параллельное программирование сложным?». FutureChips. Архивировано из оригинала 29 мая 2011 г. Получено 6 марта 2013 г.
  6. ^ Дюран, А (2011). «Ompss: предложение по программированию гетерогенных многоядерных архитектур». Parallel Processing Letters . 21 (2): 173–193. doi :10.1142/S0129626411000151.
  7. ^ "Определение двухъядерности". PCMAG . Получено 2023-10-27 .
  8. ^ "Intel выводит свои шестиядерные процессоры на массовый рынок в 2018 году с семейством Coffee Lake". ZDNET . Получено 27 октября 2023 г.
  9. ^ Алан Декстер (2022-04-05). «Шестиядерные процессоры теперь более популярны, чем четырехъядерные чипы в Steam». PC Gamer . Получено 2024-05-22 .
  10. ^ Шор, Дэвид (ноябрь 2017 г.). «2048-ядерный PEZY-SC2 устанавливает рекорд Green500». WikiChip.
  11. ^ Вайда, Андраш (10 июня 2011 г.). Программирование многоядерных чипов. Спрингер. п. 3. ISBN 978-1-4419-9739-5.
  12. Shrout, Ryan (2 декабря 2009 г.). «Intel Shows 48-core x86 Processor as Single-chip Cloud Computer». Архивировано из оригинала 5 января 2016 г. Получено 17 мая 2015 г.
  13. ^ "Intel представляет 48-ядерный кремниевый чип для облачных вычислений". BBC. 3 декабря 2009 г. Архивировано из оригинала 6 декабря 2012 г. Получено 6 марта 2013 г.
  14. ^ Паттерсон, Дэвид А. «Будущее компьютерной архитектуры». Ежегодный исследовательский симпозиум Berkeley EECS (BEARS), Инженерный колледж, Калифорнийский университет в Беркли, США. 2006.
  15. ^ Suleman, Aater (19 мая 2011 г.). "Вопросы и ответы: экономят ли многоядерные процессоры энергию? На самом деле нет". Архивировано из оригинала 16 декабря 2012 г. Получено 6 марта 2013 г.
  16. ^ Кларк, Джек. «Intel: Почему возможен 1000-ядерный чип». ZDNet . Архивировано из оригинала 6 августа 2015 г. Получено 6 августа 2015 г.
  17. ^ Кудикала, Чакри (27 августа 2016 г.). «Эти 5 мифов о восьмиядерных телефонах на самом деле правдивы». Giz Bot .
  18. ^ "MediaTek Launches MT6592 True Octa-Core Mobile Platform" (пресс-релиз). MediaTek. 20 ноября 2013 г. Архивировано из оригинала 29 октября 2020 г.
  19. ^ "Что такое процессор Octa-core". Samsung. Архивировано из оригинала 17 января 2022 г. Смартфоны Galaxy работают на процессорах Octa-core (2,3 ГГц Quad + 1,6 ГГц Quad) или Quad-core (2,15 ГГц + 1,6 ГГц Dual)
  20. ^ Мерритт, Рик (6 февраля 2008 г.). «Разработчики ЦП обсуждают многоядерное будущее». EE Times . Получено 21 октября 2023 г.
  21. ^ "Форум по многоядерной пакетной обработке". Архивировано из оригинала 21.12.2009.
  22. ^ Джон Дарлинтон; Мустафа Ганем; Йике Го; Хинг Винг То (1996). «Управляемая организация ресурсов в гетерогенных параллельных вычислениях». Журнал высокопроизводительных вычислений . 4 (1): 13–23. CiteSeerX 10.1.1.37.4309 . 
  23. ^ Bright, Peter (4 декабря 2015 г.). «Windows Server 2016 переходит на лицензирование по ядрам, а не по сокетам». Ars Technica . Condé Nast . Архивировано из оригинала 4 декабря 2015 г. . Получено 5 декабря 2015 г. .
  24. ^ Сравните: «Лицензирование технологических продуктов Oracle». OMT-CO Operations Management Technology Consulting GmbH. Архивировано из оригинала 21.03.2014 . Получено 04.03.2014 .
  25. ^ «Программное обеспечение 6WINDGATE: Программное обеспечение для оптимизации сети – Программное обеспечение SDN – Программное обеспечение плоскости управления | 6WIND».
  26. ^ "Sempron™ 3850 APU с Radeon™ R3 Series | AMD". AMD . Архивировано из оригинала 4 мая 2019 года . Получено 5 мая 2019 года .
  27. ^ "Характеристики процессоров Intel® Atom™ серии C". ark.intel.com . Получено 04.05.2019 .
  28. ^ "Характеристики процессоров Intel® Atom™ серии Z". ark.intel.com . Получено 04.05.2019 .
  29. ^ "Intel Preps Dual-Core Celeron Processors". 11 октября 2007 г. Архивировано из оригинала 4 ноября 2007 г. Получено 12 ноября 2007 г.
  30. ^ "Характеристики процессоров Intel® Celeron® серии J". ark.intel.com . Получено 04.05.2019 .
  31. ^ "Продукты ранее Yonah". ark.intel.com . Получено 2019-05-04 .
  32. ^ "Продукты ранее Conroe". ark.intel.com . Получено 2019-05-04 .
  33. ^ "Продукты ранее Kentsfield". ark.intel.com . Получено 2019-05-04 .
  34. ^ "Характеристики продукции процессоров Intel® Core™ серии X". ark.intel.com . Получено 04.05.2019 .
  35. ^ "Характеристики процессора Intel® Itanium®". ark.intel.com . Получено 04.05.2019 .
  36. ^ "Характеристики процессоров Intel® Pentium® серии D". ark.intel.com . Получено 04.05.2019 .
  37. ^ Зазаян, Майк (26 сентября 2006 г.). "Intel: 80 ядер к 2011 году". Архивировано из оригинала 2006-11-09 . Получено 2006-09-28 .
  38. ^ Ковалиски, Сирил (18 февраля 2014 г.). "Intel выпускает 15-ядерный процессор Xeon E7 v2". Архивировано из оригинала 2014-10-11.
  39. ^ "Семейство процессоров Intel Xeon E7 v3". Intel . Архивировано из оригинала 2015-07-07.
  40. ^ "Семейство процессоров Intel Xeon E7 v2". Intel. Архивировано из оригинала 2015-07-07.
  41. ^ "Intel Xeon Processor E3 v2 Family". Intel. Архивировано из оригинала 2015-07-07.
  42. ^ "Intel демонстрирует процессор Xeon Platinum с 56 ядрами и 112 потоками". TechSpot . 2 апреля 2019 г. Получено 04.05.2019 .
  43. ^ PDF, Загрузить. "Краткое описание масштабируемых процессоров Intel® Xeon® 2-го поколения". Intel . Получено 04.05.2019 .
  44. ^ "Характеристики семейства продуктов Intel® Xeon Phi™ x100". ark.intel.com . Получено 04.05.2019 .
  45. ^ "Характеристики семейства процессоров Intel® Xeon Phi™ 72x5". ark.intel.com . Получено 04.05.2019 .
  46. Коул, Бернард (24 сентября 2008 г.). «Представлен 40-ядерный процессор с инструментами IDE на базе Forth».
  47. ^ Хаммонд, Лэнс и др. (1999). Стэнфордский CMP Hydra (PDF) . Hot Chips . Получено 27 июня 2023 г.
  48. ^ Чакос, Брэд (20 июня 2016 г.). «Встречайте KiloCore, 1000-ядерный процессор, настолько эффективный, что он может работать от батарейки АА». PC World . Архивировано из оригинала 23 июня 2016 г.
  49. ^ «COSMIC: Статистический многопроцессорный тестовый набор».

Дальнейшее чтение

Внешние ссылки