Ventanas de registro

La CPU utiliza los registros para mantener valores temporales mientras trabaja en cadenas de instrucciones más largas.

Se puede agregar un rendimiento considerable a un diseño con más registros.

Dado que cada parte de un programa quiere registros para su propio uso, se proporcionan varios conjuntos de registros para las diferentes partes del programa.

En el diseño de Berkeley, estas llamadas harían que un nuevo conjunto de registros se "intercambiara" en ese punto, o se marcara como "muerto" (o "reutilizable") cuando finalice la llamada.

Siempre que el programa no llame a cadenas de más de ocho llamadas de profundidad, los registros nunca se deben desbordar, es decir, se guardan en la memoria principal o en la caché, lo que es un proceso lento en comparación con el acceso al registro.

Finalmente, ocho registros (g0 a g7) son visibles globalmente para todos los niveles de procedimiento.

El AMD 29000 mejoró el diseño al permitir que las ventanas sean de tamaño variable, lo que ayuda a la utilización en el caso común donde se necesitan menos de ocho registros para una llamada.

También separó los registros en un conjunto global de 64 y 128 adicionales para las ventanas.

Ejemplo de un sistema de ventana de registro de 4 ventanas