СИСТЕМА КОМАНД МІКРОПРОЦЕСОРУ

Для розгляду системи команд необхідно детальніше познайомитися зі структурою МП. Серед різноманітних рішень сучасних МП вибираємо схему восьмирозрядного однокристального МП серії , структура якої наведена на рис. 4.33. Порівняємо її з раніше розглянутою структурою рис. ,

мікропроцесору

Мал. 4.33. Структурна схема мікропроцесора

На відміну від схеми рис 4.31, а МП, що розглядається, містить тільки одну внутрішню МД. Призначення решти елементів буде розглянуто нижче.

Функції, пристрої управління МП дуже великі: воно має обробляти команди, що забезпечують вибір потрібного регістру з РОН (для цього введена Схема вибору регістра), передачу інформації з РОН в АЛУ, завдання коду операції, що виконується в АЛУ, запис результату в Акумулятор або РОН, перехід до наступного кроку програми, обмін інформацією із ЗУ та пристроями введення та виведення. Для управління внутрішніми елементами МП використовуються вихідні команди пристрою управління (УУ) , а для зв'язку з входами зовнішніх ланцюгів команди , що управляють. Число виходів УУ дуже велике, але ряд поєднань вихідних сигналів ніколи не використовується, тому на вхід УУ подають не команду, що складається з переліку вихідних сигналів , а лише умовний код команди, що виконується.

Розглянемо етап виконання МП однієї команди: Скласти складне акумулятора і реєстру В. Для виконання цієї команди необхідно два такти:

1 такт. Одночасно подаємо команду на схему вибірки регістру (вибрати регістр В), проводимо читання даних з регістру, їх передачу по внутрішній магістралі даних в буферний регістр БР В, а також запис числа, записаного в акумуляторі, в буферний регістр БР А.

2 такт. Видача команди на додавання в АЛУ, передача результатувнутрішньої МД даних із АЛУ в акумулятор.

1. Команди обробки даних.

Скласти вміст акумулятора та регістра;

Скласти вміст акумулятора і число, записане в другому байті команди;

ВИРАХУВАННЯ з вмісту акумулятора вміст регістру (або число, записане в другому байті команди);

ЛОГІЧНО Складати вміст акумулятора і регістра (або число, записане в другому байті команди);

ЛОГІЧНО ПРИМНОЖИТИ вміст акумулятора та регістру (або число, записане в другому байті команди);

ЗБІЛЬШИТИ (або ЗМЕНШИТИ) вміст регістру на одиницю;

Зрушити вміст акумулятора на один розряд ліворуч (або праворуч);

ЛОГІЧНО ІНВЕРТУВАТИ вміст акумулятора (розрядно).

2. Команди передачі.

ЗАВАНТАЖИТИ дані із зазначеної комірки пам'яті в акумулятор (або регістр);

ЗАПАМ'ЯТАТИ число, записане в акумуляторі (або регістрі), у вказаному осередку пам'яті ЗУ;

ПЕРЕСЛАТИ дані з одного регістру до іншого РОН;

ВВЕДЕННЯ — передача даних із пристрою введення в акумулятор; ВИСНОВОК - передача даних з акумулятора на пристрій виведення;

Завантажити безпосередньо регістр числом, зазначеним у другому байті команди.

3. Команди управління.

