Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь 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; просмотров: 428; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.139.87.113 (0.01 с.) |