Разница между горизонтальным микропрограммированием и вертикальным микропрограммированием (с таблицей)

Оглавление:

Anonim

Микропрограммирование - это метод систематической реализации блока управления компьютером. Вкратце, это процесс создания микрокода для микропроцессора. Микрокод - это вспомогательный код, который диктует, как микропроцессор должен действовать, когда он выполняет инструкции машинного языка, и микрокод иногда называют микропрограммой, когда он используется в определенной операции. С другой стороны, микропрограммный блок управления сохраняет двоичные контрольные значения в виде слов в памяти.

Горизонтальное микропрограммирование против вертикального микропрограммирования

Разница между горизонтальным микропрограммированием и вертикальным микропрограммированием заключается в их поддержке, степени параллелизма использования микропрограммирования и гибкости. Оба они отличаются друг от друга, когда дело касается кодирования битами. Они также различаются по своей конструкции и обработке, что позволяет им узнавать данные.

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

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

Таблица сравнения горизонтального и вертикального микропрограммирования

Параметры сравнения

Горизонтальное микропрограммирование

Вертикальное микропрограммирование

Степень параллелизма более высокая степень параллелизма низкая степень параллелизма
Гибкий Он менее гибкий Это более гибкий
Кодирование В нем меньше используется кодирование ПЗУ, чем при вертикальном микропрограммировании. Он больше использует кодирование ПЗУ
Дополнительное оборудование Никакого дополнительного оборудования не требуется Дополнительное оборудование в виде декодеров.
Последовательность Использует горизонтальную микрокоманду Используется вертикальная микрокоманда.

Что такое горизонтальное микропрограммирование?

В горизонтальном программируемом блоке управления Micro управляющие сигналы отображаются в декодированном двоичном формате, то есть 1, но / CS, где «n» управляющих сигналов нуждаются в n, но кодировании.

Каждый бит в горизонтальном микропрограммировании связан с особой контрольной точкой, демонстрируя, что должна быть выполнена соответствующая микрооперация. Поскольку каждая микрокоманда может управлять множеством курортов одновременно, она может улучшить использование оборудования, при этом требуя меньшего количества микрокоманд на микропрограмму. С другой стороны, горизонтальные микропрограммы обычно представляют собой набор микроопераций, выполняемых одновременно.

Это обеспечивает больший параллелизм при меньшем использовании кодирования и разделения полей управления. С другой стороны, разработка микропрограмм, которые используют ресурсы оптимально или эффективно, является сложной задачей. Поскольку каждый бит управления независим от других, горизонтальное микропрограммирование обеспечивает большую свободу. Поскольку он длиннее, чем вертикальные микрокоманды, он обычно предоставляет больше информации.

Горизонтальное микропрограммирование, как и традиционный машинный язык, использует последовательный способ выражения следующих спецификаций в рациональном программном обеспечении. Каждый бит связан с одним командным пунктом, что указывает на то, что он соответствует соответствующей контрольной точке. Будет проведена микрооперация. Ветви как условные, так и безусловные. Затем последовательность должна быть нарушена с помощью функций управления.

Что такое вертикальное микропрограммирование?

Управляющие сигналы определены в закодированном двоичном формате в вертикальных микропрограммированных блоках управления, а управляющие сигналы «n» требуют кодирования log2n битов. Вертикальное микропрограммирование, в отличие от горизонтального микропрограммирования, использует гибкий формат и более высокую степень кодирования. Это не только уменьшает длину микрокоманды, но также позволяет избежать прямого влияния на длину микрокоманды увеличения объема памяти. В большинстве случаев каждая вертикальная микрокоманда представляет собой одну микрооперацию.

Вертикальные микропрограммы имеют более высокую плотность кода, что способствует увеличению размера управляющего хранилища. Вертикальные микрокоманды похожи на традиционный стиль машинного языка, который состоит только из одной операции и нескольких операндов. Написание вертикальных микропрограмм проще, чем горизонтальных микропрограмм. Вертикальные микрокоманды напоминают классический машинный язык, который имеет только одно действие и несколько операндов. В результате микропрограммирование просто реализовать. Обычно он состоит из четырех-шести полей, каждое из которых требует от 16 до 32 бит на инструкцию.

Вертикальные микропрограммы имеют более высокое насыщение кода, что увеличивает емкость хранилища управления. Вертикальные микрокоманды похожи на традиционный стиль машинного языка, который состоит только из одной функции и нескольких элементов обработки. Каждая вертикальная микрокоманда определяет конкретную микрооперацию с операндами, указывающими источник данных и приемник.

Основное различие между горизонтальным микропрограммированием и вертикальным микропрограммированием

  1. Горизонтальное микропрограммирование обеспечивает более высокую степень параллелизма; если степень равна n, то одновременно включаются n управляющих сигналов. С другой стороны, горизонтальное микропрограммирование допускает низкую степень параллелизма; если степень равна 0 или 1, то одновременно разрешается только один управляющий сигнал.
  2. Горизонтальное микропрограммирование менее гибкое, чем устройство управления вертикальным микропрограммированием.
  3. Горизонтальное микропрограммирование меньше использует кодирование RaoM, тогда как вертикальное микропрограммирование делает больше кодирования ROM, чтобы уменьшить длину управляющего слова.
  4. Для горизонтального микропрограммирования не требуется никакого дополнительного оборудования, но при вертикальном микропрограммировании дополнительное оборудование представляет собой декодеры, которые требуются для генерации управляющих сигналов.
  5. Горизонтальное микропрограммирование использует горизонтальную микрокоманду, в которой каждый бит в поле управления связан с линией управления. С другой стороны, вертикальное микропрограммирование использует вертикальные микрокоманды, в которых каждому действию назначается код, который затем переводится декодерами в отдельные управляющие сигналы.

Вывод

Микропрограммирование было чрезвычайно эффективным решением проблемы систематического построения контроллеров, и оно использовалось в подавляющем большинстве процессоров (с небольшими изменениями) с середины 1960-х до конца 1980-х годов.

Вертикальные микрокоманды, в отличие от горизонтальных микрокоманд, представляют собой отдельные микрооперации. Вертикальные микропрограммы кодируют биты управления, но горизонтальные микропрограммы допускают высокую степень параллелизма с низким уровнем кодирования и отдельными полями управления. Горизонтальное микропрограммирование происходит быстрее, чем вертикальный микропрограммный блок управления.

Горизонтальное микропрограммирование поддерживает более длинные контрольные слова, тогда как вертикальное микропрограммирование поддерживает более короткие контрольные слова. Выбор между двумя путями должен быть сделан внимательно. Однако на практике дизайнеры комбинируют горизонтальные и вертикальные типы микрокоманд для создания компактной и эффективной структуры.

использованная литература

Разница между горизонтальным микропрограммированием и вертикальным микропрограммированием (с таблицей)