Введение

В компьютерной архитектуре и инженерии секвенсор или микросеквенсор генерирует адреса, используемые для последовательного выполнения микропрограммы в памяти управления. Он применяется как часть блока управления центрального процессора (ЦП) или как независимый генератор диапазонов адресов. Обычно адреса формируются на основе комбинации счетчика, поля из микроинструкции и части регистра команд. Счетчик используется для типичного случая, когда требуется выполнить следующую микроинструкцию. Поле микроинструкции применяется для переходов или другой логики. Поскольку ЦП реализуют набор инструкций, крайне полезно иметь возможность напрямую декодировать биты инструкции в секвенсор для выбора набора микроинструкций, необходимых для выполнения команд ЦП. Большинство современных процессоров CISC используют комбинацию конвейерной логики для обработки менее сложных опкодов, которые могут быть выполнены за один тактовый цикл, и микрокода для реализации тех, которые требуют нескольких тактовых циклов. Одним из первых интегрированных процессоров с микропрограммным управлением был процессор IBM PALM, который эмулировал все инструкции процессора с помощью микрокода и использовался в IBM 5100, одном из первых персональных компьютеров. Современные примеры подобных процессоров на основе микросеквенсоров с открытым исходным кодом включают ядра MicroCore Labs MCL86, MCL51 и MCL65, которые полностью эмулируют наборы команд Intel 8086/8088, 8051 и MOS 6502 с помощью микрокода.

Простой пример

Компьютерная система Digital Scientific Corp. Meta 4 Series 16 была микропрограммируемой системой, доступной для пользователя впервые в 1970 году. Ветвления в последовательности микрокода могут происходить тремя способами. Микроинструкция ветвления указывает адрес следующей инструкции, либо условно, либо безусловно. Опция логического индекса (IX) приводит к логическому ИЛИ 16-битового регистра Link с адресом ветвления, обеспечивая тем самым простую возможность индексированного ветвления. Все арифметические и логические инструкции допускают модификатор перехода (J), который перенаправляет выполнение на микроинструкцию, адресуемую регистром Link. Все арифметические и логические инструкции допускают использование модификаторов уменьшения счетчика (D) и перехода (J). В этом случае 8-битный регистр счетчика цикла уменьшается. Если он после этого не равен нулю, происходит переход по содержимому регистра Link. Если он равен нулю, выполнение продолжается со следующей инструкции. Еще одной опцией последовательности, допустимой в инструкции ветвления, является опция выполнить (XQ). При указании, одиночная инструкция по адресу ветвления выполняется, но затем выполнение продолжается после исходной инструкции ветвления. Опция IX может использоваться совместно с опцией XQ.

Упрощение

Это описание упрощено. Оно не учитывает следующие особенности. Модель 40 может работать в режиме ЦП или в режиме канала. Данное описание рассматривает только режим ЦП. Если микроинструкция не имеет формата функционального перехода, и поле CD равно 1 или 3, то бит 1 следующего адреса всегда равен 0. В этом случае значения полей CD и CB определяют одну из группы управляющих линий, которые активируются.