Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив1 / doc92 / Абалов.doc
Скачиваний:
35
Добавлен:
03.08.2013
Размер:
397.31 Кб
Скачать
  1. Прямой доступ к памяти (пдп)

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

ПДП управляет контроллер ПДП (КПДП), который выполняет следующие функции:

  • управление инициируемой процессором или ПУ передачей данных между основной памятью и ПУ;

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

  • формирование адресов ячеек основной памяти, участвующих в передаче;

  • подсчет числа единиц данных (байт, слов), передаваемых от ПУ в основную память и обратно, и определение момента завершения заданной операции ввода/вывода.

Эти функции реализуются контроллером ПДП с помощью буферного регистра данных, регистра-счетчика текущего адреса данных (РА) и текущего счетчика данных (СД).

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

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

  • адрес устройства ввода/вывода (УВВ);

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

  • количество передаваемых слов.

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

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

Инициатором обмена может быть ЦП или ПУ. Устройство, желающее начать ввод/вывод, должно известить об этом контроллер подачей соответствующего сигнала. Получив такой сигнал, контроллер ПДП выдает в ЦП сигнал «Запрос ПДП». В ответ ЦП освобождает шины ABиDBи те линииCB, по которым передаются сигналы, управляющие операциями наABиDB. Далее ЦП отвечает котроллеру сигналом «Подтверждение ПДП», которое означает, что контроллер ПДП может начинать пересылку данных. Контроллер ПДП имеет более высокий приоритет в занятии цикла памяти по сравнению с процессором. Управление памятью переходит к контроллеру ПДП, как только завершится цикл ее работы, выполняемый для текущей команды процессора.

Может использоваться несколько подходов к захвату шины:

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

  • В режиме пропуска цикла, контролер освобождает шину на один цикл после передачи каждого слова, это позволяет более эффективно работать процессору, но требует более сложной логики управления.

Рисунок 6 – Обобщенная структурная схема КПДП

Соседние файлы в папке doc92