Про багатоядерних процесорах.
Ще зовсім недавно ми не чули і не відали про багатоядерних процесорах, а сьогодні вони агресивно витісняють одноядерні. Почався бум багатоядерних процесорів, який поки - злегка! - стримують їх порівняно високі ціни. Але ніхто вже не сумнівається, що майбутнє - саме за багатоядерними процесорами!
Що таке ядро процесора?
У центрі сучасного центрального мікропроцесора (CPU - скор. Від англ. Central processing unit - центральне обчислювальний пристрій) знаходиться ядро (core) - кристал кремнію площею приблизно один квадратний сантиметр, на якому за допомогою мікроскопічних логічних елементів реалізована принципова схема процесора, так звана архітектура ( chip architecture).
Ядро пов'язано з іншою частиною чіпа (званої «упаковка», CPU Package) за технологією «фліп-чіп» (flip-chip, flip-chip bonding - перевернуте ядро, кріплення методом перевернутого кристала). Ця технологія отримала таку назву тому, що звернена назовні - видима - частина ядра насправді є його «дном», - щоб забезпечити прямий контакт з радіатором кулера для кращої тепловіддачі. Зі зворотного (невидимої) сторони знаходиться сам «інтерфейс» - з'єднання кристала і упаковки. З'єднання ядра процесора з упаковкою виконано за допомогою стовпчикових висновків (Solder Bumps).
Ядро розташоване на текстолітової основі, по якій проходять контактні доріжки до «ніжок» (контактних площадок), залито термічним інтерфейсом і закрито захисною металевою кришкою.
Що таке багатоядерний процесор
Багатоядерний процесор - це центральний мікропроцесор, що містить 2 і більше обчислювальних ядра на одному процесорному кристалі або в одному корпусі.
Довгий час підвищення продуктивності традиційних одноядерних процесорів в основному відбувалося за рахунок послідовного збільшення тактової частоти (близько 80% продуктивності процесора визначала саме тактова частота) з одночасним збільшенням кількості транзисторів на одному кристалі. Однак подальше підвищення тактової частоти (при тактовій частоті понад 3,8 ГГц чіпи просто перегріваються!) Впирається в ряд фундаментальних фізичних бар'єрів (оскільки технологічний процес майже впритул наблизився до розмірів атома: сьогодні процесори випускаються по 45-нм технології, а розміри атома кремнію - приблизно 0,543 нм):
• по-перше, зі зменшенням розмірів кристала і з підвищенням тактової частоти зростає струм витоку транзисторів. Це веде до підвищення споживаної потужності і збільшення викиду тепла;
• по-друге, переваги більш високої тактової частоти частково зводяться нанівець через затримки при зверненні до пам'яті, так як час доступу до пам'яті не відповідає зростаючим тактовим частотам;
• по-третє, для деяких додатків традиційні послідовні архітектури стають неефективними зі зростанням тактової частоти через так званого «фон-неймановского вузького місця» - обмеження продуктивності в результаті послідовного потоку обчислень. При цьому зростають резистивної-ємнісні затримки передачі сигналів, що є додатковим вузьким місцем, пов'язаним з підвищенням тактової частоти.
Застосування багатопроцесорних систем також не набуло широкого поширення, так як вимагає складних і дорогих багатопроцесорних материнських плат. Тому було вирішено домагатися подальшого підвищення продуктивності мікропроцесорів іншими засобами. Найефективнішим напрямом була визнана концепція многопоточности, що зародилася в світі суперкомп'ютерів, - це одночасна паралельна обробка декількох потоків команд.
Hyper-threading фактично стала трампліном до створення процесорів з двома фізичними ядрами на одному кристалі. У 2-ядерному чіпі паралельно працюють два ядра (два процесори!), Які при меншій тактовій частоті забезпечують більшу продуктивність, оскільки паралельно (одночасно!) Виконуються два незалежних потоку інструкцій.
Здатність процесора виконувати одночасно кілька програмних потоків називається паралелізмом на рівні потоків (TLP - thread-level parallelism). Необхідність в TLP залежить від конкретної ситуації (в деяких випадках вона просто марна!).
Основні проблеми створення багатоядерних процесорів
• кожне ядро процесора має бути незалежним, - з незалежним енергоспоживанням і керованої потужністю;
• ринок програмного забезпечення повинен бути забезпечений програмами, здатними ефективно розбивати алгоритм розгалуження команд на парне (для процесорів з парною кількістю ядер) або на непарне (для процесорів з непарною кількістю ядер) кількість потоків;
• ...
Недоліки багатоядерних процесорів
• зросла собівартість виробництва багатоядерних процесорів (в порівнянні з одноядерними) змушує чипмейкеров збільшувати їх вартість, а це частково стримує попит;
• так як з оперативною пам'яттю одночасно працюють відразу два і більше ядра, необхідно «навчити» їх працювати без конфліктів;
• зросле енергоспоживання вимагає застосування потужних схем живлення;
• потрібно більш потужна система охолодження;
• кількість оптимізованого під багатоядерність програмного забезпечення мізерно мало (більшість програм розраховані на роботу в класичному одноядерному режимі, тому вони просто не можуть задіяти обчислювальну потужність додаткових ядер);
• операційні системи, що підтримують багатоядерні процесори (наприклад, Windows XP SP2 і вище) використовують обчислювальні ресурси додаткових ядер для власних системних потреб;
• ...
Слід визнати, що в даний час багатоядерні процесори використовуються вкрай неефективно. Крім того, на практиці n-ядерні процесори не виробляють обчислення в n разів швидше одноядерних: хоча приріст швидкодії і виявляється значним, але при цьому він багато в чому залежить від типу програми. У програм, які не розраховані на роботу з багатоядерними процесорами, швидкодія збільшується всього на 5%. А ось оптимізовані під багатоядерні процесори програми працюють швидше вже на 50%.
Ядер, як і пам'яті, багато не буває.
Лідери процессоростроения, компанії Intel і AMD, вважають, що майбутнє за паралельними обчисленнями і продовжують послідовно нарощувати кількість ядер в процесорах.
Поява багатоядерних процесорів стимулює появу операційних систем і прикладного програмного забезпечення, що підтримує багатоядерність.
• Розробники Intel говорять: «... в процесі розвитку кількість ядер буде ставати все більше і більше ...».
***
Що чекає нас у майбутньому
• У корпорації Intel вже говорять не про «мультиядерність» (Multi-Core) процесорів, як це робиться стосовно 2-, 4-, 8-, 16- або навіть 32-ядерних рішень, а про «багатоядерних» (Many-Core ), маючи на увазі абсолютно нову архітектурну макроструктуру чіпа, порівнянну (але не схожу) з архітектурою процесора Cell.
Структура такого Many-Core-чіпа на увазі роботу з тим же набором інструкцій, але за допомогою потужного центрального ядра або декількох потужних CPU, «оточених» безліччю допоміжних ядер, що допоможе більш ефективно обробляти складні мультимедійні додатки в багатопотоковому режимі. Крім ядер «загального призначення», процесори Intel будуть мати також спеціалізованими ядрами для виконання різних класів задач - таких, як графіка, алгоритми розпізнавання мови, обробка комунікаційних протоколів.
Саме таку архітектуру представив Джастін Раттнер (Justin R. Rattner), керівник сектора Corporate Technology Group Intel, на прес-конференції в Токіо. За його словами, таких допоміжних ядер в новому багатоядерному процесорі може налічуватися кілька дюжин. На відміну від орієнтації на великі, енергоємні обчислювальні ядра з великою тепловіддачею, багатоядерні кристали Intel будуть активізувати тільки ті ядра, які необхідні для виконання поточного завдання, тоді як інші ядра будуть відключені. Це дозволить кристалу споживати рівно стільки електроенергії, скільки потрібно в даний момент часу.
На думку Галум, в кінцевому рахунку успіх багатоядерних систем буде залежати від розробників, яким, ймовірно, доведеться змінити мови програмування і переписати всі існуючі бібліотеки.
Примітки
1. Кодова назва (позначення, найменування) - це назва ядра процесора.
2. Лінійка - це модельний ряд процесорів однієї серії. В рамках однієї лінійки процесори можуть значно відрізнятися один від одного за цілим рядом параметрів.
3. Чіп (англ. Chip) - кристал; мікросхема.
4. Під технологічним процесом (техпроцес, технологія, технологія виробництва мікропроцесорів) мається на увазі розмір затвора транзистора. Наприклад, коли ми говоримо - 32-нм технологічний процес, - це означає, що розмір затвора транзистора становить 32 нанометра.
5. Канал - це область транзистора, по якій проходить керований струм основних носіїв заряду.
Исток - це електрод транзистора, з якого в канал входять основні носії заряду.
Сток - це електрод транзистора, через який з каналу йдуть основні носії заряду.
Затвор - це електрод транзистора, службовець для регулювання поперечного перерізу каналу.
6. Фактично, транзистори - це мініатюрні перемикачі, за допомогою яких реалізуються ті самі «нулі» і «одиниці», що становлять основу цифрової інформації. Затвор призначений для включення і виключення транзистора. У включеному стані транзистор пропускає струм, а в вимкненому - немає. Діелектрик затвора розташований під електродом затвора. Він призначений для ізоляції затвора, коли струм проходить через транзистор.
Більше 40 років для виготовлення діелектриків затвора транзистора використовувався діоксид кремнію (завдяки легкості його застосування в масовому виробництві і можливості постійного підвищення продуктивності транзисторів за рахунок зменшення товщини шару діелектрика). Фахівцям Intel вдалося зменшити товщину шару діелектрика до 1,2 нм (що рівнозначно всього 5 атомарним верствам!) - такий показник був досягнутий в 65-нанометровій технології виробництва.
Однак подальше зменшення товщини шару діелектрика призводить до посилення струму витоку через діелектрик, в результаті чого зростають втрати струму і тепловиділення. Зростання струму витоку через затвор транзистора в міру зменшення товщини шару діелектрика з діоксиду кремнію є одним з найбільш труднопреодолімих технічних перешкод на шляху проходження закону Мура. Для вирішення цієї принципової проблеми корпорація Intel замінила діоксид кремнію в діелектрику затвора на тонкий шар з матеріалу high-k на основі гафнію. Це дозволило зменшити струм витоку більш ніж в 10 разів у порівнянні з діоксидом кремнію. Матеріал high-k діелектрика затвора несумісний з традиційними кремнієвими електродами затвора, тому в якості другої складової «рецепта» Intel для її нових транзисторів, що створюються на основі 45-нанометрового техпроцесу, стала розробка електродів із застосуванням нових металевих матеріалів. Для виготовлення електродів затвора транзистора застосовується комбінація різних металевих матеріалів.