Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура ЭВМ_старый 24_06.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.54 Mб
Скачать

6.4. Устройства прямого доступа к памяти.

Принципиально возможны три способа организации процесса ввода-вывода:

  • ввод/вывод с опросом;

  • ввод/вывод по прерываниям;

  • ввод/вывод с прямым доступом к оперативной памяти.

Первые два способа загружают процессор медленными операциями ввода/вывода. Поэтому они непригодны для ввода/вывода больших объёмов информации в высокопроизводительных вычислительных системах.

Для организации ввода/вывода без загрузки центрального процессора медленными операциями необходимо обеспечить внешним (периферийным) устройствам прямой доступ к памяти без участия процессора. Эту задачу решает контроллер прямого доступа к памяти (ПДП). Схема организации ввода/вывода с прямым доступом к памяти показана на рис. 6.7.

Рис. 6.7. Организация ввода/вывода с прямым доступом к памяти с общей шиной

Перед осуществлением операции ввода/вывода с прямым доступом к памяти контроллер процессор должен сообщить контроллеру ПДП следующую информацию:

  • вид запроса (чтение или запись);

  • адрес устройства ввода/вывода;

  • адрес начальной ячейки блока памяти, являющейся источником/приём­ником данных;

  • количество слов данных, подлежащих вводу/выводу.

Вид запроса и адрес устройства ввода/вывода пересылаются в логику управления. Размер блока данных в словах пересылается в счетчик данных, адрес начальной ячейки памяти, являющейся источником/приёмником данных – в регистр адреса. Процесс записи перечисленных данных в контроллер ПДП называется инициализацией контроллера. Процесс ввода и вывода данных с ПДП показан на рис. 6.8. Инициатором процесса ввода/вывода может быть как процессор, так и периферийное устройство.

t

ША

ЧТЗУ

ЗПЗУ

ШД

ВЫВ

ВВ

ПУ

ОП

Адрес ОП из РА

Адрес ПУ из ЛУ

Адрес ОП из РА

t

t

t

t

из ОП

из ПУ

t

t

t

С ШД

С ШД

t

t1

t2

t3

t4

t5

t6

t7

t8

t9

Рис. 6.8. Временная диаграмма процессов ввода/вывода с ПДП (ОП – основная память, РА – регистр адреса, ПУ – периферийное устройство, ЛУ – логика управления, ЧТЗУ, ЗПЗУ, ВЫВ, ВВ – сигналы управления согласно рис. 6.7)

При выводе данных в момент t1 контроллер выставляет адрес ячейки памяти на шину адреса. В момент времени t2 формируется сигнал ЧТЗУ (чтение запоминающего устройства), и на шине данных появляются данные из памяти. В момент t3 формируется сигнал ВЫВ (вывод) и периферийное устройство (ПУ) читает данные с шины данных в течение интервала времени t3 – t4.

При вводе данных в момент t5 контроллер выставляет адрес периферийного устройства из логики управления и в момент времени t6 формирует сигнал ВВ (ввод). На шине данных появляются данные из периферийного устройства. В момент времени t7 на шину адреса выставляется адрес ячейки памяти. В момент времени t8 формируется сигнал ЗПЗУ (запись в запоминающее устройство), и основная память (ОП) читает данные с шины данных в течение интервала времени t8 – t9.

Прямой доступ к памяти может осуществляться в одном из трёх режимов:

  • режим блочной пересылки, предусматривающий полный захват контроллером ПДП системной шины на всё время пересылки блока данных;

  • режим с пропуском цикла, предусматривающий предоставление системной шины процессору после каждой операции со словом данных;

  • прозрачный режим, предусматривающий захват системной шины контроллером ПДП только в те циклы, когда с ней не работает процессор.

Следует иметь в виду, что контроллер ПДП может вмешаться в процесс выполнения текущей команды только в определённые моменты цикла выполнения команды.

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