¿Por qué una memoria caché es tan rápida?

Me gustaría responder a esto en la perspectiva de un laico.

  • La CPU es como una máquina de prensado de chocolate … fabricando diferentes tipos de chocolates [1] dependiendo de la forma del molde. Puede tener varios tipos de plantillas / moldes … cubo, esfera, tetraedro, etc., lo que resulta en chocolates de diferentes formas. Digamos por simplicidad que nuestra máquina solo puede tomar un molde a la vez y producir un chocolate a la vez.
  • La memoria caché es como un lugar bastante cerca de su máquina donde guarda moldes de uso frecuente
  • La RAM es como un almacén donde guarda los moldes que no usa con tanta frecuencia.
  • El ciclo de reloj de la CPU podría considerarse su velocidad a la que su CPU puede arrojar chocolates (20 chocolates por minuto … indirectamente también es igual al número de moldes que puede obtener de la caché por minuto)
  • El ciclo del bus de memoria puede considerarse la velocidad a la que puede buscar cosas del almacén a su máquina. (ej .: 2 moldes traídos del almacén por minuto)

Estas son las razones principales por las que el caché es bastante rápido:

  1. La memoria caché está bastante cerca de su máquina … puede obtenerla más rápido de la memoria caché.
  2. Digamos que le pide a alguien que actualice su fábrica. Cuando visita su fábrica después de la actualización del producto, observa que las actualizaciones de la máquina de prensado de chocolate están aumentando la eficiencia (digamos que su modelo más nuevo puede presionar hasta 60 chocolates por minuto), mientras que incluso si usa un scooter [2] usted Todavía puede recuperar no más de 5 moldes del almacén a la máquina de prensado por minuto.

    Aquí hay una figura técnica que te muestra que:
    Líneas azules que representan los ciclos de reloj de la CPU, líneas púrpuras que representan los ciclos del bus de memoria.

    (CPU hipotética y ciclos de reloj del bus de memoria en 2001)

    (CPU hipotética y ciclos de reloj del bus de memoria en 2012)

También se puede argumentar que los cachés se inventaron para resolver mis problemas mencionados anteriormente

Podría profundizar en esto aquí: Comprender el almacenamiento en caché y el rendimiento de la CPU (Imagen cortesía)

[1] Moldes de chocolate: inspirados en el chocolate
[2] Stand Up Scooters eléctricos, Evo Powerboards, Go-Ped, Martin Monster ¡Envío gratis!

La memoria caché se coloca en el mismo dado que las unidades de procesamiento, lo que elimina el cuello de botella que surge debido a la velocidad de transporte.
p.ej

Los núcleos pueden acceder directamente a estos cachés, generalmente hay diferentes niveles de cachés, por ejemplo, L1, L2 o L3. El caché L1 es el más cercano a los componentes principales de la CPU, es decir, ALU (unidad aritmética y lógica) y CU (unidad de control), mientras que otros cachés están más lejos, los cachés L1 funcionan a la misma frecuencia que el procesador y, por lo tanto, son extremadamente rápidos y tienen Realmente muy baja latencia.

Teniendo en cuenta la velocidad de la memoria caché, uno pensaría en hacerlos más grandes y más espaciosos, pero dado que estas memorias caché se encuentran en el procesador o en el mismo troquel, por lo que hacerlo más grande significa que el procesador general también se hará más grande y dará lugar a varios otros problemas (como disipación de calor, energía, etc.).

Una cosa más a tener en cuenta es que las memorias caché de la CPU están compuestas de SRAM (RAM estática) y no de DRAM (RAM dinámica), la SRAM es más costosa, más rápida y menos densa que la DRAM, por lo que se usa en memorias caché y registros en lugar de en el sistema normal RAM.
Echa un vistazo a la memoria estática de acceso aleatorio

¡Es por eso que la memoria caché es tan rápida!

La memoria caché es rápida debido al espacio y al poder. Es decir, se necesita más potencia para hacer que las señales viajen más lejos (no se trata tanto del retraso de propagación). Se puede gastar más potencia para obtener mayor velocidad, pero la potencia es generalmente una función superlineal de velocidad / frecuencia. Entonces, si puede colocar el almacenamiento cerca, puede hacer que el enlace sea más rápido. Más lejos y el poder limitará la velocidad del enlace.

Para divertirse, considere que el caché no es tan rápido. Varias cosas hacen que la caché sea lenta, a pesar de estar en chip y cerca de la CPU. Supongamos que, en lugar de la memoria caché (o además de), tuviera una porción de tamaño fijo de RAM estática rápida. Esto sería más rápido que el caché porque sería más simple: simplemente un decodificador de direcciones, en lugar de una combinación de decodificación de direcciones, CAM y verificación de etiquetas.

Motivos: 1. Proximidad física, en chip (al menos nivel -1 caché) 2. Son RAM estática. Más rápido en comparación con DRAM de la memoria primaria.

La memoria caché es parte de la RAM y la CPU puede acceder más rápidamente a los datos almacenados en la RAM.