Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Назначение контроллера прямого доступа к памяти



Программируемый контроллер прямого доступа к памяти (ПДП).

Контроллер ПДП предназначен для обмена данными между устройствами ввода-вывода и ОЗУ без использования ЦП. Это позволяет освободить процессор для выполнения вычислений параллельно с обменом и независимо от него. Наиболее часто возможности ПДП используются при работе с дисковыми накопителями. Ощутимые преимущества дает использование ПДП в процессе обмена с устройствами, принимающими или передающими данные достаточно большими порциями с высокой скоростью. Функции контроллера ПДП выполняет микросхема Intel8537А. Контроллер имеет 4 независимых канала, каждый из которых может обслуживать одно устройство ввода-вывода.

В работе ПДП различают 2 основных цикла:1) Цикл ожидания IDLECycle 2) Активный цикл ActiveCycle

Каждый цикл подразделяется на ряд состояний, каждое занимает один период (тик). Из цикла ожидания контроллер может быть переведен в состояние программирования путем подачи на вход RESET сигнала высокого уровня.

В процессе программирования контроллеры задаются 3 параметра:

1)Начальный адрес памяти для обмена

2)Уменьшенное на 1 число передаваемых байт

3)Направление обмена

Передача данных может осуществляться в одном из 4 режимов:

1)Режим одиночной передачи SingleTransferMode

В этом режиме после каждого цикла передачи контроллер освобождает шину процессору, но сразу же начинает проверку сигналов запроса и, как только обнаруживает активный сигнал запроса, инициирует следующий цикл передач.

2)Режим блочной передачи BlockTransferMode

В этом режиме наличие сигнала запроса требуется только до момента выдачи контроллером подтверждения запроса на ПДП, после чего шина не освобождается вплоть до завершения передачи всего блока.

3)Режим передачи по требованию DemandTransferMode

Данный режим – промежуточный между двумя первыми, то есть передача идет непрерывно до тех пор пока активен сигнал запроса, состояние которого проверяется после каждого цикла передачи. Как только передача не может быть продолжена, сигнал запроса сбрасывается и контроллер приостанавливает работу. Этот режим применяется для обмена с медленными устройствами, не позволяющим своим временным характеристикам работать с ПДП в режиме блочной передачи.

4)Каскадный режим CascadeMode

Позволяет включить в подсистему ПДП более одного контроллера. В этом режиме один из каналов ведущего контроллера используется для каскадирования с контроллером второго уровня.

Типы передач контроллера ПДП

1.Передача Память-Память.

Используется при передаче блока данных из одного места памяти в другое. Исходный адрес определяется в регистрах нулевого канала, выходной – в регистрах первого канала. Число циклов обмена задается в регистре числа циклов первого канала. Передача происходит с использованием рабочего регистра контроллера в качестве промежуточного звена для хранения информации. При передаче Память-Память может быть задан специальный режим фиксации адреса, при котором значение текущего адреса в регистре нулевого канала не меняется, при этом весь выходной блок памяти заполняется одним и тем же элементом данных, находящимся по заданному адресу.

2.Автоинициализация

После завершения обычной передачи, используемый канал ПДП маскируется и должен быть перепрограммирован для дальнейшей работы с ним, при автоинициализации маскировка канала после окончания передач не происходит, а регистры текущего адреса и счетчик циклов автоматически загружаются из соответствующих регистров с начальными значениями. Таким образом, для продолжения обмена достаточно выставить сигнал запроса на ПДП, по данному каналу.

3.Режим с фиксированным приоритетом

В этом режиме канал 0 имеет максимальный приоритет, а канал 3 – минимальный. Это означает, что любая передача по каналу с более высоким приоритетом будет выполняться раньше, чем по каналу с более низким.

4.Циклический сдвиг приоритетов

Позволяет избежать забивания шины одним каналом при одновременной передаче по нескольким каналам. Каждому каналу, по которому прошла передача присваивается низший приоритет, после чего, право на передачу получает канал с наивысшим приоритетом, для которого передача в данный момент возможна.

5.Сжатие времени передачи

В случае, если временные характеристики быстродействия обменивающихся устройств совпадают, ПДП может сократить время выполнения каждого такта передачи на 2 цикла за счет тактов ожидания, входящих в каждый цикл передачи.

Внутренние регистры программируемого контроллера ПДП

Контроллер имеет 344 бита внутренней памяти, организованной в виде регистров. Первые пять регистров имеются в каждом из четырех каналов.

Регистр начального адреса.

В этом регистре задается стартовый адрес ОЗУ, с которого начинается передача. Регистр содержит 16 разрядов и определяет адрес внутри заданной страницы памяти размером 64Кб.

Регистр начального счетчика циклов.

В этом регистре задается начальное число циклов передачи для программируемого канала. Фактическое число передаваемых во время работы ПДП элементов данных на 1 превышает заданное число циклов.

Регистр текущего адреса.

Начальное значение заносится в этот регистр одновременно с регистром начального адреса, в дальнейшем, в ходе передачи, значение текущего адреса автоматически увеличивается или уменьшается. Если разрешенаавтоинициализация, то после окончания передачи в регистр автоматически устанавливается значение из регистра начального адреса.

Регистр текущего счетчика циклов.

Регистр содержит число оставшихся циклов передач, отображаемое в нем число циклов всегда на 1 меньше числа еще не переданных элементов данных, так изменение значений регистра происходит после фактической передачи элемента данных. Конец передачи фиксируется в момент переполнения счетчика, то есть смены состояния с 0h на FFFFh.

Регистр режима.

Данный регистр задает режимы работы своего канала контроллера.

Следующий набор регистров является общим для всех каналов:

Регистр команд.

8-битный регистр, управляющий работой контроллера.

Регистр состояния.

Отражает текущее состояние запросов и передач по всем четырем каналам. Биты с 0 по 3 устанавливаются в единицу, после завершения передачи по соответствующим каналам. Эти биты очищаются после команды сброса контроллера и после каждой операции считывания состояния из регистра состояния. Биты с 4 по 7 указывают по какому из каналов активен в текущий момент сигнал запроса на ПДП.

Регистр масок.

Каждый бит этого 4-битного регистра маскирует и демаскирует свой канал ПДП, при этом значение 1 маскирует канал, значение 0 – демаскирует и соответственно разрешает прием сигнала запроса по данному каналу.

Регистр запросов.

Сигнал запроса на ПДП может быть издан как обслуживающим устройством, так и программно. Для программного издания запроса по одному из 4-х каналов ПДП, необходимо установить соответствующий бит в 4-разрядном регистре запросов, запрос на ПДП может быть отменен записью нулевого значения в соответствующий бит регистра. Бит запроса очищается автоматически при окончании передачи по данному каналу. Для того, чтобы воспринимать программные запросы на ПДП, канал должен находиться в режиме блоковой передачи.

Рабочий регистр.

Этот 8-разрядный регистр используется для хранения элемента данных, передаваемого в режиме фиксированного адреса при передаче из памяти в памяти или для временного хранения передаваемого байта при всех остальных режимах передачи.





Дата публикования: 2015-01-24; Прочитано: 1629 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...