Реклама:

буют настройки. Поэтому, если есть возможность, то надо формировать задержки, временные сдвиги, интервалы с помощью магистральных тактовых сигналов SYSCLK и OSC или внутренних тактов УС. На рис. 2.23 справа приведена схема с использованием линии задержки на сдвиговом регистре, задержка которой определяется номером замкнутого переключателя и задается с точностью до периода сигнала SYSCLK. Но, в принципе, в данном случае требования к точности времени задержки невысоки, и использование одно-вибратора и даже простой RC-цепочки вполне допустимо.

И в завершение рассматриваемой темы отметим, что асинхронный режим обмена по ISA можно реализовать и на более высоком уровне: путем опроса задатчиком флага готовности исполнителя и путем использования прерываний. Эти решения удобны в случае очень медленных УС, то есть тех, время исполнения функции которыми превышает предельное системное время задержки.

А теперь попробуем изобразить обобщенную структурную схему интерфейсной части УС, включающей в себя все рассмотренные узлы (рис. 2.24). Здесь использованы входные буфера (не обязательны), двунаправленный буфер данных (в общем случае должен быть разделен на два для каждого байта), выходной буфер, селектор адреса, формирователь внутренних стробов и формирователь сигнала асинхронного обмена I/O СН RDY (DK).

Какими могут быть предельные значения времен задержек всех узлов интерфейсной части? Здесь надо рассмотреть две ситуации. Если наше УС работает только в режиме записи в него информации, то желательно, чтобы задержка сигнала БТЯ относительно сигнала -ІСЛУ и задержки сигналов данных были примерно одинаковыми. Ни в коем случае задержка сигнала 8ТЯ не должна превышать задержку данных более чем на 30 не, иначе УС примет неверные данные (см. рис. 1.З.). Разность задержки буферирования и селектирования адреса и задержки буферирования сигнала -ІСЖ не должна превышать 91 не, иначе УС не будет реагировать на свой адрес. Если наше УС работает только в режиме чтения из него информации, то сумма задержки сигнала 8ТЯ относительно сигнала -1(Ж и задержки буфера данных не должна превышать НО не, иначе процессор примет неправильные данные от УС. Требования к буферу адреса и селектору адреса те же. Если же наше УС должно работать как в режиме чтения, так и в режиме записи, то оно должно удовлетворять всем перечисленным требованиям.

Разработка устройств сопряжения для персонального компьютера типа IBM PC. Под общей редакцией Ю. В. Новикова

рис. 2.24. Обобщенная структурная схема интерфейсной части УС.

2.1.5. Особенности использования прерываний

Аппаратные прерывания, как известно, применяются для информирования исполнителем задатчика о готовности к обмену в случае, когда нежелательно организовывать программный опрос флага готовности. Часто можно услышать мнение, что использование прерываний увеличивает быстродействие компьютера. Здесь надо четко понимать, о чем идет речь. Да, в случае применения прерываний процессор освобождается от опроса УС и может заниматься вместо этого другими задачами. Если необходимость в обмене возникает достаточно редко, то выигрыш в быстродействии всей системы в целом может быть довольно значительным. Однако использование прерываний ни в коем случае не увеличивает скорости обмена с УС, наоборот, уменьшает ее. Это связано с тем, что реакция на прерывание гораздо медленнее, чем на выставление флага готовности, ведь, чтобы обслужить прерывание, процессор должен завершить текущий цикл, сохранить в стеке текущие значения^ своих регистров и только потом перейти на программу обработки прерывания. Поэтому в том случае, когда надо обеспечить максимальную скорость реакции на внешнее событие, гораздо лучше использовать опрос флага готовности. Точно так же надо поступать и при достаточно частом возникновении необходимости в обмене, ведь помимо временных затрат на переход к обработке прерывания требуется также время на инициализацию контроллера прерываний, входящего в состав компьютера.


⇐ Предыдущая страница| |Следующая страница ⇒