Реклама:

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

Рис. 3.58. Полное декодирование адреса (а); частичное декодирование адреса (б)

Схемы МИС стоят очень дешево, поэтому не слишком эффективное применение одной из них вполне допустимо. По соглашению неиспользуемые входы на схемах не показаны.

Тот же принцип можно применить и для ОЗУ. Однако ОЗУ должно отзываться на бинарные адреса типа ЮОООххххххххххх, поэтому необходим дополнительный инвертор (он показан на схеме). Декодирование адреса микросхемы РЮ несколько сложнее, поскольку к ней происходит обращение с помощью четырех адресов типа 1111111 111 111 1хх. Один из возможных вариантов схемы, которая устанавливает сигнал CS только в том случае, если на адресной шине появляется адрес данного типа, показан на рисунке. Здесь используются два вентиля НЕ-И с восемью входами, которые соединяются с вентилем ИЛИ. Чтобы сконструировать схему декодирования адреса, изображенную на рис. 3.58, я, требуется шесть микросхем МИС: четыре микросхемы с восемью входами, вентиль ИЛИ и микросхема с тремя инверторами.

Если компьютер состоит только из центрального процессора, двух микросхем памяти и РЮ, можно значительно упростить декодирование адреса. Дело в том, что у всех адресов EPROM (и только у EPROM) старший бит А15 всегда равен 0. Следовательно, мы можем просто связать сигнал CS с линией А15, как показано на рис. 3.58, б.

Теперь решение разместить ОЗУ с адреса 8000Н кажется не таким уж произвольным. Отметим, что в ОЗУ попадают адреса типа поэтому для декодирования достаточно 2 бит. Точно так же любой адрес, начинающийся с И, является адресом РЮ. Полная логика декодирования состоит из двух вентилей НЕ-И и инвертора. Поскольку инвертор можно сделать из вентиля НЕ-И, связав два входа вместе, одного счетверенного вентиля НЕ-И более чем достаточно.

Логика, которую иллюстрирует рис. 3.58, г5, называется частичным декодированием адреса, поскольку в данном случае полные адреса не используются. При таком декодировании считывание из адресов 0001000000000000, 0001100000000000 и 0010000000000000 дает один и тот же результат. В действительности любой адрес в нижней половине адресного пространства означает выбор EPROM. Поскольку дополнительные адреса не используются, в этом нет ничего ужасного, но при разработке компьютера, который в будущем предполагается расширять (в случае с игрушками это маловероятно), следует избегать частичного декодирования, поскольку оно значительно ограничивает адресное пространство.

Можно применять и другую технологию декодирования адреса — с использованием декодера (см. рис. 3.12). Связав три входа с тремя адресными линиями самых старших разрядов, мы получаем восемь выходов, которые соответствуют адресам в первом отрезке 8 К, втором отрезке 8 К и т. д. В компьютере, содержащем 8 микросхем ОЗУ по 8 К х 8 байт, полное декодирование осуществляет одна такая микросхема. Если компьютер содержит 8 микросхем памяти по 2 К х 8 байт, для декодирования также достаточно одного декодера при условии, что каждая микросхема памяти занимает отдельную область адресного пространства в 8 К. (Вспомните наше замечание о том, что расположение микросхем памяти и устройств ввода-вывода внутри адресного пространства имеет значение.)


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