Контролер прямого доступу до пам’яті 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Контролер прямого доступу до пам’яті



Прями́й до́ступ до па́м'яті (англ. Direct Memory Access, DMA) — режим обміну даними між пристроями або ж між пристроєм і основною пам'яттю (RAM) без участі центрального процесора (ЦП). У результаті швидкість передачі збільшується, так як дані не пересилаються в ЦП і назад.

Крім того, дані пересилаються відразу пачками слів, адреси яких розташовані поспіль, що дозволяє використання т. зв. «Пакетного» (burst) режиму роботи шини: 1 цикл адреси та наступні за ним численні цикли даних.

Аналогічна оптимізація роботи ЦП з пам'яттю вкрай ускладнена.

В оригінальній архітектурі IBM PC (шина ISA) був можливий лише за наявності апаратного DMA-контролера (мікросхема з індексом Intel 8237).

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

ЦП програмує контролер DMA, встановлюючи його регістри. Потім процесор дає команду пристрою (наприклад, диску) прочитати дані у внутрішній буфер. DMA-контролер починає роботу, посилаючи пристрою запит читання (при цьому пристрій навіть не знає, чи прийшов запит від процесора або від контролера DMA). Адреса пам'яті вже знаходиться на адресній шині, так що пристрій знає, куди слід переслати наступне слово зі свого внутрішнього буфера. Коли запис закінчено, пристрій посилає сигнал підтвердження контролеру DMA. Потім контролер збільшує використовувану адресу пам'яті і зменшує значення свого лічильника байтів. Після чого запит читання повторюється, поки значення лічильника не стане дорівнювати нулю. По завершенні циклу копіювання пристрій ініціює переривання процесора, що означає завершення перенесення даних.

Контролер може бути багатоканальним, здатним паралельно виконувати кілька операцій. [1]

9.Програмований контролер переривань
Мікросхема KP580BH59 — програмований контролер переривань (ПКП), обслуговує до восьми запитів на переривання мікропроцесора, що поступають від зовнішніх пристроїв.

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

Умовне графічне позначення мікросхеми приведено на рисунку 2.7,призначення виводів в таблиці 2.8.

Регістр запитів переривання (РЗПР) призначений для запису і зберігання запитів переривань (IRQ).

 

Запис у відповідний розряд РЗПР відбувається при зміні на відповідному вході мікросхеми напруги від низького рівня до високого. IRQ7—IRQO — індивідуальні асинхронні входи. Напруга високого рівня повинна утримуватися до отримання першого імпульсу (-INTA). Розряд РЗПР, відповідний обслуговуваному запиту, під час надходження другого імпульсу (-INTA) повертається в початковий стан. Вміст РЗПР може бути прочитано на шину даних. Регістр обслужених запитів (РОЗПР) призначений для зберігання сигналів, що поступають з виходів схеми маскування запитів переривання відповідного сигналу запиту, обслуговуваного в даний момент. Відповідний розряд РОЗПР встановлюється в 1 після надходження другого імпульсу (-INTA) (одночасно відповідний розряд РЗПР встановлюється в початковий стан). Цей розряд зберігає свій стан до отримання команди «Кінець переривання» мікросхемою ПКП. Вміст РОЗПР може бути прочитано на шину даних.

Схема маскування запитів переривання і аналізу їх по пріоритету (МЗПР) пов'язана з РЗПР, РОЗПР. Схема маскування дозволяє або забороняє проходження сигналів з виходу РЗПР на входи схеми аналізу по рівню пріоритету. Код маски записується в мікросхему за допомогою команди CKOl і зберігається там до запису нового коду або до установки мікросхеми в початковий стан. Сигнали, що пройшли через схему маскування, аналізуються по рівню пріоритету. Запити з більш високим пріоритетом, занесені в РОЗПР у міру їх обслуговування, забороняють проходження через МЗПР рівних або низьких по рівню пріоритету запитів. Для дозволу проходження цих запитів необхідно подати на мікросхему команду «Кінець переривання» або команду спеціального маскування (CKO3).

Арбітраж шини

Арбітраж може бути централізованим або децентралізованим. Розглянемо спочатку централізований арбітраж. Простий приклад централізованого арбітражу показаний на рис. 3.37, а. У даному прикладі один арбітр шини визначає, чия черга наступна. Часто механізм арбітражу вбудовується в мікросхему процесора, але іноді використовується окрема мікросхема. Шина містить одну лінію запиту (монтажне АБО), яка може запускатися одним або декількома пристроями в будь-який час. Арбітр не може визначити, скільки пристроїв запитують шину. Він може визначити тільки факт наявності або відсутності запитів.

Коли арбітр виявляє запит шини, він встановлює лінію надання шини. Ця лінія послідовно пов'язує всі пристрої введення-виведення (як в ялинкової гірлянди). Коли фізично найближчим до арбітра пристрій отримує сигнал надання шини, цей пристрій перевіряє, чи немає запиту шини. Якщо запит є, пристрій користується шиною, але не поширює сигнал надання далі по лінії. Якщо запиту немає, пристрій передає сигнал надання шини наступного пристрою. Це пристрій теж перевіряє, чи є запит, і діє відповідним чином залежно від наявності або відсутності запиту. Передача сигналу надання шини продовжується до тих пір, поки який-небудь пристрій не скористається наданою шіной.Некоторие арбітри містять третю лінію, яка встановлюється, як тільки пристрій приймає сигнал надання шини, і отримує шину в своє розпорядження. Як тільки ця лінія підтвердження прийому встановлюється, лінії запиту і надання шини можуть бути скинуті. В результаті інші пристрої можуть запитувати шину, поки перший пристрій її використовує. До того моменту, коли закінчиться поточна передача, наступне задає пристрій вже буде вибрано. Цей пристрій може почати роботу, як тільки буде скинута лінія підтвердження прийому.



Поделиться:


Последнее изменение этой страницы: 2017-02-10; просмотров: 249; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.17.75.227 (0.004 с.)