Контроллер прямого доступа в память (КПДП) (DMA) ИК 57
Режим 2
Ввод и вывод информации идет по каналу А. Канал А назначаем на режим 2, канал В – на режим 0, т.к. не хватит управляющих линий. Сигнал ГТВ находят по схеме ИЛИ, поэтому ТГТ1 и ТГТ2 не могут находиться оба в состоянии «1», но могут в «0» Переключая триггеры, меняем направление передачи информации программным путем – ввод или вывод информации. |
БШД– буфер шины данных – для обмена информацией между МП и КПДП.
РР – регистр режима, ЗПДП и ППДП – запрос и подтверждение прямого доступа в память
А– младший байт адреса памяти. Старший байт вводится через ШД и БШД
ЧтВ – чтение ввода-вывода. Входной сигнал служит для чтения внутренних регистров, исходящий – для чтения внешнего устройства, ЗпВ– запись ввода-вывода. Входной сигнал служит для записи при инициализации, исходящий для записи во внешнее устройство.
СБР – системный сброс. Приводит в исходное состояние все регистры (0). Требуется повторная инициализация. f2- системная частота
А4¸7 – старшая тетрада ША. ЧТП – чтение памяти. ЗПП – запись в память.
ГТ– готовность. Сигнал для работы с медленно действующими устройствами.
ЗхВ – захват. Показывает МП, что внешнее устройство запросило прямой доступ в память. ПЗхВ – подтверждение захвата. МП отключается от внешних магистралей. Предоставляет ПДП
РА – разрешение адреса. Перевод в высокое состояние или наоборот двунаправленных шинных формирователей. Стрб А – строб адреса – запись старшего адреса в буферный регистр.
КБ – конец блока. При возникновении сигнала высокого уровня, показывает, что блок закончен.
Mark– маркер. Каждые 128 байт обрамляются маркером для контроля.
Устройство позволяет обмениваться информацией по 4-м каналам от 0 до 64 кбайт между памятью и внешними устройствами, выполняемого по инициативе внешнего устройства. КПДП генерирует управляющие сигналы, необходимые для организации обмена.
2 типа работы:
Установленный тип приоритетов – наивысший приоритет у 0-го канала, наименьший у 7-го. Перемещаемый тип приоритетов – определенный канал становится в конец очереди, очередь перемещается.
КПДП позволяет работать с 4-мя независимыми каналами. Информация не передается – это управляющий контроллер.
Режим автозагрузки – один блок может передаваться, пока не придет запрос на прерывние. Этот режим разрешен по 2-му каналу (при инициализации) по 3-му каналу происходит копирование исходных данных. Это достигается путем копирования 3-го канала во 2-й.
Каждый канал представляет собой 2 регистра – регистр адреса и счета
К 0 | А15 | РА | А0 | |
РСч | ||||
РР |
К 1 | А15 | РА | А0 | |
РСч | ||||
РР |
К 2 | А15 | РА | А0 | |
РСч | ||||
РР |
К 3 | А15 | РА | А0 | |
РСч | ||||
РР |
РР |
РСС |
РА – регистр адреса. Заносится начальный адрес той области памяти, с которой будет работать внешнее устройство
РСч– регистр счета показывает размер, который позволяет передавать каждый из каналов 214 » 16 к N-1 (N–размер блока). РСч – декрементируется, РА – инкрементируется
РР – регистр режима
РСС – регистр слова состояния
РР принимает значения:
- контроль DMA (считывание слова состояния) | ||
- запись информации в ОЗУ из внешнего устройства | ||
- чтение информации из ОЗУ во внешнее устройство | ||
- запрещенное состояние |
Адресация регистров для каждого своя. Для реализации младшего байта адреса существует внутренний триггер.
Управляющее слово (УС) заносится в РР.
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |
АЗ | ОКБ | ДЗ | ЦП | РК2 | РК2 | РК1 | РК0 | РР |
РК– разрешение канала. 0 – откл., 1 – вкл.
ЦП – циклический приоритет 0 – установленный, 1 – циклический.
ДЗ – длинная запись. Сигналы записи во внешнее устройство и в память, если «1» - удлиняются в 2 раза. Можно избавиться от такта ожидания. Внешнее устройство и МП работают быстрее, т.к. нет запросов.
ОКБ – отключение по концу блока, если выставлена «1»
АЗ– автозагрузка, если выставлена «1»
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |
Х | Х | Х | ПМ | КБ3 | КБ2 | КБ1 | КБ0 | РСС |
КБ – конец блока данных, если выставлена «1» - канал свою работу закончил
ПМ– признак модификации. При автозагрузке при копировании исходных данных из 3 канала во 2-й выставляется 1