Antes de comprender la razón para tener una RAM, deberá comprender cómo funciona una CPU.
La CPU se compone de tres elementos: registros, una unidad aritmética y lógica (ALU) y una unidad de control (CU). Vamos a entender lo que cada uno de estos hace:
- Registrarse: contiene información (generalmente de hasta 8 bytes) para que la ALU pueda consumirla
- ALU: recoge datos de los registros y realiza cálculos o cualquier operación lógica y los vuelve a colocar en los registros.
- CU: CU hace muchas cosas … la que es relevante para nuestro contexto es obtener instrucciones y datos de la RAM y ponerlos en registros.
En aras de la simplicidad, asumiremos que estamos viendo un procesador de núcleo único sin cachés y simplificaremos los conceptos que estaban presentes en los años 70
- ¿Son buenos 4GB de RAM para jugar?
- Hardware de la computadora: ¿Funcionará el kit G.SKILL 32GB RAM para mi gigabyte ga-f2a88xm-dh3? ¿O debería ir con el kit Corsair 32Gb?
- ¿Por qué Apple incluye o usa solo 1 gigabyte de RAM en iPhones?
- En BIOS puedo configurar automáticamente mi RAM DDR3 a 1,600 mhz, pero el rendimiento es mucho más lento que configurarlo a 1,333 mhz. ¿Por qué es esto?
- ¿Cuánto costará en la India una computadora portátil Acer o ASUS con Intel i5 de 7ma generación, 8 GB de RAM DDR4 y NVIDIA GeForce MX150?
Antes de profundizar en la pregunta real, le pediré que adivine estos números:
- La velocidad a la que la CPU (ALU) puede procesar instrucciones y datos y dar el resultado.
- La velocidad a la que puede leer e instrucciones desde el disco duro.
¡Te sorprendería descubrir que la diferencia entre esto es realmente enorme! En el orden de la magnitud de 10 ^ 7 o más [1]. Entonces, si imaginamos una computadora hipotética cuya CPU puede ejecutar una instrucción por segundo y no tiene RAM. Tendrá que buscar directamente instrucciones y datos del disco duro.
En pocas palabras, “si la CPU puede ejecutar una instrucción en un segundo, esperará unas dieciséis semanas hasta que las siguientes instrucciones y datos provengan del disco”
¡Esperar 16 semanas es un pecado! Imagina lo que podrías haber logrado si hubieras utilizado correctamente 16 semanas … (pasarías un semestre en la universidad)
Entonces, a la gente se le ocurrió una jerarquía de memoria donde podían almacenar cosas en orden de prioridad decreciente (las cosas que se usan con mucha frecuencia se mantienen cerca de la CPU y las cosas menos usadas se mantienen más lejos de la CPU). Aquí hay una comparación similar para una computadora moderna (aún suponiendo que pueda procesar una instrucción por segundo):
- Caché L1 (aproximadamente un segundo para recuperar)
- Caché L2 (tarda unos 7 segundos)
- Recuperación de RAM (100 segundos)
- SSD (aproximadamente 2 días)
- Disco duro (aproximadamente 16 semanas)
Esta respuesta aún está incompleta, pero espero que tenga una idea de por qué se requieren RAM y cachés en una computadora.
[1] Números de latencia: se recogen ejemplos del tiempo empleado aquí. Originalmente entregado por Jeff Dean de Google.