[2011][Diciembre][Problema 1] Parte b

[2011][Diciembre][Problema 1] Parte b

de Maria Valentina Da Silva De Souza -
Número de respuestas: 4
Hola una de las cosas que se pedía en este parte era:
calcular consumo máximo de stack para esta invocación (n=96).

No entendí como darme cuenta que el consumo máximo para este caso es 
 48 bytes (8*6 bytes).
Entendi que cada llamada consume ocho bytes (dos
bytes parámetro, dos bytes IP, dos bytes
registro BP y dos bytes registro AX). Pero no como darme cuenta lo del máximo.

Agradezco si alguien me puede dar una sugerencia, desde ya muchas gracias.

Saludos.


En respuesta a Maria Valentina Da Silva De Souza

Re: Arq de Computadoras-Examen dic 2011-Problema1 parte b

de Sofia Maiolo Cabrera -
Hola Valentina! 

Por lo que yo entendí, mirando el arbol lo que se concluye es que hay "6 llamadas simultaneas" y como para cada una se consumen 8 bytes, de ahi sale 6*8=48

Es lo que entendí, espero que te ayude (y que sea correcto!)

Saludos!
Sofia
En respuesta a Sofia Maiolo Cabrera

Re: Arq de Computadoras-Examen dic 2011-Problema1 parte b

de Maria Valentina Da Silva De Souza -
Hola Sofia :)


No entiendo lo que queres decir con:

"lo que se concluye es que hay "6 llamadas simultaneas" ".

Para mi hay más de 6 llamadas simultaneas:

   M(96)-> M(M(107))->M(M(108))->M(M(109))->M(M(110))->M(M(111))=91

Aca hay muchas más de 6 llamadas.

Para mi es como algo asi: consumo(n) = max{M(M(n+11)),n-10}

Pero no estoy segura si sale de ahi, igual hay que seguir expandiendo la recurrencia. 

Saludos y gracias!
En respuesta a Maria Valentina Da Silva De Souza

Re: Arq de Computadoras-Examen dic 2011-Problema1 parte b

de Sofia Maiolo Cabrera -
Hola Valentina! 
Cuando decía "6 llamadas simultaneas" hago referencia a que, mirando el árbol, las llamadas que van quedando "pendientes" son: M(96), M(97), M(98), M(99), M(100), M(101) que son todas las que corresponden a M(M(n+1)) ya que las que corresponden a M(n+1) (M(107), M(108), M(109), M(110), M(111)) se calculan "directamente" (por ser mayores a 100) y no quedan en el stack.

Espero que se entienda! De todas formas, es el razonamiento que yo hice, no se si será correcto...quizás alguien más nos pueda dar alguna sugerencia! ;-) 

Muchas gracias!
Saludos!
Sofia