- •А. В. Поздняков, б. Я. Цилькер микропроцессоры и микропроцессорные системы
- •Часть 1
- •(Учебное пособие)
- •Содержание
- •1. Микропроцессорные системы
- •1.1. Историческая справка
- •1.2. Архитектура мпс с магистрально-модульной организацией
- •1.3. Режимы работы мпс
- •2.1. Центральный процессор
- •2.1.1. Классификация микропроцессоров
- •2. Микропроцессорный модуль
- •2.1.2. Структура центрального процессора
- •2.1.2.1. Краткая характеристика микропроцессора Intel 8086
- •2.1.2.2. Архитектура микропроцессора Intel 8086
- •2.1.2.3. Программная модель микропроцессора Intel 8086
- •2.1.2.4. Представление информации в мп Intel 8086
- •2.1.2.5. Способы адресации операндов в мп Intel 8086
- •2.1.2.6. Система команд мп Intel 8086
- •2.1.2.7. Содержание цикла команды, типовые машинные циклы мп Intel 8086
- •2.1.2.8. Входные и выходные сигналы мп Intel 8086
- •2.2. Сопроцессор
- •2.3. Генератор тактовых импульсов
- •2.4. Системный контроллер
- •2.5. Согласующие элементы микропроцессорных систем
- •2.5.1. Шинные формирователи
- •2.5.2. Буферные регистры
- •2.6. Контроллер прерываний
- •2.7. Контроллер прямого доступа к памяти
- •2.8. Программируемый таймер
- •3. Модуль памяти
- •3.1. Организация модуля памяти
- •3.2. Распределение адресного пространства зу
- •3.3. Декодирование старших разрядов адреса.
- •3.3.1. Декодирование адресов методом линейной выборки
- •3.3.2. Декодирование адресов с помощью логических компараторов
- •3.3.3. Декодирование адресов с применением комбинационных логических схем
- •3.4. Выбор типа зу
- •3.5. Функциональная схема модуля памяти
- •3.6. Обеспечение необходимой емкости зу
- •3.6.1. Увеличение разрядности зу
- •3.6.2. Увеличение адресного пространства зу
- •4. Модуль ввода-вывода
- •4.1. Интерфейс ввода-вывода
- •4.2. Параллельные порты
- •4.2.1. Параллельный порт вывода
- •4.2.2. Параллельный порт ввода
- •4.2.3. Параллельные порты ввода-вывода
- •4.3. Последовательные порты
- •4.3.1. Последовательный асинхронный порт вывода
- •4.3.2. Последовательный асинхронный порт ввода
- •4.3.3. Программируемый последовательный интерфейс
- •4.4. Организация обращения к портам ввода/вывода
- •4.4.1. Обращение к портам ввода/вывода с помощью специальных команд
- •4.4.2. Обращение к портам ввода/вывода с помощью команд пересылок
- •4.5. Способы организации ввода/ вывода информации в мпс
- •4.5.1. Организация ввода/вывода информации под управлением основной программы
- •4.5.2. Организация ввода/вывода в режиме прерывания программы
- •4.5.3. Организация ввода/вывода в режиме прямого доступа к памяти
- •Система команд микропроцессора Intel 8086 Команды пересылки данных
- •Арифметические команды
- •Логические команды
- •Команды передачи управления
- •Команды управления процессором
- •Команды обработки строк
- •Литература
4.5.3. Организация ввода/вывода в режиме прямого доступа к памяти
Прямой доступ к памяти (DMA – Direct Memory Access), или режим захвата предполагает использование контроллера прямого доступа к памяти.
Последовательность процедуры вывода информации по запросу на прямой доступ к памяти рассмотрим применительно к МП I8086 при использовании одного канала программируемого контроллера прямого доступа к памяти I8257. Подключение контроллера прямого доступа к памяти к шинам МПС показано на рис. 4.18.
От внешнего устройства на вход запроса прямого доступа к памяти нулевого канала DRQ0 контроллера прямого доступа поступает сигнал захвата (сигнал лог.”1”).
Контроллер прямого доступа к памяти формирует сигнал запроса захвата HRQ, который поступает на вход HLD микропроцессора.
М икроконтроллер в каждом машинном цикле проверяет наличие сигнала захвата HLD. Если сигнал HLD обнаружен, микропроцессор переводит шину AD в Z состояние, формирует сигнал подтверждения захвата HLDA и переходит к формированию тактов ожидания по захвату, проверяя в каждом такте наличие сигнала HLD. Сигнал HLDA поступает на контроллер прямого доступа к памяти, а также используется для перевода шин управления в Z состояние.
П осле поступления сигнала HLDA на контроллер прямого доступа к памяти начинается цикл обмена. Контроллер прямого доступа к памяти:
формирует сигнал AEN для блокировки других устройств системы от шин данных и управления;
выдает младшие 8 разрядов регистра адреса канала на выводы А(7…0), а старшие 8 разрядов – на выводы D(7…0), стробируя их сигналом ADSTB. Этим сигналом информация с выводов D(7…0) контроллера заносится во внешний буферный регистр и появляется на старших разрядах шины адреса;
вырабатывает сигнал DACK0 , указывающий внешнему устройству на начало обмена;
ф ормирует пары сигналов MEMR и IOWR. По первому сигналу байт данных считывается из ячейки ОЗУ, адрес которой установлен на шине адреса, и выставляется на шине данных. По второму сигналу информация, выставленная на шине данных, через порт вывода поступает на внешнее устройство;
содержимое регистра адреса канала контроллера увеличивается на единицу, а содержимое регистра-счетчика – уменьшается на единицу. Если содержимое регистра-счетчика 0, контроллер выполняет новый цикл обмена. Если же содержимое регистра-счетчика равно нулю, то контроллер прямого доступа завершает цикл обмена, снимая сигнал запроса захвата HRQ с входа HLD микропроцессора.
М икропроцессор, обнаружив отсутствие сигнала захвата, снимает сигнал подтверждения захвата HLDA и переходит к выполнению прерванной команды программы.
Прямой доступ к памяти целесообразно использовать при пересылке массивов информации. Это позволяет сократить время пересылки, поскольку из процесса пересылки исключается микропроцессор.
К недостаткам прямого доступа к памяти можно отнести:
дополнительные аппаратные затраты (контроллер прямого доступа к памяти, буферный регистр).
дополнительные программные затраты (необходимость предварительного программирования контроллера прямого доступа к памяти).
Приложение
