2009-07-15 15:38:47 +0000 2009-07-15 15:38:47 +0000
68
68

Ядра процессора: Чем больше, тем лучше?

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

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

Ответы (12)

53
53
53
2009-07-15 15:42:45 +0000

НОТЕ: Этот ответ был написан 8 лет назад. С тех пор параллельное программирование стало более актуальным. Скорее всего, это связано с присущими ему ограничениями тактовой частоты и быстро приближающимися ограничениями на размер транзистора.


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

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

для большинства программ, после двух ядер вы попадаете в точку снижения доходности очень быстро. В Quad-Core Desktops and Diminishing Returns , я спросил, насколько эффективно сегодняшнее программное обеспечение может действительно использовать даже четыре ядра процессора, и тем более неизбежные восемь и шестнадцать ядер процессора, которые мы увидим через несколько лет.

Ответ здесь (выделенная часть скопирована из статьи Джеффа),

Однако здесь были некоторые сюрпризы, такие как Excel 2007, и настройка “одновременных операций” на Потерянной планете. Вполне возможно, что программная инженерия в конце концов перейдет к тому, что тактовая частота имеет меньшее значение, чем параллелизм. Или, в конце концов, это может оказаться несущественным, если мы не сможем сделать выбор между более высокой тактовой частотой и большим количеством ядер процессора. Но в то же время, тактовая скорость выигрывает большую часть времени. Больше ядер процессора автоматически не лучше. Типичные пользователи будут лучше с самым быстрым двухъядерным процессором, который они могут себе позволить. 0x2 и 0x2 и * * * 0x2 и 0x2 и Проблема [ Шрифт-сторона шины ]0x3 и (этот термин всегда меня развлекал). С Нехалемом все меняется … как сказала ArsTechnica в прошлом году.

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

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

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

18
18
18
2009-07-15 15:41:59 +0000

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

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

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

Это потенциально может сделать одно и то же четырехъядерное ядро тактовых импульсов (незначительно) медленнее при некоторых обстоятельствах. Ценность за деньги все еще в двухъядерном IMHO. Тем не менее, у меня есть четырехъядерное.

10
10
10
2009-07-15 15:53:09 +0000

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

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

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

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

5
5
5
2009-07-15 15:48:54 +0000

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

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

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

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

1
1
1
2009-07-15 16:56:28 +0000

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

Все это сводится к ТЭП чипа или его теплотехнической точке проектирования. Чем больше TDP ограничивает платформу, тем больше вы выигрываете от режима Intel Turbo. Скажу по-другому: для того, чтобы поместить четыре ядра в 130-ваттную TDP, каждое ядро должно работать с меньшей тактовой частотой, чем если бы у нас было только одно ядро в той же TDP.

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

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

1
1
1
2009-07-15 15:43:26 +0000

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

1
1
1
2009-07-15 15:49:30 +0000

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

И последнее поколение i7, я думаю, может синхронизировать 3 или 4 буфера, если требуется только одно или два ядра. Таким образом, это не может в конечном итоге остаться столько же компромиссов, как в настоящее время….

1
1
1
2009-07-15 15:43:13 +0000

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

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

С точки зрения вашего успеха, два ядра все еще имеют удобное преимущество.

0
0
0
2009-07-15 15:44:50 +0000

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

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

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

0
0
0
2009-07-20 05:41:55 +0000

Зависит от того.

Очень сильно.

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

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

0
0
0
2009-07-15 15:46:35 +0000

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

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

0
0
0
2009-07-15 15:43:11 +0000

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

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

Похожие вопросы

15
19
9
6
2