Типы обмена между модулями и циклы обращения к магистрали. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Типы обмена между модулями и циклы обращения к магистрали.



 

Рассмотрим взаимодействие между модулями, входящими в МПС фон – Неймановского типа. Существует три основных типа обмена между модулями, которые отличаются инициатором обмена, временной привязкой к исполнению основной программы и устройством, управляющим шиной:

1. Программный обмен по инициативе МП.

2. Программный обмен по инициативе внешнего устройства (обмен по прерыванию).

3. Внепроцессорный обмен между памятью и внешним устройством (DMA).

Программный обмен информацией является основным в любой микропроцессорной системе. В этом режиме процессор является задатчиком (Master), системной магистрали. Все операции (циклы) обмена информацией в данном случае инициируются только процессором, все они выполняются строго в порядке, предписанном исполняемой программой.

Процессор читает (выбирает) из памяти коды команд и исполняет их, читая данные из памяти или из устройства ввода/вывода, обрабатывая их, записывая данные в память или передавая их в устройство ввода/вывода. Путь процессора по программе может быть линейным, циклическим, может содержать переходы, но он всегда непрерывен и полностью находится под контролем процессора. Ни на какие внешние события, не связанные с программой, процессор не реагирует. Все сигналы на магистрали в данном случае контролируются процессором.

Обмен по прерываниям используется тогда, когда необходима быстрая реакция микропроцессорной системы на приход внешнего сигнала. Прерыванием называется способность МП прервать основную (фоновую) программу в ответ на запрос от внешнего устройства (IRQ — Interrupt ReQuest), поступивший в случайный момент времени и выполнить подпрограмму, предназначенную для обслуживания именно этого события. Закончив выполнение программы обработки прерывания, он возвращается к прерванной программе с той точки, где его прервали. Организацию прерываний в МПС мы детально рассмотри позднее.

Как и в случае программного обмена, здесь все сигналы на магистрали выставляются процессором, то есть он, полностью контролирует магистраль. Реакция на внешнее событие по прерыванию в общем случае медленнее, чем при программном режиме. Если в системе много источников прерываний, то для упрощения работы процессора с обслуживанием их запросов в систему иногда вводится специальный модуль контроллера прерываний.

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

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

 

  1. Программный обмен: CPU ←→ M, CPU ←→ I/0, CPU → Address, RD, WR.
  2. Прерывание: I/0 → CPU (IRQ), CPU → I/0 (INTA), CPU←→ (М,I/0), CPU → Address, RD, WR.
  3. Режим DMA: I/0 → CPU (HOLD), CPU → I/0 (BUSEN), I/0←→ М, I/0 → Address, RD, WR.

 

Рис. 2.5. Типы операций обмена по шине между модулями.

 

Сигналы шины управления. В МПС существует четкая иерархия: командный цикл - машинный цикл - машинный такт. Команда - это функционально завершенное элементарное действие, которое определяется типом используемых данных, источником их получения, операцией над ними, приемником размещения результата, а также источником получения следующей команды. Программист рассматривает команду как одно неделимое действие. На уровне физического обмена по магистрали каждая команда представляет собой ряд типовых циклов обращения к системной магистрали. В свою очередь каждый типовой машинный цикл состоит из нескольких машинный тактов.

Физический обмен данными через магистраль выполняется словами или байтами в виде следующих друг за другом обращений к магистрали. За один цикл обращения к магистрали (машинный цикл) между CPU, памятью и подсистемой I/O передается одно слово или байт. Существует несколько типовых циклов обмена. Среди них выделим чтение памяти и запись в память. При изолированном I/O добавляются циклы: чтение порта I/O и запись в порт I/O. При выполнении процедур обслуживания прерывания могут существовать один или несколько различных циклов прерывания, а при обслуживании запросов DMA - различные циклы DMA.

В соответствии с этим шина управления СВ должна содержать минимальный набор сигналов, включающий:

1. Строб чтения из памяти - RD.

2. Строб записи в память - WR.

3. Строб чтения из порта - IOR.

4. Строб записи в порт - IOW.

5. Сигналы прерывания - IRQ.

6. Сигналы ПДП - DMA.

7. Сигнал для асинхронного обмена - READY.

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

 

 

Рис. 2.6. Диаграммы обмена по двух и трехшинной магистралям в различных режимах.

 



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 272; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.21.231.245 (0.006 с.)