Ввод-вывод с использованием прямого доступа к памяти

Автор работы: Пользователь скрыл имя, 10 Февраля 2013 в 12:05, реферат

Описание работы

Вводом/выводом (ВВ) называется передача данных между ядром ЭВМ, включающим в себя микропроцессор и основную память, и внешними устройствами (ВУ). Это единственное средство взаимодействия ЭВМ с "внешним миром", и архитектура ВВ (режимы работы, форматы команд, особенности прерываний, скорость обмена и др.) непосредственно влияет на эффективность всей системы.

Содержание работы

Содержание:

1.Организация ввода/вывода в микропроцессорной системе

2.Организация прямого доступа к памяти

3.Каналы прямого доступа к памяти

Файлы: 1 файл

КУРСОВИК СПО.docx

— 114.84 Кб (Скачать файл)

Рис.4. Схема обмена сигналами управления для передачи данных в режиме DMA

Получив запрос DRQx ( х - номер канала DMA, выделенного устройству), контроллер DMA запрашивает управление шиной и ждет разрешения от процессора. Процессор прерывает выполнение текущей программы, программирует контроллер прямого доступа на определенный режим передачи данных и посылает сигнал разрешения прямого доступа к памяти. Контроллер выставляет адрес ячейки памяти и формирует сигналы DACKx# и WR#. Сигнал DACKx# указывает на то, что операция выполняется для канала х, WR# определяет режим записи данных, при чтении устанавливается сигнал чтения RD). Контроллер передавая данные модифицирует счетчик адреса и осуществляет передачу одного слова за другим. Контроллер повторяет эти шаги для каждого следующего сигнала DRQx, пока не будет исчерпан счетчик циклов. В последнем цикле обмена контроллер формирует общий сигнал окончания ТС (TerminateCount), который может быть использован для формирования сигнала аппаратного прерывания. При работе в режиме прямого доступа к памяти контроллер DMA выполняет следующие функции:

принимает запрос на прямой доступ к  памяти от внешнего устройства;

формирует запрос процессору на захват системной шины;

принимает сигнал, подтверждающий переход  процессора в состояние захвата  шины внешним устройством (перехода в состояние, при котором процессор  отключается от системной шины);

формирует сигнал, сообщающий внешнему устройству о начале выполнения циклов прямого доступа к памяти;

выдает на шину адреса системной  шины адрес ячейки оперативной памяти, предназначенной для обмена;

вырабатывает сигналы, обеспечивающие управление обменом данными;

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

Каждый канал контроллера прямого  доступа к памяти состоит из 5-ти регистров, четырех 16-разрядных регистров (рис.6) и одного 6-ти разрядного:

регистра текущего адреса (CAR);

регистра циклов прямого доступа  к памяти (CWR);

регистра хранения базового адреса блока памяти (BAR);

регистра хранения базового числа  циклов прямого доступа к памяти (WCR);

6-разрядного регистра режима (MR).

 

Рис.5. Каскадное включение контроллеров DMA

Регистр текущего адреса хранит текущий  адрес ячейки памяти при выполнении цикла прямого доступа к памяти. После выполнения каждого цикла  передачи данных содержимое этого регистра уменьшается на единицу. То есть при  выполнении циклов регистр работает в режиме вычитающего счетчика. В  режиме инициализации содержимое регистра текущего адреса принимает базовый  адрес из регистра хранения базового адреса, а в счетчик циклов загружается  базовое число циклов передачи данных. Для организации прямого доступа  в память в компьютерах IBM PC/XT использовалась одна 4-канальная микросхема DMA 18237, канал 0 которой был предназначен для  регенерации динамической памяти (сейчас регенерацию осуществляет внутреннее устройство управления микросхемы памяти). Каналы 2 и 3 служат для управления передачей  данных между дисководами гибких дисков, а также винчестером и  оперативной памятью соответственно. Свободным оставался только канал DMA 1. Канал DMA 1 обычно используется звуковыми  картами. Один канал DMA может использоваться различными устройствами, но не одновременно. IBM PC/AT -совместимые компьютеры имеют  уже 7 каналов прямого доступа  к памяти. Как и для контроллеров прерываний, увеличение числа каналов было достигнуто путем каскадного включения двух микросхем i8237, интегрированных в микросхему контроллера периферии (южный мост); канал 0 DMA2 используется для подключения каналов контроллера DMA1 (рис. 5) .Каналы первого контроллера по-прежнему используются как 8-ми разрядные, каналы второго контроллера используются для передачи 16-ти разрядных данных в одном цикле обмена данными. Рассмотрим устройство контроллера DMA (рис. 6)

