22979

Прямий доступ до пам’яті (ПДП)

Лекция

Коммуникация, связь, радиоэлектроника и цифровые приборы

Контролер ПДП Забезпечити роботу в режимі захоплення шин можна за допомогою логічних схем та тригерів саме так це зроблено наприклад у Мікролабі але зручніше скористатися спеціальною ВІС контролером прямого доступу до памяті КПДП. Працює КПДП в двох сильно відмінних один від одного режимах: в режимі програмування коли мікропроцесор закладає в нього необхідні інструкції і в режимі обміну даними між зовнішнім пристроєм і ОЗП. Схематичне зображення ІМС КПДП типу КР580ВТ57 подано на рис. В режимі програмування вони...

Украинкский

2013-08-04

3.8 MB

2 чел.

Лекція № 10

Прямий доступ до памяті (ПДП)

 При роботі з ЕОМ або мікропроцесорними системами часто виникає потреба швидко розмістити в операційній памяті великі масиви даних або швидко перенести їх з памяті до зовнішніх пристроїв. Темп такого обміну даним може бути дуже великим. Так наприклад, при обміні з накопичувачем на магнітних дисках темп, що ним задається, становить порядку кількох байтів за мікросекунду. Високі швидкості обміну задаються також сучасними АЦП, що обробляють дані про швидкоплинні процеси. Так наприклад, паралельний АЦП типу К1107ПВ1 має цикл перетворення тривалістю в 100 нс, а К1107ПВ3А навіть 20 нс.

Шлях обміну даним по ланцюжку “зовнішній пристрій - ППА  мікропроцесор - память” (або в зворотному напрямку) виявляється надто повільним, оскільки акт обміну байтом виконується за кілька машинних циклів, котрі звичайно мають тривалість у кілька мікросекунд. Тому в подібних ситуаціях доцільно використовувати метод прямого доступу до памяті .

Принцип прямого доступу до памяті (ПДП) 

При прямому доступу до памяті керування шинами вилучається спід контролю мікропроцесора і передається спеціальній ІМС, котра і організовує “прямий контакт” зовнішнього пристрою з памяттю, обминаючи мікропроцесор.  На час такого обміну виконання мікропроцесором фонової програми припиняється і він мов-би “завмирає”.

Перехід до режиму ПДП ініціюється сигналом запиту з боку зовнішнього пристрою на “захоплення шин”. Сигнал запиту потрапляє на вхід МП “HOLD“- “Запит на захоплення шин”. У кожному машинному циклі МП перевіряє чи не зявився такий сигнал і якщо він поступив, то по закінченню машинного циклу МП перериває свою роботу, припиняє виконання фонової програми і переводить свої виводи ШД і ША у високоімпедансний стан, відключаючись тим від цих шин. Далі МП виставляє на своєму виході HLDA сигнал високого рівня (“Підтвердження на захоплення шин”), дозволяючи зовнішньому пристрою користуватися шинами для ПДП.

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

Контролер ПДП

Забезпечити роботу в режимі захоплення шин можна за допомогою логічних схем та тригерів (саме так це зроблено, наприклад, у “Мікролабі”), але зручніше скористатися спеціальною ВІС - контролером прямого доступу до памяті (КПДП). У мікропроцесорному комплекті К580 це ІМС типу КР580ВТ57, або у міжнародних позначеннях 8257. Вона здатна керувати прямим доступом до памяті чотирьох зовнішніх пристроїв. Якщо треба більше, то слід скористатися касадуванням. Слід підкреслити, що контролер ПДП лише керує роботою шин - самі передавані дані через нього не проходять, а ідуть прямо по шині даних, до якої підключені тепер безпосередньо як ЗП, так і оперативна память.

Працює КПДП в двох сильно відмінних один від одного режимах: в режимі програмування, коли мікропроцесор “закладає” в нього необхідні інструкції, і в режимі обміну даними між зовнішнім пристроєм і ОЗП. Схематичне зображення ІМС КПДП типу КР580ВТ57 подано на рис.10.1.

Тут  D0 - D7 - входи/виходи даних. В режимі програмування вони використовуються для введення програми роботи КПДП; в режимі обміну даними виводи D0 - D7 служать виходами  для видачі старших бітів  адреси (А15 - А8) комірок памяті ОЗП.  Через виводи А7 - А0  видаються молодші біти адреси шістнадцятирозрядної адреси ОЗП.. В режимі програмування А3 - А0 служать як входи для вибору і програмування  каналів обміну; А7 - А4 відключені.

 - вибір мікросхеми; активізується нулем при програмуванні контролера. Підключається до ША ( до розрядів А7 - А4) через дешифратор. В режимі обміну  відключено.

 та  в режимі програмування вказують на напрямок руху даних ( = 0 - запис програми до КПДП;   = 0 -  читання слова стану з КПДП). В режимі обміну вони вказують зовнішньому пристрою, що той має робити:  = 0 - сприймати дані;  = 0 - видавати дані.

