Un registro cero es un registro del procesador que siempre devuelve el valor cero y no tiene efecto cuando se escribe en él. Se encuentra en arquitecturas de conjuntos de instrucciones, incluidas CDC 6600 , System/360 y ARM64 , entre otras.
El cero aparece como una constante en muchas instrucciones, en particular en "ramificar si es cero", y optimizar estas instrucciones puede tener un beneficio positivo en el rendimiento. Algunas arquitecturas logran esto con códigos de operación dedicados , variaciones especializadas de sus instrucciones básicas. Implementarlas requiere lógica adicional en el decodificador de instrucciones . El registro cero puede lograr el mismo efecto sin requerir nuevos códigos de operación, aunque al costo de dedicar un registro a esta función, lo que puede tener un impacto negativo para arquitecturas con un número limitado de registros.
La arquitectura x86 no tiene registro cero, ARM agregó un registro cero para ARM64. La arquitectura RISC-V incluye uno con el nombre de registro "x0" y el nombre ABI "zero"; la razón para esta inclusión se indica como "Dedicar un registro a cero es sorprendentemente un factor importante en la simplificación de la ISA RISC-V". [1]
Referencias
- ^ Patterson, David. El lector RISC-V: un atlas de arquitectura abierta (edición beta, edición 0.0.1). pág. 18.
- Mashey, John (8 de agosto de 1998). "Los 10 errores más comunes en la arquitectura informática".
- "Especificación RISC-V" (PDF) .