Багатоядерні процесори: принципи роботи

Багатоядерні процесори: принципи роботи

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

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

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

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

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

Hyper-threading

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

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

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

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

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