Es que hay una correspondencia entre el tamaño de la caché y de la latencia de acceso? Todas las otras cosas siendo iguales, hace un caché más grande funcionan más lento? Si es así, ¿por qué? Cuánto más lento?
Respuestas
¿Demasiados anuncios?Artículos en sus manos más rápido que el de los elementos en sus bolsillos, que son más rápidos para el acceso de los elementos en tu armario, que son más rápidos para el acceso de los elementos en Digikey. Cada una de las sucesivas tipo de almacenamiento que he enumerado, es más grande, pero más lento que el anterior.
Así, vamos a tener lo mejor de ambos mundos, vamos a hacer que sus manos son tan grandes como una Digikey almacén! No, no funciona, porque ahora ellos no son realmente las manos. Son una bala de cañón pesar de su baja.
La razón más grande de almacenamiento es más lento que el acceso es a pie. De almacenamiento más grande está más lejos de ti, en promedio. Esto es cierto para los elementos físicos, y para la memoria RAM.
La memoria de la computadora ocupa espacio físico. Por esa razón, las grandes recuerdos son físicamente más grandes, y algunos lugares en los que la memoria va a ser físicamente más lejos. Cosas que están lejos de tomar más tiempo para el acceso, debido a lo que los límites de velocidad no son. En el caso de sus bolsillos, y Digikey, los límites de velocidad son la velocidad de sus brazos, y la carretera de los límites de velocidad.
En el caso de la memoria RAM, el límite de velocidad es la velocidad de propagación de las señales eléctricas, retardo de propagación de las puertas y de los conductores, y el uso común de la sincrónica relojes. Incluso si el dinero no era un objeto, y usted puede comprar todo lo que desea de la forma más rápida de RAM tecnología disponible hoy en día, usted no será capaz de beneficiarse de todo ello. Coloque una hoja de tamaño A4 de caché L1 si te gusta, y colocar la CPU en el centro. Cuando la CPU se quiere acceder a algunas derecha de la memoria en la esquina de la memoria, que va, literalmente, tomar un nanosegundo para la solicitud de llegar, y en un nanosegundo para obtener de vuelta. Y eso no incluye a todos los retardos de propagación y a través de las puertas y de los conductores. Que va a en serio ralentizar el 3 ghz de la CPU.
Desde sincrónico de la lógica, es mucho más fácil el diseño de asincrónico de la lógica, de un 'bloque' de RAM va a ser sincronizado con el mismo reloj. Si quieres hacer de la memoria un caché L1, entonces usted tendría para el reloj de la totalidad del lote, con un lento reloj para lidiar con el peor caso de tiempo de la mayoría de ubicación distante en la memoria. Esto significa que los lejanos lugares de la memoria son ahora retener a los locales, que podría haber sido desplazado más rápido. Así, la mejor cosa a hacer sería la zona de la memoria. La más cercana y la más pequeña sección de la caché podría utilizar la forma más rápida de reloj. La más cercana y la más pequeña sección podría utilizar un poco más lento, reloj, etc.
Y ahora usted tiene L1 & L2 caché y la memoria RAM.
Lo que nos lleva a la siguiente razón, el consumo de energía.
La memoria caché realmente consume una gran cantidad de energía. No sólo la memoria en sí, sino toda la lógica que lo rodea, que se encarga de la asignación entre las líneas de caché y la memoria principal. Aumentar el rendimiento de esta lógica adicional puede resultar en un aumento en el consumo de energía. Ahora, para ciertas aplicaciones (móviles, incrustado) tiene aún más los incentivos para mantener el caché de los pequeños.
Ver Diseño de la Caché de Trade-offs por el Poder y la Optimización del Rendimiento: Un Estudio de Caso (Ching-Largo de la Ub y Alvin M. Despain, 1995).
Dejando fuera a todos los económico/rendimiento/consumo de energía factores, la respuesta a tu pregunta es: depende de muchos micro factores arquitectónicos.
Como ejemplo ver esta referencia - la medida de la L1 de la latencia de acceso para todos los procesadores de bajo prueba es de 4 ciclos de reloj. Las frecuencias de los procesadores son casi los mismos, pero los tamaños de caché L1 difieren hasta en un factor de 3.
La razón por la latencia constante a L1 a través de diferentes procesadores en la prueba anterior está enraizada en la micro-arquitectura de la memoria caché: la memoria caché de acceso en sí mismo (la recuperación de datos desde la memoria) tiene un solo ciclo de reloj. Adicional de tres ciclos en que se gastan para la codificación, el acceso, la comprobación de los datos de presencia y más... El número de etapas adicionales es la misma a través de los procesadores de prueba, por lo tanto el acceso a las latencias son los mismos.
A pesar de que el ejemplo anterior, uno no debe llegar a la conclusión de que la caché de latencia es independiente de la caché de tamaño. Si alguien tratara de implementar un ridículamente grandes caché L1, la lógica que realiza todas las operaciones necesarias para una caché de lectura también se convierten en grandes. En algún punto, el retardo de propagación a través de toda esta lógica sería demasiado largo y las operaciones que había tenido un solo ciclo de reloj de antemano que tendría que ser dividido en varios ciclos de reloj. Esto aumentará la latencia.
Suponiendo que la memoria caché en cuestión implementado en SRAM, los módulos que se ven afectados por el tamaño de la memoria caché de la mayoría son: fila decodificadores y une. Sin embargo, incluso amplificadores de señal se verán afectados por muy grandes cachés: menor oscilación de voltaje en un poco de la línea debido a la mayor capacitancia se requiere de una "más fuerte" sentido aplicaciones. Dijo que, el más grave efecto en la lógica de la velocidad será añadido por cable de interconexiones de capacitancia que esta capacidad tiene más de una dependencia lineal en el SRAM tamaño. Los detalles exactos son de aplicación específica.
Ahora, L1 cachés son bastante estables en sus latencias porque su rendimiento es el más crucial. Si se intenta analizar L2 y L3 caché, el panorama se complica mucho.
El panorama se complica mucho más cuando se consideran los procesadores multi-core - tienen una lógica adicional para garantizar la caché coherencia. Esto conduce a un factor adicional que afecta a la latencia de acceso a la caché: la historia de los accesos a la memoria de todos los núcleos.
Resumen
Como puedes ver a tu pregunta está lejos de ser trivial y no puede ser contestada completamente. Sin embargo, si se considera económicamente y rendimiento preferible cachés, entonces yo diría que su tamaño no afecta a la latencia de alguna manera apreciable.
Para el lector interesado:
Esta referencia es muy profundo el análisis de las Cpu modernas' factores de rendimiento. Hay una gran cantidad de caché de material relacionado en allí. Requiere una comprensión profunda de la arquitectura de la pc y el micro-arquitectura de principios (como alternativa - un buen resumen de los temas que uno necesita saber para convertirse en un profesional en este campo).
Caché de CPU ingeniero de pruebas aquí - Dave Tweed en los comentarios que tiene la correcta explicaciones. La memoria caché es de tamaño para maximizar el rendimiento en la CPU que se espera que sea el precio. La memoria caché es generalmente el mayor consumidor de morir espacio y por lo que su tamaño hace una gran económicos (y rendimiento) de diferencia.
Echa un vistazo a Ivy Bridge de Intel CPU de la familia de la página: http://ark.intel.com/products/codename/29902/Ivy-Bridge
El extremo superior Xeon viene con 30 mb de caché, cuenta con 12 núcleos y cuesta alrededor de $2700. The lower end i3 with 3MB of cache (i3-3217) costs just $500 para una computadora portátil todo (yo no la puede encontrar de forma individual).
El Xeon da el mejor rendimiento, pero también cuesta más a la fabricación y prueba. El i3 es mucho más barato, pero el trade-off es un menor tamaño de chip de que la memoria caché es la parte más grande.