Конвеєрна розробка комп’ютера
Комп’ютерна конвеєрна система вперше була представлена компанією Intel у мікросхемі 486. Спосіб роботи трубопроводу аналогічний промисловій складальній лінії. У центральному процесорі серія схемних блоків із різними функціями утворює конвеєр обробки інструкцій; інструкція x86 розбивається на п’ять або шість кроків, які потім послідовно виконуються цими модулями. Це дозволяє виконати інструкцію в межах одного такту ЦП, тим самим збільшуючи швидкість обробки ЦП. У класичному процесорі Pentium кожен цілочисельний конвеєр складається з чотирьох етапів-попередня вибірка інструкцій, декодування, виконання та-запис-тоді як конвеєр із плаваючою комою-складається з восьми етапів.
Конвеєрна обробка є ключовою технологією, яка широко використовується в мікропроцесорах (CPU). Він описує метод, за допомогою якого інструкції виконуються в ЦП; щоб зрозуміти конвеєрну роботу, потрібно спочатку зрозуміти інструкції та процес їх виконання.
Комп'ютерні інструкції
Комп’ютерна інструкція — це певний набір двійкових даних, який повідомляє центральному процесору, що робити. Якщо центральний процесор порівнюється з заводом-виробником, інструкція схожа на замовлення клієнта; він запускає низку дій на «фабрикі» центрального процесора, що зрештою дає результат обчислення-кінцевий продукт. Як це насправді працює? По-перше, має бути відділ для отримання наказів-блок вибору інструкцій ЦП; по-друге, має бути майстерня для виконання замовлень-блоку виконання інструкцій центрального процесора. На фабриці виробництво предмета розбивається на кілька етапів виробництва; подібним чином інструкція перетворюється на серію відповідних мікро-операцій у ЦП. Послідовне виконання цих мікро-операцій означає виконання всієї інструкції.
Виконання інструкції
У процесорах нижчого-класу виконання інструкцій відбувається послідовно; Простіше кажучи, одна інструкція виконана до початку наступної. Це схоже на згадану вище фабрику в перші дні, яка складалася лише з невеликої майстерні та одноосібного власника, який працював сам: отримавши замовлення, він був би повністю зайнятий виконанням першого замовлення й не міг би прийняти друге. Таким чином, цикл отримання та виконання замовлень-або отримання та виконання інструкцій-є послідовним процесом. Пізніше бос виявив, що виконання замовлень не потребує багато часу. За допомогою помічника двоє могли працювати незалежно; це дозволило начальнику прийняти нове замовлення, одночасно завершуючи продукцію для попереднього. З точки зору архітектури ЦП, це відповідає відділенню блоку-вибору інструкцій від блоку-виконання інструкцій. Отже, центральний процесор може отримати наступну інструкцію паралельно, виконуючи поточну. Це означало якісний стрибок у технології ЦП, перехід від послідовної обробки до паралельної та створення прототипу конвеєра інструкцій.
Після того, як центральний процесор виконає вищезазначений крок, завдання, що залишилося, полягає в розширенні можливостей паралельної обробки. Черпаючи натхнення на заводських конвеєрах, розробники ЦП розбили виконання однієї інструкції на кілька окремих етапів-або «мікро-інструкцій»-, чим значно зменшили складність інструкцій, спростили логіку та підвищили швидкість. У ЦП, які використовують технологію конвеєрної обробки, як тільки одна інструкція завершує свою першу «стадію», наступна інструкція негайно потрапляє в конвеєр для початку виконання. Очевидно, що цей конвеєрний підхід потребує кількох виконавчих блоків-функція, реалізована в x86 мікросхемах.
