- •2013 Оглавление
- •Режимы обмена информации
- •Режим программного ввода/вывода
- •Режим ввода/вывода по прерываниям
- •Режим с квитированием
- •Режим с прямым доступом к памяти
- •Порты ввода-вывода
- •Протоколы портов ввода-вывода Параллельный ввод-вывод
- •Последовательный ввод-вывод
- •Microwire
- •Периферийные устройства
- •Классификация пу
- •Устройства связи с пользователем
- •Устройства памяти
- •Устройства связи с объектом управления (усо)
- •Контроллеры прерываний
- •Контроллер прямого доступа к памяти
Контроллер прямого доступа к памяти
Организация контроллера ПДП.
В современной МПС как правило присутствует несколько устройств ввода–вывода, для каждого такого устройства в составе контроллера ПДП организуется канал, в который входят перечисленные выше регистры (рисунок выше).
Регистр управления предназначен для хранения и выдачи на шину сигналов, которые управляют и информируют устройства, задействованные в обмене. Эти сигналы указывают устройствам о направлении передачи: ввод или вывод, между какими устройствами, так как котроллер способен управлять и передачами типа память–память, о непрерывности режима ПДП или с перерывами передачи, собственно разрешении режима ПДП, приоритетах каналов.
Регистр состояния служит для указания состояния контроллера ПДП, а именно: счётчиков каналов и наличия или отсутствия запросов ПДП.
В регистр адреса при инициализации контроллера передаётся начальный или конечный адрес массива памяти в который помещаются данные, а в регистр–счётчик байт число передаваемых байт. После каждого переданного байта счётчик уменьшает первоначальное значение числа передаваемых байт на «1» или на «2», если передаются слова. Таким образом, контролируется процесс передачи данных между памятью и устройствами ввода–вывода, при достижении в счётчике байт «нуля» режим работы ПДП завершается, контроллер ПДП возвращает управление шиной процессору. А затем, в зависимости от ситуации, устройства либо снова начинают процесс инициализации режима ПДП, либо управление осуществляет МП.
Работа контроллера ПДП происходит в такой последовательности:
принять запрос от устройства ввода-вывода;
сформировать запрос в МП на захват шины;
принять сигнал от МП, подтверждающий захват шины;
формировать сигнал, сообщающий устройству о начале обмена данными;
выдать адрес ячейки памяти, предназначенной для обмена;
выработать сигналы, обеспечивающие управление обменом;
по окончании цикла либо повторить, изменив адрес, либо прекратить цикл.