stringtranslate.com

almacén de control

Un almacén de control es la parte de la unidad de control de una CPU que almacena el microprograma de la CPU . Generalmente se accede a él mediante un microsecuenciador . Una implementación de almacén de control cuyo contenido es inalterable se conoce como Memoria de sólo lectura (ROM) o Almacenamiento de sólo lectura (ROS); uno cuyo contenido se puede modificar se conoce como almacén de control de escritura (WCS).

Implementación

Uso temprano

Los primeros almacenes de control se implementaron como una matriz de diodos a la que se accedía mediante decodificadores de direcciones, una forma de memoria de solo lectura. Esta tradición se remonta a la matriz de temporización del programa en el MIT Whirlwind , descrita por primera vez en 1947. En cambio, los procesadores VLSI modernos utilizan matrices de transistores de efecto de campo para construir las estructuras ROM y/o PLA utilizadas para controlar el procesador, así como su secuenciador interno. en una implementación microcodificada . IBM System/360 utilizó 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 de escritura

Algunas computadoras se construyen utilizando "microcódigo grabable": en lugar de almacenar el microcódigo en una ROM o en una lógica cableada, el microcódigo se almacena en una RAM llamada almacén de control grabable o WCS . A este tipo de computadora a veces se le llama computadora con conjunto de instrucciones escribibles o WISC . [1] Muchas de estas máquinas eran prototipos de laboratorio experimentales, como el WISC CPU/16 [2] y el RTX 32P. [3]

Los modelos System/360 originales tienen un almacén de control de sólo lectura, pero los modelos posteriores System/360, System/370 y sus sucesores cargan parte o la totalidad de sus microprogramas desde disquetes u otros DASD en un almacén de control grabable que consiste en archivos aleatorios de velocidad ultraalta. -Acceder a la memoria de lectura y escritura . La arquitectura System/370 incluye una función llamada Carga inicial de microprograma ( IML o IMPL ) [4] que puede invocarse desde la consola, como parte de Power On Reset ( POR ) o desde otro procesador en un complejo multiprocesador estrechamente acoplado . Esto permitió a IBM reparar fácilmente defectos de microprogramación en el campo. Incluso cuando la mayor parte del almacén de control está almacenado en ROM, los proveedores de computadoras a menudo venden un almacén 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 WCS para ejecutar microcódigo para funciones del emulador [5] [6] y diagnósticos de hardware. [7]

Otras máquinas comerciales que utilizan 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 Symbolics L y G. (década de 1980). Algunas máquinas DEC PDP-10 almacenan su microcódigo en chips SRAM (aproximadamente 80 bits de ancho x 2 Kpalabras), que generalmente se cargan al encenderse a través de alguna otra CPU frontal. [8] Muchas más máquinas ofrecen almacenes de control grabables programables por el usuario como opción (incluidas las minicomputadoras de las series HP 2100 , DEC PDP-11/60 y Varian Data Machines V-70 ). Mentec M11 y Mentec M1 almacenan su microcódigo en chips SRAM, cargados al encender a través de otra CPU. El Data General Eclipse MV/8000 ("Eagle") tiene un almacén de control grabable SRAM, cargado al encenderlo a través de otra CPU. [9]

WCS ofrece varias ventajas, incluida la facilidad de parchear el microprograma y, para ciertas generaciones de hardware, un acceso más rápido que el que podrían proporcionar las ROM. Los WCS programables por el usuario le permiten optimizar la máquina para propósitos específicos. Sin embargo, también tenía la desventaja de dificultar la depuración de programas y hacer posible que usuarios malintencionados afectaran negativamente el sistema y los datos. [10]

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), [11] o una FPGA ( computación reconfigurable ).

Varias CPU Intel de la familia de arquitectura x86 tienen microcódigo grabable, [12] comenzando con el Pentium Pro en 1995. [13] [14] Esto ha permitido que los errores en el microcódigo Intel Core 2 y el microcódigo Intel Xeon se corrijan en el software, en lugar de que requerir que se reemplace todo el chip. Estas correcciones pueden instalarse mediante Linux, [15] FreeBSD , [16] Microsoft Windows, [17] o el BIOS de la placa base. [18]

Sincronizar, bloquear y evitar 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 tienen que pasar por algún tipo de registro para evitar la creación de una condición de carrera . [19] 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 funcionará más rápido si la ejecución de la siguiente microinstrucción se retrasa un ciclo. Este registro se conoce como registro de canalización. 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 era posible comprar EPROM con estos bits de registro en el mismo chip.

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

