ОРГАНІЗАЦІЯ ЦИКЛІВ ВИКОНАННЯ КОМАНД

Командні і машинні цикли

Команда являє собою сукупність микрокоманд, які у вигляді двійкових кодів зберігаються в постійному пристрої, що запам'ятовує (ПЗУ) блоку управління мікропроцесора. Виконання команди можна розглядати як процес зчитування з ПЗУ мікрокоманд, що ініціюють роботу деяких функціональних вузлів мікропроцесора на окремих тимчасових інтервалах (тактах). Час, що витрачається на виконання команди, називається командним циклом. Команди мають різну тривалість командних циклів, так як містять різну кількість мікрокоманд. Ця обставина відбивається в форматах команд, що мають довжину 1, 2 і більше байт. У командному циклі можна виділити дві основні фази:

  • • фазу вибірки команди. У цій фазі лічильник команд, або програмний лічильник, виставляє на адресну шину адресу першого байта команди. Мікропроцесор виробляє сигнал читання пам'яті, завдяки якому вміст елементу пам'яті по шині даних надходить в регістр команд. Лічильник команд формує адресу, який вказує на наступний елемент об'єктного коду. Фаза вибірки однакова для всіх команд;
  • • фазу виконання команди, що починається з дешифрування команди. В результаті дешифрування першого байта визначається вид (код) операції та в пристрої управління формуються необхідні для її виконання керуючі сигнали. Дії мікропроцесора в цій фазі і її тривалість залежать від виду операції. Для виконання операції може знадобитися додаткове звернення до пам'яті або зовнішніх пристроями за даними, пересилання даних у відповідні регістри мікропроцесора, безпосереднє виконання операції в АЛУ, висновок результатів в пам'ять або зовнішній пристрій і т.д.

Різна тривалість командних циклів і неоднорідність їх окремих фаз призвели до організації машинних циклів для виконання команд. Кожен машинний цикл являє собою цикл звернення до системної магістралі. У машинному циклі виробляються вибірка чергової команди або байта (слова) даних з основної пам'яті, запис в пам'ять, введення або виведення даних. Командний цикл може містити різне число машинних циклів. У першому машинному циклі Ml відбувається вибірка першого байта команди, дешифрування коду команди і її виконання, якщо дані знаходяться у внутрішніх регістрах мікропроцесора. Якщо виконання команди вимагає звернення до основної пам'яті або зовнішніх пристроїв, то використовується два, три і більше машинних циклів. Машинні цикли, як і командні, також не є однорідними, тому на їх виконання витрачається різне число тактів. Таким чином, при виконанні команди всі дії мікропроцесора синхронізовані вкладеними один в одного циклами трьох рівнів: командними, машинними та тактовими.

 
< Попер   ЗМІСТ   Наст >