Sin más contexto, hay varias formas de interpretar esa pregunta.
Algunos son:
- ¿Cómo funcionan juntos una CPU y RAM para ejecutar una aplicación?
- ¿Cómo se comunican la CPU y la RAM (dado que funcionan a diferentes frecuencias de reloj)?
- ¿Existe una cantidad específica de RAM que sea óptima según la arquitectura de la CPU?
- ¿Existe un límite en la cantidad de RAM basada en la arquitectura de la CPU?
Hay incluso más formas posibles de interpretar eso en función de la definición de “CPU”. Para esta pregunta, ¿se limita la “CPU” a un núcleo de procesamiento individual de una CPU moderna? ¿O es lo que puede recoger en el paquete de la CPU? Este último puede tener 1, 2, 4 o más núcleos, cierta cantidad de caché L2 y L3 integrada (que es un tipo especial de RAM) y todo el hardware para comunicarse con los otros componentes del sistema (como RAM).
- ¿Por qué las aplicaciones de Android consumen más RAM, incluso mi PC funciona con 2 GB de RAM pero mi teléfono inteligente se atasca a veces con 1 GB de RAM?
- ¿Cómo elijo la RAM perfecta para mi laptop Dell?
- ¿Qué tipo de juegos (gráficos orientados) puedo jugar en apple macbook air 13 2016 8 GB ram / i5 / 128 GB ssd fácilmente?
- ¿Qué es más rápido, 3.40 GHz, 4 GB de RAM o 2.40 GHz, 8 GB de RAM?
- ¿Qué significa 1.5 GB / 16 GB (RAM / ROM) (la capacidad formateada real es menor) al comprar un teléfono?
Voy a elegir el primero para mi respuesta y limitarlo a un núcleo individual. Tocaré el segundo también sin demasiados detalles.
La CPU en el nivel más bajo tiene la capacidad de obtener una “palabra” de datos de la memoria o almacenar una palabra de datos en la memoria (donde una palabra es típicamente de 32 o 64 bits). Una “palabra” podría ser una instrucción que es parte de una aplicación ejecutable o datos que la aplicación está manipulando. La CPU puede realizar operaciones aritméticas (por ejemplo, agregar estas dos palabras juntas) en palabras de datos u operaciones de control (por ejemplo, si esta palabra es mayor que esta otra palabra, obtenga instrucciones [más palabras] de aquí, de lo contrario obtenga instrucciones de allí) en palabras de instrucción. En cualquier caso, los datos se almacenan internamente en la CPU durante el tiempo que se necesitan. (A propósito, voy a evitar hablar de registros dentro de la CPU).
Una CPU tiene una cantidad muy limitada de almacenamiento de palabras. Solo tiene espacio para contener las palabras con las que está ejecutando el control u operando aritméticamente más un poquito más. Todo el almacenamiento interno de la CPU tiene que funcionar a la velocidad de la CPU. Tener mucho espacio para instrucciones / datos a esta velocidad dentro del núcleo es costoso. Debido a esto, la mayoría de las instrucciones de una aplicación (es decir, el programa en sí) y los datos se almacenan en uno o más tipos de RAM: memoria caché L1, L2 (y a menudo L3) y módulos de RAM del sistema tradicional que hoy en día generalmente consisten en uno o más DIMM. La última es la RAM que un usuario compraría e instalaría en una placa base.
La rapidez con que se pueden transferir palabras entre la CPU y la RAM depende de sus velocidades relativas, pero es seguro decir que las CPU actuales funcionan mucho más rápido de lo que la RAM puede recuperar o almacenar palabras. Para aliviar un poco ese problema, un núcleo de CPU típico de hoy también incluirá cierta cantidad de caché L1. Puede pensar en L1 Cache como RAM, aunque implementada de manera diferente a la RAM del sistema, que funciona a casi la velocidad de la CPU. Hubo un tiempo en que el caché L1 funcionaba cerca de las velocidades de la CPU, pero los aumentos de velocidad (frecuencia) de la CPU han superado los tiempos de acceso a la RAM (es decir, la capacidad de buscar y almacenar), por lo que ya no es el caso.
Aún así, en comparación con la RAM del sistema, el caché L1 es increíblemente rápido. Sin embargo, también es costoso y complica la arquitectura del núcleo al agregar calor, aumentar las trazas del circuito (líneas) y aumenta la posibilidad de defectos de fabricación (debido al mayor número de transistores y trazas para soportarlo). En cambio, se utilizan cachés L2 más grandes, pero más lentos e incluso más grandes e incluso más lentos (y los cachés L4 también están ganando popularidad). L2 es más rápido que L3, pero más lento que L1. Todos, sin embargo, son mucho más rápidos que la RAM del sistema en DIMM. También son mucho más caros de producir en comparación con la RAM del sistema.
Ignoré muchos detalles porque son disertaciones sobre ellos mismos:
- Precarga de datos del núcleo de la CPU, predicción de bifurcación, etc.
- Arquitectura asociativa de caché y etiquetado
- Cómo la CPU sabe dónde encontrar / almacenar datos, ya que puede estar en cachés L1, L2 o L3 o RAM del sistema. (Incluyendo aciertos / errores de caché y algoritmos de reemplazo de caché).
- El caché L1 generalmente se divide en secciones separadas para datos y palabras de instrucción
- Exactamente donde se guardan las memorias caché L2 y L3 (como en el caso de que se mantengan en un paquete central frente a compartidas entre núcleos)