stringtranslate.com

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

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

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

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

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

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

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

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

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

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

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

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

В некоторых системах используется множество программных ядер микропроцессора, размещенных на одной FPGA . Каждое «ядро» можно рассматривать как « ядро полупроводниковой интеллектуальной собственности », а также ядро ​​ЦП. [ нужна цитата ]

Разработка

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

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

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

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

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

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

Кроме того:

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

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

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

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

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

Недостатки

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

Интеграция многоядерного чипа может снизить производительность производства чипов. Кроме того, ими труднее управлять термически, чем одноядерными конструкциями с меньшей плотностью. Intel частично решила эту первую проблему, создав свои четырехъядерные конструкции путем объединения двух двухъядерных процессоров на одном кристалле с унифицированным кэшем, поэтому можно использовать любые два работающих двухъядерных кристалла, а не создавать четыре ядра на одном процессоре. один кристалл и требует работы всех четырех для создания четырехъядерного процессора. С архитектурной точки зрения, в конечном счете, конструкции с одним процессором могут лучше использовать площадь поверхности кремния, чем многопроцессорные ядра, поэтому приверженность разработке этой архитектуры может нести риск устаревания. Наконец, вычислительная мощность — не единственное ограничение производительности системы. Два процессорных ядра, использующие одну и ту же системную шину и полосу пропускания памяти, ограничивают реальное преимущество в производительности. В отчете за 2009 год д-р Джун Ни показал, что если пропускная способность одного ядра близка к ограничению, то переход на двухъядерный процессор может дать улучшение на 30–70%; если пропускная способность памяти не является проблемой, то можно ожидать улучшения на 90%; однако закон Амдала делает это утверждение сомнительным. [15] Приложение, использующее два процессора, могло бы работать быстрее на одноядерном, если бы связь между процессорами была ограничивающим фактором, что можно было бы считать улучшением более чем на 100%.

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

Тенденции

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

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

Архитектура

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

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

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

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

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

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

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

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

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

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

Методы параллельного программирования могут напрямую выиграть от использования нескольких ядер. Некоторые существующие модели параллельного программирования, такие как Cilk Plus , OpenMP , OpenHMPP , FastFlow , Skandium, MPI и Erlang , можно использовать на многоядерных платформах. Intel представила новую абстракцию параллелизма C++ под названием TBB . Другие исследовательские усилия включают Codeplay Sieve System , Cray's Chapel , Sun's Fortress и IBM 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 ALU общего назначения на кристалл, все программируемые на языке 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 и MPU DSP. Это позволяет разрабатывать продукты, которым требуется процессор общего назначения для пользовательских интерфейсов и DSP для обработки данных в реальном времени; этот тип дизайна распространен в мобильных телефонах . В других приложениях все большее число компаний разрабатывают многоядерные DSP с очень большим количеством процессоров.
  2. ^ Два типа операционных систем могут использовать двухпроцессорный многопроцессор: разделенная многопроцессорная обработка и симметричная многопроцессорная обработка (SMP). В многораздельной архитектуре каждый ЦП загружается в отдельные сегменты физической памяти и работает независимо; в ОС SMP процессоры работают в общем пространстве, независимо выполняя потоки внутри ОС.

