Hoy, no es práctico hacerlo. La respuesta que sigue es solo una discusión cualitativa de por qué construir un caché tan grande puede no ser el mejor plan de acción, incluso si es posible construir uno.
Digamos que los procesadores de servidor más grandes que creamos en Oracle tienen aproximadamente 64 MB de caché L3. Ahora, supongamos que la ley de Moore se mantiene durante las próximas dos décadas (aunque esto es probablemente sospechoso ya que hoy estamos cerca de los límites de VLSI). De acuerdo con la ley de Moore, el número de transistores en el chip puede duplicarse cada 18-24 meses y suponemos que el número de transistores utilizados para cachés y el resto del procesador es de 50-50, por lo que el tamaño del caché L3 también puede teóricamente se duplica cada 24 meses o 2 años.
Extrapolando desde el tamaño actual de caché L3 de 64 MB, es posible una caché L3 de 32 GB después de (2 ^ 5 * 2 ^ 30 / (2 ^ 6 * 2 ^ 20) = 2 ^ 11). Esto implica 11 eventos de duplicación o dentro de 22 años, los tamaños de caché de 32 GB son factibles y tal vez realidad si la ley de Moore continúa en el futuro.
Esto puede parecer indignante en este momento, pero recuerde que solo hace un par de décadas, la memoria principal completa de un sistema era de unos pocos KB / MB en total, hoy está en GB y TB.
Sin embargo, la pregunta es si debe construir el caché más grande que pueda dado que tiene una cantidad finita de transistores o área en el chip:
1. Una sola celda DRAM para almacenar 1 bit de información requiere 1 transistor y 1 condensador (piense en esto como otro transistor), mientras que una sola celda SRAM de un caché requiere de 8 a 10 transistores. Esto significa que un caché SRAM tiene aproximadamente 5 veces más área y más en el chip en comparación con DRAM.
2. Tenga en cuenta que si no usa el área del chip hacia un caché, probablemente pueda desviar esos recursos para construir núcleos de procesador o interconexiones más potentes, etc.
3. Un gran diseño utiliza los transistores disponibles divididos proporcionalmente entre cachés, núcleos de procesador, interconexiones, directorios, controladores de memoria y otros módulos para proporcionar un rendimiento equilibrado para diferentes tipos de cargas de trabajo.
4. Tenga en cuenta que, como otros han mencionado, cuanto más grande sea el caché, mayor será la latencia para acceder a él. Digamos que un caché L3 de 64 MB tarda 15 ns en acceder, mientras que una DRAM de 8 GB tarda 100 ns en acceder. Ahora, supongamos que desviamos más recursos en el chip para construir un caché L3 de 256 MB, pero debido al tamaño más grande, ahora puede tomar 30ns para acceder. Dado que el caché L3 más grande aún puede fallar, aunque a una velocidad menor, la latencia promedio de acceso a la memoria considerando tanto los aciertos como los errores en la nueva configuración puede ser mejor o peor que la configuración anterior. Esto se debe a que las tasas de fallas se han reducido, pero la latencia de aciertos L3 y la latencia de fallas se han incrementado.
5. Considere algún tipo de cargas de trabajo, como las cargas de trabajo de gráficos. Cuando está manipulando un millón de píxeles en una pantalla, solo necesita acceder a cada píxel 1 o 2 veces y ya está. En este tipo de cargas de trabajo (conocidas como cargas de trabajo de transmisión), los cachés son en su mayoría inútiles porque no hay una ubicación temporal de los accesos. En tales casos, es mejor que le dedique el área de chip adicional a más núcleos de procesador para procesar más píxeles simultáneamente y a más controladores de memoria para obtener más datos de la memoria a la vez.
- ¿Cuál es el navegador favorito / popular para navegar por Internet?
- ¿Cuál es el núcleo de la computadora?
- En 2017, ¿debería elegir procesadores quad core u octa core para mi próximo teléfono inteligente?
- ¿Qué es un gabinete de juegos? ¿Cómo se usa uno y qué elementos se incluyen en uno? ¿Es una CPU?
- ¿Nuestros procesadores de CPU tienen realmente una puerta trasera, o es solo un engaño?
Hay muchas más consideraciones involucradas, y esto es solo un sabor …