Организация микропроцессорных систем. Учебное пособие. Могнонов П.Б. - 37 стр.

UptoLike

Составители: 

В современных микропроцессорах широко используется двухуровневое кодирование
микрокоманд. Например, в МП68000 фирмы Motorola первый уровень микрокоманд
использует вертикальное кодирование МК, выбирающие широкие горизонтальные МК
второго уровня, называемые нанокомандами. Основой использования данного принципа
кодирования является то, что в случае горизонтального кодирования часто для реализации
микропрограмм используется небольшая часть параллельно выполняемых МО из
максимально возможного их числа. Поэтому за счет хранения данных комбинаций в
отдельной памяти нанокоманд (ПНК) небольшой емкости и разрядности, требуемой для
горизонтального кодирования МК, можно достичь значительного сокращения общей
емкости памяти с максимальным параллелизмом при выполнении микроопераций.
На рис.2.18 представлена структурная схема УУ с двухуровневым кодированием
микрокоманд, в котором на первом уровне используется вертикальное кодирование, а на
второмгоризонтальное. Выполнение микрокоманды осуществляется следующим образом.
Первая микрокоманда с вертикальным кодированием извлекается из ПМК, поле кода
микрооперации, которой является адресом нанокоманды. Нанокоманда, считанная из памяти,
и определяет множество микроопераций, реализуемых в текущем микрокомандном цикле.
Например, память для хранения микропрограмм объемом 4К 32-битных микрокоманд
при числе нанокоманд 256 может быть реализовано как совокупность памяти
нанокомандаПНК
КМО АСМК
КОППМК
микрокоманда
Рис.2.18. УУ с двухуровневым кодированием микрокоманд
микрокоманд емкостью 4К 8-битных слов и памяти нанокоманд емкостью 256 32-битных
слов. Это позволяет сократить память в три раза. Обычно такие структуры УУ реализуются
на программируемых логических матрицах.
Синхронизация микрокоманд
В основе синхронизации микрокоманды лежит число тактирующих сигналов,
необходимых для ее реализации. С этой точки зрения выделяют однотактные микрокоманды
и многотактные, для реализации которых требуется последовательность тактирующих
сигналов.
В однотактных микрокомандах все микрооперации выполняются одновременно в
течение одного такта, и называется микрокомандным циклом.
В многотактных микрокомандах такт (микрокомандный цикл) разбивается на части,
называемые микротактами, и указанные в микрокоманде микрооперации выполняются в
различные микротакты. В этом случае приходится учитывать временные зависимости между
отдельными микрооперациями. Однако, становится возможным включать в микрокоманду
взаимно исключающие микрооперации, разводя их по разным тактам.
Многотактная синхронизация позволяет минимизировать число микрокоманд в
памяти, упрощает параллельную выборку и выполнение микрокоманд, также упрощает связи
между источниками и приемниками информации при выполнении микрокоманд.
      В современных микропроцессорах широко используется двухуровневое кодирование
микрокоманд. Например, в МП68000 фирмы Motorola первый уровень микрокоманд
использует вертикальное кодирование МК, выбирающие широкие горизонтальные МК
второго уровня, называемые нанокомандами. Основой использования данного принципа
кодирования является то, что в случае горизонтального кодирования часто для реализации
микропрограмм используется небольшая часть параллельно выполняемых МО из
максимально возможного их числа. Поэтому за счет хранения данных комбинаций в
отдельной памяти нанокоманд (ПНК) небольшой емкости и разрядности, требуемой для
горизонтального кодирования МК, можно достичь значительного сокращения общей
емкости памяти с максимальным параллелизмом при выполнении микроопераций.
      На рис.2.18 представлена структурная схема УУ с двухуровневым кодированием
микрокоманд, в котором на первом уровне используется вертикальное кодирование, а на
втором – горизонтальное. Выполнение микрокоманды осуществляется следующим образом.
      Первая микрокоманда с вертикальным кодированием извлекается из ПМК, поле кода
микрооперации, которой является адресом нанокоманды. Нанокоманда, считанная из памяти,
и определяет множество микроопераций, реализуемых в текущем микрокомандном цикле.
      Например, память для хранения микропрограмм объемом 4К 32-битных микрокоманд
при числе нанокоманд 256 может быть реализовано как совокупность памяти

                              ПМК       КОП

                                микрокоманда

                             КМО    АСМК


                                     ПНК       нанокоманда

               Рис.2.18. УУ с двухуровневым кодированием микрокоманд

микрокоманд емкостью 4К 8-битных слов и памяти нанокоманд емкостью 256 32-битных
слов. Это позволяет сократить память в три раза. Обычно такие структуры УУ реализуются
на программируемых логических матрицах.

                             Синхронизация микрокоманд

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