9

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

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

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

6 ответов6

11

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

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

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

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

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

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

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

...

6

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

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

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

2

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

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

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

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

1

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

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

0

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .