Микросеквенатор
В компьютерной архитектуре и технике секвенатор выполнения или микросеквенсор генерирует адреса, используемые для пошагового микропрограммы хранилища управления . Он используется как часть блока управления ЦП . или как автономный генератор диапазонов адресов
Обычно адреса генерируются некоторой комбинацией счетчика, поля микроинструкции и некоторого подмножества регистра команд . Счетчик используется в типичном случае, когда выполняется следующая микроинструкция. Поле из микроинструкции используется для переходов или другой логики.
Поскольку ЦП реализуют набор команд, очень полезно иметь возможность декодировать биты инструкций непосредственно в секвенсор, чтобы выбрать набор микроинструкций для выполнения инструкций ЦП.
Большинство современных процессоров CISC используют комбинацию конвейерной логики для обработки кодов операций меньшей сложности, которые могут быть выполнены за один такт, и микрокода для реализации тех, для завершения которых требуется несколько тактов.
Одним из первых интегрированных процессоров с микрокодированием был процессор IBM PALM , который эмулировал все инструкции процессора в микрокоде и использовался в IBM 5100 , одном из первых персональных компьютеров.
Недавними примерами подобных процессоров на основе микросеквенсоров с открытым исходным кодом являются ядра MicroCore Labs MCL86 , MCL51 и MCL65 , которые эмулируют наборы инструкций Intel 8086/8088, 8051 и MOS 6502 полностью в микрокоде.
Простой пример
[ редактировать ]Компьютерная система Digital Scientific Corp. Meta 4 Series 16 представляла собой микропрограммируемую пользователем систему, впервые доступную в 1970 году. Ветви в последовательности микрокода встречаются в один из трех способов. [1]
- Микроинструкция ветвления определяет адрес следующей инструкции условно или безусловно. Опция логического индекса (IX) приводит к тому, что 16-битный регистр Link подвергается логической операции ИЛИ с адресом ветвления, тем самым обеспечивая возможность простого индексированного ветвления.
- Все арифметические/логические инструкции допускают модификатор перехода (J), который перенаправляет выполнение микроинструкции, адресованной регистром Link.
- Все арифметические/логические инструкции допускают использование модификаторов счетчика декремента (D) и перехода (J). В этом случае 8-битный регистр счетчика цикла уменьшается. Если тогда он не равен нулю, выполняется переход к содержимому регистра Link. Если он равен нулю, выполнение продолжается со следующей инструкции.
Еще одна опция последовательности, разрешенная для инструкции ветвления, — это опция выполнения (XQ). Если указано, выполняется единственная инструкция по адресу ветвления, но затем выполнение продолжается после исходной инструкции ветвления. Опцию IX можно использовать с опцией XQ.
Сложный пример
[ редактировать ]IBM System/360 представляла собой серию совместимых компьютеров, представленных в 1964 году, многие из которых были микропрограммированы. [2] System /360 Model 40 — хороший пример микропрограммной машины со сложным микросеквенированием. [3]
Микрохранилище состоит из 4096 56-битных микроинструкций, которые работают в горизонтальный стиль микропрограммирования. Магазин обращается к 12-битному адресный регистр только для чтения (ROAR). В отличие от большинства регистров в Архитектура S/360, биты в ROAR нумеруются начиная с бита 0 справа. к биту 11 слева.
+------------+ | ROAR | +------------+ 11 0
Модель 40 не выполняет последовательного выполнения микрокоманд и поэтому микросеквенатор на самом деле не выполняет ветвление в обычном режиме. смысл. Вместо этого каждая микроинструкция указывает адрес следующей. быть исполненным. Четыре поля в микрокоманде способствуют новому адрес.
- CA, 4 бита: часть следующего адреса, в зависимости от других полей.
- CB, 4 бита: определяет бит 1 следующего адреса.
- CC, 4 бита: определяет бит 0 следующего адреса.
- CD, 2 бита: управляет сборкой следующего адреса (за исключением случаев, когда поле CB содержит 15).
По существу существует три комбинации или формата этих полей.
Функциональный формат филиала
[ редактировать ]Когда поле CB содержит 15, функциональная ветвь возникает . Части новый адрес микромагазина в ROAR определяется следующим образом.
- биты 11–10: поле CD
- биты 9–6: поле CA
- бит 5: всегда 0
- биты 4–1: старшие 4 бита регистра Q, который является правым входом для 8-битного АЛУ.
- бит 0: результат теста, указанный в поле CC
Поле CC может указывать различные тесты состояния машины. Он может также укажите константу 0 или 1 для безусловного бита.
Этот формат изменяет поток управления на 1 из 16 пар инструкций. в младших 32 словах блока микрохранилища из 64 слов (поскольку бит 5 всегда 0). Поле CC затем определяет, какая инструкция из пары получает управление.
CD = формат 0, 1, 3
[ редактировать ]Когда поле CD равно 0, 1 или 3, поток управления направляется к инструкцию в текущем блоке из 64 слов. Немного о новом микромагазине адрес определяются следующим образом.
- биты 11–6: остаются прежними
- биты 5–2: поле CA
- бит 1: если CD = 0, результат теста, указанный в поле CB; иначе 0
- бит 0: результат теста, указанный в поле CC
Поле CA выбирает 1 из 16 групп из 4 слов в текущем блоке из 64 слов. Поля CB и CC затем определяют, какая инструкция из четырех получит контроль.
CD = 2 формата
[ редактировать ]Когда поле CD равно 2, поток управления направляется неочевидным образом. биты нового адреса микромагазина определяются следующим образом:
- биты 11–10: остаются прежними
- биты 9–6: поле CA
- биты 5–2: остаются прежними
- бит 1: результат теста, указанного в поле CB
- бит 0: результат теста, указанный в поле CC
Следующая инструкция находится в той же области размером 1 КБ слов, что и текущая. инструкции, поскольку биты 11–10 остаются прежними. Поле CA определяет блок из 64 слов внутри региона. Инструкция в тех же 4 словах группировать внутри нового блока, поскольку текущая инструкция находится внутри текущего блокировать, поскольку биты 5–2 остаются прежними. Поля CB и CC затем определяют, какая инструкция из четырех получит контроль.
Упрощение
[ редактировать ]Это описание было упрощено. Он игнорирует следующие функции.
- Модель 40 может работать в режиме ЦП или в канальном режиме. Описание касается только режима ЦП.
- Если микроинструкция не в формате функциональной ветви и поле CD равно 1 или 3, бит 1 следующего адреса всегда равен 0. В этом случае значения полей CD и CB определяют одну из множества строк управления для поднятия .
Ссылки
[ редактировать ]- ^ Справочное руководство по компьютерной системе Digital Scientific Meta 4 Series 16 (PDF) . Цифровая научная корпорация. Май 1971 года. 7032МО.
- ^ Принципы работы IBM System/360 (PDF) . International Business Machines Corp., сентябрь 1968 г. A22-6821-7.
- ^ Функциональные блоки System/360 Model 40 (PDF) . International Business Machines Corp., март 1970 г. SY22-2843-1.