Микропроцессор - Контроллер 8257 DMA

DMA означает прямой доступ к памяти. Он разработан Intel для максимальной скорости передачи данных. Это позволяет устройству передавать данные напрямую в / из памяти без какого-либо вмешательства со стороны ЦП.

Используя контроллер DMA, устройство запрашивает ЦП для хранения его данных, адреса и шины управления, поэтому устройство может свободно передавать данные непосредственно в / из памяти. Передача данных DMA инициируется только после получения сигнала HLDA от CPU.

Как выполняются операции прямого доступа к памяти?

Ниже приведена последовательность операций, выполняемых DMA:

  • Первоначально, когда какое-либо устройство должно отправить данные между устройством и памятью, устройство должно отправить запрос DMA (DRQ) контроллеру DMA.

  • Контроллер DMA отправляет запрос удержания (HRQ) на ЦП и ожидает, пока ЦП подтвердит HLDA.

  • Затем микропроцессор переключает все шину данных, шину адреса и шину управления. CPU оставляет управление шиной и подтверждает запрос HOLD посредством сигнала HLDA.

  • Теперь ЦП находится в состоянии УДЕРЖАНИЯ, и контроллер DMA должен управлять операциями по шинам между ЦП, памятью и устройствами ввода-вывода.

Особенности 8257

Вот список некоторых выдающихся особенностей 8257 -

  • Он имеет четыре канала, которые можно использовать с четырьмя устройствами ввода-вывода.

  • Каждый канал имеет 16-битный адрес и 14-битный счетчик.

  • Каждый канал может передавать данные размером до 64 КБ.

  • Каждый канал можно запрограммировать независимо.

  • Каждый канал может выполнять операции передачи чтения, записи и проверки передачи.

  • Он генерирует сигнал MARK на периферийное устройство о том, что было передано 128 байт.

  • Это требует однофазных часов.

  • Его частота составляет от 250 Гц до 3 МГц.

  • Он работает в 2-х режимах, т.е. Master mode и Slave mode.

8257 Архитектура

На следующем изображении показана архитектура 8257 -

8257 Описание контактов

На следующем изображении показана схема контактов контроллера 8257 DMA -

DRQ 0 -DRQ3

Это четыре индивидуальных входа запроса канала DMA, которые используются периферийными устройствами для использования служб DMA. Когда выбран режим с фиксированным приоритетом, тогда DRQ 0 имеет наивысший приоритет, а DRQ 3 имеет самый низкий приоритет среди них.

DACK o - DACK 3

Это строки подтверждения DMA с активным низким уровнем, которые обновляют запрашивающее периферийное устройство о состоянии их запроса от ЦП. Эти линии также могут действовать как стробоскопические линии для запрашивающих устройств.

Д о - Д 7

Это двунаправленные линии данных, которые используются для сопряжения системной шины с внутренней шиной данных контроллера прямого доступа к памяти. В режиме Slave он передает командные слова в 8257 и слово состояния из 8257. В режиме Master эти строки используются для отправки старшего байта сгенерированного адреса в защелку. Этот адрес дополнительно фиксируется с помощью сигнала ADSTB.

IOR

Это двунаправленная входная линия с тремя состояниями с активным низким уровнем, которая используется ЦП для чтения внутренних регистров 8257 в режиме Slave. В ведущем режиме он используется для чтения данных с периферийных устройств во время цикла записи в память.

IOW

Это активная двухсторонняя линия с двумя состояниями, которая используется для загрузки содержимого шины данных в 8-битный регистр режима или старший / младший байт 16-битного адресного регистра DMA или регистра терминального счетчика. В ведущем режиме он используется для загрузки данных в периферийные устройства во время цикла чтения памяти DMA.

CLK

Это сигнал тактовой частоты, который необходим для внутренней работы 8257.

СБРОС

Этот сигнал используется для СБРОСА контроллера DMA путем отключения всех каналов DMA.

А о - А 3

Это четыре наименее значимые адресные строки. В ведомом режиме они действуют как вход, который выбирает один из регистров для чтения или записи. В главном режиме это четыре наименее значимых строки вывода адреса памяти, генерируемые 8257.

CS

Это строка выбора микросхемы с активным низким уровнем. В режиме ведомого он включает операции чтения / записи в / из 8257. В режиме ведущего он отключает операции чтения / записи в / из 8257.

А 4 - А 7

Это старший полубайт младшего байтового адреса, генерируемый DMA в ведущем режиме.

ГОТОВ

Это асинхронный входной сигнал с активным высоким уровнем, который делает DMA готовым путем вставки состояний ожидания.

HRQ

Этот сигнал используется для приема сигнала запроса удержания от устройства вывода. В режиме ведомого он соединен с входной линией 8257 DRQ. В режиме ведущего он соединен с входом HOLD ЦП.

HLDA

Это сигнал подтверждения удержания, который указывает контроллеру DMA, что шина была предоставлена ​​запрашивающему периферийному устройству процессором, когда он установлен в 1.

MEMR

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

MEMW

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

ADST

Этот сигнал используется для преобразования старшего байта адреса памяти, сгенерированного контроллером DMA, в защелки.

AEN

Этот сигнал используется для отключения адресной шины / шины данных.

TC

Это означает «Счетчик терминалов», который указывает текущий цикл прямого доступа к памяти для имеющихся периферийных устройств.

ОТМЕТКА

Метка будет активирована после каждых 128 циклов или целых кратных от него с самого начала. Он указывает, что текущий цикл прямого доступа к памяти является 128-м циклом с момента предыдущего вывода MARK на выбранное периферийное устройство.

V куб.

Это сигнал мощности, который необходим для работы схемы.