Методика запуска обмена данными по каналу ПДП.
Программная модель КПДП.
Программная модель КПДП включает: блок управления контроллером, 4 канала обмена данными в режиме ПДП, буферный регистр временного хранения данных при передаче память-память. Блок управления контроллером содержит два 8-разрядных и два 4-разрядных регистра.
Регистр состояния КПДП:
Бит 6 РС КПДП показывает состояние завершения обмена: 1/0, завершен/выполняется.
Регистр управления КПДП определяет основные параметры работы контроллера, тип цикла ПДП по отношению к ОЗУ, режим обмена данными, разрешение ПДП.
Бит 7 – 1/0, разрешение/запрет ПДП.
Бит 4 – 1/0, блочный/одиночный обмен.
Бит 2 – Тип цикла ПДП: 1/0, запись в ОЗУ/чтение из ОЗУ.
Регистр адреса используется для указания адреса текущей ячейки памяти, с которой выполняется обмен. До начала обмена заносится начальный адрес ОЗУ.
Регистр счетчика используется для управления длиной массива данных, передаваемого по каналу ПДП.
В каждом цикле обмена содержимое регистра счетчика декрементируется на 1, а содержимое регистра адреса инкрементируется на 1. Когда содержимое регистра счетчика достигает конечного значения (-1), на линии EOP устанавливается активный уровень сигнала, сбрасывается бит “начать обмен”, и в регистре состояния устанавливается бит “обмен завершен”. Активный уровень может устанавливаться не только КПДП, но и интерфейсом ВУ, он завершает обмен данными. Процедура завершения проверяет содержимое регистров КПДП и ВУ и предпринимает действия: обмен завершен, обнаружение ошибок.
У КПДП есть 2 режима обмена данными:
1. КПДП – ведомое устройство, доступен процессору.
2. Выполнение операций ПДП – КПДП ведущий, недоступен процессору.
В программном режиме работы процессора необходимо:
1. Проверить состояние внешнего устройства (флаг готовности должен быть 1);
2. Записать управляющую информацию в регистры интерфейса ВУ и КПДП:
- РУ интерфейсом, тип цикла ПДП по отношению к ВУ;
- РУ КПДП, тип цикла ПДП по отношению к ОЗУ;
- РА, начальный адрес ОЗУ;
- РСч, количество байт для обмена.
14.3 Реализация ПДП в ЭВМ на основе единого магистрального канала.
В ЭВМ на основе магистрального канала имеется несколько линий (Запрос Шины, Разрешение Шины).
Рис. 14.4 Схема реализации ПДП на основе единого магистрального канала.
Устройство получает сигнал “Разрешение Шины” и захватывает магистраль, начиная цикл обмена данными, по завершении обмена следует по приоритету. В ЭВМ имеются 4 линии ЗШ, РШ: ЗШ3 – РШ3, ЗШ2 – РШ2, ЗШ1 – РШ1, ЗШ0 – РШ0, где самый высокий приоритет ЗШ3 – РШ3.
КПДП может работать в одном из трех режимов:
1. Фиксированные приоритеты;
2. Циклически изменяемый приоритет;
3. Обслуживание ЗШ с единственной пары линий.
14.4 Реализация ПДП в ЭВМ на основе изолированного магистрального канала.
В качестве контроллера используется Intel 8237A, егоосновные характеристики:
1. Число каналов ПДП – 4;
DREQ0 – DACK0
...
DREQ3 – DACK 3
2. Число КПДП в ЭВМ – 2;
КПДП1 передает 8-разрядные данные, КПДП2 передает 16-разрядные данные.
3. Максимальное число циклов ПДП без программирования – 65538, 64К цикла.
4. Максимальная скорость обмена – 1.6 Мбайт/с.
Режимы работы:
1. Режим фиксированных приоритетов.
Максимальный приоритет устанавливается за линией DREQ0 – DACK0.
2. Режим циклических приоритетов.
После обслуживания канала ему присваивается самый низкий приоритет.
3. Режим память-память.
Рис. 14.5 Схема подключения КПДП к системной шине и ВУ.
DB7-DB0 – выводы данных в режиме ПДП.
A15-A8 – старшие разряды адреса, необходимо защелкнуть (защелка 8282); A0-A3 – адресные входы-выходы, в режиме ПДП A0-A3 используются, как выходы; A7-A4 – адресные выходы, в режиме ПДП на эти линии устанавливаются соответствующие адреса ОЗУ.
При работе с памятью в режиме ПДП контроллер должен использовать 24-адресные ОЗУ, старшие биты надо программировать до начала передачи ПДП.
- Chip Select, выбор кристалла, в программном режиме используется для определения базового адреса КПДП в области адресов ВУ. Базовый адрес КПДП1=0, КПДП2=C0h.
, - чтение/запись, в программном режиме не используются. В режиме ПДП используются как выходы и определяют направление передачи данных по отношению к ОЗУ.
, - вывод/ввод по отношению к ВУ.
AEN - Address Enable, показывает, что на ШД установлен адрес.
ADSTB – строб адреса, записывает данные с ШД в регистр защелки.
HRQ – запрос шины.
HLDA – разрешение шины.
CLK – вход импульсов синхронизации, МГц.
RESET – сброс, переводит контроллер в исходное состояние и маскирует все запросы от ВУ.
READY – готовность, вход в режиме ПДП задерживает цикл, если устройство не готово.
EOP – окончание обмена. Активный уровень сигнала завершает обмен данными.
DREQ0-DREQ3 – входы запросов прерываний от ВУ.
DACK0-DACK3 – входы сигналов подтверждения ПДП.
14.5 Назначение каналов контроллера ПДП и адреса регистров страниц.