Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
evm.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.43 Mб
Скачать

11. Прямой доступ к памяти. Вывод информации. Аппаратное и программное обеспечение.

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

Если ЦП желает прочитать или записать блок данных, он прежде всего должен поместить в КПДП информацию, характеризующую предстоящее действие. Этот процесс называется инициализацией КПДП и включает в себя занесение в контроллер следующих четырех параметров:

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

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

  • адреса начальной ячейки блока памяти, откуда будет извлекаться или куда будет вводиться информация;

  • количества слов, подлежащих чтению или записи.

Общий алгоритм ПДП.

Для осуществления прямого доступа к памяти контроллер должен выполнить ряд последовательных операций:

  • принять запрос (DREQ) от устройства ввода-вывода;

  • сформировать запрос (HRQ) в процессор на захват шины;

  • принять сигнал (HLDA), подтверждающий захват шины;

  • сформировать сигнал (DACK), сообщающий устройству о начале обмена данными;

  • выдать адрес ячейки памяти, предназначенной для обмена;

  • выработать сигналы (MEMR, IOW или MEMW, IOR), обеспечивающие управление обменом;

  • по окончании цикла DMA либо повторить цикл DMA, изменив адрес, либо прекратить цикл.

Подробнее:

После инициализации процесс пересылки информации может быть начат в любой момент. Инициаторами обмена вправе выступать как ЦП, так и ВУ.

  1. Устройство, желающее начать В/ВЫВ, извещает об этом контроллер подачей соответствующего сигнала.

  2. Получив такой сигнал, КПДП выдает в ЦП сигнал “Запрос ПДП”.

  3. В ответ ЦП освобождает шины адреса и данных, а также те линии шины управления, по которым передаются сигналы, управляющие операциями на шине адреса (ША) и шине данных (ШД).

  4. Далее ЦП отвечает контроллеру сигналом «Подтверждение ПДП», который для последнего означает, что ему делегированы права на управление системной шиной и можно приступать к пересылке данных.

  5. Процесс пересылки каждого слова блока состоит из двух этапов.

    1. При выполнении операции чтения (ОП -> ВУ) на первом этапе КПДП выставляет на шину адреса содержимое РА (адрес текущей ячейки ОП) и формирует сигнал ЧтЗУ. Считанное из ячейки ОП слово помещается на шину данных. На втором этапе КПДП выставляет на Ш А адрес устройства вывода и формирует сигнал Выв, который обеспечивает передачу слова с шины данных в ВУ.

    2. При выполнении операции записи (ВУ -> ОП) КПДП сначала выдает на шину данных адрес устройства ввода и формирует сигнал Вв, по которому введенные данные поступают на шину данных. На втором этапе КПДП помещает на ША адрес ячейки ОП, куда должны быть занесены данные, и выдает сигнал ЗпЗУ. Этим сигналом информация с ШД записывается в ячейку ОП.

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

  1. После пересылки каждого слова логика управления прибавляет единицу к содержимому РА (формирует адрес следующей ячейки ОП) и уменьшает на единицу содержимое СД (ведет подсчет переданных слов).

  2. Когда пересылка завершена (при нулевом значении в СД), КПДП снимает сигнал «Запрос ПДП», в ответ на что ЦП снимает сигнал «Подтверждение ПДП» и вновь берет на себя управление системной шиной, то есть ЦП вовлечен в процесс ввода/вывода только в начале и конце передачи.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]