Tienda de control

Ajustar Compartir Imprimir Citar

Un almacén de control es la parte de la unidad de control de la CPU que almacena el microprograma de la CPU. Suele accederse mediante un microsecuenciador. Una implementación de almacenamiento de control cuyo contenido es inalterable se conoce como memoria de solo lectura (ROM) o almacenamiento de solo lectura (ROS); uno cuyos contenidos son modificables se conoce como Writable Control Store (WCS).

Implementación

Uso temprano

Las primeras tiendas de control se implementaron como una matriz de diodos a la que se accedía a través de decodificadores de direcciones, una forma de memoria de solo lectura. Esta tradición se remonta a la matriz de temporización del programa del MIT Whirlwind, descrita por primera vez en 1947. Los procesadores VLSI modernos utilizan matrices de transistores de efecto de campo para construir las estructuras ROM y/o PLA que se utilizan para controlar el procesador así como su secuenciador interno en una implementación microcodificada. IBM System/360 usó una variedad de técnicas: CCROS (Almacenamiento de solo lectura con capacitor de tarjeta) en el Modelo 30, TROS (Almacenamiento de solo lectura con transformador) en el Modelo 40 y BCROS (Almacenamiento de solo lectura con capacitor balanceado) en los Modelos 50, 65 y 67.

Tiendas grabables

Algunos equipos se crearon con "microcódigo grabable" — en lugar de almacenar el microcódigo en ROM o lógica cableada, el microcódigo se almacenó en una RAM llamada almacén de control grabable o WCS. Este tipo de computadora a veces se denomina Computadora con conjunto de instrucciones de escritura o WISC. Muchas de estas máquinas eran prototipos experimentales de laboratorio, como la WISC CPU/16 y la RTX 32P.

Los modelos System/360 originales tenían un almacén de control de solo lectura, pero System/360 posterior, System/370 y los modelos posteriores cargaron parte o la totalidad de sus microprogramas desde disquetes u otros DASD en un almacén de control grabable que consta de ultra- Memoria de lectura y escritura de acceso aleatorio de alta velocidad. La arquitectura System/370 incluía una función denominada Carga inicial de microprogramas (IML o IMPL) que podía invocarse desde la consola, como parte de Reinicio de encendido (POR) o desde otro procesador en un complejo multiprocesador estrechamente acoplado. Esto permitió a IBM reparar fácilmente los defectos de microprogramación en el campo. Incluso cuando la mayor parte del almacenamiento de control se almacena en ROM, los proveedores de computadoras a menudo venden el almacenamiento de control grabable como una opción, lo que permite a los clientes personalizar el microprograma de la máquina. Otros proveedores, por ejemplo, IBM, utilizan el WCS para ejecutar microcódigos para funciones de emulador y diagnósticos de hardware.

Otras máquinas comerciales que usaban microcódigo grabable incluyen Burroughs Small Systems (décadas de 1970 y 1980), los procesadores Xerox en sus máquinas Lisp y estaciones de trabajo Xerox Star, la familia DEC VAX 8800 ("Nautilus") y las máquinas L y G de Symbolics (década de 1980). Algunas máquinas DEC PDP-10 almacenaban su microcódigo en chips SRAM (alrededor de 80 bits de ancho x 2 Kpalabras), que normalmente se cargaba en el encendido a través de alguna otra CPU frontal. Muchas más máquinas ofrecían almacenes de control escribibles programables por el usuario como una opción (incluidas las minicomputadoras de la serie HP 2100, DEC PDP-11/60 y Varian Data Machines V-70). Mentec M11 y Mentec M1 almacenaron su microcódigo en chips SRAM, cargados al encenderse a través de otra CPU. El Data General Eclipse MV/8000 ("Eagle") tenía un almacén de control de escritura SRAM, cargado en el encendido a través de otra CPU.

WCS ofrecía varias ventajas, incluida la facilidad de parchear el microprograma y, para ciertas generaciones de hardware, un acceso más rápido que el que podían proporcionar las ROM. WCS programable por el usuario permitió al usuario optimizar la máquina para propósitos específicos.

Algunos diseños de CPU compilan el conjunto de instrucciones en una RAM grabable o FLASH dentro de la CPU (como el procesador Rekursiv y el Imsys Cjip), o una FPGA (computación reconfigurable).

Varias CPU Intel en la familia de arquitectura x86 tienen microcódigo grabable, comenzando con el Pentium Pro en 1995. Esto ha permitido corregir errores en el microcódigo Intel Core 2 y el microcódigo Intel Xeon en el software, en lugar de requerir que se reemplace todo el chip. Estos arreglos pueden ser instalados por Linux, FreeBSD, Microsoft Windows o el BIOS de la placa base.

Cronometraje, bloqueo y evitación de una condición de carrera

El almacén de control suele tener un registro en sus salidas. Las salidas que regresan al secuenciador para determinar la siguiente dirección deben pasar por algún tipo de registro para evitar la creación de una condición de carrera. En la mayoría de los diseños, todos los demás bits también pasan por un registro. Esto se debe a que la máquina trabajará más rápido si la ejecución de la siguiente microinstrucción se retrasa un ciclo. Este registro se conoce como registro de tubería. Muy a menudo, la ejecución de la siguiente microinstrucción depende del resultado de la microinstrucción actual, que no será estable hasta el final del microciclo actual. Se puede ver que de cualquier manera, todas las salidas del almacén de control van a un registro grande. Históricamente, solía ser posible comprar EPROM con estos bits de registro en el mismo chip.

La señal de reloj que determina la velocidad del reloj, que es el tiempo de ciclo del sistema, principalmente registra este registro.