Циклы программного обмена.

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

Первый пример — это обмен по мультиплексированной асинхронной магистрали Q-bus, предложенной фирмой DЕС и широко применявшей­ся в микрокомпьютерах и промышленных контроллерах. Упрощенные вре­менные диаграммы циклов чтения (ввода) и записи (вывода) по этой ма­гистрали приведены на рис. 2.3 и 2.4.

Отметим, что в дальнейшем тексте знак «минус» перед названием сиг­нала говорит о том, что активный уровень сигнала низкий, пассивный — высокий, то есть сигнал отрицательный. Если минуса перед названием сигнала нет, то сигнал положительный, его низкий уровень пассивный, а высокий — активный.

На шине адреса/данных (АD) в начале цикла обмена (в фазе адреса) процессор (задатчик) выставляет код адреса. На этой шине используется отрицательная логика. Средний уровень сигналов на шине АD обознача­ет, что состояния сигналов на шине в данные временные интервалы не важны. Для стробирования адреса используется отрицательный синхро­сигнал -SINC, выставляемый также процессором. Его передний (отри­цательный) фронт соответствует действительности кода адреса на шине АD. Фаза адреса одинакова в обоих циклах записи и чтения.

Рис. 2.3. Цикл чтения на магистрали Q-bus.

Получив (распознав) свой код адреса, устройство ввода/вывода или па­мять (исполнитель) готовится к проведению обмена. Через некоторое вре­мя после начала (отрицательного фронта) сигнала -SINC процессор сни­мает адрес и начинает фазу данных

.

Рис. 2.4. Цикл записи на магистрали Q-bus.

В фазе данных цикла чтения (рис. 2.3) процессор выставляет сигнал строба чтения данных -DIN, в ответ на который устройство, к которому обращается процессор (исполнитель), должно выставить свой код данных (читаемые данные). Одновременно это устройство должно подтвердить выполнение операции сигналом подтверждения обмена -RPLY.

Для сигнала -RPLY используется тип выходного каскада ОК, чтобы не было конфликтов между устройствами-исполнителями. Процессор, по­лучив сигнал -RPLY, заканчивает цикл обмена. Для этого он снимает сигнал -DIN и сигнал -SINC. Устройство-исполнитель в ответ на снятие сигнала -DIN должно снять код данных с шины АD и закончить сигнал подтверж­дения -RPLY. После этого процессор снимает сигнал -SINC.

В фазе данных цикла записи (рис. 2.4) процессор выставляет на шину АD код записываемых данных и сопровождает его отрицательным сиг­налом строба записи данных -DOUT Устройство-исполнитель должно по этому сигналу принять данные от процессора и сформировать сигнал подтверждения обмена -RPLY. Процессор, получив сигнал -RPLY, закан­чивает цикл обмена. Для этого он снимает код данных с шины АD и сигнал -DOUT. Устройство-исполнитель в ответ на снятие сигнала -DOUT должно закончить сигнал подтверждения -RPLY. После этого процессор снимает сигнал -SINC.

То есть на данной магистрали адрес передается синхронно (без под­тверждения его получения исполнителем), а данные передаются асинхронно, с обязательным подтверждением их выдачи или приема исполнителем. Отсутствие сигнала подтверждения -RPLY в течение заданного времени воспринимается процессором как аварийная ситуация. В принципе возможна и асинхронная передача адреса, что увеличивает надежность обмена, хотя может снижать его скорость.

Помимо циклов чтения и записи на магистрали Q-bus используются также и циклы типа «ввод-пауза-вывод» («чтение-модификация-запись»). Упрощенная временная диаграмма этого цикла представлена на рис.2.5.

Рис. 2.5. Цикл «ввод-пауза-вывод» на магистрали >

