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


69

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

Разница, которую я вижу, состоит в том, что мой двухъядерный процессор имеет частоту 2,8 ГГц, а мой четырехъядерный процессор - 2,4 ГГц.

Лучше иметь двухъядерный процессор с высокой тактовой частотой или четырехъядерный процессор с посредственной тактовой частотой?


5
«Быстрый» и «посредственный» относительны. В вашем случае лучше использовать четырехъядерный процессор, поскольку разница в тактовых частотах составляет всего 400 МГц. Однако двухъядерный процессор с частотой 3 ГГц лучше, чем четырехъядерный процессор с частотой 1,5 ГГц, по большей части.
Саша Чедыгов

Не используйте ГГц для сравнения процессоров, используйте результаты теста скорости / нагрузки для сравнения эффективной скорости процессора. Двухъядерный процессор 3GHz может работать медленнее, чем i7 с частотой 2,4 ГГц (у i7 нет передней шины, ...) ...
Бен

2
@ Бен, должно быть очевидно, что это будет та же архитектура процессора (например, 45 нм Core 2 Duo против Quad).
Мирча Кирея

Ответы:


53

ПРИМЕЧАНИЕ: этот ответ был написан 8 лет назад. Параллельное программирование стало более актуальным. Вероятно, это связано с внутренними ограничениями тактовой частоты и быстрым приближением к размеру транзистора.


Ваша основная проблема - это программное обеспечение, не написанное для многоядерности.

Посмотрите на отличную статью Джеффа Этвуда о выборе двухъядерного или четырехъядерного процессора .

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

Вам ответили здесь (выделение выделено из статьи Джеффа),

Однако здесь были некоторые сюрпризы, такие как Excel 2007 и настройка «параллельных операций» Lost Planet. Вполне возможно, что разработка программного обеспечения в конечном итоге приведет к тому, что тактовая частота будет иметь меньшее значение, чем параллелизм. Или, в конце концов, это может быть неактуально, если мы не сделаем выбор между более высокими тактовыми частотами и большим количеством ядер процессора. Но в то же время, тактовая частота побеждает большую часть времени. Больше процессорных ядер автоматически не лучше . Типичным пользователям будет лучше с самым быстрым двухъядерным процессором, который они могут себе позволить.


Вопрос Front-Side Bus (этот термин меня всегда забавлял).
С Nehalem все меняется ... как сказала ArsTechnica в прошлом году.

Закон Мура дал разработчикам процессоров затруднение из-за богатства транзисторов, и нигде это не так очевидно, как в 45-нм процессоре Intel Nehalem. Дебютировав в 4- и 8-ядерном варианте позже в этом году, Nehalem упаковывает тонну аппаратного обеспечения в одно процессорное гнездо. (В первых числах число транзисторов четырехъядерного Nehalem составляло 781 миллион; пока не появилось ни одного числа для 8-ядерной модели.) Но пытаться снабжать все это оборудование существующей архитектурой шины Intel на передней панели было бы глупо. Так что, что не менее важно, Nehalem также звучит давно назревшим смертельным звонком для архитектуры Intel с положительным гериатрическим фронтом.

Радикальное изменение в пропускной способности системы Intel, которое представляет новое Intel QuickPath Interconnect (QPI), является, пожалуй, самым большим фактором, который сформировал дизайн Nehalem. Между QuickPath и встроенным контроллером памяти Nehalem процессор Nehalem будет иметь доступ к беспрецедентной совокупной пропускной способности, особенно в двух- и четырехпроцессорных реализациях.

AMD ранее перенесла контроллер памяти в процессор и использовала Hypertransport.


3
Другая проблема, которую следует рассмотреть, - это производительность лицевой стороны шины. С таким количеством ядер, большим количеством памяти и такими большими программами доступ к памяти становится критическим! Если ЦП должен выйти из строя, чтобы получить доступ к основной памяти, это ухудшит производительность. Чем больше вы выполняете многозадачность, тем больше вероятность того, что это произойдет, независимо от того, насколько неприлично велик объем кеш-памяти.
Geoffc

1
За 8 лет, прошедших с момента открытия этого вопроса в 2009 году, все изменилось. Программное обеспечение теперь намного лучше использует преимущества многих ядер, и эта тенденция будет только продолжаться.
контанго

1
@Contango Согласен, этот ответ необходимо обновить, чтобы отразить текущие тенденции.

18

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

Но без четверти четыре? Для 99% людей это не будет иметь значения. Вам нужно будет запускать много программ одновременно или использовать программы, которые могут использовать в своих интересах более двух ядер (а реально их не так много). Некоторые медиа-кодеры приходят на ум.

