Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Прямой доступ к памяти — DMA. Прямой доступ к памяти (Direct Memory Access, DMA) позволяет выполнять пере­сылку данных между регистрами устройств и памятью






Прямой доступ к памяти (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.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.