Рис.6. Структурная схема контроллера DMA

Структура одного канала показана на примере канала 0. В каждом канале регистры BAR и WCR предназначены для  хранения констант - базового адреса и  базового числа циклов. Они загружаются  в режиме программирования контроллера  одновременно с регистрами CAR (базовый  адрес памяти) и CWR ( текущий адрес памяти). Регистр режима MR определяет режим работы канала. Он содержит информацию о типе цикла прямого доступа (чтение (ОП <- ВУ), запись (ОП -> ВУ), проверка), режиме изменения регистра текущего адреса (CAR) - увеличение или уменьшение и режиме работы канала - передача по запросу, одиночная передача, блочная передача, каскадирование (работа каскадной схемы контроллера DMA). Блок управления режимом содержит регистр команд и регистр условий. Регистр команд блока управления режимом определяет основные параметры работы канала. Загружается при программировании контроллера микропроцессором. Регистр условий хранит разрешение на прямой доступ каждому каналу (устанавливается программно) и запоминает факт перехода через 0 в регистре хранения базового числа циклов каждого канала. Контроллер DMA может работать в двух основных режимах: в режиме программирования и режиме выполнения циклов прямого доступа к памяти. В режиме программирования процессор работает с контроллером прямого доступа к памяти, как с внешним устройством. После загрузки в контроллер DMA управляющих слов контроллер переходит в пассивное состояние. В этом состоянии контроллер находится до тех пор, пока не поступит запрос на прямой доступ к памяти от внешнего устройства или от процессора. Обнаружив запрос на прямой доступ к памяти, контроллер выставляет процессору запрос на захват системной магистрали и ожидает от него подтверждения захвата шины, т.е. отключения процессора от системной шины и перехода его выходов в состояние высокого сопротивления ( Z-состояние). При получении сигнала подтверждения захвата (HLDA) контроллер начинает выполнять циклы передачи данных в режиме прямого доступа к памяти. Необходимые для управления шиной сигналы вырабатываются самим контроллером DMA. Контроллер DMA можно рассматривать как устройство, являющееся главным абонентом системной шины. С введением шины PCI изменился принцип организации работы внешних устройств с памятью в режиме DMA. На шине PCI отсутствуют сигналы DREQx и DACKx, здесь применяется технология захвата управления шиной внешним устройством (Bus Mastering - BM). Технология захвата управления шиной (busmastering) совместима с протоколом режима UDMA и реализует работу в режиме DMA ( передачу данных из памяти в устройство напрямую или наоборот, минуя процессор) для каждого устройства, которое может быть главным абонентом системной шины. Концепция главного абонента шины делает прямой доступ к памяти излишним. Дополнительно установленная схема главного абонента шины на адаптере внешнего устройства позволяет осуществлять прямой доступ к памяти каждому такому устройству. Адаптер главного абонента шины может вырабатывать все сигналы управления шиной сам и, следовательно, имеет возможность обращаться к области адресов памяти и ввода-вывода любым необходимым способом. Использование внешнего главного абонента шины обеспечивает большую гибкость и эффективность, чем работа с контроллером DMA, но требует более сложных арбитражных операций. Это ведет к существенному увеличению сложности и стоимости устройства, работающего в режиме управления шиной. Можно, конечно, рассматривать устройство управления шиной, расположенное на адаптере внешнего устройства, как форму контроллера DMA, который организует быстрый обмен данными между основной памятью и адаптером. DMA: именно та  технология, которая помогает компьютеру воспроизводить музыку, выводить изображение на экран, записывать информацию на жесткий диск, и при этом оказывать на центральный процессор просто мизерную нагрузку.

 


Информация о работе Ввод-вывод с использованием прямого доступа к памяти