В этом цикле адресная фаза производится точно так же, как и в циклах чтения (ввода) и записи (вывода). Но в фазе данных процессор произво­дит сначала чтение из заданного в адресной фазе адреса, а потом запись в тот же самый адрес. Для чтения используется строб чтения -DIN, а для записи — строб записи -DOUN. В ответ на сигнал -DIN устройство-ис­полнитель выдает свои данные на шину АD, а по сигналу -DOUN - при­нимает данные с шины АD. Как и в циклах чтения и записи, устройство-исполнитель подтверждает выполнение каждой операции сигналом подтверждения -RРLY. Понятно, что цикл «ввод-пауза-вывод» требует больше времени, чем каждый из циклов чтения или записи, но меньше времени, чем два последовательно произведенных цикла чтения и записи (так как для него нужна только одна адресная фаза). Сигнал -SINC вы­рабатывается процессором в начале цикла «ввод-пауза-вывод» и держит­ся до окончания всего цикла.

В качестве второго примера рассмотрим циклы обмена на синхронной немультиплексированной магистрали ISA (Industrial Standart Architekture), предложенной фирмой IВМ и широко используемой в персональных ком­пьютерах. Упрощенные циклы записи в устройство ввода/вывода и чте­ния из устройства ввода/вывода приведены на рис. 2.6 и 2.7.

Оба цикла начинаются с выставления процессором (задатчиком) кода адреса на шину адреса SА (логика на этой шине положительная). Адрес остается на шине SА до конца цикла. Фаза адреса, одинаковая для обоих циклов, заканчивается с началом строба обмена данными -IOR или -IOW. В течение фазы адреса устройство-исполнитель должно принять код и распознать или не распознать его. Если адрес распознан, исполнитель готовится к обмену.

В фазе данных цикла чтения (рис. 2.6) процессор выставляет отрица­тельный сигнал чтения данных из устройства ввода/вывода -IOR. В ответ на него устройство-исполнитель должно выдать на шину данных SD свой


код данных (читаемые данные). Логика на шине данных положительная. Через установленное время строб обмена -IOR снимается процессором, после чего снимается также и код адреса с шины SА. Цикл заканчивается без учета быстродействия исполнителя.

Рис. 2.6. Цикл чтения из УВВ на магистрали ISA .

 

Рис. 2.7. Цикл записи в УВВ на магистрали ISA .

Но так происходит только в случае основного, синхронного обмена. Кроме него на магистрали ISA также предусмотрена возможность асинх­ронного обмена. Для этого применяется сигнал готовности канала (магисрали) I/O СН RDY. Тип выходного каскада для данного сигнала — ОК, для предотвращения конфликтов между устройствами-исполнителями. При синхронном обмене сигнал I/O СН RDY всегда положительный. Но медленное устройство-исполнитель, не успевающее работать в темпе процессора, может этот сигнал снять, то есть сделать нулевым сразу после начала строба обмена. Тогда процессор до того момента, пока сигнал I/O СН RDY не станет снова положительным, приостанавливает завершение цикла, продлевает строб обмена. Конечно, слишком большая длительность этого сигнала рассматривается как аварийная ситуация. Для простоты понимания можно считать, что устройство-исполнитель формирует в данном случае отрицательный сигнал неготовности завершить обмен. На время этого сигнала обмен на магистрали приостанавливается.

Принципиальное отличие асинхронного обмена по магистрали ISА от асинхронного обмена по магистрали Q-bus состоит в следующем. Если в случае Q-bus сигнал подтверждения обязателен, и его должен формиро­вать каждый исполнитель, то в случае ISА сигнал о неготовности испол­нитель может не формировать, если он успевает работать в темпе процес­сора. Зато в случае Q-bus к концу цикла обмена процессор всегда уверен, что устройство-исполнитель выполнило требуемую операцию, а в случае ISА такой уверенности нет.

В фазе данных цикла записи по магистрали ISА (рис. 2.7) процессор выставляет на шину данных SD код записываемых данных и сопровожда­ет их стробом записи данных в устройство ввода/вывода –IOW. Получив этот сигнал, устройство-исполнитель должно принять с шины SD код за­писываемых данных. Если оно не успевает сделать это в темпе процессо­ра, то оно может снять на нужное время сигнал I/O СН RDY после полу­чения переднего фронта сигнала -IOW. Тогда процессор приостановит окончание цикла записи.

Рассмотренные примеры, конечно, не раскрывают всех тонкостей об­мена по упомянутым магистралям. Они всего лишь иллюстрируют глав­ные принципы обмена по ним.

 








Дата добавления: 2015-08-26; просмотров: 588;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.01 сек.