Процедура виконання команд

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

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

Запис результатів— результат виконання передається до локальної або основної пам'яті.

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

Зміна станупроцесора та системи в цілому, далі процесор переходить до вибірки та виконання наступної команди.

Ці фази (крім переривання) повинні виконуватися послідовно кожної команди. Однак для кількох команд можна поєднати у часі різні фази циклу. Для цього весь процесор розбивається на кілька частин – щаблів (рівнів) конвеєра. На кожному щаблі виконується певна фаза виконання команди. Таке поєднання стадій виконання кількох команд різних ступенях конвеєра призводить до того, що виконання наступної команди починається у ньому до закінчення попередньої. Це значно збільшує швидкодію процесора.Таку організацію процесора стали називати конвеєром команд.

На рис.2 показані часові діаграми виконання команди з розбиттям на фази а) послідовна обробка команд; б) обробка команд у режимі суміщення - конвеєр команд. Для простоти прийнято число фаз та щаблів конвеєра рівним 4. Моментичасу, позначені t1, t2, ... tN позначають моменти закінчення виконання команд 1, 2, … N - відповідно. Як видно з малюнка 2, за менший час може бути виконано більше команд при конвеєрній обробці, ніж без неї. Значить середня тривалість виконання команд у процесорі t СР (інтервал, через який з конвеєра «сходить» виконана команда), набагато менше при конвеєрній обробці, ніж при послідовному виконанні команд. tСР при конвеєрній обробці залежить не так від тривалості всіх фаз команди, як від кількості ступенів конвеєра та тимчасового кроку конвеєра.

команд
Мал.2. Тимчасові діаграми обробки у процесорі N команд:

а) послідовне виконання команд;

б) суміщене виконання команд (конвеєризація).

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

команд
Мал.3. Простий у роботі процесора та у програмі, викликаний командою передачі управління

Простои також виникають за взаємозалежності команд, тобто. використання наступної команди результатів попередньої команди (див. рис.4). Наступна команда2 неспроможна завершити вибірку операндів і розпочати їхню обробку, т.к. попередня команда1 не записала результату, який і буде операндом для команди2.

команд
Мал.4. Простий у роботі програми, викликаний взаємозалежністю команд

Простої та нерівномірність у роботі конвеєра можуть бути також викликані різною тривалістю різних фаз команд. Команда2 може вже бути готова перейти до наступного ступеня, але цей ступінь може виявитися ще зайнятим попередньою командою1. І навпаки, ступінь конвеєравільна, але команда, яка має туди перейти, ще перебуває на попередній фазі виконання. Тому CISC-процесори зі своїми складними багатотактними командами мають меншу ефективність від застосування конвеєрної обробки, ніж RISC-процесори.

Слід враховувати, що поєднання обробки збільшує обсяг устаткування й ускладнює схеми управління тим більше, що більше кількість рівнів поєднання – щаблів. Всі ці обставини доводиться враховувати при виборі числа рівнів суміщення у кожному конкретному випадку для отримання заданих параметрів і насамперед питомих витрат (ставлення продуктивності вартості). Досвід розробки ЕОМ загального призначення та проведені дослідження показують, що технічно та економічно доцільною є суміщена обробка 5-6 команд.