Laba 4

Організація прямого доступу до пам'яті

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

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

Існують два різновиди прямого доступу до пам'яті із "захопленням циклу". Найбільш простий спосіб організації ПДП полягає в тому, що для обміну використовуються машинні цикли процесора, в яких він не обмінюється даними з пам'яттю. У таких циклах контролер ПДП може обмінюватися даними з пам'яттю, не заважаючи роботі процесора. Однак виникає необхідність виділення таких циклів, щоб не відбулося тимчасового перекриття обміну ПДП з операціями обміну, що ініціюються процесором. У деяких процесорах формується спеціальний сигнал керування, що вказує цикли, в яких процесор не звертається до системного інтерфейсу. При використанні інших процесорів виділення таких циклів необхідно застосування у контролерах ПДП спеціальних селектуючих схем, що ускладнює їх конструкцію. Застосування розглянутого способу організації ПДП не знижує продуктивність мікроЕОМ, але при цьому обмін у режимі ПДПможливий лише випадкові моменти часу одиночними байтами чи словами.

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

Керуючий сигнал ТПДП формується контролером прямого доступу до пам'яті. Процесор, отримавши цей сигнал, припиняє виконання чергової команди, не чекаючи її завершення, видає на системний інтерфейс сигнал ППДП, що управляє, і відключається від шин системного інтерфейсу. З цього моменту всі шини системного інтерфейсу керуються контролером ПДП. Контролер ПДП, використовуючи шини системного інтерфейсу, здійснює обмін одним байтом чи словом даних із пам'яттю мікроЕОМ і потім, знявши сигнал ТПДП, повертає управління системним інтерфейсом процесору. Як тільки контролер ПДП буде готовий до обміну наступним байтом, він знову захоплює цикл процесора і т.д. У проміжках між сигналами ТПДП процесор продовжує виконувати команди програми. Тим самим виконання програми уповільнюється, але меншою мірою, ніж при обміні в режимі переривань.

Найбільш поширеним є обмін у режимі прямого доступу до пам'яті з блокуванням процесора. Він відрізняється від ПДП із " захопленням циклу " тим, що управління системним інтерфейсом передається контролеру ПДП не так на час обміну одним байтом, але в час обміну блоком даних. Такий режим ПДП використовується в тих випадках, коли час обміну одним байтом з ПУ можна порівняти з циклом системної шини.

У мікроЕОМ можна використовувати кілька ПУ, які працюють у режимі ПДП. Надання таким ПУшин системного інтерфейсу обмінюватись даними виробляється пріоритетної основі. Пріоритети ПУ реалізуються так само, як і при обміні даними в режимі переривання, але замість сигналів керування "Вимога переривання" і "Надання переривання" використовуються сигнали "Вимога прямого доступу" і "Надання прямого доступу", відповідно.

Як працює режим ПДП?

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

Назвіть види режимів ПДП

Режим ПДП із "захопленням циклу" та режим ПДП із блокуванням процесора.

Який із цих режимів є найпоширенішим?

Найбільш поширеним є обмін у режимі прямого доступу до пам'яті з блокуванням процесора.

Як розшифровуються ТПДП та ППДП

Вимога прямого доступу до пам'яті (ТПДП) та Надання прямого доступу до пам'яті (ППДП).

Яке ПУ може використовувати режим ПДП?

Скільки видів режимів ПДП існує?

2) На скільки підвидів поділяють режим ПДП із "захопленням циклу"?