stringtranslate.com

Microsecuenciador

En arquitectura e ingeniería de computadoras , un secuenciador o microsecuenciador genera las direcciones utilizadas para recorrer el microprograma de un almacén de control . Se utiliza como parte de la unidad de control de una CPU o como generador autónomo para rangos de direcciones.

Por lo general, las direcciones se generan mediante alguna combinación de un contador, un campo de una microinstrucción y algún subconjunto del registro de instrucciones . Un contador se utiliza para el caso típico, de que la siguiente microinstrucción sea la que se ejecute. Un campo de la microinstrucción se utiliza para saltos u otra lógica.

Dado que las CPU implementan un conjunto de instrucciones, es muy útil poder decodificar los bits de la instrucción directamente en el secuenciador, para seleccionar un conjunto de microinstrucciones para ejecutar las instrucciones de una CPU.

La mayoría de los procesadores CISC modernos utilizan una combinación de lógica canalizada para procesar códigos de operación de menor complejidad que se pueden completar en un ciclo de reloj, y microcódigo para implementar aquellos que requieren varios ciclos de reloj para completarse.

Uno de los primeros procesadores microcodificados integrados fue el IBM PALM Processor , que emulaba todas las instrucciones del procesador en microcódigo y se utilizó en el IBM 5100 , uno de los primeros ordenadores personales.

Ejemplos recientes de procesadores similares basados ​​en microsecuenciadores de código abierto son los núcleos MicroCore Labs MCL86, MCL51 y MCL65 que emulan los conjuntos de instrucciones Intel 8086/8088, 8051 y MOS 6502 completamente en microcódigo.

Ejemplo sencillo

El sistema informático Digital Scientific Corp. Meta 4 Serie 16 fue un sistema microprogramable por el usuario disponible por primera vez en 1970. Las bifurcaciones en la secuencia del microcódigo ocurren de una de tres maneras. [1]

Una opción de secuenciación más permitida en una instrucción de bifurcación es la opción de ejecución (XQ). Cuando se especifica, se ejecuta la única instrucción en la dirección de bifurcación, pero luego la ejecución continúa después de la instrucción de bifurcación original. La opción IX se puede utilizar con la opción XQ.

Ejemplo complejo

El IBM System/360 fue una serie de computadoras compatibles introducidas en 1964, muchas de las cuales estaban microprogramadas. [2] El System/360 Modelo 40 es un buen ejemplo de una máquina microprogramada con microsecuenciación compleja. [3]

La microtienda consta de 4.096 microinstrucciones de 56 bits que funcionan en un estilo de microprogramación horizontal. La tienda es direccionada por el registro de direcciones de sólo lectura (ROAR) de 12 bits. A diferencia de la mayoría de los registros en la arquitectura S/360, los bits en ROAR están numerados desde el bit 0 a la derecha hasta el bit 11 a la izquierda.

 +------------+ | RUGIDO | +------------+ 11 0

El modelo 40 no realiza ninguna ejecución secuencial de microinstrucciones y por lo tanto el microsecuenciador realmente no se bifurca en el sentido convencional. En cambio, cada microinstrucción especifica la dirección de la siguiente que se ejecutará. Cuatro campos de la microinstrucción contribuyen a la nueva dirección.

Básicamente, existen tres combinaciones o formatos de estos campos.

Formato de sucursal funcional

Cuando el campo CB contiene 15, se produce una rama funcional . Los bits de la nueva dirección del microalmacén en el ROAR se determinan de la siguiente manera.

El campo CC puede especificar varias pruebas del estado de la máquina. También puede especificar una constante 0 o 1 para un bit incondicional.

Este formato altera el flujo de control a 1 de 16 pares de instrucciones dentro de las 32 palabras bajas de un bloque de 64 palabras de microstore (porque el bit 5 siempre es 0). El campo CC determina entonces qué instrucción del par recibe el control.

CD = formato 0, 1, 3

Cuando el campo CD es 0, 1 o 3, el flujo de control se dirige a una instrucción dentro del bloque actual de 64 palabras. Los bits de la nueva dirección del microalmacén se determinan de la siguiente manera.

El campo CA selecciona 1 de 16 grupos de 4 palabras dentro del bloque actual de 64 palabras. Los campos CB y CC luego determinan qué instrucción de las 4 recibe el control.

CD = 2 formatos

Cuando el campo CD es 2, el flujo de control se dirige de una manera no obvia. Los bits de la nueva dirección del microalmacén se determinan de la siguiente manera:

La siguiente instrucción está en la misma región de 1K palabras que la instrucción actual, porque los bits 11 a 10 siguen siendo los mismos. El campo CA determina el bloque de 64 palabras dentro de la región. La instrucción está en el mismo grupo de 4 palabras dentro del nuevo bloque que la instrucción actual dentro del bloque actual, porque los bits 5 a 2 siguen siendo los mismos. Los campos CB y CC luego determinan qué instrucción de las 4 recibe el control.

Simplificación

Esta descripción se ha simplificado. Ignora las siguientes características.

Referencias

  1. ^ Manual de referencia del sistema informático Digital Scientific Meta 4 Series 16 (PDF) . Corporación Científica Digital. Mayo de 1971. 7032MO.
  2. ^ Principios de funcionamiento de IBM System/360 (PDF) . International Business Machines Corp. Septiembre de 1968. A22-6821-7.
  3. ^ Unidades funcionales System/360 modelo 40 (PDF) . International Business Machines Corp. Marzo de 1970. SY22-2843-1.