Конвейеризация (конвеєр операцій)

Методи підвищення продуктивності роботи процесора

Підвищити продуктивність процесора можна за рахунок паралельного виконання окремих етапів робочого циклу команд. Нехай робочий цикл процесора складається з До етапів. Тоді при послідовному виконанні етапів тривалість всіх процедур робочого циклу команди дорівнює:

- тривалість i-го етапу

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

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

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

Синхронний конвеєр доцільно використовувати за умови, що тривалість ti приблизно однакові і рівні tт. Покажемо принцип роботи конвеєрних команд на тимчасовій діаграмі.

Нехай процес виконання команд розбито на 5 етапів. Тоді тимчасова діаграма має наступний вигляд:

На тимчасовій діаграмі однаковими символами позначені різні етапи робочого циклу однієї і тієї ж команди. Всього команд на діаграмі 7. Ці 7 команд виконуються за 11 тактів на конвеєрі або за 35 тактів при послідовному методі виконання команд, тобто при відсутності конвеєра.

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

tпосл. До В наведеному прикладі tпосл. 35

До> _____> _____; ______ = ______ »3

Таким чином, зростання продуктивності не менше, ніж в До раз і не більше, ніж в До раз. 2

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

Крім конвеєра команд використовується також і арифметичний конвеєр, тобто саме АЛУ також можна будувати у вигляді конвеєра. Конвеєрне АЛУ часто називають магістраллю. Арифметичний конвеєр в основному використовується в спеціалізованих пристроях з обмеженим набором алгоритмів обробки даних.

Схожі статті