Referencias

  1. ^ Koopman Jr., Philip (1987). "Conjunto de instrucciones grabables, computadoras orientadas a pila: el concepto WISC" (PDF) . La revista de la cuarta aplicación e investigación . 5 (1): 49–71.
  2. ^ Koopman Jr., Philip (1989). "Arquitectura de la WISC CPU/16". Stack Computers: la nueva ola.
  3. ^ Koopman Jr., Philip (1989). "Arquitectura del RTX 32P". Stack Computers: la nueva ola.
  4. ^ IBM (septiembre de 1974), Principios de funcionamiento de IBM System/370 (PDF) , cuarta edición, págs. 98, 245, GA22-7000-4
  5. ^ IBM (junio de 1968), Características funcionales de IBM System/360 Modelo 85 (PDF) , SEGUNDA EDICIÓN, A22-6916-1
  6. ^ IBM (marzo de 1969), IBM System/360 Descripción de la característica especial 709/7090/7094 Característica de compatibilidad para IBM System/360 Modelo 85 , primera edición, GA27-2733-0
  7. ^ IBM (enero de 1971), Características funcionales del IBM System/370 modelo 155 (PDF) , SEGUNDA EDICIÓN, GA22-6942-1
  8. ^ Smith, Eric (3 de septiembre de 2002). "Re: ¿Cuál era el tamaño del Microcódigo en varias máquinas?". Grupo de noticias : comp.arch.
  9. ^ Mark Smotherman. "CPSC 330 / El alma de una nueva máquina". Almacenamiento de control grabable SRAM de 4096 x 75 bits: microinstrucción de 74 bits con 1 bit de paridad (18 campos)
  10. ^ McDowell, Charlie (1982). "Protección a nivel de micromáquinas". Noticias de arquitectura informática de ACM SIGARCH . 10 (1): 5. doi : 10.1145/859520.859521 . Consultado el 25 de noviembre de 2023 . No es raro encontrar microprogramas con un tamaño superior a 50 KB. Este aumento de tamaño y la expansión de la microprogramación más allá de los límites tradicionales de la emulación de instrucciones de máquina han aumentado la posibilidad de que existan microprogramas tanto maliciosos como defectuosos, particularmente los últimos.
  11. ^ "Grandes microprocesadores del pasado y del presente (V 13.4.0)". Cpushack.com . Consultado el 26 de abril de 2010 .
  12. ^ Manual del desarrollador de software de arquitecturas Intel 64 e IA-32, volumen 3A: Guía de programación del sistema, parte 1 (PDF) . Diciembre de 2009. capítulo 9.11: "Instalaciones de actualización de microcódigo".
  13. ^ Más quieto, Andreas; Paul, Matías R. (12 de mayo de 1996). "Prozessorgeflüster". c't – revista para tecnología informática . Tendencias y noticias / aktuell - Prozessoren (en alemán). vol. 1996, núm. 6. Verlag Heinz Heise GmbH & Co. KG . pag. 20. ISSN  0724-8679. Archivado desde el original el 28 de agosto de 2017 . Consultado el 28 de agosto de 2017 .
  14. ^ Gwennap, Linley (15 de septiembre de 1997). "Se puede parchear el microcódigo P6: Intel revela detalles del mecanismo de descarga para corregir errores de la CPU" (PDF) . Informe del microprocesador . Recursos de microdiseño . Archivado (PDF) desde el original el 19 de mayo de 2022 . Consultado el 26 de junio de 2017 .(2 páginas)
  15. ^ "Utilidad de actualización de microcódigo Intel para Linux". Archivado desde el original el 26 de febrero de 2012.
  16. ^ Stefan Blachmann (2 de marzo de 2018). "Nueva herramienta de actualización de microcódigo para FreeBSD". freebsd-hackers (lista de correo) . Consultado el 9 de julio de 2019 .
  17. ^ "Hay disponible una actualización de confiabilidad de microcódigo que mejora la confiabilidad de los sistemas que utilizan procesadores Intel". Soporte de Microsoft . 22 de junio de 2007. Archivado desde el original el 28 de junio de 2007.
  18. ^ "Se requiere actualización del BIOS cuando se ve un mensaje de microcódigo faltante durante la POST". Intel . Consultado el 13 de enero de 2022 .
  19. ^ Don Lancaster. "Libro de cocina sobre máquinas de escribir para televisión". pag. 62. ( Máquina de escribir de televisión )

Otras lecturas