Однокристальний 8-розрядний МП

5. Особливі режими роботи МП і8080, як прикладу однокристального 8-розрядного МП

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

Переривання. У мікропроцесорі і8080 є засоби обробки запитів переривань восьми рівнів. Якщо один із зовнішніх пристроїв, з'єднаних із системою переривання МП, ініціює запит переривання, то система формує сигнал на виводі ІNT МП у вигляді сигналу високого рівня. Одночасно на шину даних система переривання посилає код команди RST V (переривання за вектором V), Вектор V код, який вказує на адресу початкової команди підпрограми об­слуговування цього запиту переривання

Послідовність дій МП у режимі переривання:

• приймання запиту переривання та блокування входу запиту переривання;

• приймання команди RST V;

• зберігання адреси повернення (вмісту покажчика команд) у стеку;

• формування адреси підпрограми обслуговування джерела запиту.

Запити переривання МП і8080 приймаються із входу INT МП тригером переривань, яким керує тригер дозволу переривань. У свою чергу, тригер дозволу переривань можна програмним способом установити в стан логічної одиниці або логічного нуля. Стан логічної одиниці тригера дозволу переривань дає змогу приймати переривання із входу ІNT, а стан логічного нуля — це забороняє.

Система переривання може встановити активний рівень сигналу на лінії INT у будь-який момент виконання програми, однак приймання його синхронізується так. За наявності сигналу дозволу переривання (тригер дозволу, що знаходиться у стані логічної одиниці) тригер переривань установлюється в останньому такті останнього машинного циклу команди, впродовж виконання якої надійшов запит. Це дає змогу процесору завершити виконання команди перед тим, як почнеться обробка переривання. Якщо переривання не дозволено, тобто тригер дозволу переривань скинуто до нуля, запит переривань із входу І NT ігнорується. Часову діаграму роботи процесора показано на рисунку 7, а, 6.

  

Рисунок 7 -  Часові діаграми циклу ПЕРЕРИВАННЯ:

а — машинний цикл М1, б — машинні цикли М2 і М3; ТгП — тригер

переривань

Після прийняття сигналу запиту переривання процесор переходить до виконання циклу ПЕРЕРИВАННЯ, що складається з трьох машинних циклів.

Перший з них М1 (рис. 7, а) призначений для приймання команди RST V, а два інших М2 і МЗ — для зберігання адреси повернення в стек (рис. 7, б). У циклі М1 у першому такті Т1 у байті стану формується сигнал підтвердження переривання, який використовується для керування читан­ням команди RST V. У такті Т3 процесор приймає по шині даних байт команди RST V, що формується системою переривання. У тактах Т4, Т5 циклу ПЕРЕРИВАННЯ здійснюєть­ся формування адреси першої комірки стеку, яка відведена для зберігання адреси повернення з підпрограми обслуговування запиту переривання. У циклах М2 та М3 здійснюється завантаження адреси повернення (вмісту покажчика команд) у стек. У наступному циклі формується перша команда підпрограми обслуговування переривання за адресою, вказаною в команді RST V. Наступне керування МП покладається на підпрограму.

В окремому випадку за допомогою підпрограми здійснюється зберігання вмісту основних робочих регістрів процесора, керування тригером дозволу переривання, відтворення вмісту основних робочих регістрів та повернення до основної програми (відновлення вмісту покажчика команд).

Захоплення шин. Режим захоплення шин використо­вується для організації виконання операцій прямого доступу до пам'яті. Для цього процесор має вхідний вивід HOLD запиту захоплення шин та вихідний вивід HLDA підтвердження захоплення. Зовнішній пристрій запитує режим пря­мого доступу до пам'яті сигналом високого рівня на лінії HOLD. При цьому процесор зупиняє виконання операцій і від'єд­нується від зовнішніх шин даних та адреси. Лінії шин пере­ходять у високоімпедансний стан.

Процесор підтверджує прийняття запиту прямого досту­пу до пам'яті встановленням високого потенціалу на виході підтвердження захоплення HLDA. Поки діє сигнал на вході HOLD, шини процесора знаходяться в розпорядженні зовніш­нього пристрою, який надіслав запит прямого доступу до па­м'яті. Сигнали керування обміном інформацією між зовнішнім пристроєм та пам'яттю формуються спеціальною ВІС — кон­тролером прямого доступу до пам'яті.

Рисунок 8 - Цикл ЧИТАННЯ ПАМ'ЯТІ в режимі ПДП

 

