Що таке конвеєр інструкцій?

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

Історичні процесори замовлення

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

Що таке конвеєр інструкцій?

У субскалярному процесорі без конвеєра кожна частина кожної інструкції виконується по порядку.

Однак існує проблема, коли виконується повна інструкція по порядку, перш ніж ви зможете перейти до наступної інструкції. Проблема полягає в промаху кешу. Центральний процесор зберігає дані, які він активно обробляє, у реєстрі. Це можна отримати із затримкою в один цикл. Проблема в тому, що регістр крихітний, оскільки він вбудований у ядро ​​процесора. ЦП має перейти до більшого, але повільнішого кеша L1, якщо дані ще не завантажено. Якщо його немає, він повинен знову перейти до більшого та повільнішого кеша L2. Наступним кроком є ​​кеш L3; Останнім варіантом є системна оперативна пам'ять. Для перевірки кожного з цих параметрів потрібно все більше циклів ЦП.

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

Класичний конвеєр RISC

RISC означає комп’ютер зі скороченим набором інструкцій . Це стиль дизайну процесора, який оптимізує продуктивність, полегшуючи декодування кожної інструкції. Це порівняно з CISC або Complex Instruction Set Computer, який розробляє складніші набори інструкцій, що дозволяє використовувати менше інструкцій для виконання тих самих завдань.

Класичний дизайн RISC включає конвеєр інструкцій. Замість виконання будь-якого з п’яти етапів інструкцій у будь-якому заданому циклі конвеєр дозволяє виконувати всі п’ять етапів. Звичайно, ви не можете виконати всі п'ять етапів однієї інструкції в циклі. Але ви можете поставити в чергу п’ять послідовних інструкцій зі зміщенням на один етап кожна. Таким чином, нова інструкція може бути виконана кожен такт. Пропонуючи потенційне 5-кратне збільшення продуктивності за відносно низького зростання складності ядра.

Що таке конвеєр інструкцій?

У скалярному конвеєрному процесорі кожен етап виконання інструкцій може виконуватися один раз за такт. Це дозволяє отримати максимальну пропускну здатність однієї виконаної інструкції за цикл.

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

Все ще послідовний

Ніщо з цього не вирішує проблему очікування відповіді протягом багатьох циклів, коли потрібно запитати різні рівні кешу та оперативної пам’яті. Це також створює нову проблему. Що, якщо одна інструкція покладається на вихідні дані попередньої інструкції? Ці проблеми самостійно вирішує досвідчений диспетчер. Він ретельно планує порядок виконання, щоб жодні інструкції, які покладаються на вихідні дані іншого, не знаходилися надто близько одна до одної. Він також обробляє промахи кешу, паркуючи інструкцію та замінюючи її в конвеєрі іншими інструкціями, які готові до виконання та не вимагають результату, відновлюючи інструкцію, коли вона буде готова.

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

Висновок

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


Leave a Comment

Що робити, якщо Powerbeats Pro не заряджається у чохлі

Що робити, якщо Powerbeats Pro не заряджається у чохлі

Якщо ваші Powerbeats Pro не заряджаються, скористайтеся іншим джерелом живлення та очистіть навушники. Залиште кейс відкритим під час заряджання навушників.

Як встановити SSD-накопичувач на настільні та портативні ПК

Як встановити SSD-накопичувач на настільні та портативні ПК

Ви щойно купили SSD-накопичувач, сподіваючись оновити внутрішню пам'ять свого ПК, але не знаєте, як його встановити? Прочитайте цю статтю зараз!

Чи можна довіряти функціям конфіденційності Oculus Quest 2?

Чи можна довіряти функціям конфіденційності Oculus Quest 2?

Якщо ви хвилюєтеся, що ваші дані будуть передані іншим особам, ось що вам потрібно знати про налаштування конфіденційності Oculus Quest 2.

Як виправити код помилки GeForce Now 0xC272008F

Як виправити код помилки GeForce Now 0xC272008F

Ви готуєтесь до ігрового вечора, і це буде грандіозний вечір – ви щойно придбали «Зоряні війни: Злочинці» на потоковому сервісі GeForce Now. Відкрийте для себе єдиний відомий спосіб виправлення помилки GeForce Now з кодом 0xC272008F, щоб ви могли знову грати в ігри Ubisoft.

Як підключити ноутбук з Windows 11 до проектора/телевізора

Як підключити ноутбук з Windows 11 до проектора/телевізора

Прочитайте цю статтю, щоб дізнатися про простий покроковий процес підключення ноутбука до проектора або телевізора в ОС Windows 11 та Windows 10.

Як замінити батарейки в контролерах Oculus Quest 2

Як замінити батарейки в контролерах Oculus Quest 2

Якщо ви хочете продовжувати грати, важливо знати, як замінити батарейки на контролері Oculus Quest 2.

5 причин, чому ваш ноутбук перегрівається

5 причин, чому ваш ноутбук перегрівається

Дізнайтеся про деякі можливі причини перегріву ноутбука, а також поради та підказки, як уникнути цієї проблеми та зберегти пристрій охолодженим.

Все про iOS 26

Все про iOS 26

Apple представила iOS 26 – велике оновлення з абсолютно новим дизайном з матового скла, розумнішими можливостями та покращеннями звичних програм.

Найкращі ноутбуки для студентів у 2025 році

Найкращі ноутбуки для студентів у 2025 році

Студентам потрібен певний тип ноутбука для навчання. Він має бути не лише достатньо потужним для успішного навчання за обраною спеціальністю, але й компактним і легким, щоб носити його з собою цілий день.

Як відновити доступ до жорсткого диска, виправити помилку неможливості відкрити жорсткий диск

Як відновити доступ до жорсткого диска, виправити помилку неможливості відкрити жорсткий диск

У цій статті ми розповімо вам, як відновити доступ до жорсткого диска, якщо він вийшов з ладу. Давайте продовжимо!