Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Разделы 7-8.docx
Скачиваний:
8
Добавлен:
25.04.2019
Размер:
58.68 Кб
Скачать
    1. Режим прямого доступа в память.

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

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

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

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

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

За исходную точку обычно принимается память, поэтому под чтением понимают считывание данных из ОЗУ и выдачу их на устройство вывода, а под записью — прием данных из устройства ввода и запись в ОЗУ.

Адрес начальной ячейки записывается в регистр адреса (РА) контроллера. После передачи каждого слова содержимое РА автоматически увеличивается на единицу, то есть в нем формируется адрес следующей ячейки ОЗУ.

Размер блока в словах заносится в счетчик данных (СД) контроллера. После передачи каждого слова содержимое СД автоматически уменьшается на единицу. Нулевое состояние СД свидетельствует о том, что пересылка блока данных завершена.

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

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

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

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

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