Предмет:
Тип роботи:
Лабораторна робота
К-сть сторінок:
21
Мова:
Українська
│ DMA1 │
│ │
┌ DRQ0 ───────>┤DRQ0 DACK0 ├────────> ┐
8──┤ DRQ1 ───────>┤DRQ1 DACK1 ├────────> │
розрядні│ DRQ2 ───────>┤DRQ2 DACK2 ├────────> │
канали └ DRQ3 ───────>┤DRQ3 DACK3 ├────────> │
ПДП │ │ │
┌──>┤HLDA HRQ ├─────────┐ │
│ └─────────────┘ │ │
└─────────────────────┐ │ ├──>В системну шину
┌─────────────┐│ │ │
│ DMA2 ││ │ │
│ ││ │ │
┌──>┤DRQ0 DACK0 ├┘ │ │
┌ DRQ5 ────┼──>┤DRQ1 DACK1├──────┼─>│
16- ──┤ DRQ6 ────┼──>┤DRQ2 DACK2 ├──────┼─>│
Розрядні └ DRQ7 ────┼──>┤DRQ3 DACK3 ├──────┼─>┘
канали │ │ │ │
ПДП ┌───┼──>┤HLDA HRQ ├──────┼─>Запит на захват
│ │ └─────────────┘ │ циклу шини
│ └────────────────────────┘
Підтверждення ──┘
на захват циклу шини
Рис. 22.22. Підсистема ПДП у PC AT
Для здійснення прямого доступу до пам'яті контролер повинний виконати ряд послідовних операцій:
–прийняти запит (DREQ) від пристрою вводу-виводу; сформувати запит (HRQ) у процесор на захоплення шини;
–прийняти сигнал (HLDA), що підтверджує захоплення шини; сформувати сигнал (DACK), що повідомляє пристрою про початок обміну даними;
–видати адресу комірки пам'яті, призначеної для обміну; виробити сигнали (MEMR, ІOW чи MEMW, ІOR), що забезпечують керування обміном;
–по закінченні циклу ПДП або повторити цикл ПДП, змінивши адресу, або припинити цикл формування адреси пам'яті
Контролери ПДП забезпечує формування тільки 16 молодших розрядів адреси пам'яті. Причому старша частина адреси (А15-А8 для DMA1 чи А16-А9 для DMA2) під час циклу ПДП по шині даних надходить у регістр старшої адреси ПДП і далі на шину адреси, а молодша частина адреси (А7-А0 для DMA1 чи А8-А1 для DMA2) видається на шину адреси безпосередньо з контролера. Вісім старших розрядів адреси пам'яті містяться в регістрі сторінок ПДП. Розряд А16 з регістра сторінок ПДП забороняється, коли обраний DMA2. Розряд A0 не зв'язаний з DMA2 і завжди містить нуль при передачі слова. Це означає, що розмір блоку даних, що може бути переданий чи адресований, вимірюється не байтами (8 біт), а словами (16 біт); слова завжди повинні бути розташовані на парній границі. Таким чином, контролер ПДП і регістр сторінок визначають 24-розрядні адреси, що забезпечує передачу даних у межах адресного простору 16 М байт. На рис. 22.23 показана підсистема ПДП і розподіл адресних потоків для формування адреси при обміні даними.
SA23-
SA0
┌───────────────────────────┐ ┌─┐
│ DREQ0/3 ┌────┐ HRQ1 │ ┌─────────┐ A23/17 │ │
│ ─────────>┤DMA1├─────────>┘ ┌─────>│ Регістр ╞═══════════════════>│ │
│ HLDA1 │ │STB1 ┌┐ │ │сторінок │ │ │
│ ┌────────>┤ ├─────────>││ │┌────>│ ПДП │A16 ┌───┐ │ │
│ │ │ │ DACK0/3 ││ ││ │