Структура та класифікація 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 бітів в цьому байті.
Прикладиоднобайтних команд:
MOVC, D — переслати з D в C;
ADDM — A=A+B;
RET- повернення з підпрограми;
HLT- команда зупинки.
Прикладидвобайтних команд:
MVIA, байт — загрузити байт (00-FF) в А;
ANIбайт — логічно помножити акумулятор на байт (00-FF);
INадр_порта — ввести дані з порту aдр_порта (00-FF) в А.
Прикладитрибайтнихкоманд:
JMPадреса- перейти до виконання команди з вказаноюадресою (0000-FFFF);
CALLадреса — визвати підпрограму з вказаною адресою (0000-FFFF),
LXIH, 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 – генератор імпульсів – таймер працюєяк подільник імпульсів на число, що записане в лічильник.
3 – аналогічний режиму 2 крім того, щотривалість вихідних сигналів для парних чисел на Тс менш ніж для непарних.
4 – одиночний програмний строб – по закінченнi рахунку, на виході формується негативний імпульс тривалістю Тс.
5 – одиночний апаратний строб –аналогічний режиму 4 за виключенням того, що передавач виробляєтьсяавтоматично.
/>/>
Рисунок 1 – Структурна схема ВІСКР580ВИ53
ВІСпрограмованого паралельного інтерфейсу КР580ВВ55 призначена для організаціївводу-виводу паралельної інформації різного формату і дозволяє реалізуватибільшість відомих протоколів обміну за паралельними каналами. ВІСпрограмованого паралельного інтерфейсу може використовуватись для спряженнямікропроцесорного пристрою з периферійним обладнанням або для організаціївнутрішньосистемних магістралей, наприклад, у цифрових АТС.
Усклад ВІС входять: двоспрямований 8-розрядний буфер даних; блок керуваннязаписом-читанням; три 8-розрядних канали вводу-виводу; схема керування групою А(керує каналом А і старшими розрядами каналу С ); схема керування групою В (керуєканалом В і молодшими розрядами каналу С ).
Режимроботи кожного із каналів програмується за допомогою керуючого слова. Керуючеслово може задати один із трьох режимів: основний режим вводу-виводу ( режим 0), режим стробуємого вводу-виводу ( режим 1), режим двоспрямованої передачіінформації ( режим 2 ). Одним керуючим словом можна встановити різні режимироботи для кожного із каналів.
КаналА може працювати в будь-якому із трьох режимів, канал В – в режимах 0 і 1.Канал С може бути використано для передачі даних тільки в режимі 0, а в іншихрежимах він потрібний для передачі керуючих сигналів, які супроводжують процесобміну по каналам А і В.
Режим0 використовується при синхронному обміні або при програмній організаціїасинхронного обміну. Мікросхема може розглядатись в цьому режимі як пристрій,який складається, з чотирьох портів ( два 8-розрядних і два 4-розрядних ), щонезалежно настроюються на ввід або вивід.
Режим1 забезпечує стробуючий односпрямований обмін інформацією з зовнішнімпристроєм. Передача даних виконується по каналам А і В, а лінії каналу Скерують передачею. Роботу каналу в режимі 1 супроводжують три керуючих сигнали.Якщо один з каналів запрограмувати на режим 1, то інші 13 інтерфейсних лінійможна використати в режимі 0. Якщо обидва канали запрограмовані на режим 1, тоостанні дві інтерфейсні лінії каналу С можуть бути настроєні на ввід або вивід.
Режим 2 забезпечує двоспрямованупередачу інформації по каналу А до зовнішнього пристрою і зворотно. Процесобміну супроводжують п’ять керуючих сигналів, що подаються лініями РС7-РС3.Останні 11 інтерфейсних ліній можуть ладнатися на режим 0 або режим 1.
ВІС КР580ИК51 уявляє собоюуніверсальний синхронно–асинхронний прийомопередавач (УСАПП). Він може прийматидані з 8-розрядної шини даних мікропроцесора і передавати їх в послідовномуформаті периферійним пристроям, а також отримати дані від периферії іперетворювати їх в паралельну форму для передачі в мікропроцесор.
Обмін даними виконується васинхронному режимі зі швидкістю до 9,6 Кбіт/с або в синхронному – зі швидкістюдо 56 Кбіт/с. Довжина символів, що передаються складає від 5 до 8 біт. Припередачі в мікропроцесор символів довжиною менш 8 біт невикористані бітизамінюються нулями. Формат символу мiстить також службові біти і необов’язковий біт контролю попарності (непарності).
Режим роботи УСАПП задаєтьсяпрограмно шляхом завантаження в нього керуючих слів з мікропроцесора.Відрізняють керуючі слова двох видів: інструкцій режиму і команди. Інструкціярежиму задає синхронний або асинхронний режим роботи, формат даних, швидкістьприйому або передачі, необхідність контролю. Вона посилається відразу післяустановлення УСАПП у початковий стан програмно або за сигналом RESET ізамінюється лише при необхідності зміни режиму. Керуюче слово командивстановлює керування режимом обміну і може багаторазово задаватись в процесіобміну, керуючі різними його етапами.
При асинхронному обміні командазавантажується відразу після інструкції режиму, а при синхронному обміні переднею розташовуються один або два синхросимволи.
В асинхронному режимі роботиформат даних містить нульовий старт-біт, біти даних, контрольний біт істоп-біти. Число бітів даних і стоп-бітів, а також наявність або відсутністьбіта контролю задаються інструкцією режиму.
При синхронному обміні даніпередаються у вигляді масивів слів, а для синхронізації запуску при прийоміданих використовується один або два символи синхронізації.
Після запису інструкції режиму ікоманди УСАПП готовий до виконання обміну даними в одному з п’яти режимів: синхроннапередача; синхронний прийом з внутрішньою синхронізацією; синхронний прийом ззовнішньою синхронізацією; асинхронна передача; асинхронний прийом.
ВІС програмованого контролерапрямого доступу до пам’яті (ПДП) реалізує функції апаратурно-керуючого обмінуданими між основною пам’яттю і зовнішніми пристроями (частіше за все iз зовнішньою пам’яттю на магнітному носії). Контролер може керувати врежимі ПДП передачею інформації побайтно, послівно і блоками даних. З цієюметою КПДП формує і модифікує адреси, які приймають участь в передачахелементів ПЗП, веде підрахунок байт, які передаються, виявляє момент закінченняпередачі. КПДП настроюється на той чи інший режим роботи з використаннямкеруючого слова.
КонтролерПДП має чотири незалежних канали ПДП, до складу кожного з яких входять:16-розрядний регістр адреси, 14-розрядний лічильник довжини блоку даних і2-розрядний регістр режиму каналу.
КПДПможе знаходитись в двох станах — відомого і ведучого. На етапі ініціалізаціїКПДП є веденим. При сигналі на вході ВК (CS) =0 мікропроцесор завантажує в ВТ57початкові адреси областей ПЗП, розміри блоків даних і коди режимів. Одразупісля ініціалізації КПДП переходить в режим ведучого. В режимі ведучого ВТ57сам формує сигнали DBIN і WR, виробляє сигнал «запит захвату шин»HOLD і, при появі відповідного сигналу HLDA, видає на шину адреси елементів ПЗПі зовнішніх пристроїв, між якими виконується обмін. Сигнал ВК при цьомублокується.
ВІСпрограмованого контролера переривань (ПКП) призначена для використання в МП системах,в яких режим обробки інформації має змінюватись в залежності від зовнішніхпрограмно-непередбачених подій. Основна функція ПКП зводиться до впізнаннязовнішніх подій і видачі керуючих сигналів мікропроцесора, який ( при дозволупереривань) припиняє виконання існуючої програми і переходить до виконанняпрограми обробки переривань.
Контролерреалізує керування перериваннями від 8 джерел. Кількість зовнішніх джерел, щообслуговуються, може бути збільшено до 64 шляхом каскадного підключенняконтролерів (один — ведучий, вісім — ведених). Приклад каскадного підключеннядвох ПКП зображений на рис. 2.
Контролерініціюється під керуванням програми і з використанням керуючих слів може бутиналаштований для роботи в одному із чотирьох режимів: векторне переривання зфіксованим пріоритетом, векторне переривання з циклічним перерозподіломпріоритетів, векторне переривання з адресуючим розподілом пріоритетів,переривання за результатом опиту.
/>
Рисунок 2. — Схема каскадногопідключення двох контролерів переривань до шин 8-розрядного МП пристрою
Дляприведення ПКП в робочий стан прикладна програма має завантажити в нього дваабо три керуючих слів ініціалізації, які виявляють наявність в системі одногоабо декількох ПКП, початкову адресу масиву підпрограм обслуговуванняпереривань, інтервал розташування початкових адрес підпрограм в пам’яті системита типи розподілу пріоритетов при одночасному надходженні переривань з двохджерел.
Вузолклавіатури і індикації можна організувати по-різному.
По-перше,для виводу даних на 7-сегментні індикатори і вводу з клавіатури можнавикористовувати ППІ КР580ВМ80. Але при цьому такі функції, як усування дріб’язкуклавіатури або регенерація відображення на індикаторах, треба виконуватипрограмним шляхом.
По-друге,можна використовувати спеціалізовану ВІС – контролер індикатора і клавіатуриКР580ВД79, до складу якої входять схеми усування дріб’язку клавіатури ідинамічної індикації.
Крімцього, увід із клавіатури можна здійснювати за перериваннями, а вивід наіндикацію – з допомогою схем прямого доступу в пам’ять,коли для зберігання образу на дисплеї відводиться конкретний масив елементів вПЗП.