,  - сигнали для керування ОЗП:  = 0 - запис до ОЗП;   = 0 - читання з ОЗП.

 DRQ N ( N від 0 до 3) - вхід для сигналу запиту на захоплення шин, що надходить від N - того зовнішнього пристрою.

 HRQ - сигнал запиту на захоплення шин, що його надсилає КПДП на вхід HOLD мікропроцесора.

HLDA - згода на захоплення шин (надходить від мікропроцесора).

      CLK - вхід для тактових імпульсів (надходить від F2 ).

      RESET - скидання. Після зняття сигналу RESET = 1 контролер готовий для сприймання програмування.

     READY - підтвердження готовності від зовнішнього пристрою або ОЗП.

     N - підтвердження запиту на прямий доступ до памяті, що його надсилає КПДП до N - того зовнішнього пристрою. N = 0 дозволяє N-тому  ЗП здійснювати обмін.

    ADSTB та AEN - службові сигнали; їх зміст ми розглянемо трохи згодом.

         MARС та TC - сигнали що інформують про наближення до кінця обміну та кінець обміну. ( MARK - попередження, що до кінця обміну лишається кількість циклів кратне до 128 10 ).

Табл.10.1.

Призначення виводів КПДП типу КР580ВТ57

    N виводів

Позна-

чення

          В режимі

       програмування

      В режимі обміну

Примітки

21  -  23

26  -  30

D7 - D0

Підключені до ШД  МП.

Сприймають керуючі слова

або виводять слово стану.

Підключені через буферний

регістр до ША. Видають          старший  байт адреси

           А15 - А8.

32  -  35

37  -  40

А3  -  А0

А7  -  А4

Служать для вибору каналів.

Відключені від ША.

Видають молодший байт

    адреси А7  -  А0.

   11

  

= 0 дозволяє програму-

   вання від МП по ШД.

     Підключений через     дешифратор  до А7  -  А4.

     Відключений.

    1

 

 При  = 0 МП читає

         слово стану

По  = 0 відбувається

  читання з зовн. пристрою.

ЗП ОЗП

    4

      Відключений 

По = 0 відбувається

        запис у память

“----------“

     2

 

  При   = 0  КПДП

 сприймає керуюче слово

             віл МП.

По   = 0 відбувається

       запис у память

ОЗП ЗП

     3

 

      Відключений

По =0 відбувається

читання з памяті за адресами  що їх вилає        КПДП

“----------“

 

В режим програмування

КПДП входить після зняття

сигналу RESET=1 і встанов-

        лення = 0

Після програмування КПДП

  знаходиться у холостому

режимі . В режим обміну

входить за сигналом HLDA=1від мікропроцесора.

Режим програмування КПДП

Підготування до програмування КПДП полягає в подачі на вхід RESET сигналу високого рівня тривалістю не менш 0.3 мкс.  Тоді входи , ,

А3 - А0 і  переходять у стан сприймання інформації і контролер настроюється на режим програмування.

При програмуванні мікропроцесор визначає, які з чотирьох каналів  звязку з ЗП діятимуть, і з якими пріоритетами, а також повідомляє контролеру таку інформацію:1

- початкову адресу ОЗП тої області памяті куди записуватимуться дані або з якої вони будуть зчитуватися;

- обєм масиву, що підлягає обміну;

- напрямок обміну (з зовнішнього пристрою в память або навпаки).

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

Для перевірки стану контролера мікропроцесор має змогу запитати слово стану контролера.

Робота в режимі обміну

 Після того як КПДП запрограмований, він перебуває у холостому стані і очікує надходження запиту на захоплення шин. Як тільки такий запит надійде від будь-якого зовнішнього пристрою ( напр. DRQ N = 1, тобто від N - того ЗП), контролер виробляє запит на захоплення шин HRQ і надсилає його до мікропроцесора. Той зупиняє свою роботу і відповідає сигналом згоди HLDA. Контролер пересилає сигнал згоди ( N = 0)  N - тому зовнішньому пристрою, котрий надсилав запит, і той приступає до обміну.

Рис 10.2

