Я переглядав статистику процесора Intel Pentium e5700 .
Він має два ядра та дві нитки. Що нитки роблять для процесора? Чи є якесь співвідношення між кількістю ядер і кількістю ниток? З якою метою нитки служать для системи загалом?
Я переглядав статистику процесора Intel Pentium e5700 .
Він має два ядра та дві нитки. Що нитки роблять для процесора? Чи є якесь співвідношення між кількістю ядер і кількістю ниток? З якою метою нитки служать для системи загалом?
Відповіді:
Основна кількість - це фізична кількість ядер в центральному процесорі, тоді як кількість потоків - це кількість окремих потоків додатків, які можуть виконуватися одночасно на самому процесорі. Без будь-якого додаткового чи спеціального обладнання це дорівнює основній кількості. Однак деякі процесори матимуть більше потоків, ніж вони мають ядра.
Деякі процесори Intel мають функцію під назвою hyperthreading , яка дозволяє операційній системі бачити подвійну кількість логічних ядер на фізичне ядро. Це дозволяє операційній системі планувати і запускати подвійну кількість потоків одночасно, тому у випадку з процесором, з яким я пов'язаний вище, є чотири фізичні ядра, але вісім логічних (тому ви можете запускати вісім потоків одночасно).
Кожна окрема програма, що працює в операційній системі, є або однопотоковою, або багатопотоковою (подумайте про кожен потік як про "підпрограму"). Для однопотокових програм потрібен лише один потік для запуску на процесорі, тоді як багатопотокові програми мають багато підрядків, що працюють одночасно. Додаткові сердечники або гіпер-нарізка дозволяють одночасно запускати більше ниток додатків.
Це дозволяє багатопотоковим ( не однопотоковим) програмам працювати набагато швидше, оскільки на центральному процесорі може працювати відразу кілька потоків.
Лише остаточне зауваження, гіперточення покращує продуктивність деяких багатопотокових додатків, спеціально оптимізованих для цього (оскільки фізичних ядер все ще є лише половина, наскільки є логічних). У деяких випадках різні програми можуть працювати швидше з технологією HyperThreading відключена (хоча багато програм роблять користь від нього). Незалежно від гіперточення, збільшення кількості фізичних ядер завжди буде корисним для багатопотокових програм.
"Ядро" являє собою фактичний фізичний підмножина процесора, який сам по собі може обробляти обробку, тоді як "потік" - це кількість реальних процесів, якими може обробитись процесор одночасно. Intel розробила технологію, під назвою "гіпер-різьблення" ця методика дозволяє одному фізичному ядру (яке, як правило, може обробляти лише один потік за один раз), тепер мати можливість обробляти дві нитки одночасно.
Нитка - це завдання, з яким повинен впоратися процесор, для простого пояснення ви можете припустити, що кожна програма, яку ви відкриваєте (наприклад, фарба, блокнот, медіаплеєр), має власну нитку ... тепер це не означає, що ви можете відкривати лише 2 програми одразу, просто тому, що процесор і ОС працюють так швидко при "перемиканні потоків", щоб задовольнити потреби кожної програми, яку ви відкрили. Ви просто відчуєте кращі показники роботи з більшою кількістю ядер, оскільки тепер ви можете передати всю роботу більшій кількості основних процесорів.
Наприклад, мій робочий комп'ютер має в ньому i7. У i7 є 4 фізичні ядра, але кожне ядро може виконувати "гіпер-різьблення", що дозволяє цьому процесору обробляти 8 потоків одночасно. Тож якщо я відкрию диспетчер завдань, я побачу 8 ящиків для шкали продуктивності процесора.
Загальне правило полягає в тому, що більше фізичних ядер краще, ніж більше ниток. Отже, якщо ви порівнювали процесори, які мали 4 ядра та 4 потоки, було б краще, ніж 2 ядра 4 потоку. Але чим більше потоків може обробити ваш процесор, тим краще він буде виконуватись під час багатозадачності, а для деяких дуже інтенсивних програм (редагування відео, CAD, CAM, стиснення, шифрування тощо) сам по собі буде використовувати більше одного ядра одночасно.
клацаючи посилання в статті в IE або chrome, щоразу, коли ви клацаєте, ви створюєте нитку. чим більше ви натискаєте на посилання, тим більше ниток. у вас 4-ядерний процесор, у вас є до 8 потоків, ви можете відкрити 8 посилань, перш ніж у вас виникнуть проблеми. нехтуючи своїм підключенням до Інтернету. тому кожне ядро охоплює два з тих посилань (ниток), які ви відкрили. ось ідея ІМО. якщо це комусь має сенс