Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
R_ VIII.doc
Скачиваний:
17
Добавлен:
12.11.2019
Размер:
3.67 Mб
Скачать

8.4 Передача даних в системах

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

Таким чином, передача даних може здійснюватися під керуванням:

• спеціальної програми;

• спеціальних технічних засобів, що входять до складу інтерфейсу функціонального блоку.

8.4.1. Програмна передача даних

Програмна передача даних – передача даних здійснюється під керуванням спеціальної програми. Відомі три способи її виконання:

Безумовна або пряма передача (для синхронних периферійних пристроїв).

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

Умовна передача

Виконується у 2 етапи і дозволяє синхронізувати роботу ФБ (відносно повільного) зі швидкодіючим ЦМ.

1 етап: перевірка готовності функціонального блоку до обміну.

2 етап: виконання обміну.

Обмін здійснюється за ініціативою ЦМ, він виставляє на шину адресу ФБ, який буде брати участь в обміні. ЦМ чекає до тих пір, поки цей ФБ буде готовим до обміну (рис 8.11.а). Також можливий такий варіант, коли процесор не чекає готовності пристрою, а періодично перевіряє чи готовий він передати/прийняти дані. (рис 8.11.б). Для підтвердження готовності до інтерфейсу ФБ вводиться спеціальний пристрій, який носить назву тригер прапору.

Рисунок 8.11

Передача даних по перериванню

За допомогою передачі даних по перериванню ІВС може реалізувати завдання збору даних (вищий пріоритет для завдань, які вирішує система) та обробки і відображення результатів. На відміну від умовної передачі даних, у цьому випадку передача здійснюється за ініціативою функціонального блоку. Коли ФБ готовий, він подає сигнал ЦМ "запит на переривання". Процесор, якщо ЦМ дозволено такий режим, завершує поточну команду і переходить до виконання прийому/передачі даних. В кінці кожного циклу роботи процесором центрального модуля перевіряється стан його входу переривання. Якщо на ньому відсутній активний сигнал, то наступний цикл ЦМ віддається для продовження обробки, коли ж присутній активний сигнал, то виконання програми знову відкладається, і відбувається обробка переривань з урахуванням пріоритетності. Для того, щоб запам’ятати адресу у пам’яті процесора, за якою була перервана програма обробки, та змісту обчислювального пристрою на цьому етапі, можуть бути використані стекові регістри. При завершенні обробки по перериванню, зміст стекових регістрів переписується у основні регістри процесора і, так звана, «фонова програма» починає виконуватися з того місця, де вона була перервана. Для зменшення втрат часу на операції, пов’язані з записом і зчитуванням із стекових регістрів, при можливості краще використовувати тіньовий набір регістрів, який виконує функції основних регістрів процесорів під час обробки переривання. В цьому випадку зміст основних регістрів не змінюється, і процесор, зразу же після завершення обробки переривання, переходить до виконання фонової програми.

Апаратна передача даних (прямий доступ до пам'яті)

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

  • лічильник (частіше реверсивний), який має свою адресу;

  • регістр адреси пам'яті, який також має свою адресу.

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

• Відкриває схему співпадання, що входить до складу інтерфейсу, на вхід якої підключено вихід регістра адреси пам’яті, дозволяючи тим самим здійснювати запис даних у відкриту за вказаною адресою комірку.

• Зменшує вміст лічильника на -1 (веде поточний підрахунок слів обміну)

• Збільшує на +1 вміст регістру адреси пам'яті, тим самим формуючи адресу наступної комірки масиву пам'яті, відведеного для обміну.

Вихід лічильника підключений до схеми співпадання, на другий вхід якої подається 0, а вихід цієї схеми пов'язаний зі входом переривання ЦМ. Таким чином, коли обмін необхідною кількістю слів виконаний на вході лічильника з'являється 0, схема співпадання відкривається і на вхід переривання процесора надходить сигнал, який фіксує закінчення обміну по КПДП.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]