неймановского вузького місцяВ» - обмеження продуктивності в результаті послідовного потоку обчислень. При цьому зростають резистивної-ємнісні затримки передачі сигналів, що є додатковим вузьким місцем, пов'язаним з підвищенням тактової частоти. p align="justify"> Застосування багатопроцесорних систем також не набуло широкого поширення, оскільки вимагає складних і дорогих багатопроцесорних материнських плат. Тому було вирішено домагатися подальшого підвищення продуктивності мікропроцесорів іншими коштами. Найефективнішим напрямом була визнана концепція багатопоточності, що зародилася у світі суперкомп'ютерів, - це одночасна паралельна обробка декількох потоків команд. p align="justify"> Так у компанії Intel народилася Hyper-Threading Technology (HTT) - технологія сверхпоточной обробки даних, яка дозволяє процесору виконувати в одноядерному процесорі паралельно до чотирьох програмних потоків одночасно [3]. Hyper-threading значно підвищує ефективність виконання ресурсоємних додатків (наприклад, пов'язаних з аудіо-та відеоредагування, 3D-моделюванням), а також роботу ОС в багатозадачному режимі. p align="justify"> Процесор Pentium 4 з включеним Hyper-threading має одне фізичне ядро, яке розділене на два логічних, тому операційна система визначає його, як два різних процесора (замість одного) [3].
Hyper-threading фактично стала трампліном до створення процесорів з двома фізичними ядрами на одному кристалі. У 2-ядерному чіпі паралельно працюють два ядра (два процесора!), Які при меншій тактовій частоті забезпечують більшу продуктивність, оскільки паралельно (одночасно!) виконуються два незалежних потоку інструкцій. p align="justify"> Здатність процесора виконувати одночасно кілька програмних потоків називається паралелізмом на рівні потоків (TLP - thread-level parallelism). Необхідність у TLP залежить від конкретної ситуації (в деяких випадках вона просто марна!). br/>
.3 Основні проблеми створення багатоядерних процесорів
кожне ядро ​​процесора має бути незалежним, - з незалежним енергоспоживанням і керованої потужністю;
ринок програмного забезпечення повинен бути забезпечений програмами, здатними ефективно розбивати алгоритм розгалуження команд на парне (для процесорів з парною кількістю ядер) або на непарне (для процесорів з непарною кількістю ядер) кількість потоків;
1.4 Переваги багатоядерних процесорів
можливість розподіляти роботу програм, наприклад, основних завдань додатків і фонових завдань операційної системи, з кількох ядрам;
збільшення швидкості роботи програм;
процеси, що вимагають інтенсивних обчислень, протікають набагато швидше;
більш ефективне використання вимогливих до обчислювальних ресурсів мультимедійних додатків (наприклад, відеоредакторів);
зниження енерг...