русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2013-12-23; просмотров: 1255; Нарушение авторских прав


Циклы обмена информацией.

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

Первый пример — это обмен по мультиплексированной асинхронной магистрали 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. Тогда процессор приостановит окончание цикла записи.

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

 



<== предыдущая лекция | следующая лекция ==>
Шины микропроцессорной системы | Циклы обмена по прерываниям


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.005 сек.