22979

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

Лекция

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

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

Украинкский

2013-08-04

3.8 MB

1 чел.

Лекція № 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 керуючого слова режиму). 

  


 

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

6751. Жизненный (клеточный) цикл 26.07 KB
  Жизненный (клеточный) цикл Весь период существования клетки от её возникновения до деления или гибели называется жизненным, или клеточным циклом. Вновь появившаяся клетка первоначально растет и дифференцируется, затем она выполняет свои специфически...
6752. Деление клетки 24.88 KB
  Деление клетки. В настоящее время известно три типа деления эукариотических клеток: амитоз, митоз и мейоз. Амитоз - прямое деление. При этом клетка, а иногда – только её ядро, делится путём простой перетяжки. Равномерного распределения нас...
6753. Основы цитогенетики. Строение и типы метафазных хромосом человека 26.99 KB
  Основы цитогенетики. Строение и типы метафазных хромосом человека. Многие ученые в разных странах мира изучали хромосомы клеточного ядра. Однако только в 1955 году Тио и Леван установили, что в большинстве клеток у человека присутствует 46 хромосом....
6754. Понятие о кариотипе человека 27.61 KB
  Понятие о кариотипе человека. Число, размеры и форма хромосом являются специфическими признаками для каждого вида живых организмов. Так, в клетках рака-отшельника содержится по 254 хромосомы, а у комара - только 6. Соматические клетки человека ...
6755. Гетерохроматин и эухроматин. Митоз и мейоз 30.76 KB
  Гетерохроматин и эухроматин В 1928 году при исследовании хроматина биологом Хейтцем было обнаружено, что некоторые участки хромосом сохраняют свою спирализациюи интенсивное окрашивание и в интерфазных клетках. Он предложил назвать эти участки ...
6756. Гаметогенез у человека 27.78 KB
  Гаметогенез у человека Процесс образования половых клеток называется гаметогенез. Он происходит в половых органах - гонадах. Гаметогенез имеет определенные особенности, зависящие от пола организма, в котором происходит мейоз. Формирование мужск...
6757. Биохимические основы наследственности человека 30.86 KB
  Биохимические основы наследственностичеловека Химические основы наследственности. Несмотря на то, что ДНК была известна с 1869 г. и наличие её в хромосомах было хорошо доказано, эту молекулу считали слишком простой для передачи наследственной ...
6758. Закономерности наследование признаков человека 33.83 KB
  Закономерности наследование признаков человека Основные закономерности наследования признаков в поколениях были открыты чешским исследователем Г. Менделем, опубликовавшим в 1866 году Опыты над растительными гибридами. Статья не привлекла внимания ...
6759. Взаимодействие генов. Изменчивость 38.64 KB
  Взаимодействие генов. Изменчивость Взаимодействие генов. Признаки появляются в результате взаимодействия генотипа с окружающей средой. Различают взаимодействие аллельных и неаллельных генов. Взаимодействие аллельных генов. Полное доминирование...