Багатоядерна архітектура
Автор: olena35 • Апрель 2, 2024 • Реферат • 604 Слов (3 Страниц) • 76 Просмотры
Міністерство освіти та науки України
Київський національний університет технологій та дизайну
Кафедра комп’ютерні науки
Багатоядерна архітектура
Перевіряє:
Опанасенко Володимир Миколайович
Воконала:
Черниш Олена Костянтинівна
Київ 2023
[pic 1]
[pic 2]
Багатоядерні архітектури
- У цій роботі йдеться про нову тенденцію в архітектурі комп’ютерів:
копіювання кількох ядер процесора на одному кристалі
[pic 3]
Багатоядерний процесор
- Ядра підходять до одного процесорного роз’єму
- Також називається CMP (Chip Multi-Processor )
[pic 4]
Ядра працюють паралельно
[pic 5]
У кожному ядрі потоки розділені за часом
(так само, як на однопроцесорі)
[pic 6]
Взаємодія з операційною системою
- ОС сприймає кожне ядро як окремий процесор
- Планувальник ОС відображає потоки/процеси до різних ядер
- Більшість основних ОС сьогодні підтримують багатоядерність: Windows, Linux, Mac OS X, …
Паралелізм на рівні інструкцій
- Процесор може змінювати порядок, конвеєрні інструкції, розбивати їх на мікроелементи, виконувати агресивне прогнозування розгалужень тощо.
- Паралелізм на рівні інструкцій дозволив швидко збільшити швидкість процесора за останні 15 років
Паралелізм на рівні потоку (TLP)
- Це паралелізм у більш грубому масштабі
- Сервер може обслуговувати кожного клієнта в окремому потоці (веб-сервер, сервер бази даних)
- Комп’ютерна гра може зробити AI, графіку та фізику в трьох окремих потоках
- Одноядерні суперскалярні процесори не можуть повністю використовувати TLP
- Багатодерні архітектури є наступним кроком в еволюції процесорів: явне використання TLP
Загальний контекст: Мультипроцесорів
- Мультипроцесор – будь-який комп’ютер з кількома процесорами
- SIMD - Одна інструкція, кілька даних, сучасні відеокарти
- MIMD - Кілька інструкцій, кілька даних
Типи багатопроцесорної пам’яті
- Спільна пам'ять:
У цій моделі є одна (велика) спільна пам'ять для всіх процесорів
- Розподілена пам'ять:
У цій моделі кожен процесор має власну (невелику) локальну пам'ять, і її вміст більше ніде не копіюється
Які додатки отримують користь від багатоядерних процесів?
- Сервери без даних
- Веб-сервери (веб-комерція)
- Компілятори
- Мультимедійні програми
- Наукові програми CAD/CAM
- Загалом програми з паралелізмом на рівні потоку (на відміну від паралелізму на рівні інструкцій)
Більше прикладів
- Редагування фотографії підчас запису телешоу через цифровий відеомагнітафон
- Завантаження програмного забезпечення під час запуску антивірусної програми
- « Усе, що сьогодні можна обєднати в потоки, буде ефективно відображатися на багатоядерній програмі»
- АЛЕ: деякі програми важко розпаралелювати
Техніка, яка доповнює багатоядерність:
одночасна багатопотоковість
- Вирішено проблему:
конвеєр процесора може зупинитися:
- очікування результату довгої операції з плаваючою комою (або цілого числа)
- очікування надходження даних із пам’яті
Інші блоки виконання чекають невикористаними
Одночасна багатопотоковість (SMT)
...