Los datos se almacenan en cachés en forma de "líneas". Cada línea puede ser de un solo byte o solo una palabra de 32 bits, pero por lo general, es una cantidad mucho mayor, como 32 palabras (128 bytes), que a menudo coincide con el tamaño máximo de "ráfaga" disponible desde la primaria (SDRAM DDR) memoria.
Además, la mayoría de los cachés tienen una cantidad limitada de "asociatividad", que es otra forma de decir que los datos de una dirección en particular solo se pueden almacenar en un número limitado de lugares en el caché. En las CPU modernas, la asociatividad de 4 y 8 vías es común, ya que proporciona un buen equilibrio entre rendimiento y complejidad.
Si tiene un caché de 1 MB que tiene líneas de 128 bytes, eso significa que tiene 8K líneas en el caché. Si tiene una asociatividad de 8 vías, eso significa que las líneas se dividen en grupos de 1K de 8. El número de grupo generalmente se define por los bits de dirección de orden inferior para esa línea de memoria en particular. En este caso, se necesitarían 10 bits para indexar el caché.
Los bits de dirección almacenados con cada línea se denominan "etiqueta", y la etiqueta se utiliza para decidir si la dirección solicitada actualmente por la CPU se encuentra en esa línea del caché.
El número de bits requerido en la etiqueta es simplemente el número de bits de dirección que salen de la CPU (bits de dirección virtual para un caché virtual, bits de dirección física para un caché físico), menos log2 el tamaño de la línea de caché (es decir, el número de bits necesarios para direccionar un byte dentro de una línea), menos log2 el número de grupos de líneas en el caché (el número de bits necesarios para seleccionar un grupo de asociatividad).
Por ejemplo, si tiene un espacio de direcciones físicas de 4 GB (32 bits de dirección) y un caché de 8 MB y 8 vías con un tamaño de línea de 128 B (7 bits de dirección), las etiquetas necesitarían 32 - 7 - 10 = 15 bits.