
8.4. Использование пзу в качестве адресного дешифратора.
.Пусть требуется выделить зоны адресного пространства для размещения в них адресов следующих устройств, каждое из которых представляет собой одну микросхему:,
а) ПЗУ1 зону F000—FFFF, 4K ячеек;
б) ПЗУ2 зону E000—EFFF, 4K ячеек;
в) ОЗУ1 зону A000—A7FF, 2K ячеек;
г) УВВ зону 8000—87FF, 2K ячеек;
д) ОЗУ2 зону 0000—3FFF, 16К ячеек.
Рис.
8.12. Выделение восьми блоков по 256 ячеек
Рис. 8.13. Выделение восьми блоков по 16 ячеек
Так как наименьший блок имеет размер 2К ячеек, то разрешающая способность дешифратора должна обеспечивать деление адресного пространства с точностью до зон размером 2К ячеек. Анализируя пять старших разрядов адреса, получаем необходимую точность, поскольку они делят все адресное пространство объемом 64К ячеек на 25=32 части по 2К ячеек, что и требуется.
Выбираем за основу ПЗУ с пятью адресными входами, имеющее структуру 32х8 бит (рис. 14). Выходы А—Д этого ПЗУ подключаем к инверсным входам выбора кристалла соответствующих микросхем (см. условие задачи).
Рис.
8.14. Микросхема ПЗУ 32Х8 бит, подключенная
к адресной шине
Теперь задача сводится к тому, чтобы разметать все адресное пространство, продвигаясь по нему с шагом 2К ячеек и выбирая на каждом шаге желаемую выходную реакцию. Другими словами, задача сводится к разработке таблицы кодировки ПЗУ, которая в дальнейшем «зашивается» в микросхему. Содержимое ПЗУ представлено в табл. 2.
Если, например, старшие разряды адреса попадают в диапазон 00000— 001112, то это означает, что полный 16-разрядный адрес лежит в диапазоне 0000—3FFF16. При этом, согласно условию задачи, на выходе Д ПЗУ нужно закодировать 0 (см. табл. 2), что обеспечит выбор ОЗУ2. Программирование остальных условий производится аналогично.
Заметим, что в данном применении ПЗУ напоминает стандартный дешифратор, в котором нуль не «бежит по диагонали», как в табл. 1, а программируется по усмотрению пользователя (табл. 2). Перераспределение адресного пространства микроЭВМ достигается простой заменой микросхемы (кодировки ПЗУ). Для удобства замены микросхема ПЗУ может не припаиваться своими выводами к печатной плате, а устанавливаться на контактирующей колодке.
Таблица 2
Диапазон
|
|
|
Входы
|
|
|
|
|
Выходы
|
|
|
адресов
|
А15
|
А14
|
AI3
|
A12
|
All
|
А
|
Б |
В
|
Г
|
Д |
0000— 07FF
|
0
|
0
|
0
|
0
|
0
|
1
|
1 |
1
|
1
|
0
|
0800-OFFF
|
0
|
0
|
0
|
0
|
1
|
1
|
1 |
1
|
1
|
0
|
1000— 17FF
|
0
|
0
|
0
|
1
|
0
|
1
|
1 |
1
|
1
|
0
|
1800— 1FFF
|
0
|
0
|
0
|
1
|
1
|
1
|
1 |
1
|
1
|
0
|
2000— 27FF
|
0
|
0
|
1
|
0
|
0
|
1
|
1 |
1
|
1
|
0
|
2800— 2FFF
|
0
|
0
|
1
|
0
|
1
|
1
|
1 |
1
|
1
|
0
|
3000— 37FF
|
0
|
0
|
1
|
1
|
0
|
1
|
1 |
1
|
1
|
0
|
3800— 3FFF
|
0
|
0
|
1
|
1
|
1
|
1
|
1 |
1
|
1
|
0
|
4000— 47FF
Е800— EFFF
|
0
…… 1
|
1
…. 1
|
0
…… 1
|
0
…. 0
|
0
… 1
|
1
… 1
|
1
… 0 |
1
……. 1
|
1
…. 1
|
1
…. 1
|
FOOO— F7FF
|
1
|
1
|
1
|
1
|
0
|
0
|
1 |
1
|
1
|
1
|
F800— FFFF
|
1
|
1
|
1
|
1
|
1
|
0
|
1 |
1
|
1
|
1
|
Недостаток использования ПЗУ в качестве дешифратора состоит в том, что с уменьшением кванта деления адресного пространства увеличивается число адресных входов ПЗУ. При этом объем накопительной матрицы растет пропорционально 2n , где n—число входов ПЗУ. Поэтому применение ПЗУ оправдано при сравнительно грубом делении, т. е. при малом числе входов. Например, для выделения блока размером 64 ячейки ПЗУ должно иметь 10 адресных входов, что соответствует микросхеме со структурой 1КХ8 бит—сравнительно сложной и дорогой.
Задача дешифрации усложняется, если выделяемая область «не вписывается» в сетку деления адресного пространства на 2, 4, 8 и т. д. частей. Предположим, что необходимо выделить область размером 16К ячеек для следующих трех случаев: область лежит в пределах 0000—3FFF; в пределах 0001—4000; в пределах 0002—4001.
В первом случае область лежит точно в первой четверти адресного пространства и для выявления факта попадания в нее необходимо анализировать два старших разряда адреса. При использовании ПЗУ в качестве адресного дешифратора его объем составил бы 22=4 бита.
Во втором случае область смещена на одну ячейку. При этом дешифратор должен отличать кодовую комбинацию 0000 от 0001 и комбинацию 4000 от 4001 для выявления границ области. Поэтому необходимо анализировать все 16 разрядов адреса. Объем ПЗУ составляет 216=64 К бит.
В третьем случае область смещена на две ячейки. Это несколько облегчает задачу так как младший разряд адреса не участвует в дешифрации. Поэтому объем ПЗУ составляет 215=32K бит.
Использование программируемой логической матрицы в качестве адресного дешифратора. Программируемая логическая матрица (ПЛМ) представляет собой устройство, в которое можно «разместить» некоторую систему логических выражений, представленную в терминах булевой алгебры. На рис. 8.15 показана (условно) микросхема ПЛМ К556РТ1. Пример системы логических выражений, реализуемых этой ПЛМ:
Рис.
8.15. Программируемая логическая
матрица К556РТ1
Рис.
8.16. Внутренняя структура программируемой
логической матрицы
Записи, разделенные знаками дизъюнкции V, называются логическими произведениями. Число членов, разделенных знаками «•» (логическое умножение) в каждом произведении, не более 16. Общее число логических произведений не должно превышать 48. Это значение определяется площадью кристалла данной конкретной ПЛМ. Одинаковые логические произведения учитываются при подсчете общего числа только один раз (см. подчеркнутые логические произведения в приведенном выше примере). Любой выход может быть прямым или инверсным, по усмотрению пользователя. Выходы ПЛМ выполнены по схеме с «открытым коллектором».
Внутренняя структура ПЛМ представлена на рис. 8.16. До того как ПЛМ запрограммирована, имеются все связи, обозначенные символами *, т. е. для простоты можно считать, что каждый выход предыдущего уровня связан с каждым входом ближайшего последующего уровня. Ненужные связи устраняются на этапе программирования ПЛМ путем пережигания плавких перемычек.
Проведем сравнение ПЗУ и ПЛМ как адресных дешифраторов. Пусть в адресном пространстве требуется выделить следующие области:
D1: 0000—3FFF (16К ячеек);
D1: 8000—801F (32 ячейки);
D2: A000—A07F (128 ячеек);
D3: FE00—FFFF (512 ячеек).
Эти же условия представлены в табл. 3.
Минимальной областью является область D1 размером в 32 ячейки. Для ее адресации с использованием ПЗУ необходимо подать на входы этого ПЗУ 11 старших разрядов адреса, с 15-го по 5-й. Поскольку 211 =2048, то необходимо ПЗУ со структурой 2КХ4=8К бит (рис.8.17). Теперь, используя информацию, представленную в табл. 3, записываем исходные условия в виде, удобном для их реализации в ПЛМ:
Таблица 3
Область
|
Разряды адреса
| |||||||||||||||
15
|
14
|
13
|
12
|
11
|
10
|
9
|
8
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
| |
D0
|
0
|
0
|
X
|
X
|
X
|
X
|
X
|
X
|
X
|
X
|
X
|
X
|
X
|
X
|
X
|
X
|
D1
|
1
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
U
|
X
|
X
|
X
|
X
|
X
|
D2
|
1
|
0
|
1
|
0
|
0
|
0
|
0
|
0
|
0
|
X
|
X
|
X
|
X
|
X
|
X
|
X
|
D3
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
X
|
X
|
X
|
X
|
X
|
X
|
X
|
X
|
X
|
Эти формулы удовлетворяют перечисленным ограничениям и, следовательно, могут быть реализованы с помощью ПЛМ. Из 48 «имеющихся» в ПЛМ логических произведений будут заняты только четыре. Дизъюнктивные возможности ПЛМ (...V...V—) в данном случае не используются. Если сравнивать ПЗУ и ПЛМ, то можно сказать, что в данном примере 8К бит ПЗУ эквивалентны четырем логическим произведениям, т, е. одно логическое произведение «стоит» 2К бит.
Поскольку
каждое, логическое произведение может
содержать до 16 переменных, ПЛМ позволяет
вести дешифрацию с точностью до отдельных
ячеек, т. е. полную дешифрацию (не более
чем восьми ячеек, расположенных в
произвольных точках адресного
пространства). Поскольку, как
отмечалось, дизъюнктивные возможности
ПЛМ не используются, специально для
целей адресной дешифрации разработаны
упрощенные ПЛМ без выходных элементов
ИЛИ. Например, фирмаSignetics,
США выпускает ПЛМ 82S103
(16 входов, 9 выходов), PLS162
(16 входов, 5 выходов), PLS163
(12 входов, 9 выходов). Эти ПЛМ — оптимальные
устройства для разделения адресного
пространства.
Рис. 8.17. Использование ПЗУ со структурой 2КХ4 бит в качестве адресного дешифратора