Чи більший показник ядра чи більша тактова частота вигідніші для роботи комп'ютера? [зачинено]


16

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

Пам’ятаю лише кілька років тому, у мене був хороший швидкий одноядерний процесор Pentium 4. Швидкий перехід до сьогоднішнього дня, і я не думаю, що ви навіть можете придбати одноядерний процесор (не кажучи вже про зростання зростання багатоядерних процесорів навіть у мобільних телефонах ). Як ідуть справи, ми можемо знайти комп'ютери з сотнями ядер за кілька років (і я знаю, що багато операційних систем вже мають підтримку).

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

Які приклади поширених процесів (наприклад, шифрування, стиснення файлів, редагування зображень / відео), які матимуть найбільшу користь тому чи іншому? Чи є якісь процеси, які можуть бути, але в даний час не (з технічних причин) прискорені шляхом збільшення їх паралелізму?


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


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

@ChrisF Я особисто знаю відповідь, але я прошу це з двох причин. Перший - мати цю інформацію на веб-сайті (я бачив лише, що її запитували стосовно подвійних чи чотирьохядерних процесорів), а друга - спробувати дати людям уявлення про те, що має бути "в майбутньому" та покажіть, які додатки мають обидві сторони рівняння.
Прорив


3
Я б сказав, що хоча це гарне запитання для розмови, маючи пінт, це набагато не гарне питання обміну стеками.
EBGreen

1
Занадто багато змінних, що таке ifs та інші параметри + поточні зміни технологій, щоб розробити стислий відповідь, який буде актуальним протягом більш певного періоду часу. Це цікава тема для форуму чи блогу, але не як щось, що слід чітко визначити як "відповідь". Я проголосував за закриття з цієї причини, тому нехай починається полум'я !!!
Linker3000

Відповіді:


12

Є дві основні ситуації, які слід враховувати:

  1. Процесор використовується з комп'ютером, який здійснює виключно розрахунки для однієї програми

  2. Процесор використовується для декількох програм, що працюють одночасно

Перша ситуація полягає в тому, що «швидкість» процесора важливіша, оскільки користувач хоче можливість швидко і ефективно робити обчислення. Ці ситуації, як правило, для обчислювальної інтенсивної обробки, тобто для обчислення простих чисел для шифрування / дешифрування

Друге - це корисність декількох ядер, оскільки кожну програму можна присвоїти окремому ядру, тим самим звільняючи кожну програму від «скріплення пляшок» один з одним. У сучасному світі пересічний користувач буде використовувати свій комп'ютер одночасно для декількох програм, що робить багатоядерну обробку бажаною справою.

Однак багатоядерний ! = Більша швидкість або більш висока продуктивність у всіх випадках. Оскільки більшість програм написані для одноядерної обробки * , тактова частота все ще важлива. Комбінацію обох необхідно враховувати (а також багато інших факторів) .


* Є деякі програми, і, сподіваємось, незабаром буде створено більше, де одночасно можна використовувати кілька ядер. Майбутнє програмного забезпечення знаходимо в цьому " Паралельному програмуванні ":

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

- Intel


Найкраща відповідь, яку я бачив поки що, +1. Чи знаєте ви, чи можна прискорити шифрування / розшифровку за допомогою якогось паралельного алгоритму (чи така річ взагалі існує)?
Прорив

2

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

Помітьте перехід на мобільний широкосмуговий зв’язок, постійне підключення, віддалений доступ тощо тощо. Постійне підключення вимагає ресурсу акумулятора. Хоча дискусійно, які коефіцієнти процесора є більш оптимальними для роботи батареї (у вас є класичне рівняння оптимізації співвідношення вартості роботи проти часу), я особисто думаю, якби вам довелося вибрати один, я б підбирав більше ядер.

Тепер Intel дозволяє живити ядра на вимогу. Хоча це не так оптимально, як відсутність ядер для сну, можливість використання більшої кількості ядер надає вам можливість запускати більше програм на одній апаратній платформі.


2

Як згадує ChrisF у коментарі, це залежить. Але оскільки подібні відповіді насправді не відповіді, я спробую розробити деякі сценарії, де один буде кориснішим за інший:

У більшості поширених процесів, про які ви згадуєте, кількість ядер не матиме великого значення, оскільки більша частина роботи виконується в одному потоці, який може виконуватись лише на одному ядрі (за один раз). Для таких процесів одне, але дуже потужне ядро ​​буде працювати краще, ніж пара більш повільних ядер. І шифрування, і стиснення файлів можуть бути винятками з цього, але це багато що залежить від того, які алгоритми використовуються, і чи можна їх виконувати паралельно.

Однак ви забули одне з найпоширеніших завдань, що виконуються на комп’ютерах сьогодні: перегляд веб-сторінок. Кілька популярних браузерів відкривають кожну вкладку в окремому процесі (в цьому я впевнений єдиний Chrome, оскільки це я використовую), тобто якщо у чотирьохядерній системі відкрито чотири вкладки, кожне вікно перегляду може (теоретично) маєте ядро ​​"до себе" (ігнорування потоків та інших елементів ОС), і бути таким же швидким, як якщо б не було відкрито інших вкладок / вікон браузера. Для людей, які одночасно переглядають багато відкритих вкладок, це може бути серйозним покращенням продуктивності, не будуючи надзвичайно швидких ядер CPU.

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


