CAC Julio 2015 Ej 2

CAC Julio 2015 Ej 2

de Martin Mori De Los Santos -
Número de respuestas: 1

Buenas, 

En este ejercicio hay que indicar los hit y miss de los accesos en memoria. 

Mi duda es, por qué en la solución del ejercicio no cuenta como acceso el segundo array[center].

Tengo entendido que en la primer ejecución el primer acceso es un miss array[center] por estar la cache vacía, pero el segundo array[center] debería contar como un acceso con la misma dirección de memoria y debería ser un hit.

Adjunte el examen para que puedan ver el ejercicio y la solución completa.

Muchas gracias,

Saludos

while (inf < sup){ 

      short center = (sup – inf) / 2 + inf; 

      if (array[center] == buscado){ 

           return 1; 

      } 

      if (array[center] > buscado){ 

           sup = center – 1; 

       }else{ 

           inf = center + 1; 

       } 

}

En respuesta a Martin Mori De Los Santos

Re: CAC Julio 2015 Ej 2

de Federico Rivero -

Estimado:

Los accesos están basados en la compilación a x86, en donde se realiza un único acceso a memoria.

CMP ES:[BX + SI], CX

Luego se utilizan dos instrucciones para diferenciar saltar al if, primer else o segundo else.

Saludos!

        Federico