русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Тема 4.3 Прямой доступ к памяти


Дата добавления: 2015-08-06; просмотров: 1144; Нарушение авторских прав


 

Прямой доступ к памяти ПДП (по английской терминологии DMA – Direct Memory Access) – это создание прямого тракта передачи данных от внешних устройств ВУ к памяти или от памяти к ВУ. При обычном обмене требуется в начале данные принять от источника в процессор, а затем выдать их из процессора приёмнику, что выполняется за два командных цикла. При ПДП данные не проходят через микропроцессор, и передача их осуществляется за один цикл. ПДП особенно удобен при передаче данных в высоком темпе, например, при обмене между внешней памятью и ОЗУ. В режиме ПДП процессор отключается от системных шин и передаёт управлении ими контроллеру прямого доступа к памяти. КПДП выпускаются в виде БИС.

Взаимодействие блоков МПС показано на рисунке 4.3.1.

 

Рисунок 4.3.1 – Схема взаимодействия блоков МПС при ПДП

 

МП программирует КПДП, настраивая его на определённый режим работы и может читать его состояние. Соответствующие связи показаны штриховой линией. При ПДП МП отключен, а КПДП вырабатывает сигналы управления обменом для ОЗУ и внешними устройствами ВУ. ОЗУ и ВУ связаны непосредственно.

При ПДП обмен осуществляется без участия программы и на вхождение в режим ПДП, не требуется дополнительных затрат времени, таких как при прерываниях (передачи в стек на хранение содержимого рабочих регистров МП). Содержимое рабочих регистров МП при этом не нарушается, ПДП предоставляется по завершении текущего машинного цикла.

Возможны два вида прямого доступа к памяти.

При ПДП с блочными передачами работа МП на всё время передачи блока дан-ных останавливается. При этом скорость обмена ограничивается длительностью ИК-лов ЗУ, быстродействием КПДП и скоростью приёма/выдачи данных ВУ.

КПДП при блочных передачах выполняет следующие действия:

-принимает начальный адрес памяти для размещения блока данных и его размер;



-транслирует запрос, исходящий от ВУ на ПДП, в запрос КПДП для МП с учётом маскирования и приоритетности запросов, поступающих на КПДП;

-принимает сигнал подтверждения ПДП, то есть сигнала о том, что МП отключился системных шин;

-вырабатывает сигналы управления для ЗУ и ВУ и адреса для ЗУ;

-фиксирует завершение ПДП;

-снимает запрос с соответствующего входа МП.

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

При ПДП с одиночными передачами передача данных перемежается выполнением

программы, а для передач ПДП выделяются отдельные такты машинных циклов,

в которых в процессор не использует системные шины СШ. Каждый командный

цикл начинается с машинного цикла М1 – выборки команды. В этом машинном цикле есть такт декодирования принятой в МП команды, в котором СШ не используются. На это время СШ можно отдать для ПДП и передать одно слово.

Производительность МПС может возрасти в следствие параллелизма процессов обмена и обработки данных. Обмен не будет быстрым, темп обмена не будет регулярным, а ПДП может и замедлить выполнение программы, если цикл ПДП не уложится в тактовый интервал процессора.

Структурная схема ИС КПДП К580ВТ57 приведена на рисунке 4.3.2

 

Рисунок 4.3.2 – Структурная схема ИС контроллера ПДП К580ВТ57

 

КПДП работает на частоте 3 МГц, имеет четыре независимых канала и возможность каскадирования схем до любого числа каналов.

В каждом из каналов КПДП размещено по пять регистров: два регистра адреса (базовый Раiб и текущий Раiт, где I – номер канала), два регистра счёта слов (базовый Рсiб и текущий Рсiт) и регистр режима Ррi. Адресные регистры и регистры счёта слов – 16-разрядные, следовательно начальный адрес блока данных может располагаться в любом месте адресного пространства 64 К, а максимальный размер блока может составлять 64 Кбайт.

При программировании в оба адресных регистра загружается одно и то же значение адреса, а в оба регистра счёта слов – одно и то же значение размера блока.

При ПДП регистры Раiт и Рсiт работают в режиме счётчиков, их состояния меняются и при передаче очередного слова содержимое регистра адреса уменьшается или увеличивается на 1 (в зависимости от программирования КПДП), содержимое реги-2

стра счёта слов уменьшается на 1. Когда регистр-счётчик слов обнулится, вырабатывается сигнал конца счёта и режим блочного обмена закончится.

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

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



<== предыдущая лекция | следующая лекция ==>
Функционирование МП при обслуживании прерываний | Общие сведения о микроконтроллерах


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.441 сек.