Modelo por capas
La caché
El procesador no lee la memoria valor a valor. Cuando lee una dirección, trae a una memoria pequeña y muy rápida, la caché, un bloque entero de direcciones vecinas (típicamente 64 bytes). Leer algo que ya está en la caché es decenas de veces más rápido que ir a la memoria principal.
- En un array, los valores siguientes están en el mismo bloque: un viaje a memoria trae varios valores. A esto se le llama localidad.
- En una lista, el siguiente nodo puede estar en cualquier sitio: cada salto puede ser un viaje a memoria.
En la figura, el borde punteado rodea un bloque que la caché trae de una vez.
Es una capa nueva del modelo de costo: además de contar operaciones, importa dónde están los datos.