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

приемопередатчике с двумя шинами и на приемопередатчике с тремя шинами (для 8-разрядных данных).

Отметим, что чаще нужны приемопередатчики с раздельными входными и выходными шинами данных УС, но при использовании многоразрядных микросхем ОЗУ или сдвиговых регистров типа КР1533ИР24 (8Ы74АЬ8299), которые имеют двунаправленную шину данных, удобнее применять приемопередатчики с совмещенными входными/выходными данными УС. ||

2.1.2. Построение селекторов адреса Щ

Второй основной интерфейсной функцией, выполняемой УС, работающими в режиме программного обмена, является селек-тирование или дешифрация адреса. Эту функцию выполняет узел, называемый селектором адреса, который должен выработать сигналы, соответствующие выставлению на шине адреса магистрали кода адреса, принадлежащего данному УС, или одного из зоны адресов данного УС. Обобщенная схема селектора адреса для УС, работающего как устройство ввода/вывода, показана на рис. 2.6. Здесь шина А — это шина адреса магистрали, шина А8 — внутренняя шина УС, на которой присутствует код, сравниваемый с адресом магистрали (может отсутствовать), АОЯ — выходные сигналы селектора адреса, формируемые при обращении по магистрали к данному УС.

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

Рис. 2.6. Структура селектора адреса.

Рассмотрим небольшой пример. Пусть мы выбрали для нашего УС свободную зону из 16 адресов в пространстве устройств ввода/вывода 360 ... 36F. Пусть наше УС должно иметь 4 адреса для 8-разрядного обмена. Тогда мы можем каждому адресу УС поставить в соответствие четыре магистральных адреса (то есть шестнадцать адресов выбранной зоны разделили на четыре адреса УС и получили четыре). Тогда на селектор адреса можно завести не 10, а только 8 адресных линий (SA2 ... SA9), отбросив два младших адреса. При этом, например, первому адресу УС будут соответствовать магистральные адреса 360 ... 363. При обращении к любому из них селектор адреса будет распознавать первый адрес УС.

Однако при данном подходе надо соблюдать осторожность и не захватывать слишком больших зон адресов, так как иначе может не остаться возможностей для расширения системы. Как уже отмечалось, по стандарту ISA, устройства ввода/вывода адресуются 16 разрядами адресной шины SA0 ... SA15, но большинство плат расширения работают только с SA0 ... SA9,

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

поэтому обычно нет смысла обрабатывать разряды SA10 .. SA15. Однако иногда разрабатываемое УС должно иметь очень много адресов. В таком случае оно может дешифровать все 16 разрядов, но свободными будут не все дополнительные адреса, а только окна, соответствующие свободным зонам в 1К-байтном пространстве ООО ... 3FF. Например, свободному окну 300 ... 31F в б4К-байтном пространстве (0000 ... FFFF) будут соответствовать свободные окна 0300 ... 031F, 0F00 ... 0F1F, 1300 ... 131F, 1F00 ... 1F1F и т.д. (всего 64 окна). Так что советуем подумать, следует ли выбирать этот путь, существенно усложняющий селектор адреса.


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