Cтраница 1
![]() |
Структура микрокоманды при горизонтальном микропрограммировании.| Структура микрокоманд при вертикальном микропрограммировании. [1] |
Горизонтальное микропрограммирование находит применение в ЭВМ, для которых число управляющих функциональных сигналов мало. [2]
При горизонтальном микропрограммировании каждому разряду микрокоманды соответствует определенная микрооперация, выполняемая независимо от содержания других разрядов. Наличие единицы в пересечении какой-либо строки и колонки означает посылку данного функционального сигнала в данной микрокоманде, а наличие нуля означает отсутствие функционального сигнала. [3]
![]() |
Формирование исполнительного адреса при относительной и индексной адресации. [4] |
При горизонтальном микропрограммировании каждому управляющему сигналу Уt ставится в соответствие один двоичный разряд с постоянным номером. Единичное состояние разряда операционной части ( 04) микрокоманды ( рис. 5.9) означает, что управляющий сигнал Yi должен быть выработан при выполнении данной микрокоманды, под воздействием которого выполняется соответствующая микрооперация независимо от значения других разрядов 04 микрокоманды. Разрядность 04 микрокоманды в этом случае должна соответствовать числу микроопераций, выполняемых ЭВМ. Микрокоманда может содержать единицы в нескольких разрядах, что позволяет выполнить несколько совместных микроопераций в одном такте. Формирование управляющих сигналов возможно непосредственно от сигналов из регистра 04 микрокоманды без применения схем дешифрации. [5]
Достоинствами принципа горизонтального микропрограммирования являются возможность одновременного выполнения нескольких микроопераций и простота формирования управляющих импульсов. [6]
В основу построения микропрограммного управления спецвычислителя положен принцип горизонтального микропрограммирования, при котором каждому разряду микрокоманды соответствует определенная микрооперация, выполняемая независимо от содержания других разрядов. При горизонтальном микропрограммировании, размещая единицы в нескольких разрядах микрокоманды, можно одновременно выполнить несколько микроопераций, однако все они должны быть совместимы и не производить взаимоисключающих действий. [7]
![]() |
Управляющая память на основе ПЗУ. [8] |
При большой длине вектора F, особенно при горизонтальном микропрограммировании ( когда компоненты данного вектора представляют собой уже готовые управляющие сигналы и их число оказывается большим), реализация УП на основе комбинационных схем становится затруднительной. [9]
Различают два способа организации микропрограммного управления: горизонтальное и вертикальное микропрограммирование. При горизонтальном микропрограммировании каждый двоичный разряд микрокоманды непосредственно управляет одной или несколькими микрооперациями. В этом случае отпадает необходимость в использовании DCMK - Набор возможных микрокоманд в таком БУО составляет 2П, где п - число различных микроопераций или разрядов для представления микрокоманды. В современных ЦВМ величина га может достигать нескольких сотен. Такое многообразие сочетаний выполняемых микроопераций позволяет создать широкий набор операций и строить наиболее эффективные программы. Однако, с другой стороны, это многообразие проявляется как недостаток горизонтального микропрограммирования, так как значительное число возможных операций оказывается лишенным смысла. Рассмотрим пример микропрограммы при горизонтальном микропрограммировании. [10]
В основу построения микропрограммного управления спецвычислителя положен принцип горизонтального микропрограммирования, при котором каждому разряду микрокоманды соответствует определенная микрооперация, выполняемая независимо от содержания других разрядов. При горизонтальном микропрограммировании, размещая единицы в нескольких разрядах микрокоманды, можно одновременно выполнить несколько микроопераций, однако все они должны быть совместимы и не производить взаимоисключающих действий. [11]
Несколько единиц в одной строке здесь свидетельствуют о совместном выполнении микроопераций. Как видно из приведенного примера, при горизонтальном микропрограммировании длина ячейки ЗУ должна быть не меньше максимального числа микроопераций, реализуемых с помощью данного БУО, то есть требуются длинные ячейки. Кроме того, лишь небольшое число разрядов в ячейке будет содержать 1, что приводит к неэффективному использованию ОЗУ. Поэтому в больших универсальных ЦВМ чаще используется вертикальное микропрограммирование. В этом случае микрооперация определяется двоичным кодом в RGMK - Каждая микрокоманда содержит код микрооперации и адресную часть, где указываются номера участвующих в операции узлов. [12]
Однако оно имеет и существенный недостаток, заключающийся в том, что требуется большая длина микрокоманды, поскольку число функциональных сигналов в современном процессоре может достигать нескольких сотен. Поэтому, хотя и известны случаи практического применения горизонтального микропрограммирования, главным образом в малых машинах, где число управляющих функциональных сигналов сравнительно невелико ( около 150), большее распространение получили другие методы. [13]
![]() |
Структура микрокоманды при вертикально-горизонтальном микропрограммировании.| Структура управляющего автомата при горизонтально-вертикальном микропрограммировании. [14] |
Достоинством вертикального микропрограммирования является небольшая длина микрокоманды. Однако в этом случае требуются сложные дешифраторы на большое число микроопераций, а главное - в каждой микрокоманде указывается лишь одна микрооперация, что приводит к увеличению длины микропрограмм по сравнению с их длиной при горизонтальном микропрограммировании. [15]