Відмінності між версіями «Багатоядерний процесор. СПК»

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук
(Нарощування кількості ядер)
 
(не показано 6 проміжних версій цього учасника)
Рядок 1: Рядок 1:
==Багатоядерний процесор==
+
'''Багатоядерний процесор''' - центральний процесор, що містить два і більше обчислювальних ядра на одному процесорному кристалі або в одному корпусі.
  
Багатоядерний процесор - центральний процесор, що містить два і більше обчислювальних ядра на одному процесорному кристалі або в одному корпусі.
+
==Архітектура багатоядерних систем==
 +
 
 +
Багатоядерні процесори можна класифікувати за наявністю підтримки когерентності кеш-пам'яті між ядрами. Бувають процесори з такою підтримкою і без неї.
 +
 
 +
Класифікація за організацією доступу до пам’яті:
 +
 
 +
•SMP-системи;
 +
 
 +
•NUMA-системи;
 +
 
 +
•Кластерна архітектура.
 +
 
 +
===SMP-системи===
 +
Характерною рисою багатопроцесорних систем SMP архітектури є те, що всі процесори мають прямій і рівноправний доступ до будь-якої точки загальної пам'яті. 
 +
Недоліком такої архітектури є велика кількість конфліктів при звертанні до загальної шини. Гостроту цієї проблеми вдалося частково зняти розподілом пам'яті на блоки,
 +
підключення до яких за допомогою комутаторів дозволило розпаралелити звертання від різних процесорів.
 +
 
 +
===NUMA-системи===
 +
У таких системах доступ до пам'яті стає “неоднорідної”: одна її частина “швидше”, інша - “повільніше”. У системі при цьому утворяться своєрідні “острівці” зі своєю, швидкою “локальною” оперативною пам'яттю, з'єднані відносно повільними лініями зв'язку. Звертання до “своєї” пам'яті відбуваються швидко, до “чужої” – повільніше,
 +
причому чим “далі” чужа пам'ять розташована, тим повільніше доступ до неї.
 +
 
 +
===Кластерна архітектура===
 +
Деяка кількість “майже самостійних” комп'ютерів (вузли кластера або “ноди”) і поєднуються швидкодіючими лініями зв'язку.
 +
 
 +
==Продуктивність==
 +
У додатках, оптимізованих під багатопотоковість, спостерігається приріст продуктивності на багатоядерних процесорах. Однак, якщо додаток не оптимізовано, то він не буде отримувати практично ніякої вигоди від додаткових ядер, а може навіть виконуватися повільніше, ніж на процесорі з меншою кількістю ядер, але більшою тактовою частотою. Це в основному програми, розроблені до появи багатоядерних процесорів, або додатки, в принципі не використовують багатопотоковість. Більшість операційних систем дозволяють виконувати кілька додатків одночасно. При цьому виходить виграш в продуктивності навіть якщо додаток однопоточний.
 +
 
 +
==Нарощування кількості ядер==
 +
Першим процесором призначеним для масового використання, а не для вбудованих систем, став POWER4 з двома ядрами PowerPC на одному кристалі, випущений компанією IBM в 2001 році.
 +
 
 +
На сьогодні багатьма виробниками процесорів, зокрема Intel, AMD, IBM, ARM подальше збільшення числа ядер процесорів визнано як одне з пріоритетних напрямів збільшення продуктивності.
 +
 
 +
У 2011 році освоєно виробництво 8-ядерних процесорів для домашніх комп'ютерів і 16-ядерних для серверних систем.
 +
 
 +
Є експериментальні розробки процесорів з великою кількістю ядер (більше 20). Деякі з таких процесорів вже знайшли застосування в специфічних пристроях.

Поточна версія на 09:28, 10 листопада 2014

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

Архітектура багатоядерних систем

Багатоядерні процесори можна класифікувати за наявністю підтримки когерентності кеш-пам'яті між ядрами. Бувають процесори з такою підтримкою і без неї.

Класифікація за організацією доступу до пам’яті:

•SMP-системи;

•NUMA-системи;

•Кластерна архітектура.

SMP-системи

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

NUMA-системи

У таких системах доступ до пам'яті стає “неоднорідної”: одна її частина “швидше”, інша - “повільніше”. У системі при цьому утворяться своєрідні “острівці” зі своєю, швидкою “локальною” оперативною пам'яттю, з'єднані відносно повільними лініями зв'язку. Звертання до “своєї” пам'яті відбуваються швидко, до “чужої” – повільніше, причому чим “далі” чужа пам'ять розташована, тим повільніше доступ до неї.

Кластерна архітектура

Деяка кількість “майже самостійних” комп'ютерів (вузли кластера або “ноди”) і поєднуються швидкодіючими лініями зв'язку.

Продуктивність

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

Нарощування кількості ядер

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

На сьогодні багатьма виробниками процесорів, зокрема Intel, AMD, IBM, ARM подальше збільшення числа ядер процесорів визнано як одне з пріоритетних напрямів збільшення продуктивності.

У 2011 році освоєно виробництво 8-ядерних процесорів для домашніх комп'ютерів і 16-ядерних для серверних систем.

Є експериментальні розробки процесорів з великою кількістю ядер (більше 20). Деякі з таких процесорів вже знайшли застосування в специфічних пристроях.