ОСНОВНІ СПОСОБИ ОБМІНУ ДАНИМИ

Між мікропроцесором і зовнішнім пристроєм (ВУ) відбувається обмін корисною інформацією у вигляді слів даних (Data Word - DW) і службовою інформацією у вигляді керуючих слів (Control Word - CW) і слів стану (Status Word - SW). Службова інформація може займати значний обсяг, тому в загальному випадку для обміну його відводиться ряд портів введення-виведення (ВВ), що утворюють простір доступу до ВУ. Введення і виведення завжди розглядаються по відношенню до мікропроцесора. Обмін інформацією між мікропроцесором і ВУ здійснюється за певними правилами. Сукупність правил, які називаються протоколом обмет, є основою для складання драйвера ВУ. Драйвер являє собою набір підпрограм, що обслуговують обмін ВУ з мікропроцесором.

Існує три способи обміну даними: програмно-керований обмін, обмін з перериванням програми і обмін по каналу прямого доступу до пам'яті. Розглянемо в загальних рисах особливості кожного з них.

Програмно-керований обмін даними

Цей обмін ініціюється і виконується мікропроцесором за допомогою:

  • • спеціальних команд введення-виведення, при цьому в форматі команди повинні міститися код виконуваної операції і номер (адреса) обраного порту ВУ;
  • • команд звернення до ОЗУ, при цьому кожен порт ВУ розглядається як адреса, відмінний від адрес інших осередків пам'яті.

З точки зору використання допоміжних сигналів розрізняють:

  • прямий, або безумовний, обмін (введення-виведення), при якому для активізації обміну не потрібно ніяких умов і допоміжних сигналів. Такий обмін можливий тільки з пристроями, які завжди готові до обміну. Він є складовою частиною більш складних способів (протоколів) обміну.
  • умовний обмін, при якому активізація обміну можлива при виконанні умови готовності до обміну ВУ.

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

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

Таким чином, умовний введення-виведення застосовується для обміну з низькошвидкісними ВУ і супроводжується сигналом готовності (ГтВУ), що генерується ВУ. Сигнал ГтВУ вводиться в мікропроцесор в складі слова стану і інформує його про готовність ВУ до обміну. Після завершення операції обміну сигнал ГтВУ повинен бути знятий і виставлений перед новою операцією. Для цього мікропроцесор інформує ВУ про закінчення операції за допомогою сигналу підтвердження (ПтМп). На рис. 5.15 наведені діаграми умовного ВВ за допомогою контролера обміну. В цьому випадку можуть бути також використані сигнали ГтМп або контролера і сигналу ПтВУ.

При введенні (рис. 5.15, а) процеси протікають в наступній послідовності:

  • • якщо сигнал ПтМп = 0, то зовнішній пристрій виставляє на шині ВУ (ШВУ) нові дані і сигнал ГтВУ = 1;
  • • так як ГтВУ = 1, мікропроцесор дає команду на введення даних і дані по ШД надходять в акумулятор;
  • • мікропроцесор через контролер виставляє сигнал підтвердження ПтМп = 1, сповіщаючи ВУ про те, що дані введені;
  • • при ПтМп = 1 зовнішній пристрій знімає сигнал ГтВУ = 0;
  • • при ГтВУ = 0 мікропроцесор знімає сигнал ПтМп = 0.

Умовний введення (а) і висновок (б)

Мал. 5.15. Умовний введення (а) і висновок (б)

При виведенні даних (рис. 5.16, б) процеси протікають в наступній послідовності:

  • • якщо сигнал ГтМп = О, ВУ здійснює скидання сигналу ПтВУ = 0, після чого мікропроцесор виставляє на ШД нові дані;
  • • при сигналі підтвердження ПтВУ = 0 мікропроцесор встановлює сигнал ГтМп = 1;
  • • дані по ШВУ вводяться у ВУ;
  • • при ГтМп = 1 ВУ знімає сигнал ПтВУ = 0;
  • • при ПтВУ = 1 мікропроцесор знімає раніше встановлений сигнал ГтМп = 0.

Розглянутий протокол обміну називається квитированием.

Можливі два види умовного обміну: з заняттям циклу і суміщеного. При обміні з заняттям циклу (рис. 5.16, а) в разі неготовності ВУ мікропроцесор переходить в режимі очікування; при суміщеному обміні (рис. 5.16 , 6) після опитування ВУ мікропроцесор повертається до виконання основної програми.

За способом кодування розрізняють обмін даними в паралельному і послідовному кодах. Необхідність передачі даних в послідовному коді обумовлена двома факторами:

• наявністю ВУ (наприклад, клавіатура, дисплей, телетайп), принцип роботи яких базується на використанні послідовного коду;

Обмін із заняттям циклу (а) і суміщений обмін (б)

Мал. 5.16. Обмін із заняттям циклу (а) і суміщений обмін (б)

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

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

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

 
< Попер   ЗМІСТ   Наст >