Программируемый контроллер прямого доступа к памяти КР580 ВТ57.
Механизм прямого доступа к памяти (Direct Memory Acces, DMA) широко используется в современных микропроцессорных системах. Он позволяет организовать двунаправленную передачу больших массивов данных между памятью и внешними устройствами. Как известно, в микропроцессорной системе передача данных от внешнего устройства в память осуществляется в следующем порядке:
1. Микропроцессор по команде IN вводит данные из внешнего устройства
2. Микропроцессор по команде MOV передает эти данные в память.
Если необходимо передать большой объем информации, то микропроцессор будет тратить огромное время на передачу массивов данных. Контроллер прямого доступа к памяти позволяет организовать передачу больших объемов информации без использования микропроцессора. Для этого, контроллер прямого доступа к памяти «захватывает» на некоторое время управление всеми шинами микро ЭВМ. Микропроцессор в этот момент отключается от шин.
Рисунок 4.23. Организация прямого доступа к памяти в микроЭВМ.
Программируемый контроллер прямого доступа к памяти КР580ВТ57 предназначен для управления обменом данными между ВУ и основной памятью микроЭВМ в режиме прямого доступа к памяти (ПДП). Контроллер управляет процессом предоставления прямого доступа к памяти, формирует в процессе обмена последовательность адресов ячеек памяти и сигналы управления обменом.
Рисунок 4.24. Структурная схема программируемого контроллера прерывания.
Назначение выводов контроллера ПДП
I/OR – строб чтения (RD)
I/OW – строб записи (WR)
CLK – вход сигнала синхронизации
RESET – сброс
A3 – 0 – младшие разряды шины адреса
CS – сигнал-выборка (переводит микросхему в активное состояние)
A7 – 4 – старшие разряды шины адреса (используются для формирования адреса при обмене)
READY – сигнал готовности памяти ОЗУ и ПЗУ к обмену
HOLD – запрос прямого доступа к памяти
HLDA – подтверждение прямого доступа к памяти (микропроцессор отключился от управления шинами и передает управление шинами ПКПДП)
MEMR – чтение из памяти
MEMW – запись в память
AEN – разрешение адреса (разрешает выдачу старшего байта адреса на шину адреса)
ADSTB – строб адреса
TC – окончание счета (показывает последний цикл прямого доступа к памяти)
MARK – сигнал-маркер (выдает синхроимпульс на каждом 128 цикле передач)
DRQ – запрос прямого доступа от внешнего устройства
DACK – разрешение прямого доступа.
В БИС КР580ВТ57 реализованы четыре независимых канала ПДПК0, ..., К3. Управление работой каждого канала ПДП осуществляется с помощью двух 16-разрядных регистров: регистра начального адреса и регистра управления. В регистр начального адреса при программировании БИС заносится начальный адрес передаваемого массива данных. В 14 младших разрядах регистра управления размещается счетчик, в который заносится число на единицу меньше длинны передаваемого массива данных, т. е. размер массива не может превышать 16 Кбайт. 15-й и 14-й разряды регистра управления определяют тип операции обмена:
00 - контроль;
01 - запись в память;
10 - чтение из памяти;
11 - запрещенное состояние.
Связь контроллера с системным интерфейсом микроЭВМ осуществляется по шине данных D7...D0 через двунаправленный буфер шины данных. Запись информации в регистры начального адреса и управления каналов контроллера производится програмным путем. Адресуются внутренние регистры контроллера по линиям А3...А0.
Помимо указанных регистров в состав контроллера входят: регистр режима, определяющий общие функции контроллера, в т. ч. и приоритеты каналов ПДП; регистр состояния, отображающий состояние окончания счета (сигнал ТС), т. е. окончание передачи массива данных по соответствующим каналам ПДП.
Приоритеты входных запросов на предоставление прямого доступа устанавливаются программно записью информации в регистр приказов: либо фиксированные (DRQ0 - высший, DRQ3 - низший), либо циклические, т. е. последнему обслуженному запросу присваивается низший приоритет, а приоритеты остальных запросов изменяются в круговой последовательности.
Для формирования 16-ти разрядного адреса ячейки памяти на шине адреса системного интерфейса контроллеру прямого доступа требуется внешний 8-разрядный регистр. В этот регистр в начале цикла ПДП контроллер с использованием строба ADSTB по шине данных D7...D0 записывает восемь старших разрядов адреса А15...А8. Выходы внешнего регистра подключаются к линиям А15...А8 шины адреса системного интерфейса микро ЭВМ.
Помимо указанных регистров в состав контроллера входит регистр приоритетов PR с возможностью задания фиксированного и циклического приоритета.
Порядок работы контроллера.
При появлении запроса на линиях DRQ0-DRQ3 контроллер вырабатывает сигнал запроса прямого доступа к памяти HOLD у процессора. Если прямой доступ возможен, то микропроцессор выдает сигнал подтверждения прямого доступа (или захвата шин). По этому сигналу управление передается контроллеру прямого доступа к памяти, который вырабатывает синхроимпульсы шины управления и шины адреса, осуществляя обмен. После передачи всей информации контроллер прямого доступа к памяти вырабатывает сигнал TC для окончания счета. Этот сигнал подключается к контроллеру прерывания и микропроцессор выходит из режима захвата.
Дата добавления: 2021-09-07; просмотров: 408;