¿Caché de CPU más alta significa usar menos RAM?

La respuesta corta es no, ya que cada entrada en el caché también debe estar respaldada por una entrada en la memoria principal, la cantidad de RAM requerida para cualquier tarea es la misma.

Para una respuesta más detallada, tener más caché no reduce la cantidad de RAM requerida, aunque lo hará si el programa está optimizado, reducirá la cantidad de accesos a la RAM del sistema principal.

Entonces, ¿se preguntará cuál es el punto de la memoria caché si eventualmente todos los datos deben copiarse a / desde la RAM?

La respuesta es latencia, las CPU modernas son extremadamente rápidas y pueden realizar cientos de operaciones por núcleo en el tiempo que lleva obtener una respuesta de la RAM principal.

Como resultado, el acceso a la memoria principal es una penalización importante del rendimiento, esto comúnmente se denomina muro de memoria y se ha vuelto mucho peor con el tiempo, ya que el rendimiento de la CPU ha superado el rendimiento de la memoria.

La compleja jerarquía de cachés de CPU en los procesadores modernos existe para mitigar este problema mediante el aprovisionamiento de pequeñas cantidades de memoria muy rápida más cerca de la CPU con copias de los datos a los que se puede acceder mucho más rápido que la memoria principal.

Desafortunadamente, esta memoria rápida es mucho más costosa que la DRAM utilizada en los chips RAM, además su capacidad limitada es parte de lo que lo hace tan rápido de acceder, es por eso que el procesador ha graduado los niveles de caché del L1 (hasta 200 veces más rápido que RAM), L2 (más grande pero alrededor de 20 veces más lento que L1) y L3 más grande y más lento pero aún significativamente más rápido que la memoria principal.

Todo esto significa que las ganancias de rendimiento de la memoria caché dependen en gran medida de la forma en que las aplicaciones acceden a la memoria, el rendimiento óptimo requiere que las aplicaciones sean conscientes de la memoria caché para maximizar las visitas a la memoria caché y, por lo tanto, minimizar los accesos a la memoria.

No tengo una respuesta absoluta a esta pregunta, pero notaré un par de cosas:

  • Los tamaños de caché son pequeños, generalmente menos de 1/1000 de lo que es RAM
  • La memoria caché a menudo tendrá datos que también se almacenan en la RAM. Pero no siempre. La CPU también pondrá cosas en caché que nunca entrarán en RAM.

Debido a que los tamaños de caché son tan pequeños en comparación con la cantidad de RAM que tiene, no hay una diferencia real entre ambos. La mayoría de las CPU solo tienen unos pocos megabytes de caché total, a diferencia de los gigabytes de RAM. Por ejemplo, la CPU Intel i7 6700K tiene 8 MB de caché de nivel 3 (y mucho menos caché de nivel 1 y 2). La mayoría de las computadoras tienen entre 8 y 32 GB de RAM.

Por lo tanto, la respuesta efectiva del mundo real es que no, más caché de CPU no hace una diferencia significativa en la cantidad de RAM que podría estar en uso.

Cuando la CPU carga o almacena datos, primero irá a la memoria caché. Si la dirección requerida no está allí (CACHE miss), la CPU enviará la solicitud a la DRAM externa. El acceso a la memoria caché suele ser rápido (más de 20 relojes), el acceso a DRAM requiere 10 veces más tiempo y energía. Entonces, el diseñador de CPU intenta aumentar la tasa de aciertos de caché. Cuanto más grande es la caché, menos necesita ir a DRAM. Para muchas tareas, esto puede aumentar el rendimiento y disminuir el consumo de energía del sistema.

No. el caché de la CPU almacena en caché las instrucciones de la CPU. Recuperar instrucciones de la CPU lleva tiempo. El almacenamiento en caché de las instrucciones proporciona una ventaja de velocidad. Los cachés de la CPU son parte integral de la CPU, por lo que no utiliza RAM.