¿Qué se pregunta con esta pregunta acerca de la memoria caché?

0

Me cuesta entender lo que se pregunta con estas preguntas:

¿Puedesexplicarconmásdetalle?AFAIKlaasociatividaddeterminaelnúmerodeconjuntosyeltamañodelconjuntodeterminaelnúmerodebitsquenoeslaetiqueta.¿Esesocorrecto?Luego,eltamañodelbloquedeterminaelnúmerodebytesporfiladecadaconjunto.

Aquítenemosuntamañodebloquede4palabras,esdecir,4*4bytes=16bytes.Quees2^4porloquehay4bytesporfiladecadaconjunto.Comosolohayunconjunto,eltamañodelconjuntoes16KB=2^4*2^10*2^2=2^16=16KBdedatos.Peronoentiendolatercerafrase"Cada bloque tiene 4 X 32 o 128 bits de datos más una etiqueta". ¿Por qué el número de bits no es el tamaño de los datos?

    

1 respuesta

2

La pregunta sí tiene algunas implicaciones que pueden no ser demasiado obvias.

Inferiría:

  • 16KB = 4K palabras == > 1 palabra = 4 bytes = 32 bits.
  • 1 bloque = 4 palabras == > 1 bloque = 4 * 4 bytes = 128 bit
    • Verificar: 16KB / ((4 * 4 bytes) / bloque) = 1024 bloques - verificar.

Para cada bloque (/ línea) del caché hay algunos datos "administrativos" necesarios para que la lógica sepa "qué se almacena en caché donde". Esta es la "etiqueta". En el ejemplo dado ya se calcula que para cada bloque (128 bits) de datos habrá (32-10-2-2) +1 = 19 bits necesarios para esta información administrativa, lo que significa que hay una sobrecarga de (19 / 128) ~ 15% de almacenamiento adicional requerido.

    
respondido por el JimmyB

Lea otras preguntas en las etiquetas