Remove ads
здатність комп’ютерних інструкцій виконуватися одночасно з правильними результатами З Вікіпедії, вільної енциклопедії
Паралелізм на рівні команд (англ. Instruction-level parallelism, ILP) — є мірою того, яка кількість операцій в комп'ютерній програмі може виконуватися одночасно. Потенційне поєднання виконання команд називається паралелізмом на рівні команд.
Є два підходи до паралелізму на рівні команд:
Рівень апаратного забезпечення працює на динамічному паралелізмі, тоді як, рівень програмного забезпечення працює на статичному паралелізмі. Процесор Pentium працює на динамічній послідовності паралельного виконання, але Itanium процесор працює на статичному паралелізмі.
Розглянемо наступну програму:
Операція 3 залежить від результатів 1 і 2, тому вона не може бути розрахована, поки обидві з них не будуть завершені. Однак операції 1 і 2 не залежать від будь-якої іншої операції, тому вони можуть бути обчислені одночасно. Якщо припустити, що кожна операція може бути завершена в одну одиницю часу, то ці три інструкції можуть бути завершені в цілому за дві одиниці часу, даючи ILP 3/2.
Мета розробників компілятора і процесора, полягає у виявленні та отриманні від ILP максимально можливої вигоди. Звичайні програми, як правило, написані під послідовну модель виконання, де команди виконуються одна за одною в порядку, встановленому програмістом. ILP дозволяє компілятору і процесору перекривати виконання декількох інструкцій або навіть змінити порядок виконання команд.
Скільки ILP існує в програмах — сильно залежить від області застосування програми. У деяких областях, таких як графіка і наукові обчислення, число може бути дуже великим. Тим не менш, робочі навантаження, такі як криптографія, можуть проявляти набагато менше паралелізму.
Мікроархітектурні методи для забезпечення ILP::
Потокові архітектури являють собою інший клас архітектур, де ILP явно вказані. Наприклад, архітектуру TRIPS.
В останні роки методи ILP використовувалися для підвищення продуктивності, попри зростаючу невідповідність між робочими частотами процесора і часом доступу до пам'яті (ранні реалізації ILP, такі як IBM System/360 Model 91 використовували методи ILP щоб подолати обмеження, що накладаються відносно невеликого файлу регістрів).
В даний час його втрати кешу в основну пам'ять будуть коштувати кілька сотень циклів процесора. Хоча в принципі можна використовувати ILP допускаючи навіть такі затримки пам'яті зв'язують ресурси і витрати розсіюваної потужності непропорційно. Крім того, складність і часто латентність базового обладнання структур призводить до зниження робочої частоти і подальшого скорочення переваг. Таким чином, вищезазначені методи виявляються недостатніми, щоб стримати процесор від зупинки даних поза кристалом. Замість цього, галузь рухається в бік використання більш високих рівнів паралелізму, які можуть бути використані за допомогою таких методів, як багатопроцесорність і багатопоточність .
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.