Рекомендации

  1. Роуз, Маргарет (27 марта 2007 г.). «Определение: многоядерный процессор». ТехТаржет. Архивировано из оригинала 5 августа 2010 года . Проверено 6 марта 2013 г.
  2. ^ Шауэр, Брайан. «Многоядерные процессоры – необходимость» (PDF) . Архивировано из оригинала (PDF) 25 ноября 2011 г.
  3. ^ Аб Смит, Райан. «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 сентября 2020 г.
  5. Сулеман, Аатер (20 мая 2011 г.). «Что делает параллельное программирование сложным?». Будущие чипы. Архивировано из оригинала 29 мая 2011 года . Проверено 6 марта 2013 г.
  6. ^ Дюран, А (2011). «OMPSS: предложение по программированию гетерогенных многоядерных архитектур». Параллельная обработка писем . 21 (2): 173–193. дои : 10.1142/S0129626411000151.
  7. ^ «Определение двухъядерного процессора» . ПКМАГ . Проверено 27 октября 2023 г.
  8. ^ «Intel выводит на рынок шестиядерные процессоры в 2018 году с семейством Coffee Lake» . ЗДНЕТ . Проверено 27 октября 2023 г.
  9. ^ Шор, Дэвид (ноябрь 2017 г.). «2048-ядерный процессор PEZY-SC2 устанавливает рекорд Green500». ВикиЧип.
  10. ^ Вайда, Андраш (10 июня 2011 г.). Программирование многоядерных чипов. Спрингер. п. 3. ISBN 978-1-4419-9739-5.
  11. Шраут, Райан (2 декабря 2009 г.). «Intel показывает 48-ядерный процессор x86 как однокристальный облачный компьютер» . Архивировано из оригинала 5 января 2016 года . Проверено 17 мая 2015 г.
  12. ^ «Intel представляет 48-ядерный кремниевый чип для облачных вычислений» . Би-би-си. 3 декабря 2009 года. Архивировано из оригинала 6 декабря 2012 года . Проверено 6 марта 2013 г.
  13. ^ Паттерсон, Дэвид А. «Будущее компьютерной архитектуры». Ежегодный исследовательский симпозиум EECS Беркли (BEARS), Инженерный колледж Калифорнийского университета в Беркли, США. 2006.
  14. Сулеман, Аатер (19 мая 2011 г.). «Вопросы и ответы: Экономит ли многоядерность энергию? Не совсем». Архивировано из оригинала 16 декабря 2012 года . Проверено 6 марта 2013 г.
  15. ^ Ни, июнь. «Внедрение технологии многоядерных вычислений для медицинской визуализации» (PDF) . Архивировано из оригинала (PDF) 5 июля 2010 г. Проверено 17 февраля 2013 г.
  16. ^ Кларк, Джек. «Intel: почему возможен чип с 1000 ядрами». ЗДНет . Архивировано из оригинала 6 августа 2015 года . Проверено 6 августа 2015 г.
  17. Кудикала, Чакри (27 августа 2016 г.). «Эти 5 мифов о восьмиядерных телефонах на самом деле правдивы». Гиз Бот .
  18. ^ «MediaTek запускает настоящую восьмиядерную мобильную платформу MT6592» (пресс-релиз). МедиаТек. 20 ноября 2013 г. Архивировано из оригинала 29 октября 2020 г.
  19. ^ «Что такое восьмиядерный процессор» . Samsung. Смартфоны Galaxy работают на восьмиъядерных (четырехъядерный процессор 2,3 ГГц + четырехъядерный 1,6 ГГц) или четырехъядерных (2,15 ГГц + двойной 1,6 ГГц) процессорах.
  20. Мерритт, Рик (6 февраля 2008 г.). «Разработчики процессоров обсуждают многоядерное будущее». ЭЭ Таймс . Проверено 21 октября 2023 г.
  21. ^ «Форум многоядерной обработки пакетов» . Архивировано из оригинала 21 декабря 2009 г.
  22. ^ Джон Дарлинтон; Мустафа Ганем; Йике Го; Хинг Винг То (1996). «Управляемая организация ресурсов в гетерогенных параллельных вычислениях». Журнал высокопроизводительных вычислений . 4 (1): 13–23. CiteSeerX 10.1.1.37.4309 . 
  23. Брайт, Питер (4 декабря 2015 г.). «Windows Server 2016 переходит на лицензирование по числу ядер, а не по количеству сокетов». Арс Техника . Конде Наст . Архивировано из оригинала 4 декабря 2015 года . Проверено 5 декабря 2015 г.
  24. ^ Сравните: «Лицензирование технологических продуктов Oracle». OMT-CO Operations Management Technology Consulting GmbH. Архивировано из оригинала 21 марта 2014 г. Проверено 4 марта 2014 г.
  25. ^ «Программное обеспечение 6WINDGATE: Программное обеспечение для оптимизации сети – Программное обеспечение SDN – Программное обеспечение плоскости управления | 6WIND» .
  26. ^ «APU Sempron™ 3850 с серией Radeon™ R3 | AMD» . АМД . Архивировано из оригинала 4 мая 2019 года . Проверено 5 мая 2019 г.
  27. ^ «Технические характеристики процессора Intel® Atom™ серии C» . ark.intel.com . Проверено 4 мая 2019 г.
  28. ^ «Технические характеристики процессора Intel® Atom™ серии Z» . ark.intel.com . Проверено 4 мая 2019 г.
  29. ^ «Intel готовит двухъядерные процессоры Celeron» . 11 октября 2007 г. Архивировано из оригинала 4 ноября 2007 г. Проверено 12 ноября 2007 г.
  30. ^ «Технические характеристики процессора Intel® Celeron® серии J» . ark.intel.com . Проверено 4 мая 2019 г.
  31. ^ «Продукты ранее Yonah» . ark.intel.com . Проверено 4 мая 2019 г.
  32. ^ «Продукты ранее Conroe» . ark.intel.com . Проверено 4 мая 2019 г.
  33. ^ «Продукты ранее Kentsfield» . ark.intel.com . Проверено 4 мая 2019 г.
  34. ^ «Технические характеристики процессоров Intel® Core™ серии X» . ark.intel.com . Проверено 4 мая 2019 г.
  35. ^ «Технические характеристики процессора Intel® Itanium®» . ark.intel.com . Проверено 4 мая 2019 г.
  36. ^ «Технические характеристики процессора Intel® Pentium® серии D» . ark.intel.com . Проверено 4 мая 2019 г.
  37. Зазаян, Майк (26 сентября 2006 г.). «Intel: 80 ядер к 2011 году». Архивировано из оригинала 9 ноября 2006 г. Проверено 28 сентября 2006 г.
  38. Ковалиски, Кирилл (18 февраля 2014 г.). «Intel выпускает 15-ядерный процессор Xeon E7 v2» . Архивировано из оригинала 11 октября 2014 г.
  39. ^ «Семейство процессоров Intel Xeon E7 v3» . Интел . Архивировано из оригинала 7 июля 2015 г.
  40. ^ «Семейство процессоров Intel Xeon E7 v2» . Интел. Архивировано из оригинала 7 июля 2015 г.
  41. ^ «Семейство процессоров Intel Xeon E3 v2» . Интел. Архивировано из оригинала 7 июля 2015 г.
  42. ^ «Intel демонстрирует процессор Xeon Platinum с числом ядер до 56 и 112 потоков» . ТехСпот . 2 апреля 2019 года . Проверено 4 мая 2019 г.
  43. ^ PDF, Скачать. «Краткий обзор масштабируемых процессоров Intel® Xeon® 2-го поколения». Интел . Проверено 4 мая 2019 г.
  44. ^ «Технические характеристики продуктов семейства Intel® Xeon Phi™ x100» . ark.intel.com . Проверено 4 мая 2019 г.
  45. ^ «Технические характеристики семейства процессоров Intel® Xeon Phi™ 72x5» . ark.intel.com . Проверено 4 мая 2019 г.
  46. Коул, Бернард (24 сентября 2008 г.). «Представлен 40-ядерный процессор с инструментами IDE на базе Forth».
  47. ^ Хаммонд, Лэнс; и другие. (1999). Стэнфордский CMP Hydra (PDF) . Горячие чипсы . Проверено 27 июня 2023 г.
  48. Чакос, Брэд (20 июня 2016 г.). «Познакомьтесь с KiloCore, 1000-ядерным процессором, настолько эффективным, что он может работать от батареи типа АА». Мир ПК . Архивировано из оригинала 23 июня 2016 года.
  49. ^ "Набор тестов гетерогенных многопроцессорных процессоров COSMIC" . Архивировано из оригинала 3 июля 2015 г.

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

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