Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Прямой доступ к памяти (Direct Memory Access, DMA) позволяет выполнять пересылку данных между регистрами устройств и памятью, минуя центральный процессор. Для устройств, использующих DMA, различают два типа доступа.
♦ Пассивный доступ, он же Slave DMA, — устройство пользуется общим контроллером DMA, расположенным на системной плате.
464 Глава 12. Архитектурные компоненты IBM PC-совместимого компьютера
♦ Активный доступ, он же Bus Master DMA, — устройство само является ведущим на своей шине и способно генерировать обращение к памяти (как правило, системной). Реализация активного DMA зависит от типа шины расширения, к которой подключается устройство (см. главу 6). Примером устройств с активным DMA являются контроллеры АТА, расположенные на современных системных платах.
Процессор при обмене по DMA занят только инициализацией контроллера, которая сводится к записи в его регистры нескольких байт, задающих начальный адрес и размер пересылаемого блока памяти, направление и режим обмена. В самом обмене данных занят только контроллер DMA, память, к которой он обращается, и связующие их шины. Во время операций DMA процессор может продолжать работу, если выбранный режим обмена не занимает всей пропускной способности шин, используемых процессором в данный момент (шины памяти, шины PCI, через которые подключается ISA в современных компьютерах). Контроллер DMA можно считать простейшим сопроцессором ввода-вывода, разгружающим центральный процессор от рутинных операций обмена.
Обмен по DMA не всегда дает выигрыш в скорости обмена, в ряде случаев быстрее работает программированный ввод-вывод (РЮ). Однако РЮ занимает процессор полностью, а во время DMA процессор может заниматься полезной работой. Поскольку для инициализации контроллера DMA требуется выполнение ряда инструкций ввода-вывода, передача коротких блоков по каналу DMA нецелесообразна. Пассивный DMA реализуется стандартизованным контроллером, который первоначально был ориентирован на шину ISA. Для интерфейса ПУ каждый канал DMA представляется парой сигналов: запрос обмена — DRQx и подтверждение обмена — DACKx*. В PC/AT доступны 7 каналов DMA — четыре 8-битных (номера 0-3) и три 16-битных (5-7), — подключенные к первичному и вторичному контроллерам соответственно. Канал 4 используется для каскадирования (соединения контроллеров). В PC/XT были только три 8-битных канала, канал 0 использовался для регенерации памяти. Контроллеры DMA программно совместимы с системами i8237, применяемыми в первых моделях PC/XT и AT. Стандартные каналы и адреса регистров приведены в табл. 12.3.
Таблица 12.3. Стандартные каналы прямого доступа к памяти
Номер канала DMA* | О1 1 | 42 5 6 | |||
Стандартное XT | MRFR - | FDD | HDD | Отсутствуют | |
назначение дт | - | FDD | - | Каскад - | - |
Разрядность, байт | 1 • | 2 с четного адреса | |||
Макс, размер блока | 64Кбайта | 128 Кбайт, четный | |||
Граница блока | Кратна 10OOh | Кратна 2000h | |||
Регистр страниц | 8битА16-А23 | 7битА17-А23 | |||
Адреса регистров: | |||||
— страниц | 087 083 | 08F 08В 089 | |||
— адреса | 000 002 | ОСО ОС4 ОС8 | осе | ||
— счетчика | 001 003 | ОС2 ОС6 ОСА | ОСЕ |
' Канал 0 в XT использовался для регенерации памяти (MRFR). 2 Канал 4 доступен только в PS/2 МСА.
12.4. Прямой доступ к памяти — DMA ________________________ ;__________________ 465
16-битные каналы DMA 5-7 могут быть использованы интеллектуальными устройствами для прямого управления шиной ISA (bus mastering), при этом контроллер DMA фактически лишь играет роль арбитра шины.
Устройства, использующие стандартные каналы DMA, могут располагаться лишь в слотах ISA/EISA или на системной плате (контроллер НГМД, LPT-порт в режиме ECP wjm Fast Centonics, аудиокодек). Если эти устройства системной платы используют каналы DMA, то данные каналы становятся недоступными для абонентов шины ISA.
На время переходного периода, связанного с «изживанием» шины ISA, потребовалась возможность эмуляции каналов DMA для устройств шины PCI. Существует два механизма эмуляции каналов DMA: PC/PCI и DDMA. Механизм PC/PCI (см. п. 6.2.7) был разработан фирмой Intel для обеспечения возможности использования слотов ISA блокнотными ПК, подключаемыми к док-станции по шине PCI. Альтернативное решение — механизм DDMA (Distributed DMA — распределенный DMA) позволяет «расчленить» стандартный контроллер и отдельные его каналы эмулировать средствами карт PCI. Оба этих механизма реализуемы только как часть моста между первичной шиной PCI и шиной ISA, поэтому их поддержка может обеспечиваться (или не обеспечиваться) только на системной плате и разрешаться в CMOS Setup.
Дата публикования: 2015-07-22; Прочитано: 376 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!