русс | укр

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

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

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

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


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

Организация системы ПДП современных ЭВМ. Контроллер ПДП, назначение, решаемые задачи, алгоритм работы.


Дата добавления: 2013-12-24; просмотров: 1214; Нарушение авторских прав


Прямой доступ к памяти (ПДП или DMA – Direct Memory Access) представляет собой высокоскоростной способ обмена информацией между ПУ и ОП, например, при загрузке данных в ОП с внешнего носителя.

Обмен ПДП осуществляется автономно от ЦП. В этом режиме скорость передачи данных определяется только внешними устройствами и благодаря этому компьютер может выполнять ввод-вывод с максимальной скоростью самих внешних устройств. Переход в режим ПДП выполняется по запросу ПУ подобно тому, как обрабатываются запросы прерываний. Однако в отличие от запросов прерываний, при обработке которых процессор продолжает управлять шиной, в режиме ПДП управление передается другому(внешнему) устройству.

В современных ПК для ПДП-пересылок используют либо специализированные сопроцессоры ввода-вывода, либо специальные контроллеры DMA.

Сопроцессор ввода-вывода – это вспомогательный процессор, работающий в паре с ЦП и имеющий собственную систему команд, которая ориентирована на операции ввода-вывода. При наличии сопроцессора ввода-вывода все действия по организации передач ввода-вывода, включая настройку внешнего устройства, программный ввод-вывод и операции ПДП, реализуются без участия ЦП. Сопроцессор может реализовывать арифметические и логические операции, переходы, поиск и преобразования данных. Сопроцессор ввода-вывода – сложное устройство. При его использовании для организации ПДП часто применяют раздельные шины доступа к ОЗУ со стороны ЦП и ПУ.

Контроллер DMA – более простое устройство. При использовании контроллера DMA раздельные шины доступа к ОЗУ обычно не применяют. В большинстве архитектур предусмотрен очень похожий на ПДП режим, который называют захватом шины или прямым управлением шиной(Bus Mastering). Переход в такой режим начинается по запросу от периферийного устройства, но в отличие от ПДП управление шиной получает не контроллер DMA, а контроллер ПУ, который и берет на себя полную ответственность за обмен. При этом обмен может осуществляться не только между ПУ и ОЗУ, но и между двумя ПУ.



Контроллер DMA реализуется в виде СБИС (сверхбольших интегральных схем), управляющей работой нескольких независимых каналов ПДП. В современных ПК он входит в состав СБИС чипсета.

Типичный контроллер DMA i8237 поддерживает работу четырех независимых каналов обмена, каждый из которых обслуживает одно ПУ. При одновременном поступлении запросов ПДП каналы конкурируют на СШ согласно заданным приоритетам.

Основная задача канала заключается в

¾ генерации адресов ОП и

¾ необходимых управляющих сигналов, обслуживающих передачу данных.

Адреса, устанавливаемые контроллером на шине адреса, относятся к памяти, а не к ПУ.

Адрес ПУ задавать не требуется, т.к. обмен осуществляется с устройством, запросившим ПДП.

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

Каждый канал содержит регистр адреса, счетчик байтов и регистр режима канала. Режимов 3 вида:

  • Одиночной передачи
  • Блочной передачи(циклы чтения(записи) повторяются заранее установленное число раз)
  • Передачи по требованию(циклы повторяются, пока присутствует сигнал запроса от ПУ)

В СШ для каждого канала DMA выделяется пара сигналов: DRQ(запрос на передачу) и DACK(разрешение(подтверждение) работы канала DMA). Запросы ПУ на обслуживание принимаются по линиям DRQ. Контроллер формирует сигнал подтверждения запроса по линии DACK соответствующего канала.

Передача массива данных состоит из последовательных циклов,

каждый из которых представляет собой комбинацию одновременно выполняемых

¾ команды обращения к памяти

¾ и команды обращения к порту УВВ.

Устройство управления контроллера содержит:

¾ схему реализации приоритетов

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

¾ регистр состояния

¾ схему выработки управляющих сигналов процедуры ввода-вывода

Шина расширения
 
 

 

 


Запрос на передачу(1)

 


Разрешение работы канала(4) DMA(4)

 

 


2 – сигнал запроса шин для ПДП

3 – ЦП завершает текущий внешний обмен и отключается от СШ

3 – сигнал разрешения прямого доступа

4 – сигнал Address Enable для оповещения остальных устройств, что на СШ выполняется цикл ПДП

5 – по завершению передачи блока данных контроллер снимает(1) и (4) и управление шиной передается ЦП.

Отличие от простого адресного обмена состоит в том, что контроллер DMA формирует одновременно два строба: строб чтения источника информации и строб записи в приемник информации. Кроме того, он модифицирует адреса памяти для повторения цикла обмена при передаче массива байтов или слов. В процессе обмена после каждого обращения к ОЗУ содержимое счетчика канала уменьшается на 1. Циклы обмена повторяются до нулевого значения счетчика или до тех пор, пока ПУ сохраняет (1запрос на передачу).



<== предыдущая лекция | следующая лекция ==>
Организация системы прерывания современных ЭВМ. Контроллер прерывания, назначение, решаемые задачи, алгоритм работы, расширение системы прерывания. | 


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


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

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

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


 


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

 
 

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

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