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

9

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

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

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

Дэвид
источник
2
Это также зависит от вашего сценария использования. Какое программное обеспечение вы используете (что они делают и как они запрограммированы) могут оказать большое влияние на то, что даст лучшую производительность. Например, в прошлом более быстрые Celerons часто были лучше для просмотра веб-страниц и казуальных игр, в то время как более медленные P4s были лучше для сжатия и 3D-игр.
Synetech
@Synetech, ну конечно он имел ввиду типичные приложения этого года + 3 года. Старые приложения не имеют значения.
Pacerier

Ответы:

12

Кэш процессора

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

Размер кэш-памяти процессора против частоты промахов

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

Процессорные ядра

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

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

...

Прорыв, достижение, открытие
источник
Это более или менее то, что я думал ... но я не был уверен, куда вы попадете в убывающую отдачу с кешем. Спасибо!
Дэвид
Это я или ось X графика довольно неправильная? 4-1 = 3; 16-4 = 12; 64-16 = 48 и т. Д., Но все они представлены с одинаковым расстоянием. Но я думаю, что данные, представленные на графике, все еще верны, не так ли? Также понял, что ось Y имеет это, а также.
Утку
@Utku и ось X, и ось Y используют логарифмические шкалы, причем ось X использует основание-2, а ось Y - основание-10.
Прорыв
6

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

soandos
источник
3

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

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

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

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

YetAnotherPseudoName
источник
2

Сложно сравнивать AMD и Intel. Двухъядерный AMD с частотой 2 ГГц - это не то же самое, что двухъядерный процессор Intel с частотой 2 ГГц.

Вот тесты для них обоих.

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

http://www.cpubenchmark.net/cpu_lookup.php?cpu=AMD+C-50

Теперь нужно выяснить, хорошо это или плохо.

Джеймс Т
источник
1

Я бы порекомендовал двухъядерный компьютер над одноядерным.

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

Tex Hex
источник
0

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

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

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

rrazd
источник