Безумовний перехід до команди (вказується номер осередку пам'яті, де зберігається дана команда) дозволяє порушити природний порядок виконання програми, що здійснюється в порядку зростання номерів, у тому числі повторити частину програми;

БЕЗУМОВНИЙ ПЕРЕХІД ДО ПІДПРОГРАМИ (вказується номер осередку пам'яті, де зберігається початок підпрограми). Після закінчення підпрограми відбувається повернення до перерваного етапу основної програми, навіщо в кінці підпрограми вказується команда:

ПОВЕРНЕННЯ ЗПІДПРОГРАМИ.

Існують команди умовних переходів, що дозволяють МП приймати рішення в залежності від результатів, що одержуються: УМОВНИЙ ПЕРЕХІД ДО КОМАНДИ; УМОВНИЙ ПЕРЕХІД ДО ПІДПРОГРАМИ; УМОВНЕ ПОВЕРНЕННЯ З ПІДПРО-ГРАМИ. Ці команди виконуються чи не виконуються залежно від результату виконання попередньої команди програми. Можливі такі варіанти, одержувані під час аналізу результату:

нульове (або ненульове) значення результату; позитивне (або негативне) значення результату; наявність (або відсутність) сигналу перенесення (або позики при відніманні) на виході АЛУ.

Для аналізу результату на виході АЛП та зберігання результату аналізу під час виконання наступної команди МП забезпечений Реєстром ознак (РП), підключеним до АЛП. Залежно від сигналу у ньому МП виконує операцію умовного переходу чи пропускає її. Наприклад, при нульовому результаті на виході АЛУ при виконанні попередньої команди буде виконана команда УМОВНИЙ ПЕРЕХІД ДО ПІДПРОГРАМИ З НУЛЬОВОГО ЗНАЧЕННЯ РЕЗУЛЬТАТУ, а при відмінному від нуля результаті ця команда буде пропущена і лічильник команд перейде до наступної за номером.

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

Програма, що виконується МП, може бути реалізована у такому вигляді:

1. ВИСНОВОК: команда включення силового ключа.

2. ВВЕДЕННЯ: запис температури t в акумуляторі.

3. ВИЧАТИ з вмісту акумулятора число Ттох, записане в другому байті команди.

4. УМОВНИЙПЕРЕХІД ЗА НЕГАТИВНИМ РЕЗУЛЬТАТОМ до п. 2.

5. ВИСНОВОК: команда на вимкнення силового ключа.

6. ВВЕДЕННЯ: запис t в акумуляторі.

7. ВИЧАТИ з вмісту акумулятора число , записане в другому байті команди.

8. УМОВНИЙ ПЕРЕХІД ПО ПОЗИТИВНОМУ РЕЗУЛЬТАТУ до п. 6.

9. Безумовний перехід до п. 1.

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

Для роботи зі стеком система команд МП доповнена командами пересилання даних: ЗАВАНТАЖЕННЯ СТЕКУ вмістом регістру або акумулятора або числами, записаними в другому і третьому байтах команди, ЗАВАНТАЖЕННЯ АКУМУЛЯТОРА або регістру даними, записаними в стеку. Доповнюються команди управління: ЗАПИС В ПОКАЖЧИК СТЕКУ числа, записаного в регістрі, ЗБІЛЬШЕННЯ (або ЗМЕНШЕННЯ) НА ОДИНИЦЮ числа, записаного в покажчику стека. Число, записане в УС, передається через буферний підсилювач ТИ БА на МА і забезпечує читання даних з комірки пам'яті ЗУ.

Пристрій управління МП організує роботу всіх елементів , ЗУ, пристроїв та портів введення та виведення. Для цього УУ забезпечено висновками у зовнішній ланцюг (сигнали ЧТ, ГОТ, ОЖ та ін), які підключаються до магістралі управління (МУ) . Розглянемо основні сигнали управління, якими обмінюються МП коїться з іншими елементами системи.

За наявності сигналу МП приймає інформацію з МД, а за сигналу МП видає інформацію на МД. Ці команди відповідають різним станам буферного підсилювача БД МП.

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

У ряді під час передачі великої інформації з входу в пам'ять можна організувати режим прямого доступу до пам'яті, у якому МП не бере участь у передачі інформації та відключається від МД і МА. Для цього режиму на спеціальний вхід МП передають сигнал захоплення магістралей ЗХВ , а МП, прийнявши цю команду, сигналізує про своє входження в зазначений режим командою на виході . Режим прямого доступу в пам'ять вимагає використання дуже складних портів введення.

Процес створення мікропроцесорного пристрою управління включає такі етапи підготовки:

1. Опис та аналіз завдання.

2. Складання алгоритму розв'язання задачі.

3. Складання детальної блок-схеми рішення.

5. Виділення осередків пам'яті для зберігання даних та результатів проміжних обчислень та РОН для зберігання змінних у процесі обчислення.

6. Складання програми мовою Асемблера.

7. Перетворення програми на послідовність двійкових машинних команд, а також налагодження програми.

8. Запис налагодженої програми у ПЗП.

9. Розробка апаратурних засобів мікроЕОМ та інтерфейсу, тобто пристроїв для поєднання зовнішніх джерел з мікроЕОМ, а також зв'язку мікроЕОМ з органами управління та виконавчими вузлами.

Мікропроцесорна техніка переживає період бурхливого розвитку, з'являються нові комплекти мікропроцесорних схем, розвивається апаратурне та програмне забезпечення, розробляються пристрої для налагодження мікропроцесорнихпристроїв керування. Пристрої управління, створені з урахуванням МП, дедалі ширше застосовують у промисловості, транспорті, в енергетиці. Однак не слід думати, що розвиток мікропроцесорних систем виключає необхідність застосування непрограмованих електронних пристроїв, навпаки, мікропроцесорні пристрої працюють, як правило, у поєднанні з подібними блоками, потребують їх (розвинена система інтерфейсу), що в сукупності дозволяє отримати раніше недосяжні результати ( застосування більш досконалих законів управління, підвищення точності, адаптація до умов, що змінюються, роботи установок і т. п.). І, нарешті, МП є потужним пристроєм для обробки інформації та її можливості дуже великі, але не всі завдання, які можуть бути реалізовані на основі мікроЕОМ, потребують такого вирішення: сучасна мікроелектроніка має в своєму розпорядженні надзвичайно різноманітний набір ІМС, у тому числі високого рівня інтеграції, які дозволяють вирішувати складні завдання. Тому вибір рішення пристрою управління на базі програмованого автомата або автомата з жорсткою логікою повинен проводитись на основі техніко-економічного зіставлення варіантів.