- •Глава 6
- •Устройства управления
- •Кодирование микрокоманд
- •Обеспечение последовательности выполнение микрокоманд
- •Адресация микрокоманд
- •Организация памяти микропрограмм
- •Запоминающие устройства микропрограмм
- •Минимизация количества слов памяти микропрограмм
- •Минимизация разрядности микрокоманды
- •Пути повышения быстродействия автоматов микропрограммного управления
- •Контрольные вопросы
Организация памяти микропрограмм
Функциональные возможности и структура микропрограммных автоматов в значительной степени зависят от организации памяти для хранения микропрограмм. Основные способы организации памяти микропрограмм можно свести к следующим вариантам [3].
-
Каждое слово ПМП содержит одну микрокоманду. Это наиболее простая организация ПМП. Основной недостаток — в каждом такте работы МГЛА требуется обращение к памяти микропрограмм, что приводит к снижению быстродействия МПА.
-
Одно слово ПМП содержит несколько микрокоманд. В результате осуществляется одновременное считывание из ПМП нескольких МК, что позволяет повысить быстродействие УУ.
3. Сегментация ПМП, при которой память разделяется на сегменты, состоящие из 2q соседних слов, при этом адрес слова АМК разделяется на два поля: S и А. Поле S определяет адрес сегмента, а поле А — адрес слова в сегменте. Адрес S устанавливается специальной микрокомандой. В последующих микрокомандах указывается только адрес слова А в сегменте. Таким образом, разрядность адресной части МК уменьшается.
4.Двухуровневая память (рис. 6.19). Первый уровень — микропамять, хранящая микрокоманды. Второй уровень — нанопамять, содержащая нанокоманды.
МК выбирается из микропамяти и служит для адресации слова нанопамяти, которое включает в себя необходимые сигналы управления. После выполнения микроопераций из микропамяти выбирается следующая МК. Иначе говоря, нанопамять реализует функцию шифратора управляющих сигналов (см. рис. 6.9, е). Двухуровневая память рассматривается как способ для уменьшения необходимой емкости ПМП, ее использование целесообразно только при многократном повторении микрокоманд в микропрограмме.
Рис.6.19. Двухуровневая организация памяти МПА.
Запоминающие устройства микропрограмм
Память микропрограмм может быть реализована запоминающими устройствам различных типов. В зависимости от типа применяемого ЗУ различают МПА со статическим и динамическим микропрограммированием [28]. В первом случаев качестве ПМП используется постоянное ЗУ (ПЗУ) или программируемая логическая матрица (ПЛМ), во втором — оперативное ЗУ.
Динамическое микропрограммирование в отличие от статического позволяет оперативно модифицировать микропрограммы УУ, меняя тем самым функциональные свойства ВМ. Основное препятствие на пути широкого использования динамического микропрограммирования — энергозависимость и относительно невысокое быстродействие ОЗУ.
В УУ со статическим микропрограммированием более распространены ПЛМ. Программируемая логическая матрица является разновидностью ПЗУ, в котором программируются не только данные, но и адреса, благодаря чему на ПЛМ можно реализовать как память микропрограмм, так и формирователь адреса следующей микрокоманды.
ПЗУ содержит полный дешифратор с и разрядным входом (адресом) и 2п выходами. Напротив, ПЛМ имеет неполный дешифратор, количество выходов в котором меньше, чем 2п, поэтому в ПЛМ некоторые адреса вообще не инициируют действий, тогда как другие адреса могут оказаться неразличимыми. Таким образом, возможна выборка одного слова с помощью двух или более адресов или же выборка нескольких слов с помощью одного адреса, что эквивалентно реализации функции «ИЛИ» от выбранных слов.
В структуре ПЛМ (рис. 6.20) выделяют три части [21]:
• буфер Б, формирующий парафазные значения входных переменных
* «И»-матрицу адресов, на выходе которой вырабатываются значения термов
* «ИЛИ»-матрицу данных, на выходе которой формируются сигналы, представляющие значения выходных переменных с1 ..., сm. Матрица адресов содержит 2т входных цепей (горизонтальные линии) и jm-входовых элементов «И»' каждый из входов которых (вертикальные линии) может соединяться с входной цепью в точках, обозначенных крестиком. Аналогично строится матрица данных, в которой крестиками обозначены возможные соединения входных' цепей матрицы с nj-входовыми элементами «ИЛИ».
Матрица данных
Рис.6.20. Структура программируемой логической матрицы
Соединения в ПЛМ обеспечивают однонаправленную передачу сигналов: в матрице «И» — из любой горизонтальной цепи в вертикальную, а в матрице «ИЛИ» — из любой вертикальной цепи в горизонтальную. Такие соединения осуществляются за счет диодов или транзисторов.
Процесс установления соединений между горизонтальными и вертикальными цепями матриц называется программированием ПЛМ (программированием адресов и данных соответственно). Различают ПЛМ с масочным и электрическим программированием, а также перепрограммируемые логические матрицы. В ПЛМ Первого типа информация заносится посредством подключения диодов или транзисторов к цепям за счет металлизации соответствующих участков матриц, выполняемой через маску (шаблон). В ПЛМ с электрическим программированием либо устанавливаются нужные соединения (путем пробоя слоя диэлектрика, (р-п)-перехода), либо уничтожаются ненужные соединения (благодаря выжиганию плавких перемычек). Перепрограммируемые ПЛМ позволяют многократно переписывать информацию. При этом стирание информации производится ультрафиолетовым излучением, а запись — электрическим током.
ПЛМ более экономны по затратам, чем ПЗУ, в трех случаях:
*при выдаче нулевого кода;
*при формировании значения функции «логическое ИЛИ» от нескольких слов;
*при записи одного и того же слова по нескольким адресам.
Чтобы иметь возможность выдать нулевой код из ПЗУ, необходимо обеспечь предварительную запись нуля в определенную ячейку. В ПЛМ для этого достаточно обращения по незапрограммированному адресу.
Во втором случае в ПЗУ опять должна задействоваться дополнительная ячейка. Для хранения кода, специально запрограммированного как логическое «ИЛИ»
от нескольких слов. В ПЛМ один адрес может относиться к нескольким словам, которые на выходе матрицы данных объединяются по схеме «ИЛИ».
В третьем случае в ПЗУ требуется многократная запись одного слова по всем указанным адресам. Применительно к ПЛМ это означает, что какое-то слово в матрице данных имеет адрес вида 010ХХ, где XX — разряды с безразличным значением (цепи соответствующих разрядов буфера не подключены к вертикальным цепям матрицы адресов).