Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка пргр МП.docx
Скачиваний:
11
Добавлен:
01.07.2025
Размер:
16 Мб
Скачать
☆
    1. Организация обмена в режиме прямого доступа

Обмен данными микропроцессора с медленнодействующими ПУ обычно организуется по прерываниям или по программному опросу. Однако при передаче между основной и внешней памятью микро-ЭВМ больших блоков данных (десятки байт и более) производительность процессора в этих режимах является недостаточной.

Скорость передачи данных в режиме программного ввода-вывода ограничивается только процессором. Поэтому для передачи данных между внешними устройствами и ОЗУ разработан специальный метод передачи данных без участия процессора, получившего название прямого доступа к памяти (Direct Memory Access, DMA). Аппаратные средства реализации канала ПДП называются контроллером прямого доступа к памяти (КПДП).

DMA-контроллер содержит несколько регистров, доступных центральному процессору для чтения и записи. Обычно эти регистры задают порт (или канал), который должен быть использован; адрес памяти; направление переноса данных (чтение/запись); единицу переноса (побайтно/пословно); число байтов, которое следует перенести.

Необходимо отметить, что контроллер ПДП используется не только для передачи данных между УВВ и памятью, но и из памяти в память, и из УВВ в УВВ.

В идеальном случае режим ПДП совершенно не должен влиять на действия процессора, но для этого потребуется сложный и дорогой тракт в основную память вычислительной системы. Поэтому в большинстве систем используется временное разделение (мультиплексирование) общей системной шины между процессором и КПДП.

Разработано две разновидности ПДП: режим без пропусков тактов микропроцессора и режим с пропуском тактов микропроцессора.

В первом режиме реализации прямой доступ осуществляется без участия процессора (параллельно микропроцессору). Для этого используются те интервалы машинных циклов, в течение которых микропроцессор не обращается к основной памяти. Процессор (или дополнительная схема) идентифицирует эти интервалы для КПДП специальным сигналом, означающим доступность системной шины. Производительность процессора в этом режиме не уменьшается, но для каждого типа процессора потребуется свой контроллер ПДП. С другой стороны, сами передачи будут носить нерегулярный характер ввиду отсутствия у некоторых команд этих интервалов, что приведет к уменьшению скорости передачи данных в режиме ПДП.

Во втором способе реализации КПДП полностью «захватывает» системную шину на время передачи, при этом процессор отключается от системной шины и переходит в режим холостого хода. Таким образом, передачи ПДП осуществляются путем пропуска тактов процессора в выполняемой программе. При выполнении передач ПДП содержимое внутренних регистров процессора не модифицируются, поэтому его не нужно запоминать в памяти, а затем восстанавливать, как при обработке прерываний. Выполнение программы осуществляется сразу после окончания ПДП. Тем не менее, в условиях интенсивных передач ПДП эффективная производительность процессора уменьшается.

Аппаратная реализация каналов ПДП определятся особенностями ЭВМ и устройств внешней памяти, но можно сформулировать общие принципы работы каналов ПДП.