Hay un procesador que hacer operaciones aritméticas en una pila y no en los registros? Para mantener el rendimiento, por supuesto, que el procesador debe almacenar en caché bloque de la cima de una pila en el mismo tipo de memoria que se utiliza para los registros.
He leído en un papel (David R. Ditzel, H. R. McLellan. Registro de Asignación Gratuita de: La Máquina de Pila de la memoria Caché.) que una caché es más lento 2 veces que se registra debido a:
- direccionamiento indirecto durante cada uno de los accesos a la caché;
- la caché cuando la pila crece.
El papel es viejo. Tal vez, las mejoras de diseño del procesador que apareció hace pila de caché viable? Siento que va a reducir la complejidad de los compiladores y optimizar la copia entre los registros y el resto de la memoria.
Actualización 2012-10-18. Debido a que este concepto era bien conocida (no a mí), me cambio la pregunta a "... los procesadores Modernos?"
Actualización 2012-10-18. Me siento en el deber de decir explícitamente que no estoy hablando de "dirección cero máquina". El almacenamiento en caché y "dirección cero" son ortogonales. Mi hipotética procesador puede tener hasta 5-ary, además de como "r3 := r0+r2+r11+r5+r8". "r" significa que la celda de memoria en sp+n, donde sp es un puntero de pila. sp cambios antes y después de un bloque de código. Una muy inusual, cambios en el programa sp en cada operación aritmética.