Реклама:

Таненбаум Э.- Архитектура компьютера. стр.180

Мы видим на рис. 3.56, что помимо 24 выводов для трех портов микросхема 8255А содержит восемь линий, непосредственно связанных с шиной данных, линию выбора элемента памяти, линии чтения и записи, две адресные линии и линию для переустановки микросхемы. Две адресные линии позволяют выбрать один из четырех внутренних регистров, три из которых соответствуют портам А, В и С. Четвертый регистр — регистр состояния. Он определяет, какие порты используются для ввода, а какие — для вывода, а также выполняет некоторые другие функции. Обычно две адресные линии соединяются с двумя младшими битами адресной шины.

Декодирование адреса

До настоящего момента мы не останавливались подробно на том, как происходит выбор микросхемы памяти или устройства ввода-вывода. Рассмотрим простой 16-разрядный встроенный компьютер, состоящий из центрального процессора, памяти EPROM объемом 2 К х 8 байт для хранения программы, ОЗУ объемом 2 К х 8 байт для хранения данных и микросхемы РЮ. Такая небольшая система может встраиваться в дешевую игрушку или простой прибор. Вместо EPROM может использоваться обычное ПЗУ.

К микросхеме РЮ можно обратиться одним из двух способов: как к устройству ввода-вывода или как к части памяти. Если микросхема нам нужна в качестве устройства ввода-вывода, мы должны обратиться к ней, использовав внешнюю линию шины. Другой подход называется вводом-выводом с отображением на память (memory-mapped I/O). В этом случае микросхеме требуется назначить 4 байта памяти для трех портов и регистра управления. Наш выбор в какой-то степени произволен. Рассмотрим ввод-вывод с отображением на память, поскольку этот подход наглядно иллюстрирует некоторые интересные проблемы сопряжения.

Памяти EPROM требуется 2 Кбайт адресного пространства, ОЗУ — также 2 Кбайт, микросхеме РЮ — 4 байта. Поскольку в нашем примере адресное пространство составляет 64 К адресов, мы должны выбрать, где поместить указанные три устройства. Один из возможных вариантов показан на рис. 3.57. EPROM занимает адреса до 2 К, ОЗУ — от 32 К до 34 К, РЮ — 4 старших байта адресного пространства, от адресов 65 532 до 65 535. С точки зрения программиста, не важно, какие именно адреса использовать, однако для сопряжения это имеет большое значение. Если бы мы обращались к РЮ через пространство ввода-вывода, нам не потребовались бы адреса памяти (зато понадобились бы четыре адреса пространства ввода-вывода).

Таненбаум Э.- Архитектура компьютера.

Рис. 3.57. Расположение EPROM, ОЗУ и РЮ в пространстве из 64К адресов

При таком распределении адресов к EPROM нужно обращаться с помощью 16-разрядного адреса памяти ОООООххххххххххг (в двоичной системе). Другими словами, любой адрес, у которого пять старших битов равны 0, попадает в область памяти до 2 К, то есть в EPROM. Таким образом, сигнал выбора EPROM можно связать с 5-разрядным компаратором, у которого один из входов всегда будет соединен с 00000.

Чтобы достичь того же результата, лучше было бы использовать вентиль ИЛИ с пятью входами, связанными с адресными линиями от Аи до А15. Выходной сигнал может быть равен 0 тогда и только тогда, когда все пять линий равны 0. В этом слу чае устанавливается сигнал С8. К сожалению, в стандартных сериях МИС не существует вентилей ИЛИ с пятью входами. Однако мы можем использовать вентиль НЕ-ИЛИ с восемью входами. Заземлив три входа и инвертировав выход, мы можем получить нужный нам сигнал (рис. 3.58, а).


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