Является ли размер кеша или количество ядер более важным при взвешивании производительности процессора?

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

Я заметил, что ряд доступных машин начального уровня оснащен либо двухъядерным, либо одноядерным процессором. Я понимаю, что при прочих равных условиях двухъядерный процессор, вероятно, будет работать лучше. Однако, что, если у одного ядра был намного больший кэш L2 (скажем, 3 МБ для одного ядра против 1 МБ для двухъядерного ядра)? Я знаю, что это также может существенно повлиять на производительность.

Я понимаю, что другие системные компоненты, например. скорость памяти и графическое оборудование, также повлияют на производительность системы. Мой вопрос: если мне нужно выбирать между дополнительным ядром процессора или более кешем, что я должен выбрать?

9 голосов | спросил David 1 PM000000100000002431 2011, 22:53:24

6 ответов


11

Кэш ЦП

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

Размер кэша кэш-памяти по сравнению с пропускной способностью

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

Ядра процессора

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

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

...

ответил Breakthrough 1 PM000000110000005231 2011, 23:20:52
6

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

ответил soandos 1 PM000000100000002831 2011, 22:55:28
2

Трудно сравнивать AMD и Intel. Двухъядерный двухъядерный AMD 2 ГГц отличается от двухъядерного Intel Core 2 ГГц.

Здесь приведены эталоны для них.

http: //www.cpubenchmark .net /cpu_lookup.php? CPU = Intel Celeron + + 925 + 40% + 2.30GHz

http://www.cpubenchmark.net/cpu_lookup.php ? = CPU AMD + С-50

Теперь, чтобы выяснить, хорошо или плохое число.

ответил James T 1 PM000000110000002031 2011, 23:18:20
2

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

Двухъядерные процессоры теоретически сократят время выполнения вдвое по сравнению с одноядерным процессором. Однако на практике ускорение 2x редко достигается из-за проблем написания параллельных приложений. Закон Amdahl (ссылка) показывает, что даже если приложение имеет 90% исполнения, отлично распараллеленного (сложная задача для больших приложений) ускорение составляет 1,82X вместо 2X. Ускорение от второго ядра будет уменьшаться только для приложений, которые не реализованы масштабируемым образом.

Большая емкость кэша L2 уменьшит частоту пропусков в кешках, как показано в ответе @Breakthrough. Тем не менее, ответ рисует вывод неправильный из графика, что пропускная способность кэша за пределами 1 МБ будет только обеспечивать незначительные улучшения. Точка уменьшения прибыли зависит от приложения (в частности, размер рабочего набора ссылка ) приложение. В большинстве приложений размер рабочего набора превышает 1 МБ, и, следовательно, большие кеши помогут повысить производительность, избегая доступа к DRAM с длинной задержкой (процессоры работают на 3 порядка быстрее, чем основная память).

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

ответил YetAnotherPseudoName 6 WedEurope/Moscow2017-12-06T01:22:11+03:00Europe/Moscow12bEurope/MoscowWed, 06 Dec 2017 01:22:11 +0300 2017, 01:22:11
1

Я бы рекомендовал двухъядерную машину над одним ядром.

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

ответил Tex Hex 1 PM000000110000004831 2011, 23:11:48
0

Размер кеша важен, так как он уменьшает вероятность того, что будет пропущен кеш. Cache miss 'стоят дорого, потому что процессор должен перейти в основную память для доступа к адресу памяти, это занимает гораздо больше времени и, следовательно, приводит к более медленному компьютеру.

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

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

ответил rrazd 15 AM00000070000002431 2011, 07:24:24

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132