Выбор способа кодирования МК определяется системой команд, структурой микроЭВМ, требованиям к быстродействию и стоимости и представляет собой достаточно сложную задачу. Основными способами кодирования являются:
- горизонтальное кодирование
- вертикальное кодирование
- смешанное
- двухуровневое кодирование МК
Простейшим вариантом кодирования МК является горизонтальное кодирование, при котором каждый разряд поля кода МК - операции однозначно определяет управляющий сигнал для выполнения МК - операции.
Из-за большого набора МК - операций (от нескольких десятков до нескольких сотен) горизонтальное кодирование может потребовать память МК - команд большой разрядности, что и является основным недостатком этого способа кодирования. Достоинством горизонтального кодирования является возможность параллельной работы нескольких операционных устройств ЭВМ, что повышает быстродействие и увеличивает загруженность оборудования. При вертикальном кодировании максимально сокращается разрядность поля МК - команды за счет дешифраторов МК - операций. Недостатком этого способа кодирования является то, что увеличивается время выполнения МК - команды за счет временных задержек дешифраторов и отсутствует возможность формирования одновременно нескольких МК - операций.
При смешанном способе кодирования устраняются по возможности недостатки горизонтального и вертикального кодирования.
При смешанном кодировании в отдельных полях кода МК - операции объединяют взаимоисключающие наборы МК - операций, для обеспечения их параллельного выполнения, как это имеет место при горизонтальном кодировании. Дешифраторы, декодирующие код МК - операций отдельных полей, образуют уровень схем дешифраций МК - операций, реализуемых в каждом поле в течение одного МК - командного цикла. В МПУУ этот способ кодирования (смешанный) находит наиболее широкое применение.
В современных МК-ЭВМ широко используются для интерпретации команды двухуровневая структура МК. Основой для использования данного принципа кодирования является то, что при горизонтальном кодировании часто для реализации МК — программ используется небольшая часть комбинаций, параллельно-выполняемых МК - операций из их максимально возможного числа, поэтому за счет хранения данных комбинаций в отдельной памяти, называемой памятью нанокоманд небольшой емкости и разрядности, требуемой для горизонтального кодирования МК - команды можно достигнуть значительного сокращения общей емкости памяти с максимальным параллелизмом при выполнении МК - операций.
На первом уровне используется вертикальное кодирование, а на втором - горизонтальное. Выполнение МК - команд осуществляется следующим образом: первая МК - команда с вертикальным кодированием извлекается из памяти МК - команд , поле кода МК которой (КМО) является адресом нанокоманды. Выбранная нанокоманда и определяет множество МК - операций, реализуемых в текущем МК — командном цикле.
Использование ПНК целесообразно в случае многократного повторения МК -команд в МК -программах. Одним из способов практического использования такой структуры является использование программируемых логических матриц. 3. Способы формирования адреса следующей МК - команды. Они определяются способами адресации МК - команд и в микро-ЭВМ используются два основных способа адресации МК - команд:
- естественная адресация
- принудительная адресация.
При естественной адресации адрес следующей МК - команды образуется автоматически увеличением адреса предыдущей МК - команды (обычно на 1). Для выполнения условных и безусловных переходов в МК-программе используется принудительная адресация, при которой в каждой МК - команде указывается адрес следующей МК - команды, называемый адресом перехода. Такие МК - команды получили название управляющих МК - команд, которые содержат адрес перехода и поле признаков. Тип МК — команды определяется признаком а. Если а=1, то такая команда с естественной адресацией называется операционной. Если а=0, то команда управляющая.