Трохи раніше за сигнал   контролер виставляє адресу вказаної в програмі першої комірки памяті. Молодший байт адреси надходить до ОЗП з виходів А7 - А0 звичайним шляхом по шині адреси. Що ж до старшого байту, то він видається з виходів D7 - D0 і потрапляє на ШД. Щоб вивести його на ША використовується буферний регістр - фіксатор (напр. КР580ИР82) . Старший байт адреси надходить по ШД на його інформаційні входи і записується по адресному стробу ADSTB що його виставляє КПДП. Сигналом AEN  записана адреса виводиться на інформаційні виходи регістра - фіксатора і по лініях А15 - А8 подається на ОЗП.2  . Одночасно  сигналом AEN  блокується системний контролер (по його входу ), щоб той не заважав роботі КПДП.

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

 По закінченню обміну байтом лічильник адреси комірки памяті інкрементується, а вміст лічильника кількості актів обміну декрементується, і акт обміну байтом повторюється . Коли вміст лічильника КПДП стає рівним нулю, видається сигнал закінчення обміну ( ТС = 1) і робота КПДП припиняється.

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

Програмування КПДП

Щоб розпочати програмування  слід подати і зняти сигнал RESET = 1 і подати   = 0. Після цього КПДП входить у режим програмування. При програмуванні керуючими словами  має бути надіслана до КПДП така інформація (окремо для кожного каналу):

     - початкова адреса масиву в ОЗП;

- обєм масиву;

- напрямок передачі;

- пріоритети обслуговування каналів ;

    - і ще деяка службова інформація.

Для цього КПДП програмується трьома однобайтовими керуючими словами: словом початкової адреси, словом обєму масиву і словом режиму.

 Початкова адреса масиву являє собою 16 - розрядне число. Воно передається по частинам; спочатку молодший байт, потім старший. Запис адреси масиву відбувається за адресою відповідного каналу КПДП. Старші розряди цієї адреси  А7 - А4 фіксовані ( ними КПДП активізується через дешифратор), молодші задані для відповідного каналу в першій частині табл.10.2. Так наприклад, для каналу з нульовим номером К0  запис адреси масиву проводиться за адресою А3 - А0 = 0000; для  К1    А3 - А0 = 0010.

 Приклад:   Нехай старший напівбайт адреси КПДП  А7 - А4 = 1111. Треба записати в канал К0  початкову адресу масиву 0415Н. Програма матиме такий вигляд:

                        MVI A, 15     -молодший байт адреси масиву

                            OUT F0     - адреса першого керуючого слова К0

                        MVI A, 04     - старший  байт адреси масиву

                          OUT F0   - адреса першого керуючого слова К0

 

 Обєм масиву   може складати до 16 кбайт. Тому його розмір описується 14 - розрядним числом. Два надлишкових старших біти використовуються для визначення напрямку передачі: 01 - в память  з ЗП; 10 - з памяті до ЗП. Одержане 16 - розрядне число також передається по окремих байтах за адресами, які вказані у другій частині табл.10.2.

Слід спеціально відмітити що при запису обєму масиву треба вказувати число на одиницю менше за реальний обєм масиву. Так наприклад,  для запису в ОЗП масиву з пяти чисел слід скласти таку програму:

                                             MVI A, 04   -молодший байт величини обєму

                                             OUT F1    - адреса  другого керуючого слова К0

                                             MVI A, 40   - молодший байт величини обєму

                                             OUT F1    - адреса  другого керуючого слова К0

 Керуюче слово режиму (третє керуюче слово) має таку структуру:

 D0 - D3 - дозвіл на обслуговування запитів на ПДП по каналах. Одиниця у N - тому розряді означає що відповідний N - тий канал задіяно. Якщо ж стоїть нуль, то цей канал не працює, він, як то кажуть, “замаскованний”.

 D4 визначає пріоритет каналів. При D4 = 0 пріоритети фіксовані (К0 має найвищий пріоритет); при D4 = 1 пріоритети циклічно змінюються.

 D5 = 1 визначає що тривалість сигналів та  збільшена для узгодження зі швидкодією зовнішніх пристроїв;

 D6 = 1  забороняє роботу каналу по закінченню обміну;

D7 = 1 визначає режим автозавантаження.

Третє керуюче слово записується за адресою А3 - А0 = 1000; за цією ж адресою можна прочитати слово стану КПДП. Біти А7 - А4 фіксовані (як і у попередніх випадках).

Так наприклад, при роботі тільки по каналах К0 та К1 (інші канали замасковані), з фіксованими пріоритетами, з забороною роботи по закінченню обміну, керуюче слово режиму матиме вигляд 0100 0011 = 43Н.

