La respuesta más corta es que contiene un único valor dentro de la CPU para memoria aritmética o de referencia. El lenguaje de máquina base de todos los procesadores puede ejecutar instrucciones en registros o memoria. Algunos procesadores limitan las instrucciones en la memoria para cargar y almacenar con todo lo demás que se hace en los registros.
En general, un registro tiende a ser un conjunto de bits (normalmente el tamaño de guardado como palabra de CPU) que se encuentra en las conexiones internas a la ALU (realiza todas las operaciones en los valores) o la unidad de carga / almacenamiento (el nombre y la función varían , pero será responsable de la interacción de la CPU con la memoria). Esta ubicación requiere que los registros operen en el orden de la velocidad de la CPU. Algunos pueden tomar algunos ciclos para responder, ya que la tubería evita la sobrecarga, mientras que otros necesitan operar en una fracción de ciclo para leer y escribir en la misma operación (el acumulador clásico).
Las primeras CPU a menudo tenían usos especiales para cada registro. El acumulador se conectaría a la ALU como entrada y salida. Los contadores tendrían un incremento especial y estarían conectados a la lógica de comparación. Los punteros de memoria se conectarían directamente a la administración de memoria y tendrían una adición simple disponible. A medida que las propiedades inmobiliarias de silicio se vuelven más disponibles y el rendimiento es crítico, tener un banco de registros más generales en un bus que pueda hacer cualquier conexión se convirtió en la preferencia.
- Cómo iniciar un inicio basado en realidad virtual
- Quiero abrir mi estudio de desarrollo de aplicaciones. ¿Cómo puedo obtener una startup y cuánto tengo que invertir?
- Estoy listo para comenzar a generar ingresos adicionales en línea. ¿Cuál debería ser mi primer paso?
- ¿Cuáles son las características de una startup única?
- Tengo una idea inicial, necesito un técnico para crear una aplicación y un sitio. ¿Debo contratar (qué salario) u ofrecer equidad si tiene calibre y experiencia?
Los registros también son clave para el rendimiento. Cuantas más operaciones pueda hacer sin referencia a la memoria, su código se ejecutará más rápido. Las referencias de memoria tienden a causar pausas mientras se espera que el valor sea devuelto o escrito. En los años 90 hubo un gran debate sobre el uso de silicio para caché o registros. En ejemplos simples, agregar registros fue más rápido que agregar 5–10 veces el caché. Cuando los bancos de registro tuvieron un gran éxito, aunque el precio de un cambio de contexto fue enorme y los compiladores no lo optimizaban bien. SPARC incluso tenía un anillo de registros para tratar de solucionar este problema con resultados mixtos.
Los registros se han vuelto complejos y poderosos, pero siguen siendo el mismo titular de valor único básico que siempre han sido. Mire hacia atrás a algunos de los libros de programación más antiguos y las explicaciones son muy claras. Yo recomendaría “Programando el 6502” por Rodnay Zaks. Es fácil de seguir y está bien escrito a pesar de ser para una arquitectura muerta.