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

Що таке багатоядерний процесор?

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

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

Hyper-threading

Ядра в багатоядерних процесорах можуть підтримувати технологію SMT, що дозволяє виконувати кілька потоків обчислень і створювати на основі кожного ядра кілька логічних процесорів. На процесорах, які випускає компанія Intel, така технологія називається «Hyper-threading». Завдяки їй можна подвоювати число логічних процесорів в порівнянні з числом фізичних чіпів. У мікропроцесорах, що підтримують цю технологію, кожен фізичний процесор здатний зберігати стан двох потоків одночасно. Для операційної системи це буде виглядати, як наявність двох логічних процесорів. Якщо в роботі одного з них виникає пауза (наприклад, він чекає отримання даних з пам`яті), інший логічний процесор приступає до виконання свого потоку.

Види багатоядерних процесорів

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

Принцип роботи

Більшість сучасних багатоядерних процесорів працює за наступною схемою. Якщо запущене застосування підтримує багатопоточність, воно може змушувати процесор виконувати кілька завдань одночасно. Наприклад, якщо в комп`ютері використовується 4-ядерний процесор з тактовою частотою 1.8 ГГц, програма може «завантажити» роботою відразу всі чотири ядра, при цьому сумарна частота процесора становитиме 7.2 ГГц. Якщо запущено відразу декілька програм, кожна з них може використовувати частину ядер процесора, що теж призводить до зростання продуктивності комп`ютера.

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