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

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

  • принять запрос (DREQ) от устройства ввода-вывода;
  • сформировать запрос (HRQ) в процессор на захват шины;
  • принять сигнал (HLDA), подтверждающий захват шины;
  • сформировать сигнал (DACK), сообщающий устройству о начале обмена данными;
  • выдать адрес ячейки памяти, предназначенной для обмена;
  • выработать сигналы (MEMR, IOW или MEMW, IOR), обеспечивающие управление обменом;
  • по окончании цикла DMA либо повторить цикл DMA, изменив адрес, либо прекратить цикл.

Подробнее:

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

  1. Устройство, желающее начать В/ВЫВ, извещает об этом контроллер подачей соответствующего сигнала.
  2. Получив такой сигнал, КПДП выдает в ЦП сигнал “Запрос ПДП”.
  3. В ответ ЦП освобождает шины адреса и данных, а также те линии шины управления, по которым передаются сигналы, управляющие операциями на шине адреса (ША) и шине данных (ШД).
  4. Далее ЦП отвечает контроллеру сигналом «Подтверждение ПДП», который для последнего означает, что ему делегированы права на управление системной шиной и можно приступать к пересылке данных.
  5. Процесс пересылки каждого слова блока состоит из двух этапов.
    1. При выполнении операции чтения (ОП -> ВУ) на первом этапе КПДП выставляет на шину адреса содержимое РА (адрес текущей ячейки ОП) и формирует сигнал ЧтЗУ. Считанное из ячейки ОП слово помещается на шину данных. На втором этапе КПДП выставляет на Ш А адрес устройства вывода и формирует сигнал Выв, который обеспечивает передачу слова с шины данных в ВУ.
    2. При выполнении операции записи (ВУ -> ОП) КПДП сначалавыдает на шину данных адрес устройства ввода и формирует сигнал Вв, по которому введенные данные поступают на шину данных. На втором этапе КПДП помещает на ША адрес ячейки ОП, куда должны быть занесены данные, и выдает сигнал ЗпЗУ. Этим сигналом информация с ШД записывается в ячейку ОП.
    3. Как при чтении, так и при записи происходит буферизацияпересылаемого слова в регистре данных (РД) контроллера. Это необходимо для компенсации различий в скорости работы ОП и ВУ, в силу чего сигналы Выв и Вв формируются контроллером лишь при получении от ВУ подтверждения о готовности. Буферизация сводится к тому, что после первого этапа слово с ШД заносится в РД, а перед вторым — возвращается,из РД на шину данных.
  1. После пересылки каждого слова логика управления прибавляет единицу к содержимому РА (формирует адрес следующей ячейки ОП) и уменьшает на единицу содержимое СД (ведет подсчет переданных слов).
  2. Когда пересылка завершена (при нулевом значении в СД), КПДП снимает сигнал «Запрос ПДП», в ответ на что ЦП снимает сигнал «Подтверждение ПДП» и вновь берет на себя управление системной шиной, то есть ЦП вовлечен в процесс ввода/вывода только в начале и конце передачи.








Дата добавления: 2016-06-13; просмотров: 1430;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.