Структура та класифікація 8-розрядних мікропроцесорів
8-розрядні мікропроцесори і МП комплекти, такі як МПК КР580, МП Z80 та К1821МВ85 сьогодні досить широко використовуються в периферійних керуючих пристроях, системах технічного обслуговування та діагностики вузлів зв’язку.
Особливістю мікропроцесорного комплекту КР580 є його універсальність. Хоч сам процесор КР580ВМ80 у нових розробках не використовується, більшість інтерфейсних БІС цього комплекту (або їх найближчих аналогів) використовуються в сучасних пристроях, вже з іншими процесорами. Вивчення комплекту доцільно починати з центрального процесора.
Структурна схема МП КР580 складається з АЛП, блока регістрів загального призначення, схеми керування та синхронізації та буферів шин.
Особистістю блока регістрів КР580 є функціональна спеціалізація його окремих елементів.
PC - регістр лічильника команд використовується для зберiгання адреси елемента пам’яті, з якого вибиратиметься наступна команда. При виконанні лінійної програми вміст лічильника команд послідовно збільшується. При виконанні команд переходів або викликів підпрограм лічильник команд встановлюється відповідно з вказаною адресою.
SP - регістр стека використовується для указання на текучу вершину стеку, він використовується для організації повернення з підпрограм і для часового зберігання в ОЗП вмісту регістрових пар (наприклад параметрів підпрограми).
Регістри загального призначення - В,С,D,E. Програмісту надана можливість запису і читання інформації з цих регістрів, а також видачі цієї інформації на шину даних.
HL - регістр указника адреси може використовуватись для тієї ж мети, що і регістри загального призначення, а може використовуватись для формування адреси в командах з непрямою адресацією.
Регістр ознак (прапорців) уявляє собою набір тригерів, які показують результат останньої операції, що виконав АЛП. За допомогою регістра F реалізується організація умовних переходів у МП КР580. В цьому регістрі є п’ять умовних ознак, які змінюють своє значення в результаті виконання різних арифметичних і логічних команд: ознаки нуля Z, знаку S, парності Р, переносу CY і допоміжного переносу AC. Ознаку встановлено, якщо біт дорівнює 1, ознаку скинуто, якщо він дорівнює 0. Ознака нуля встановлюється, якщо результат операції дорівнює 0, скидається, якщо результат не дорівнює 0.
При вивченні системи команд будь-якого мікропроцесора треба зосередити увагу на трьох важливих аспектах - розглянути формати команд, режими адресації та групи команд.
В системі команд МП КР580ВЕ80 є одно-, дво- і трибайтні команди. Формат команди і режим адресації задаються в команді кодом операції. Код операції завжди стоїть на першому місці і в процесорі, що розглядається, займає 1 байт. Далі, залежно від режиму адресації, може йти 1 байт даних, 1 байт адреси порту, 2 байти даних чи 2 байти адреси в ОЗП чи ПЗП. При прямій або непрямій регістровій адресації команда складається з одного байта – коду операції, і кожний з регістрів вибирається з допомогою 3 бітів в цьому байті.
Приклади однобайтних команд:
MOV C, D - переслати з D в C;
ADD M- A=A+B;
RET - повернення з підпрограми;
HLT - команда зупинки.
Приклади двобайтних команд:
MVI A, байт - загрузити байт (00-FF) в А;
ANI байт - логічно помножити акумулятор на байт (00-FF);
IN адр_порта - ввести дані з порту aдр_порта (00-FF) в А.
Приклади трибайтних команд:
JMP адреса- перейти до виконання команди з вказаною адресою (0000-FFFF);
CALL адреса - визвати підпрограму з вказаною адресою (0000-FFFF),
LXI H, 2 байти - загрузити до регістрової пари HL 2 байти даних.
МП КР580ВМ80 має шість різних засобів адресації даних, що зберігаються в пам’яті або в регістрах: неявна, регістрова, безпосередня, пряма, не пряма, регістрова, стекова.
В двоадресних командах можливо використання комбінації вказаних видів адресації, тобто один із операндів (частіше за все акумулятор) може бути заданим неявно, а другий - явно.
Команди розглядуваного мікропроцесора можна розділити на 5 груп: команди пересилання (передачі даних), арифметичні, логічні, передачі керування (розгалуження), спеціальні.
До команд пересилки відносяться команди MOV, MVI, LXI, LDA, STA, LDAX, STAX, PUSH, POP, IN, OUT.
До арифметичних команд відносяться команди ADD, DAD, ADC, ADI, SUB, SUI, INR, INX, DCR, DCX.
До логічних команд та зсувів відносяться команди ANA, ANI, ORA, ORI, XRA, XRI, RAR, RRC, RAL, RLC.
До команд передачі керування відносяться команди безумовного переходу JMP та умовних переходів JZ, JNZ, JC, JNC, JP, JM (за 4 прапорцями регістру ознак), виклику підпрограм CALL, RET та ін.
До спеціальних команд відносяться команди NOP – пуста операцїя, HLT - зупинка, EI – дозвіл переривань, DI – заборона переривань.
При виконанні команд умовних переходів передача керування здійснюється за прапорцями регістру ознак, які встановлюються попередньою командою.
Команда СALL спочатку автоматично зберігає в стеку адресу повернення, а далі завантажує вказану адресу в лічильник команд (РС).
Команда повернення RET містить в лічильник команд останнє записане у стеку число (тобто витягає адресу повернення). Після цього виконання головної програми продовжується з цiєї адреси.
Мікропроцесор Z80 є закінченим однокристальним мікропроцесором з фіксованою системою команд. МП оперує 8 розрядними словами (байтами) і може адресувати 64 К пам’яті і до 64 К портів. Система команд МП Z80 є розширенням системи команд процесора КР580ВМ80А. Крім того МП Z80 має розширену шину керування, що полегшує підключення до нього інших ВІС. Однофазна синхронізація і однополярна напруга живлення спрощує синхронізацію всієї системи, побудованої на його підставі. В МП є вбудовані сигнали для вибірки мікросхем пам’яті і пристроїв вводу-виводу. Пам’ять має байтову структуру – можлива адресація в пам’яті будь-якого байта.
Організація МП Z80 має такі основні особливості:
- тришинна структура з шинами адреси, даних і керування;
- магістральний принцип побудови, реалізований у вигляді двоспрямованої шини даних, яка зв’язує основні вузли МП та має ширину, що дорівнює довжині слів, що обробляє мікропроцесор (8 розрядів);
- наявність 16-розрядної шини адреси, яка забезпечує можливість прямої адресації будь-якого байта в пам’яті ємністю 64 К;
- наявність регістрової пам’яті, у вигляді програмно доступних загальних і спеціалізованих регістрів, а також регістрів тимчасового зберігання;
- наявність двох (головного і допоміжного) акумуляторів, регістрів ознак і подвоєного набору РЗП;
- наявність засобів організації стекової пам’яті (регістр - вказівник стека, схеми виконання операцій інкременту, декременту, спеціальні команди операцій зі стеком);
- наявність 10 засобів адресації, таких як: безпосередня, регістрова, непряма, абсолютна, модифікована нуль сторінкова, відносна, індексна, бітова, вбудована і змішана;
- спрощеними схемами інтерфейсу в МП режиму прямого доступу до пам’яті шляхом підключення спеціальної ВІС (контролера ПДП);
- відсутність необхідності в додаткових ВІС, таких як, наприклад, системний контролер для МП 8080;
- наявність вбудованої схеми регенерації динамічного ОЗП;
- спрощені схеми інтерфейсу та відлагодження.
Архітектура МП Z80 є типовою для 8-розрядних мікропроцесорів. В нiй можна виділити такі основні частини: блок регістрів, арифметично-логічний пристрій, регістр команд, дешифратор команд та пристрій керування, схеми керування шинами адреси і даних. Блок регiстрів містить програмно-доступні 8-розрядні регістри: регістр-акумулятор, загальні регістри, регістр ознак і 16-розрядні спеціалізовані регістри.
До складу мікропроцесорного комплекту КР580 входить значна кількість програмованих і непрограмованих ВІС. Найбільш важливі з них:
КР580ВГ24 – генератор тактових сигналів;
КР580ВК28 - системний контролер; непрограмовані ВІС;
КР580ВА86 - шинний формувач;
КР580ВВ51 - програмований послідовний (зв’язковий) адаптер;
КР580ВИ53 - програмований інтервальний таймер;
КР580ВВ55 - програмований паралельний адаптер;
КР580ВТ57 - контролер прямого доступу до пам’яті;
КР580ВН59 - контролер переривань;
КР580ВТ79 - контролер відеотерміналу;
КР580ВМ80 - центральний процесор.
Перші три з перелічених мікросхем - непрограмовані ВІС, що використовуються для формування шин МП пристрою на базі КР580ВМ80, в першу чергу тих керуючих сигналів, які процесор не виробляє – сигналів тактової синхронізації, стробу, роздільних сигналів звертання до пам’яті та портів.
ВІС КР580ВИ53 використовується у МП системах для реалізації часових функцій. Ця ВІС, по суті, є триканальним програмованим інтервальним таймером (ПІТ). Програмування режимів роботи каналів здійснюється індивідуально і у вільному порядку, шляхом вводу спочатку керуючих бітів у регістри режимів каналів, потім потрібного числа байтів у лічильники. Лічильники виконують відрахунок від записаного в них числа до нуля і виробляють вихідні сигнали в залежності від встановленого режиму роботи.
Схема ВІС КР580ВИ53 наведена на рис 1. Сигнали C0 - C3 – це вхідні сигналі тактової синхронізації лічильників, СЕ0 - СЕ3 – сигнали дозволу рахування, OUT0 – OUT3 – вихідні сигнали лічильників. До буфера каналу даних підключається шина даних, до блока керування – декотрі сигнали шини адреси та керування, що потрібні для керування роботою цієї ВІС.
В залежності від режиму роботи низький рівень на входах СЕ0 - СЕ3 припиняє (режими 0,2,4), чи повністю зупиняє рахунок.
ПІТ може функціонувати в таких режимах:
0 – термінальний рахунок; в цьому режимі лічильник відраховує від записаного значення до нуля і на виході формується логічна одиниця;
1 – на виході очiкуючого мультивібратора формується позитивний імпульс тривалістю n Тс, де n – число, записане у лічильник, Тс – період тактової частоти. Після цього формується негативний короткий імпульс. Потім процес повторюється.
2 – генератор імпульсів – таймер працює як подільник імпульсів на число, що записане в лічильник.