Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Контроллеры прямого доступа к памятиСодержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте Прямой доступ к памяти (ПДП) - создание прямого тракта передач данных от внешних устройств к памяти или от памяти к внешним устройствам. В английской терминологии это DMA - Direct Memory Access. При обычном обмене передачи между ВУ и памятью требуют вначале принять данные от источника в процессор, а затем выдать их из процессора приемнику, т.е. реализуются за два командных цикла. При ПДП данные не проходят через процессор, и передача слова производится за один цикл. Для реализации ПДП разработаны специальные аппаратные средства, выпускаются БИС КПДП, способные благодаря программированию обслуживать ПДП с учетом конкретных требований различных систем. Взаимодействие блоков микропроцессорной системы при ПДП показано на рисунке 48. Микропроцессор выполняет операцию программирования КПДП, настраивая его на определенный режим работы, и может читать состояние контроллера. Соответствующие связи показаны штриховой линией. При осуществлении ПДП микропроцессор отключен, а контроллер вырабатывает сигналы управления обменом для ВУ и ОЗУ. Тракт передачи данных связывает ВУ с ОЗУ непосредственно. Возможны два вида ПДП - с блочными или одиночными передачами.
Рисунок 48 - Схема взаимодействия блоков микропроцессорной системы при прямом доступе к памяти
В первом работа процессора останавливается на все время передачи блока данных, во втором передачи слов в режиме ПДП перемежаются с выполнением программы, и для передач ПДП выделяются отдельные такты машинных циклов, в которых процессор не использует системные шины. Каждый командный цикл начинается с машинного цикла Ml - выборки команды. В этом машинном цикле есть такт декодирования принятой процессором команды, в котором системные шины не используются. На это время системные шины можно отдать для ПДП и передать одно слово. Производительность системы может возрасти из-за параллелизма процессов обмена и обработки данных, благодаря тому, что ПДП будет для процессора "невидимым". Сам обмен с ПДП будет не быстрым, темп обмена нерегулярен, т.к. длительности циклов различных команд различны, и, кроме того, ПДП может и замедлить выполнение программы, если цикл ПДП не уложится в интервал, соответствующий такту процессора. При непрерывной передаче массива данных скорость обмена ограничивается длительностью циклов ЗУ, быстродействием самого контроллера и скоростью выдачи/приема данных внешним устройством. В отличие от процессов прерывания при ПДП, обмен выполняется без участия программы, поэтому содержимое рабочих регистров МП не нарушается и на вхождение в режим ПДП не требуется затрат времени (нет передачи в стек на хранение содержимого рабочих регистров МП). ПДП предоставляется по завершении текущего машинного цикла. Структура и функции КПДП. Примером КПДП может служить БИС Intel 8237A (К580ВТ57), основные блоки которой показаны на рисунке 49.
Рисунок 49 - Структура контроллера прямого доступа к памяти
Действия, выполняемые КПДП при блочных передачах, состоят в следующем: - прием сведений об области памяти, отведенной для блока данных, подлежащих передаче (начальный адрес и размер блока); - трансляция запроса на ПДП, исходящего от ВУ, в запрос ПДП для процессора с учетом маскирования и приоритетности запросов, поступающих на КПДП. Прием сигнала подтверждения ПДП, свидетельствующего о том, что процессор отключился от системных шин; - генерация адресов для ЗУ и сигналов управления для ЗУ и ВУ; - фиксация завершенности ПДП; - снятие запроса ПДП с соответствующего входа процессора и возвращение управления основной программе. Возможности КПДП позволяют организовать обмен типа "память-память", т.е. решать задачу перемещения блока данных в адресном пространстве системы. КПДП 8237А работает на частоте 3МГц, его модификации 8237А-4 и 8237А-5 на частотах 4 и 5МГц соответственно. Контроллер имеет 4 независимых канала и возможность каскадирования схем до любого числа каналов. В каждом из каналов контроллера размещено по пять регистров, а именно: два регистра адреса (базовый РCiб и текущий PCiт, где i - номер канала), два регистра счета слов (базовый РCiб и текущий PCiт) и регистр режима PPi. Адресные регистры и регистры счета слов шестнадцатиразрядные, следовательно, начальный адрес блока данных может располагаться в любом месте адресного пространства емкостью 64К, а максимальный размер блока также составляет 64Кбайт. При программировании в оба адресных регистра загружается одно и то же значение адреса, а в оба регистра счета слов - одно и то же значение размера блока. При ПДП меняются состояния текущих регистров адреса и счета слов. Оба они работают в режиме счетчиков и при передаче очередного слова регистр адреса инкрементируется или декрементируется (в зависимости от программирования контроллера), а регистр счета слов декрементируется. Когда регистр-счетчик PCiт дойдет до нулевого состояния (перейдет от состояния 0000Н к состоянию FFFFH), выработается сигнал конца счета (т.е. в качестве начального значения в PCiт следует загружать число, на единицу меньшее размера блока). Этим заканчивается режим блочного обмена с ПДП. Базовые регистры адреса и счета слов позволяют реализовать режим автоинициализации канала. В них начальные адреса и размеры блоков сохраняются неизменными и, если в конце ПДП вновь загрузить текущие регистры теми же кодами, то можно вновь повторить вывод того же блока данных, что и в предыдущем ПДП. Такой режим нужен, например, при управлении дисплеем, который для поддержания на экране какого-либо изображения нуждается в повторении блока данных с частотой в несколько десятков герц.
|
||
|
Последнее изменение этой страницы: 2016-04-19; просмотров: 497; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.108 (0.008 с.) |