Микропрограммирование — это метод систематической реализации блока управления компьютером. В двух словах, это процесс создания микрокода для микропроцессора.
Микрокод — это вспомогательный код, который определяет, как должен действовать микропроцессор, когда он выполняет инструкции на машинном языке, и микрокод иногда называют микропрограммой, когда он используется в определенной операции.
С другой стороны, микропрограммируемый блок управления сохраняет двоичные управляющие значения в виде слов в памяти.
Основные выводы
- В горизонтальном микропрограммировании каждый управляющий сигнал соответствует позиции бита в управляющем слове, тогда как в вертикальном микропрограммировании каждый управляющий сигнал соответствует строке в памяти управления.
- Горизонтальное микропрограммирование является более гибким, чем вертикальное микропрограммирование, поскольку изменения легче вносить, изменяя управляющее слово. Напротив, вертикальное микропрограммирование требует внесения изменений во всю строку в хранилище элементов управления.
- Вертикальное микропрограммирование выполняется быстрее, чем горизонтальное микропрограммирование, поскольку к сигналам управления можно обращаться параллельно, тогда как при горизонтальном микропрограммировании доступ к сигналам должен осуществляться последовательно.
Горизонтальное микропрограммирование против вертикального микропрограммирования
В микропрограммировании горизонтальное микропрограммирование использует широкий формат микрокоманд с одним битом на сигнал управления, предлагая большую гибкость и скорость. Вертикальное микропрограммирование использует узкий формат микрокоманд, который требует декодирования, медленнее, но требует меньше памяти.
Сигналы управления в горизонтальном микропрограммном блоке управления представлены в декодированном двоичном формате.
Каждый бит в горизонтальном микропрограммировании связан с одной контрольной точкой, указывающей на необходимость выполнения соответствующей микрооперации.
Поскольку каждая микроинструкция может одновременно управлять несколькими ресурсами, она потенциально может повысить эффективность использования аппаратных средств, одновременно сократив количество микроинструкций, необходимых для каждой микропрограммы.
Сигналы управления в вертикальном микропрограммном блоке управления кодируются в двоичном формате. Каждая микрооперация имеет свой код, который декодер переводит в отдельные управляющие сигналы.
Поля микроинструкций используются полностью, поскольку определяется только выполняемая микрооперация. Кроме того, вертикальные микропрограммы проще писать, чем горизонтальные.
Сравнительная таблица
Параметры сравнения | Горизонтальное микропрограммирование | Вертикальное микропрограммирование |
---|---|---|
Степень параллелизма | более высокая степень параллелизма | низкая степень параллелизма |
Гибкий Подход | Он менее гибкий | Это более гибкий |
Кодирование | Он меньше использует кодирование ПЗУ, чем вертикальное микропрограммирование. | Он больше использует кодировку ПЗУ |
Дополнительное оборудование | Дополнительное оборудование не требуется | Дополнительное оборудование в виде декодеров |
Последовательность | Он использует горизонтальную микроинструкцию | Он использует вертикальную микроинструкцию |
Что такое горизонтальное микропрограммирование?
В горизонтально программируемом блоке управления управляющие сигналы отображаются в декодированном двоичном формате, то есть 1бут/CS, где n управляющих сигналов нуждаются в n но кодировании.
Каждый бит в горизонтальном микропрограммировании связан с единственной контрольной точкой, демонстрирующей выполнение соответствующей микрооперации.
Поскольку каждая микроинструкция может одновременно управлять множеством курортов, она потенциально может улучшить использование оборудования, а также требует меньшего количества микроинструкций на микропрограмму.
С другой стороны, горизонтальные микропрограммы представляют собой набор микроопераций, выполняемых одновременно.
Это обеспечивает больший параллелизм при меньшем кодировании и разделении полей управления. С другой стороны, разработка микропрограмм, оптимально или эффективно использующих ресурсы, является сложной задачей.
Поскольку каждый бит управления независим от других, горизонтальное микропрограммирование предоставляет большую свободу. Поскольку они длиннее, чем вертикальные микрокоманды, они предоставляют больше информации.
Подобно традиционному машинному языку, горизонтальное микропрограммирование использует последовательный способ выражения следующих спецификаций в рациональном программном обеспечении.
Каждый бит связан с одним командным пунктом, что указывает на то, что он соответствует соответствующему пункту управления. Будет проведена микрооперация. Ветви, которые бывают как условными, так и безусловными. Затем последовательность должна быть нарушена с помощью элементов управления.
Что такое вертикальное микропрограммирование?
Сигналы управления определяются в закодированном двоичном формате в вертикальных микропрограммируемых блоках управления, а управляющие сигналы 'n' требуют кодирования log2n бит.
Вертикальное микропрограммирование, в отличие от горизонтального микропрограммирования, использует гибкий формат и более высокую степень кодирования.
Это уменьшает длину микрокоманды и предотвращает прямое влияние увеличения объема памяти на длину микрокоманды. В большинстве случаев каждая вертикальная микрокоманда представляет собой одну микрооперацию.
Вертикальные микропрограммы имеют более высокую плотность кода, что увеличивает размер хранилища элементов управления. Вертикальные микроинструкции аналогичны традиционному стилю машинного языка, который состоит только из одной операции и нескольких операндов.
Написание вертикальных микропрограмм проще, чем написание горизонтальных микропрограмм. Вертикальная микроинструкция напоминает классический машинный язык, в котором имеется только одно действие и несколько операндов.
В результате микропрограммирование легко реализовать. Он состоит из четырех-шести полей, каждое из которых требует от 16 до 32 битов на инструкцию.
Вертикальные микропрограммы имеют более высокую насыщенность кода, что увеличивает емкость хранилища управления. Вертикальная микрокоманда похожа на традиционный стиль машинного языка, который состоит только из одной функции и нескольких элементов обработки.
Каждая вертикальная микроинструкция определяет конкретную микрооперацию с операндами, указывающими источник данных и приемник.
Основное различие между горизонтальным микропрограммированием и вертикальным микропрограммированием
- Горизонтальное микропрограммирование допускает более высокую степень параллелизма; если степень равна n, то n управляющих сигналов включены одновременно. С другой стороны, горизонтальное микропрограммирование допускает низкую степень параллелизма; если степень равна 0 или 1, то одновременно активируется только один управляющий сигнал.
- Горизонтальное микропрограммирование менее гибко, чем вертикальное микропрограммирование блока управления.
- Горизонтальное микропрограммирование меньше использует кодирование RaoM, тогда как вертикальное микропрограммирование больше использует кодирование ROM для уменьшения длины управляющего слова.
- Для горизонтального микропрограммирования не требуется никакого дополнительного оборудования, но в вертикальном микропрограммировании дополнительное оборудование представлено в виде декодеров, которые необходимы для генерации управляющих сигналов.
- Горизонтальное микропрограммирование использует горизонтальные микрокоманды, в которых каждый бит в поле управления связан с линией управления. С другой стороны, вертикальное микропрограммирование использует вертикальные микроинструкции, в которых каждому действию присваивается код, который затем преобразуется декодерами в отдельные управляющие сигналы.