В этом отношении также есть разница между Intel Core 2s и AMD Phenoms. AMD использует Hypertransport, который является протоколом точка-точка, поэтому каждое ядро ​​имеет выделенную полосу пропускания. В Intel Core 2 (но не в Core i7 и других процессорах на базе Niehalem) используется передняя шина, которая совместно использует пропускную способность, поэтому у вас больше ядер, конкурирующих за одинаковую пропускную способность.

Это может потенциально сделать один и тот же тактовый четырехъядерный процессор (незначительно) медленнее в некоторых обстоятельствах. Соотношение цены и качества до сих пор с двумя ядрами ИМХО. При этом у меня есть четырехъядерный процессор.


1
Nehalem использует QPI (QuickPathInterconnect), который находится в том же парке, что и Hypertransport.
Nik

10

Мне нравится, как Дональд Кнут подводит итог :

Для меня это выглядит более или менее так, как будто разработчики аппаратного обеспечения исчерпали свои идеи, и что они пытаются переложить вину за будущую кончину закона Мура на разработчиков программного обеспечения, предоставив нам машины, которые работают быстрее только на нескольких ключевые ориентиры! Я совсем не удивлюсь, если вся идея многопоточности окажется провалом, хуже, чем подход Itanium, который должен был быть настолько потрясающим, до тех пор, пока не оказалось, что желаемые компиляторы в принципе невозможно было написать ,

Позвольте мне выразиться так: за последние 50 лет я написал более тысячи программ, многие из которых имеют значительный объем. Я не могу вспомнить даже пять из тех программ, которые были бы заметно улучшены благодаря параллелизму или многопоточности. Конечно, например, несколько процессоров не помогают TeX.

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


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

3
Это одно из тех мест, где мое сердце относится к Кнуту, но мой разум не совсем согласен.
Nik

5

Для моего основного рабочего стола у моего работодателя я использую двухъядерный процессор Xeon с 8 ГБ оперативной памяти.

Когда я программирую, и у меня есть Internet Explorer, Chrome, TweetDeck, Visual Studio 2008 (или 2010) и локальный экземпляр Sql Server Express ... все гудит просто отлично.

Для сравнения, раньше у меня было двухъядерное ядро, и все начинало ползти, когда работали только Visual Studio, Chrome и Sql Express.

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


1

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

С течением времени и правильное использование многопоточных приложений станет нормой для четырехъядерных процессоров.

С точки зрения перспективы, двухъядерные процессоры по-прежнему имеют удобное преимущество.


1

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


1

Обратите внимание, что последние процессоры i7 могут на самом деле увеличить тактовую частоту на активных ядрах, когда не все из них необходимы; например, если у вас есть четырехъядерный процессор на частоте 2,4 ГГц, но для работы программного обеспечения требуются только 2 ядра, то он может автоматически работать с тактовой частотой до 2,8 ГГц (не фактическая цифра, просто пример).

И последнее поколение i7, я думаю, может работать на 3 или 4 бинах, если требуется только одно или два ядра. Таким образом, он не может остаться таким же компромиссным решением, как сейчас ...


1

Согласно Anandtech.com :

Все сводится к TDP чипа или его тепловой точке проектирования. Чем больше TDP ограничивает платформу, тем больше вы выигрываете от турбо-режима Intel. Позвольте мне сказать это по-другому; чтобы встраивать четыре ядра в TDP мощностью 130 Вт, каждое ядро ​​должно работать с более низкой тактовой частотой, чем если бы у нас было только одно ядро ​​с тем же TDP.

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

Это все в контексте необходимости выбирать между ядрами (или потоками) и частотой ядра.


Будет ли это более актуальным для разгона? Хорошая статья в любом случае.
Ник

0

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

Однако все это относительно, поскольку четырехъядерный процессор, работающий на частоте 100 МГц, не будет работать с двухъядерными процессорами 4 ГГц. Вообще говоря, чем больше ядер, тем лучше.


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

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

0

Зависит от того, что вы делаете, а также от возможностей вашей ОС и приложений.

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

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


0

Если вы выполняете много кодирования видео, 3D-рендеринга или сборок распределенного исходного кода, то чем больше ядер, тем лучше. Вы увидите заметную разницу в производительности для этих типов приложений при переходе с 1 на 2 до 4 на 8 ядер.

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


0

Зависит.

Даже очень.

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

Вы знаете, что ОС не будет загружаться (заметно) быстрее, а веб-страницы не будут загружаться быстрее (хотя они могут рисовать быстрее).

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.