Foro de elhacker.net

Informática => Hardware => Mensaje iniciado por: KandiZickZad en 22 Noviembre 2010, 19:20 pm



Título: calculo de lineas de cache y bloques de ram [SOLUCIONADO]
Publicado por: KandiZickZad en 22 Noviembre 2010, 19:20 pm
tengo una pregunta, estoy estudiando para un examen pero no se si el ejemplo que nos dio el profesor esta correcto.

si tenemos esto:

RAM = 1GB
Cache = 1KB
Tamaño de linea de cache = 64B

entonces, uno hace el calculo de lineas de caché, lo cual nos dice que serían 16 líneas de caché. mi duda es cómo se puede calcular la cantidad de bloques de ram.

yo pensé que tenía que primero calcular el tamaño de cada bloque, que tiene 16 lineas de 64B, osea tiene 1024B y luego dividir la cantidad de bytes de la RAM (1073741824 bytes) entre el tamaño en bytes de cada bloque (1024B), y que eso nos retorna la cantidad de bloques en ram....pero a mi eso me dá 1048576 bloques, y el ejemplo que el profe nos dió retorna 16,384 bloques de ram...

me gustaría saber si mi cálculo es correcto, o si estoy cometiendo un error en alguna parte.

gracias por su tiempo XD


Título: Re: calculo de lineas de cache y bloques de ram
Publicado por: Sauruxum en 22 Noviembre 2010, 19:54 pm
No soy tecnico ni mucho menos, pero creo que es como en los registros de 32 bits que pueden soportar las direcciones de memoria hasta los 4 Gb y eso es porque es el maximo que permiten 32 bits:

seria algo como 2^32=4294967296=4Gb

Lo mismo pienso es en este caso, con 16 lineas puede direccionar a una cantidad de memoria de 2^16=65536 y eso dividido para la memoria total de 1 Gb te da 16384

Eso pienso, pero que te lo confirme alguien que esto nunca lo he estudiado en ningun lado.

Saludos


Título: Re: calculo de lineas de cache y bloques de ram
Publicado por: KandiZickZad en 22 Noviembre 2010, 22:10 pm
umm tu respuesta tiene bastante lógica o.o

he estado estudiando el ejemplo, y logré llegar a ese resultado de la siguiente manera:

a. el tamaño de cada bloque es de #lineasDeCache * tamañoLinea (tamañoBloque=1024 bytes)
b. #DireccionesTotal = ramEnBytes / tamañoBloque (1073741824 bytes / 1024 bytes = 1048576)
c. Si se supone que el número de direcciones por bloque es 64 (en esta árte ya estoy medio insegura), y tengo  1048576 direcciones en total... #DireccionesTotal /#DireccionesBloque= #Bloques (1048576 / 64 = 16384)

De esta forma, también obtengo el resultado que debería obtener...y tiene un poco de lógica para mí, pero me cuesta estar segura de que sea la correcta y de que siempre funcione...

Entonces, sigo esperando otra respuesta. Al menos para saber si la de Sauruxum es la correcta.

Graciaaaaaaaaas XD


Título: Re: calculo de lineas de cache y bloques de ram
Publicado por: Artikbot en 25 Noviembre 2010, 10:14 am
Sauruxum tiene razón.

Por cierto, por casualidad estás haciendo grado medio de informática y esa pregunta salió en un examen? Un amigo me hizo exactamente la misma pregunta por GTalk en medio de un examen.


Título: Re: calculo de lineas de cache y bloques de ram
Publicado por: KandiZickZad en 27 Noviembre 2010, 01:02 am
Wajajaja nopi, estaba estudiando para un exámen de Arquitectura de Computadores que tuve hoy =.=

Por dicha al final sí comprendí claramente la respuesta XD

Muchas gracias por haberme respondido  ;)