Отже, програма запису цього слова буде

                                          MVI A, 43

                                          OUT  F8 

 Після запису керуючих слів КПДП переходить у холостий стан і очікує на запит на захоплення шин. Одержавши такий запит він переходить у режим обміну (якщо тільки при попередньому обміні його не було заблоковано бітом D6 = 1 керуючого слова режиму). 

  


 

А также другие работы, которые могут Вас заинтересовать

14952. БІЛІМ ЭВОЛЮЦИЯСЫ 86.5 KB
  І. БІЛІМ ЭВОЛЮЦИЯСЫ 1.1 Ғылым эволюциясы Ғылым адамға өз өмірін сақтап калу үшін қажетті білім негізінде пайда болды. Адам шөптерді қоректену және дәрідәрмек ретінде пайдалануды үйреніп жануарлардың мінезін бақылап оларды қолға үйретті рудамен тәжірибе жасап әр
14953. Ғылыми концепциялар мәселесі 46.5 KB
  Ғылыми концепциялар мәселесі Қазіргі заманның адамы бұл дүниеге келіп о дүниелік болғанына дейін сырттай қарағанда бір бірімен мүлдем байланысы жоқ екі әлемде шынайы табиғи сондай ақ жасанды технопсихоәлеуметтік ортада өмір сүретіндігі белгілі. Бұ...
14954. Дәрілік өсімдіктермен емдеу 53.5 KB
  Дәрілік өсімдіктермен емдеу Автор: Мақсұтбек СҮЛЕЙМЕН Әрі шипалы әрі зиянсыз Қазақстанның оңтүстік шекарасын солтүстіктен бөліп 1800 шақырымға созылып жатқан аймағын орманды даланың жазықтардың шөл және шөлейт жерлердің алып жатқан
14955. Еліміздің экологиялық проблемалары 59.5 KB
  УДК 621.311.24 ЕЛІМІЗДІҢ ЭКОЛОГИЯЛЫҚ ПРОБЛЕМАЛАРЫ Д.Бұхарбаева А.К.Ершина Қазақ мемелекеттік қыздар педагогикалық институты Алматы қ. Экологияның күрт нашарлап кетуі адамдардың табиғатқа антропогендек әсерін болып отыр. Атмосферадағы көмірқышқыл газдардың ко
14956. Қазақстанның климат ерекшеліктері 307.5 KB
  Қазақстан Республикасы климаты Климаты. Кең байтақ Казақстан жерiнде оның геогр. орнына яғни атмосф. ылғалдықтың негiзгi көзi мұхиттардан тым шалғай орналасуына және жер бедерiнiң сипатына байланысты қуаң континенттiк климат қалыптасқан. Басқа кезкел...
14957. Қазақстанның пайдалы қазбалары 50 KB
  География және табиғат журналы №2 Наурыз сәуір 2008 жыл Сабақтың тақырыбы: Қазақстанның пайдалы қазбалары Сабақтың мақсаты: Білімділігі: жер бедерінің дамуы және геологиялық құрылысы мен пайдалы қазбалардың байланысы ой қозғау Дамытушылық: пайдалы қ...
14958. Қазақстанның топырағы, өсімдіктері, жануарлар әлемі 58.5 KB
  Қазақстан Республикасы топырағы өсімдіктері жануарлары Қазақстанда өзге елдерде кездесетiн топырақ түрлерiнiң түгелдей дерлiгi тараған. Мұнда тайга тундра топырағына дейiн бар тек ылғалды субтропик белдемiне тән топырақ қана жоқ. Солтүстік Қазақстандағ...
14959. Қазақстанның физика-географиялық сипаттамасы 219.5 KB
  Қазақстанның физикагеографиялық сипаттамасы. Зерттелу тарихы Інұсқа Қазақстан жерінің аумағы А 2925 мың км2 В 3865 мың км2 С 27249 мың км2 Д 2525 мың км2 Е 3965 мың км2 Қазақстанның дүние жүзі бойынша жер көлемі жөнінен алатын орны А 4 В 9 С 10...
14960. Су қоры - халық байлығы 52 KB
  ӘОКС: 502.3 574 С 23 СУ ҚОРЫ ХАЛЫҚ БАЙЛЫҒЫ Н. Е.Нұрғалиева Е.Қ . Сатаева № 42 ағылшын тілін тереңдете оқытатын орта мектебі Тараз қ. Су жүргізер тіршіліктің тамырын Су жоқ болса тіршілік тамам бауырым Судың біздер біле тұра маңызын Көп болған соң ұмытамыз қад