Page 157 - 4503
P. 157
Другий регістр підключений до входу дешифратора
команд і містить ту команду, яка виконується в даний
момент. Використання конвеєра дозволяє здійснювати відбір
команди і одночасно виконання команди відібраної у
попередньому циклі. Тож фактично кожний машинний цикл
складається з відбору команди n+1 і виконання команди n, чи
відбору команди n+2 і виконання n+1 і. т. д. На схемі фаз
машинного циклу (рисунок 5.13) відображені один за другим
три машинних цикли, кожний з яких складається із двох фаз:
відбору і виконання.
Дана схема побудована для звичайної лінійної
послідовності команд. Для команд, що спричиняють перехід
до іншого місця програми, команда яка посіла місце у
вершині конвеєра, тобто в його першому регістрі, повинна
бути замінена на іншу. Цей процес називається скиненням
конвеєра, він збільшує час виконання команди ще на один
цикл, до таких команд відносяться наприклад goto. Як видно
з рисунка 5.13, звичайна команда виконується за один
машинний цикл, а той у свою чергу відбувається протягом
чотирьох тактів.
5.4.6 Дешифратор команд мікроконтролера PIC16F84
Дешифратор команд розкодовує кожне із полів 14–
бітного слова команди і керує передачею відповідних адрес та
констант на відповідні входи блока виконання, а також
зконфігуровує режим роботи АЛП.
5.4.7 Генератор машинного циклу мікроконтролера
PIC16F84
Машинний цикл мікроконтролерів РІС триває 4 такти,
частоту котрих f osc визначає зовнішній кварцовий резонатор,
157