Что важнее при оценке производительности ЦП: размер кэша или количество ядер?

Что важнее при оценке производительности ЦП: размер кэша или количество ядер?

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

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

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

решение1

Кэш ЦП

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

Размер кэша ЦП и частота промахов

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

Ядра ЦП

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

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

...

решение2

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

решение3

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

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

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

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

решение4

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

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

Связанный контент