Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Ввід-вивід із прямим доступом до пам'яті




Ввід-вивід з керуванням по перериваннях.

Програмований ввід-вивід з активним чеканням.

Тема: Команди вводу-виводу

Лабораторна робота №10

Жодна інша група команд не розрізняється настільки сильно в різних машинах, як команди вводу-виводу. В сучасних персональних комп'ютерах використовуються три різні схеми вводу-виводу:

Ми розглянемо кожну з цих схем по черзі.

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

Як приклад даного методу розглянемо термінал з чотирма 1-байтними регістрами, як показано на мал. 7.1. Два регістри використовуються для вводу: регістр стану пристрою і регістр даних. Два регістри використовуються для виводу: теж регістр стану пристрою і регістр даних. Кожний з них має унікальну адресу. Якщо використовується ввід-вивід з розподілом пам'яті, усі 4 регістри є частиною адресного простору, і будуть зчитуватися і записуватися за допомогою звичайних команд. У противному випадку для читання і запису регістрів використовуються спеціальні команди вводу-виводу, наприклад IN і OUT. В обох випадках ввід-вивід здійснюється шляхом передачі даних та інформації про стан пристрою між центральним процесором і цими регістрами.

Регістр стану клавіатури містить 2 біти, що використовуються, і 6 бітів, що не використовуються. Апаратне забезпечення встановлює самий лівий біт на 1 усякий раз, коли з'являється символ. Якщо програмне забезпечення раніше установило на 1 біт 6, то відбувається переривання. У противному випадку переривання не відбувається. При програмованому вводі-виводі для одержання вхідних даних центральний процесор звичайно знаходиться в циклі, періодично зчитуючи регістр стану клавіатури, поки біт 7 не прийме значення 1. Коли це відбувається, програмне забезпечення зчитує буферний регістр клавіатури, щоб одержати символ. Зчитування регістра даних викликає установку біта CHARACTER AVAILABLE (наявності символу) на 0.

Вивід здійснюється подібним чином. Щоб написати символ на екрані, програмне забезпечення спочатку зчитує регістр стану дисплея, щоб довідатися, чи встановлений біт READY (біт готовності) на 1. Якщо він не встановлений, програмне забезпечення проходить цикл знову і знову доти, поки даний біт не прийме значення 1. Це значить, що пристрій готовий прийняти символ. Як тільки термінал приходить у стан готовності, програмне забезпечення записує символ у буферний регістр дисплея, що переносить символ на екран і дає сигнал пристрою установити біт готовності в регістрі стану дисплея на 0. Коли символ уже відображений, а термінал готовий до обробки наступного символу, біт READY знову встановлюється на 1 контролером.

Як приклад програмованого вводу-виводу розглянемо процедуру, написану на Java (листінг 7.1). Ця процедура викликається з двома параметрами: масивом символів, який потрібно вивести, і кількістю символів, що присутні в масиві (до 1 ДО). Тіло процедури являє собою цикл, що виводить по одному символу. Спочатку центральний процесор повинен почекати, поки пристрій буде готов, і тільки після цього він виводить символ, і ця послідовність дій повторюється для кожного символу. Процедури in і out - це звичайні процедури мови асемблера для читання і запису регістрів пристроїв, що визначаються по першому параметру, з АБО в перемінну, котра визначається по другому параметру. Розподіл на 128 забирає молодші 7 бітів, при цьому біт READY залишається в біті 0.




Поделиться с друзьями:


Дата добавления: 2015-04-24; Просмотров: 551; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.