Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
158
Добавлен:
01.06.2015
Размер:
14.91 Mб
Скачать

Организация памяти микропрограмм

Функциональные возможности и структура микропрограммных автоматов в зна­чительной степени зависят от организации памяти для хранения микропрограмм. Основные способы организации памяти микропрограмм можно свести к сле­дующим вариантам [3].

  1. Каждое слово ПМП содержит одну микрокоманду. Это наиболее простая организация ПМП. Основной недостаток — в каждом такте работы МГЛА требуется обращение к памяти микропрограмм, что приводит к снижению быстродействия МПА.

  2. Одно слово ПМП содержит несколько микрокоманд. В результате осуществ­ляется одновременное считывание из ПМП нескольких МК, что позволяет по­высить быстродействие УУ.

3. Сегментация ПМП, при которой память разделяется на сегменты, состоящие из 2q соседних слов, при этом адрес слова АМК разделяется на два поля: S и А. Поле S определяет адрес сегмента, а поле А — адрес слова в сегменте. Адрес S устанавливается специальной микрокомандой. В последующих микрокоман­дах указывается только адрес слова А в сегменте. Таким образом, разрядность адресной части МК уменьшается.

4.Двухуровневая память (рис. 6.19). Первый уровень — микропамять, хранящая микрокоманды. Второй уровень — нанопамять, содержащая нанокоманды.

МК выбирается из микропамяти и служит для адресации слова нанопамяти, которое включает в себя необходимые сигналы управления. После выполнения микроопераций из микропамяти выбирается следующая МК. Иначе говоря, нанопамять реализует функцию шифратора управляющих сигналов (см. рис. 6.9, е). Двухуровневая память рассматривается как способ для уменьшения необходимой емкости ПМП, ее использование целесообразно только при многократном повторении микрокоманд в микропрограмме.

Рис.6.19. Двухуровневая организация памяти МПА.

Запоминающие устройства микропрограмм

Память микропрограмм может быть реализована запоминающими устройствам различных типов. В зависимости от типа применяемого ЗУ различают МПА со статическим и динамическим микропрограммированием [28]. В первом случаев качестве ПМП используется постоянное ЗУ (ПЗУ) или программируемая логи­ческая матрица (ПЛМ), во втором — оперативное ЗУ.

Динамическое микропрограммирование в отличие от статического позволяет оперативно модифицировать микропрограммы УУ, меняя тем самым функцио­нальные свойства ВМ. Основное препятствие на пути широкого использования динамического микропрограммирования — энергозависимость и относительно невысокое быстродействие ОЗУ.

В УУ со статическим микропрограммированием более распространены ПЛМ. Программируемая логическая матрица является разновидностью ПЗУ, в котором программируются не только данные, но и адреса, благодаря чему на ПЛМ можно реализовать как память микропрограмм, так и формирователь адреса следующей микрокоманды.

ПЗУ содержит полный дешифратор с и разрядным входом (адресом) и 2п вы­ходами. Напротив, ПЛМ имеет неполный дешифратор, количество выходов в ко­тором меньше, чем 2п, поэтому в ПЛМ некоторые адреса вообще не инициируют действий, тогда как другие адреса могут оказаться неразличимыми. Таким обра­зом, возможна выборка одного слова с помощью двух или более адресов или же выборка нескольких слов с помощью одного адреса, что эквивалентно реализации функции «ИЛИ» от выбранных слов.

В структуре ПЛМ (рис. 6.20) выделяют три части [21]:

• буфер Б, формирующий парафазные значения входных перемен­ных

* «И»-матрицу адресов, на выходе которой вырабатываются значения тер­мов

* «ИЛИ»-матрицу данных, на выходе которой формируются сигналы, представ­ляющие значения выходных переменных с1 ..., сm. Матрица адресов содержит входных цепей (горизонтальные линии) и jm-входовых элементов «И»' каждый из входов которых (вертикальные линии) может соединяться с входной цепью в точках, обозначенных крестиком. Аналогично строится матрица данных, в которой крестиками обозначены возможные соединения входных' цепей матрицы с nj-входовыми элементами «ИЛИ».

Матрица данных

Рис.6.20. Структура программируемой логической матрицы

Соединения в ПЛМ обеспечивают однонаправленную передачу сигналов: в ма­трице «И» — из любой горизонтальной цепи в вертикальную, а в матрице «ИЛИ» — из любой вертикальной цепи в горизонтальную. Такие соединения осуществляют­ся за счет диодов или транзисторов.

Процесс установления соединений между горизонтальными и вертикальными цепями матриц называется программированием ПЛМ (программированием адре­сов и данных соответственно). Различают ПЛМ с масочным и электрическим про­граммированием, а также перепрограммируемые логические матрицы. В ПЛМ Первого типа информация заносится посредством подключения диодов или тран­зисторов к цепям за счет металлизации соответствующих участков матриц, вы­полняемой через маску (шаблон). В ПЛМ с электрическим программированием либо устанавливаются нужные соединения (путем пробоя слоя диэлектрика, (р-п)-перехода), либо уничтожаются ненужные соединения (благодаря выжига­нию плавких перемычек). Перепрограммируемые ПЛМ позволяют многократно переписывать информацию. При этом стирание информации производится ульт­рафиолетовым излучением, а запись — электрическим током.

ПЛМ более экономны по затратам, чем ПЗУ, в трех случаях:

*при выдаче нулевого кода;

*при формировании значения функции «логическое ИЛИ» от нескольких слов;

*при записи одного и того же слова по нескольким адресам.

Чтобы иметь возможность выдать нулевой код из ПЗУ, необходимо обеспе­чь предварительную запись нуля в определенную ячейку. В ПЛМ для этого достаточно обращения по незапрограммированному адресу.

Во втором случае в ПЗУ опять должна задействоваться дополнительная ячейка. Для хранения кода, специально запрограммированного как логическое «ИЛИ»

от нескольких слов. В ПЛМ один адрес может относиться к нескольким словам, которые на выходе матрицы данных объединяются по схеме «ИЛИ».

В третьем случае в ПЗУ требуется многократная запись одного слова по всем указанным адресам. Применительно к ПЛМ это означает, что какое-то слово в матрице данных имеет адрес вида 010ХХ, где XX — разряды с безразличным значением (цепи соответствующих разрядов буфера не подключены к вертикальным цепям матрицы адресов).