Cómo funciona la caché de la CPU
Para calcular, la CPU necesita tener los valores a mano. Pero la memoria rápida es pequeña y la memoria grande es lenta. Por eso la computadora divide la memoria en capas, como un escritorio al alcance de la mano y una estantería al otro lado del cuarto.
El escritorio y la estantería
Piensa en cuando estudias.
En el escritorio, al alcance de la mano, solo caben unos pocos libros, pero los tomas al instante.
En la estantería caben muchos más, pero tienes que levantarte e ir.
Con la memoria pasa lo mismo: cerca significa rápida y pequeña; lejos, grande y lenta.
Cerca y lejos: qué se gana y qué se cede.
No se pueden tener las dos cosas.
Una memoria que sea rápida y además grande resulta demasiado cara o muy difícil de fabricar.
Así que hay que elegir: poco y rápido, o mucho y lento.
Apilar por orden de cercanía
Por eso la computadora no usa un solo tipo de memoria.
Apila capas, desde una memoria diminuta y rápida, la más cercana a la CPU, hasta una memoria grande y lenta, lejos de ella.
Cuanto más arriba, más rápida y pequeña; cuanto más abajo, más grande y lenta.
Arriba, rápida y pequeña; abajo, grande y lenta.
La memoria que vimos en la lección 9 es una de estas capas.
Por encima están la caché y los registros, más rápidos, y por debajo está el almacenamiento, más grande y lento.
La idea es poner arriba lo que se usa a menudo y abajo lo que se usa menos.
¿Tomarlo del escritorio o ir hasta la estantería?
Cuando la CPU necesita un valor y está en la caché cercana, lo obtiene en un abrir y cerrar de ojos.
Si tiene que ir hasta la memoria, tarda mucho más.
Un mismo valor puede tardar tiempos muy distintos según dónde esté.
Cerca vs lejos: cuánto se tarda en traerlo.
Por eso la computadora pasa a la caché cercana los valores que acaba de usar o que probablemente usará pronto.
Así no tiene que ir lejos la próxima vez que los necesite.
Una pequeña preparación ahorra mucho tiempo.
¿Está en el escritorio o no?
Si el valor que busca la CPU ya está en la caché cercana, es un "acierto", y lo obtiene enseguida.
Si no, es un "fallo", y tiene que ir hasta la memoria y volver.
Por eso es importante tener bien colocados en la caché los valores que se usan a menudo.
El camino cambia según si el valor está en la caché o no.
Cuantos más aciertos, más rápida es la computadora.
Por eso la regla "tener cerca lo que se usa a menudo" es la clave para manejar la memoria.
Se trata de usar con inteligencia una caché pequeña.
¿Por qué no hacerlo todo rápido?
Si lo llenas todo de memoria rápida, sale demasiado caro y no cabe mucho.
Si lo llenas todo de memoria grande, es demasiado lento.
Las capas son el punto intermedio entre ambas cosas.
Elige cada una de las tres opciones de abajo y verás por qué.
Todo rápido · todo grande · capas.
Lo que se usa a menudo va en las capas de arriba, pequeñas y rápidas; lo que se usa menos, en las de abajo, grandes y lentas.
Gracias a este reparto, la computadora es rápida y aun así recuerda muchas cosas.
En la próxima lección veremos cómo todas estas piezas se conectan para formar una computadora.