Многоядерные процессоры: чем больше, тем лучше?

Оглавление:

Многоядерные процессоры: чем больше, тем лучше?
Многоядерные процессоры: чем больше, тем лучше?
Anonim

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

Улучшения многоядерных технологий

Image
Image

Многоядерные процессоры используются в персональных компьютерах с начала 2000-х годов. Многоядерные конструкции решали проблему процессоров, достигающих потолка своих физических ограничений с точки зрения их тактовой частоты и того, насколько эффективно они могут охлаждаться и при этом сохранять точность. Перемещаясь на дополнительные ядра на одном чипе процессора, производители избегали проблем с тактовой частотой, эффективно увеличивая объем данных, которые мог обрабатывать ЦП.

Когда они изначально были выпущены, производители предлагали всего два ядра в одном ЦП, но сейчас есть варианты с четырьмя, шестью и даже 10 и более. Помимо добавления ядер, технологии одновременной многопоточности, такие как Intel Hyper-Threading, могут удвоить количество виртуальных ядер, которые видит операционная система.

Процессы и потоки

Процесс - это конкретная задача, такая как программа, работающая на компьютере. Процесс состоит из одного или нескольких потоков.

Поток - это просто одиночный поток данных из программы, проходящий через процессор компьютера. Каждое приложение генерирует свои собственные потоки «один или несколько» в зависимости от того, как оно работает. Без многозадачности одноядерный процессор может одновременно обрабатывать только один поток, поэтому система быстро переключается между потоками для обработки данных, казалось бы, параллельным образом.

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

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

Зависимость от программного обеспечения

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

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

Хорошим примером, объясняющим эту тенденцию, является типичная компьютерная игра. Большинству игр требуется какой-либо механизм рендеринга для отображения того, что происходит в игре. Кроме того, некий искусственный интеллект управляет событиями и персонажами в игре. В случае одноядерного процессора обе задачи выполняются путем переключения между ними. Такой подход неэффективен. Если бы в системе было несколько процессоров, рендеринг и ИИ могли бы выполняться на отдельном ядре - идеальная ситуация для многоядерного процессора.

Is 8 > 4 > 2?

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

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

Тактовые частоты

Image
Image

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

Например, двухъядерный процессор может поддерживать базовую тактовую частоту 3,5 ГГц для каждого процессора, в то время как четырехъядерный процессор может работать только на частоте 3,0 ГГц. Просто взглянув на одно ядро на каждом из них, двухъядерный процессор на 14 процентов быстрее, чем четырехъядерный. Таким образом, если у вас есть программа, которая является только однопоточной, двухъядерный процессор на самом деле более эффективен. Опять же, если ваше программное обеспечение может использовать все четыре процессора, то четырехъядерный процессор фактически будет примерно на 70 процентов быстрее, чем двухъядерный процессор.

Выводы

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

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

Рекомендуемые: