Llamadas a procedimientos (subrutinas)

Aunque las instrucciones de llamada a procedimientos no son tan frecuentes como las de bifurcación condicional, su consumo de tiempo en los LAN es elevado debido a la gestión de los registros de activación (RA) que deben de realizar.

Resulta, pues, conveniente optimizar la ejecución de estas instrucciones. Del análisis de los datos se deducen los siguientes hechos:

• Más del 98% de las llamadas utilizan menos de 6 parámetros
• Más del 92% de las llamadas utilizan menos de 6 variables locales
• La variación del nivel de anidamiento en la que se mueve un programa se mantiene relativamente pequeña a lo largo de una secuencia de llamadas/retorno, como se muestra en la siguiente figura:

llamada-retorno

Puede observarse que la variación del nivel de anidamiento se ha mantenido dentro de un valor w = 5 durante una secuencia de t = 33 llamadas/retornos de procedimientos.

Conclusiones

‰ Este comportamiento de los programas en lo relativo a las llamadas a procedimientos se ha explotado en algunos procesadores (por ejemplo, SPARC) utilizando una ventana de registros para soportar los entornos, marcos o registros de activación (RA).

Fuente: Estructura de Computadores, Facultad de Informática, UCM