Часову діаграму роботи процесора у режимі захоплення шин у циклі ЧИТАННЯ ПАМ'ЯТІ зображено на рисунку 8. Сигнал HOLD сприймається процесором у такті Т2. За на­явності сигналу готовності зовнішнього пристрою на вході READY встановлюється високий рівень на вході внутріш­нього тригера захоплення, завдяки чому по фронту наступ­ного імпульсу F1 вихідний сигнал МП HLDA перемикається у стан логічної одиниці. У процесі виконання циклів читан­ня або введення процесор підтверджує захоплення на почат­ку такту ТЗ після закінчення читання. У циклах записуван­ня та виведення це здійснюється у такті Т4 після закінчення запису. В обох випадках шини процесора переводяться у високоімпедансний стан по фронту імпульсу F2, наступного за імпульсом F1, після якого виконувалося перемикання ви­ходу HLDA.

Процесор з режиму захоплення виходить так. Після закін­чення асинхронного сигналу запиту захоплення на вході HOLD імпульсом F2 тригер переходить у стан логічного нуля на передньому фронті імпульсу F1 на виході HLDA підтвердження захоплення формується сигнал низького по­тенціалу. Процесор переходить до виконання наступного машинного циклу.

Зупинка. Процесор входить у режим зупинки після ви­конання команди зупинки HLT. Виконання дій МП проілю­стровано часовими діаграмами (рис. 9). Перехід у режим зупинки виконується за два машинних цикли. У першому машинному циклі ВИБІРКА здійснюється зчитування з пам'яті першого байта команди HLT. У другому машинному циклі ЗУПИНКА після закінчення такту Т2 процесор пере­ходить у режим зупинки, за якого шини даних і адреси пере­ходять у високоімпедансний стан, а процесор виконує такти очікування Tw. Режим зупинки підтверджується бітом D3 у байті стану, який видається у такті Т2 (див. табл. 1).

Рисунок 9 - Цикл ЗУПИНКА

 

Вихід з режиму зупинки можна здійснити трьома спосо­бами:

• поданням сигналу на лінію RESET (при цьому покаж­чик команд набуває нульового значення і процесор перехо­дить до машинного циклу ВИБІРКА команди за першою адре­сою);

• поданням сигналу на вхід HOLD, завдяки чому Проце­сор переходить до виконання циклу ЗАХОПЛЕННЯ. Після закінчення цього сигналу процесор входить у режим зупин­ки за переднім фронтом імпульсу F1;

• поданням сигналу переривання (за наявності сигналу дозволу переривань на виході INTE), завдяки чому проце­сор по фронту імпульсу F1 переходить у режим Т1 машин­ного циклу ПЕРЕРИВАННЯ. Для реалізації цієї можли­вості треба перед початком режиму зупинки забезпечити вста­новлення тригера дозволу переривань після виконання ко­манди дозволу переривання Е1.

Оброблення запитів захоплення шин і перериван­ня під час зупинки зображено на рисунку 10. Нехай процеcop знаходиться у режимі ЗУПИНКА, тоді лінії шин адрес та даних знаходяться у високоімпедансному стані і процесор виконує такти Tw.

 

 Рисунок 10 - Цикли ЗАХОПЛЕННЯ шин і ПЕРЕРИВАННЯ під час ЗУПИНКИ

 

З надходженням запиту захоплення шин HOLD у наступ­ному такті встановлюється тригер захоплення. Потім проце­сор видає сигнал підтверджешгя захоплення HLDA і здійснює прямий доступ до пам'яті. Якщо виконується послідовність дій у режимі ПДП, то запити переривання не сприймаються процесором до закінчення обміну, а якщо переривання дозволено і надійшов запит переривання INT, то після закінчення режиму ПДП МП-переходить до машинного циклу ПЕРЕ­РИВАННЯ ПІД ЧАС ЗУПИНКИ. Після надходження у цьому циклі запиту захоплення HOLD він ігнорується МП до завершення виконання циклу читання команди RST. Потім МП переходить до режиму ПДП. Послідовність дій МП у режимі переривання завершується після закінчення режиму ПДП.

Увімкнення мікропроцесора. З поданням напруги жив­лення процесор починає функціонувати. Напругу живлення МП треба вмикати разом з поданням сигналу на лінію RESET.

Тривалість цього сигналу має становити не менш як три пе­ріоди імпульсів синхронізації. За сигналом RESET вміст покажчика команд набуває нульового значення, і процесор починає виконувати дії, що відповідають машинному циклу ВИБІРКА. У результаті МП починає виконувати коман­ду, код якої ррзміщений у нульовій комірці пам'яті. Отже, запуск програми починається за сигналом на лінії RESET. Першою командою програми має бути команда безумовного переходу JMP ADR, що здійснює перехід до команди, яка знаходиться у довільному місці пам'яті.

Уміст регістрів загального призначення і регістра прапорців залишається невизначеним, поки його не встановлять від­повідні команди програми.