Режими обміну в мікропроцесорній системі

У процесі роботи в мікропроцесорної системі постійно відбувається обмін інформацією між МП і зовнішніми пристроями. При цьому можливі три режими обміну:

    Програмно-керований обмін; Обмін з ініціативи ВУ з перериванням роботи МП; Обмін між ВУ і пам’яттю в режимі прямого доступу до пам’яті.

Найбільш простий – програмно-керований обмін. У цьому режимі взаємодія МП з ВУ здійснюється за ініціативою МП в процесі виконання основної програми. Є ВУ двох типів: завжди готові до обміну і не завжди готові до обміну. У першому випадку обмін здійснюється без затримки. У другому – МП змушений очікувати готовності пристрою до обміну. При цьому програма не виконується, МП чекає появи сигналу готовності ВУ до обміну, і тільки після його появи виконує операцію обміну. Так як МП в цей час не виконує корисної роботи, а його швидкодія набагато вище швидкодії ВУ, такий режим обміну пов’язаний з непродуктивними втратами часу.

Обмін з ініціативи ВУ з перериванням роботи МП більш продуктивний, так як час очікування МП виключається. При своїй готовності до обміну ВУ повідомляє про це МП спеціальним сигналом запиту переривання. Процесор завершує виконання поточної команди програми, видає сигнал підтвердження переривання і переходить до виконання підпрограми обміну з ВУ. Ця підпрограма носить назву підпрограми обслуговування переривання. Щоб почати виконання підпрограми достатньо адресу її першої команди завантажити в ПС. Але в результаті виконання програми вміст всіх внутрішніх регістрів МП вже не буде відповідати тому, що було в момент переривання. Тому виникає необхідність збереження стану МП на момент переривання в оперативній пам’яті, щоб можна було повернутися до перерваної основній програмі. Для цього в мікропроцесорних системах використовується так звана стекова пам’ять. Стек – це область пам’яті, запис у яку і зчитування здійснюється за принципом “останній прийшов – перший пішов”. Процес функціонування стека нагадує роботу з пачкою документів, коли кожен новий документ кладеться зверху пачки, тобто найперший по часу надходження документ опиняється в самому низу пачки і його розгляд відбувається в останню чергу, в той час як останній документ розглядається в першу чергу. Точно так само в стекову пам’ять здійснюється завантаження даних. При переході від поточної програми до програми обслуговування переривання вміст деяких адресних регістрів МП заноситься в стекову пам’ять автоматично. Запис вмісту інших регістрів повинна бути передбачена

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

Для роботи зі стековой пам’яттю в МП є спеціальний регістр – покажчик стека (УС). Цей регістр завжди містить адресу “верхній” (за аналогією зі стопкою документів) завантаженої комірки стека, званої вершиною стека. На рис. 4.10 показані процеси запису і вилучення даних з стека.

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

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

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

І даних і весь процес обміну здійснюється під управлінням спеціального контролера ПДП. Відбувається тимчасове захоплення системних шин з боку ВУ, пам’яті і контролера ПДП. Режим ПДП починається з того, що ВУ сигналізує процесору про своє “бажанні” почати обмін з пам’яттю видачею сигналу запиту захоплення шин. Якщо процесор дозволяє такий обмін, він видає сигнал дозволу захоплення, відключається від системних шин і передає управління контролеру ПДП. У режимі ПДП видача даних на ШД джерелом і зчитування їх з ШД приймачем відбувається в одному циклі запису / читання. За рахунок усунення одного зайвого циклу запису / читання значно збільшується темп передачі даних.


1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 5.00 out of 5)

Режими обміну в мікропроцесорній системі