Двоичные слова данных в промежутках между
передачами хранится в регистрах.
В процессе передачи данные хочется записывать во-первых, от разных источников,
во-вторых - только в определенные моменты времени. Эти два условия могут быть
выполнены, если для передачи используется структура, изображенная на рис.
:
Рис.1. Структура связи между регистром-источником и регистром-приемником
Момент передачи данных и источник данных определяются тем, какой строб и в какой момент поступает. (Сравните с принципами микропрограммного уровня организации процессоров).
При связи между двумя устройствами одно из них определяет моменты времени, в которые происходит обмен. Его называют задатчиком шины или "активным" (bus master). Активное устройство задает временную диаграмму обмена.
Таким образом, для передачи порции (слова) данных между двумя устройствами, одно из них должно:
1. Установить передаваемые данные
2. Сформировать управляющий строб-сигнал не ранее того момента, как закончатся переходные процессы в линиях данных и на входе принимающего устройства установятся верные значения данных
3. Держать верные значения данных (и может быть строба) в течение времени, достаточного для того, чтобы регистр-приемник зафиксировал их
Все устройства, входящие в состав системы,
подключены к единой системе связи, называемой
магистралью/шиной/каналом/межмодульным интерфейсом.
В простейшем варианте организации магистрали, каждый момент времени
обмен происходит только между двумя устройствами: причем одно из них (активное
устройство, Задатчик, Мастер шины BusMaster) определяет
временную диаграмму процессов.
Каждое из устройств должно удовлетворять некоторому набору требований
(стандарту), определенному для данного типа магистрали.
Такая организация позволяет очень легко (не изменяя ничего в аппаратной части) изменять конфигурацию системы - подключать
Длительность процесса однократного обмена зависит от быстродействия двух обменивающихся устройств и должна быть такой, чтобы более медленное устройство "успело".
Рисунок 2. Временная диаграмма синхронного обмена.
Длительность строба данных tc при синхронном обмене (рис.2) задается "активным" устройством. Разработчик выбирает эту длительность заранее, исходя из известного быстродействия устройства-приемника.
При асинхронном обмене (рис.3) длительность строба определяется скоростью реакции пассивного устройства - в ответ на появление строба данных из активного устройства пассивное формирует ответный сигнал готовности, задержка появления которого и определяет длительность процесса обмена:
Рис. 3. Временная диаграмма асинхронного обмена
Мультиплексирование - передача разнородных данных по одним и тем же линиям в разные моменты времени. Не все устройства, подключаемые к каналу поддерживают мультиплексирование. Например, многие микросхемы памяти имеют раздельные входы адреса и данных. В таком случае приходится выполнять обратную операцию - демультиплексирование (см. далее пример подключения устройства к каналу ??? где).
Безусловный обмен и обмен по опросу (поллинг) - программный обмен
Поддержка предоставления прерывания - передача информации об источнике прерывания
Прямой доступ к памяти - поддержка наличия на канале нескольких задатчиков (bus masters) и процедуры передачи управления каналом от одного задатчика другому
Терминология:
Линия провод, по которому логическими уровнями передаются данные
Шина группа линий, по которым передаются однородные данные: шина
адреса, шина данных
Три группы линий (шины):
Адресная шина - группа линий, по которым активный параллельным кодом передает адрес пассивного, с которым активный ходет обменяться динными.
Шина данных - группа линий, по которым передаются данные
Шина управления- группа линий, по которым передаются
управляющие (стробовые) сигналы, задающие отдельные определенные моменты в
процессе обмена по каналу
В шине управления в свою очередь можно выделить:
- линии управления программным обменом
- линии поддержки обменом по прерыванию
- линии управления ПДП (прямым доступом к памяти)
Процесс однократного обмена между активным и
пассивным называется канальным циклом. Задатчик шины (чаще всего это
микропроцессор) может поддерживать (т.е. быть способным формировать
соответствующие временные диаграммы) разные типы канальных циклов,
например:
- цикл обмена данными
- цикл предоставления прерывания
- цикл предоставления шины (канала),..., бывают и другие типы канальных циклов
Типовая структура (временная диаграмма) канального цикла обмена данными изображена на рис.4. В ней можно выделить два этапа - этап передачи/декодирования адреса –фазу адреса (задается положением во времени строба адреса) и этап передачи данных – фащзу данных (задается положением строба данных).
Рис. 4. Типовая временная диаграмма канального цикла для раздельных шин адреса и данных”
В приведенном примере шины адреса и данных - раздельные, адрес передается синхронно, в то время как передача данных производится асинхронно - длительность этапа передачи данных определяется задержкой снятия сигнала READY.
Следующий пример (рис.5) приведен для мультиплексированной шины Адрес/Данные (т.е. адрес и данные передаются по одним и тем же линиям).
Рис. 5. Типовая временная диаграмма канального цикла для совмещенной шины “АДРЕС-ДАННЫЕ”
Вследствие того, что и программный код и данные часто обладают свойством локальной сериальности (считываемые подряд во времени элементы расположены в идущих подряд адресах памяти), передача (следующих подряд) адресов в смежных канальных циклах является избыточной. Если пассивное устройство на канале а) осведомлено, что адреса должны идти подряд, и б) способно эти адреса «отсчитывать», то можно передавать данные «пакетами», формируя в каждом пакете его начальный адрес, а затем передавая несколько подряд идущих слов данных.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.