В інших відповідях також є кілька важливих моментів:

  • Продуктивність процесора вже не стосується тактової швидкості чи кількості ядер - інші частини процесора стають шийками пляшок, оскільки тактова частота та кількість ядер покращуються.
  • Для більшості користувачів продуктивність процесора - це навіть не кришка пляшки. Якщо ви проводите свій час у розміщених додатках, таких як Google Docs, швидкість роботи вашої мережевої карти буде мати значення більше, ніж швидкість ядра процесора. Якщо ви переглядаєте чи редагуєте матеріали з фільмами з високою роздільною здатністю, продуктивність жорсткого диска має значення більше. І т.д. ...

+1 за те, що я міг замислитись і насправді придумати пояснення, але хотів би зазначити одне: так, деякі веб-переглядачі ставлять кожну вкладку в окремий процес , але це щойно зроблено, якщо процес завершився. Більшість браузерів принаймні запускають кожну вкладку окремим потоком, а операційні системи мають можливість запускати декілька потоків (з одного і того ж процесу) на різних ядрах.
Прорив

IE 9 робить багатопроцесорний метод. Однак я вважаю, що вони використовують набір процесів і просто діляться всіма вкладками між цими процесами. Це призводить до набагато меншої кількості процесів, ніж Chrome може закінчитися, але все ж означає, що ви втратите лише кілька вкладок, якщо все зійде за одну кучу з відтінком Редмонда.
music2myear

О, і це також залежить від програмного забезпечення. У той час як ОС може керувати керуванням трафіком та надсилати потоки очікування на доступні сердечники (ментальна картинка match.com відбувається всередині мого гротистого кремнію), програми, які є багатопотоковими самі (більшість продуктів Adobe Creative Suite та інші добре підтримувані , сучасні засоби розробки мультимедіа) набагато краще скористаються можливостями багатоядерної системи.
music2myear

2

Перш за все, одноядерні швидкості насправді не дуже знизилися. Єдиною причиною того, що поточна лінійка Sandy Bridge від Intel не перевершує одноядерний Pentium 4 з точки зору мегагерца, полягає в тому, що Intel не має конкуренції, тому їм не потрібно так сильно наполягати.

По-друге, тактова частота - це не все, навіть на одноядерних. Якщо дивитися на продуктивність додатків, знову ж таки проти Pentium 4, поточний модельний ряд Intel на 50% швидший за тактовий цикл . Причини, чому Sandy Bridge швидше за тактовий цикл, ніж Pentium 4 (Прескотт - це останнє втілення в ньому), є безліч, але мають попередній вибір інтелектуального контролера пам'яті, встановлення контролера пам’яті на одному штампі з процесором та вищого паралелелізму рівня інструкцій (ILP) сприяти цьому.

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

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

Як правило, паралелізм найбільше виграє додатків, які роблять однакові операції для багатьох різних наборів даних. Наприклад, стиснення відео чи редагування фотографій часто можна легко паралелізувати. З іншого боку, комп'ютерні ігри виявилися важко паралельними. Графіка на них, звичайно, паралелізується дуже добре, але ця частина виконується на GPU, а не на процесорі. Решта з фізики, ігрового світового бухгалтерії та ІС паралелізуються менш легко.


1

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

Сьогодні ви повинні ознайомитися з багатьма факторами, щоб зробити висновок про продуктивність процесорів. Такі речі:

  • кількість ядер
  • кількість потоків паралельних операцій
  • сімейство процесорів (подвійне ядро, Pentium, Core i / Calpella, Sandy Bridge тощо)
  • генерація процесорів (2-е, 6-е і т.д.) і потім
  • тактова частота процесора.

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


Так, але для спрощення речей припустимо, що все інше дорівнює (однакова кількість кешу на ядро, однакова ширина адресної шини, однаковий розмір слова тощо). Самі ядра точно такі самі, це просто а) скільки, або б) як швидко.
Прорив

Гм, сім'я процесорів і покоління не мають нічого спільного зі швидкістю процесора. Зрештою, програми Atom набагато новіші, ніж P4, або процес Core і Core2, але ніхто ніколи не стверджує, що вони швидші. Інші речі, які мають більш безпосередній вплив на швидкість процесора, - це кеш-пам'ять, кількість регістрів, архітектура мікросхеми, розмір струмопровідних шляхів (процес виготовлення нм), можливості роботи з плаваючою точкою тощо
music2myear

@ music2myear - коли ви посилаєтесь на покоління, говорячи про сім'ю ( superuser.com/questions/314757/… ). Насправді Atom D525 краще, ніж багато Core 2 ( cpubenchmark.net/cpu_lookup.php?cpu=Intel+Atom+D525+%40+1.80GHz )
Diogo
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.