
- •Архітектура пеом
- •1. Інтервальний таймер і8253/і8254 на платі івм рс: принцип будови та функціонування
- •2.Програмування інтервального таймера на рівні портів
- •3.!Читання конcтант перерахунку каналів інтервального таймера і8253/і8254
- •4.! Читання байту стану каналів 0-2 інтервального таймера: спосіб 1, 2.
- •5.! Системний час в івм рс: таймер bios (таймер ос).
- •6.Засоби bios та ос для роботи з таймером bios.
- •7.Реальний час в івм рс: годинник реального часу (rtc)
- •8.Функціональна схема годинника реального часу та порти доступу (rtc) на платі ibm pc.
- •9. Керуючі та регістри стану годинника реального часу (rtc).
- •10.Сигнальне переривання від годинника реального часу (rtc).
- •11. Періодичне переривання від годинника реального часу (rtc).
- •12.Програмування годинника реального часу (rtc).
- •13.Апаратна реалізація порту послідовної передачі даних на платі ibm pc, принцип побудови уапп.
- •14. Порти асинхронного адаптера та їх призначення
- •16. Контролер прямого доступу до пам’яті (dma). Призначення і основні функції
- •17.! Регістри каналів контролера прямого доступу до пам’яті (dma).
- •18.!Алгоритм ініціалізації контролера прямого доступу до пам’яті (dma).
- •19.! Реалізація прямого доступу до пам’яті (пдп) в івм рс ат
- •20.! Контролер переривань на платі івм рс (і8259): принцип будови та функціонування
- •21.Загальна схема переривань в івм рс ат
- •22.Види переривань: апаратні та програмні переривання
- •23.Особливості обробки апаратних переривань, пріоритети обслуговування запитів на переривання та їх зміна.
- •24. Суть і призначення векторів переривань. Таблиця векторів переривань та зміна її елементів.
- •25.! Порти доступу до контролера переривань на платі івм рс
- •27.Керування пам`яттю. Сегментація пам`яті.
- •28.Дескрипторні таблиці. Селектори сегментів.
- •29.Сторінкова організація пам`яті, сторінкове перетворення адреси.
- •30.Алгоритм сегмента сторінкової адресації.
14. Порти асинхронного адаптера та їх призначення
На етапі ініціалізації системи модуль POST BIOS тестує наявні асинхронні адаптери і ініціалізує перші два. Їх базові адреси розташовуються в області даних BIOS починаючи з адреси 0000:0400 h.
Перший адаптер COM1 має базовий адресу 3F8h і займає діапазон адрес від 3F8h до 3FFh. Другий адаптер COM2 має базовий адресу 2F8h і займає адреси 2F8h ... 2FFh.
Асинхронні адаптери можуть виробляти переривання:
COM1 - IRQ4 (відповідає INT 0Ch)
COM2 - IRQ3 (відповідає INT 0Bh)
Розглянемо призначення окремих бітів цих портів.
Порт 3F8h.
Цей порт відповідає регістру переданих даних. Для передачі в порт 3F8h необхідно записати передається байт даних. Після прийому даних від зовнішнього пристрою вони можуть бути прочитані з цього порту.
Залежно від стану старшого біта керуючого слова, виведеного в керуючий регістр з адресою 3FBh, призначення порту 3F8h може змінюватися. Якщо цей біт дорівнює 0, порт використовується для запису даних, що передаються. Якщо ж біт дорівнює 1, порт використовується для виведення значення молодшого байта дільника частоти тактового генератора. Змінюючи вміст дільника, можна змінювати швидкість передачі даних. Старший байт дільника записується в порт 3F9h.
Порт 3F9h.
Порт використовується або як регістр управління переривань від асинхронного адаптера або (після виведення в порт 3F9h байти з встановленим в 1 старшим бітом) для виведення значення старшого байта дільника частоти тактового генератора.
Порт 3FAh.
Регістр ідентифікації переривання. Зчитуючи його вміст, програма може визначити причину переривання.
Порт 3FBh.
Керуючий регістр, доступний по запису та читання.
Порт 3FCh.
Регістр управління модемом. Управляє станом вихідних ліній DTR, RTS, ліній, специфічних для модемів OUT1 і OUT2, для запуску діагностики з'єднаних разом замкнутих вході і виході асинхронного адаптера.
Порт 3FDh.
Регістр стану лінії
Порт 3FEh.
Регістр стану модему
15.??????
16. Контролер прямого доступу до пам’яті (dma). Призначення і основні функції
Прями́й до́ступ до па́м'яті ( англ. Direct Memory Access, DMA) - режим обміну даними між пристроями або ж між пристроєм і основною пам'яттю (RAM) без участі центрального процесора (ЦП). У результаті швидкість передачі збільшується, так як дані не пересилаються в ЦП і назад.
Крім того, дані пересилаються відразу пачками слів, адреси яких розташовані поспіль, що дозволяє використання т. зв. «Пакетного» (burst) режиму роботи шини : 1 цикл адреси та наступні за ним численні цикли даних.
Аналогічна оптимізація роботи ЦП з пам'яттю вкрай утруднена.
В оригінальній архітектурі IBM PC (шина ISA) був можливий лише за наявності апаратного DMA-контролера (мікросхема з індексом Intel 8237).
DMA-контролер може отримувати доступ до системної шини незалежно від центрального процесора. Контролер містить кілька регістрів, доступних центральному процесору для читання і запису. Регістри контролера задають порт (який повинен бути використаний), напрям перенесення даних (читання / запис), одиницю переносу (побайтно / послівно), число байтів, яке слід перенести.
ЦП програмує контролер DMA, встановлюючи його регістри. Потім процесор дає команду пристрою (наприклад, диску) прочитати дані у внутрішній буфер. DMA-контролер починає роботу, посилаючи пристрою запит читання (при цьому пристрій навіть не знає, чи прийшов запит від процесора або від контролера DMA). Адреса пам'яті вже знаходиться на адресній шині, так що пристрій знає, куди слід переслати наступне слово зі свого внутрішнього буфера. Коли запис закінчено, пристрій посилає сигнал підтвердження контролеру DMA. Потім контролер збільшує використовувану адресу пам'яті і зменшує значення свого лічильника байтів. Після чого запит читання повторюється, поки значення лічильника не стане дорівнювати нулю. По завершенні циклу копіювання пристрій ініціює переривання процесора, що означає завершення перенесення даних.
Контролер може бути багатоканальним, здатним паралельно виконувати кілька операцій
Контролер прямого доступу до пам'яті
Контролер прямого доступу до пам'яті має більш складну структуру в порівнянні з контролером переривань. Що пов'язано з його більш складними функціями. На час прямого доступу до пам'яті контролер ПДП стає задатчиком (активним пристроєм) системної шини, виставляючи всі основні сигнали на шини самостійно. Проте всі режими роботи контролера ПДП, всі його параметри встановлюються процесором на етапі ініціалізації контролера. Зокрема, процесор визначає тип розв'язуваної задачі, задає початкову адресу масиву даних, який передається або приймається, а також розмір цього масиву.
У персональному комп'ютері застосовується два чотирьохканальних контролера ПДП типу i8237, що забезпечують 7 каналів ПДП (один канал задіяний під каскадування контролерів за тим же принципом, що і контролери переривань). Крім власне контролерів ПДП в підсистему ПДП входять також програмно доступні регістр старшого байту адреси і регістри сторінок ПДП.
Отримавши сигнал запиту ПДП по одній з ліній DRQ, Контролер формує запит процесору на захоплення шини і, отримавши дозвіл від процесора, повідомляє про надання ПДП запит прямо доступ пристрою по відповідній лінії DACK. Після цього проводиться цикл ПДП. Пересилати дані з пристрою вводу/виводу в пам'ять або навпаки. При цьому сам контролер ПДП формує тільки 16 молодших розрядів адреси пам'яті, а вісім старших розрядів містяться в реєстрі сторінок. Свій власний регістр сторінок відповідає кожному з каналів ПДП.