Чи важливіше розмір кеша чи кількість ядер при зважуванні продуктивності процесора?


9

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

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

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


2
Це також залежить від вашого сценарію використання. Те, яке програмне забезпечення ви використовуєте (що вони роблять і як вони запрограмовані), може мати великий вплив на що дасть кращі показники. Наприклад, у минулому швидші Celerons часто були кращими для перегляду веб-сторінок та повсякденних ігор, тоді як повільніші P4 були кращими для стиснення та 3D-ігор.
Synetech

@Synetech, Ну, звичайно, він мав на увазі типові програми цього року + 3 роки. Старі програми не мають значення.
Pacerier

Відповіді:


12

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

Нижній кеш процесора призведе до більшої ймовірності пропуску кешу , що значно погіршить продуктивність. При цьому, ще одне ціле ядро ​​дозволить комп'ютеру одночасно працювати принаймні двома потоками, тож це компроміс, коли потрібно вибрати один за іншим.

Розмір кеш-пам'яті процесора та показник пропуску

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

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

З іншого боку, додаткові ядра процесора можуть демонструвати різке збільшення швидкості, коли програми використовують переваги декількох ядер.

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

...


Це більш-менш те, що я думав ... але я не був впевнений, куди ти потрапиш у зменшувані повернення з кешем. Дякую!
Девід

Це я чи вісь X графіка досить неправильна? 4-1 = 3; 16-4 = 12; 64-16 = 48 тощо, але всі вони представлені з однаковою відстані. Але я здогадуюсь, дані, представлені на графіку, все-таки правильні, чи не так? Також зрозумів, що вісь Y має і це.
Утку

@Utku як вісь x, так і вісь y використовують логарифмічні шкали, при цьому вісь x використовує base-2, а вісь y використовує base-10.
Прорив

6

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


3

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

Двоядерні процесори теоретично скоротять час виконання вдвічі порівняно з одноядерним процесором. Однак на практиці прискорення 2x вдається рідко через проблеми написання паралельних заявок. Закон Амдала (посилання) показує, що навіть якщо у додатку 90% виконання ідеально паралельне (складне завдання для великих додатків), прискорення становить 1,82X замість 2X. Прискорення з другого ядра зменшиться лише для додатків, які не реалізовані масштабовано.

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

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



1

Я б рекомендував двоядерну машину над одноядерним.

Оскільки Windows в основному робить багато часу одночасно (наприклад, ви переглядаєте Інтернет, тоді як завантажується оновлення Windows, а антивірус сканує щойно завантажений файл), двоядерна система в основному більш "чутлива", ніж одноядерний машини.


0

Розмір кешу важливий, оскільки він зменшує ймовірність появи помилки кешу. Пропустити кеш-пам'ять "дорого, оскільки процесор повинен перейти до основної пам'яті, щоб отримати доступ до адреси пам'яті, це займає набагато більше часу і, отже, призводить до більш повільного комп'ютера.

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

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.