¿Cómo encuentras una celda entre miles de millones?
La vez pasada dijimos que juntas miles de millones de celdas de memoria y tienes memoria. Pero entre todas esas celdas, ¿cómo llegamos a la exacta que queremos, en un solo paso?
Con demasiadas celdas no encuentras una
Miles de millones de celdas de memoria.
Una cantidad enorme.
Pero aquí surge un problema.
Entre tantas celdas,
¿cómo encontramos de nuevo
qué celda guarda
"ese valor que acabamos de guardar"?
No tienen nombre y se ven idénticas.
Todas se ven idénticas. ¿Cómo señalas una celda?
Imagina una biblioteca con decenas de miles de libros
acomodados al azar
sin números.
Encontrar el libro que quieres
es casi imposible.
La memoria tiene el mismo problema.
Hace falta una solución.
Dale un número a cada celda
La solución es como los casilleros.
Imagina los casilleros de una piscina.
Cada casillero de aspecto idéntico
tiene un número.
Número 0, 1, 2.
La memoria es igual.
A cada celda
se le pone un número, en orden.
Arriba está el número de celda (dirección), abajo el valor que guarda.
A este número se le llama dirección.
Así como cada casa tiene una dirección
para que el correo llegue exacto,
si cada celda tiene una dirección,
puedes llegar a la celda exacta
que quieres.
Nombra la dirección y vas a esa celda
Con una dirección,
encontrar es instantáneo.
Di "trae el valor de la celda 3,"
y la memoria va directo a la 3
y saca el valor de adentro.
Aun con miles de millones de celdas,
si sabes el número
llegas en un paso.
Prueba a ingresar una dirección.
Ingresa una dirección y ve a esa celda.
Ir directo a la celda que quieres
con un solo número.
Este es el secreto de la velocidad de la memoria.
No cuenta una por una desde el inicio,
señala por dirección directamente.
Pon un valor en la celda que quieras
No es solo sacar.
Di "pon este valor en la celda 5,"
y el valor se guarda ahí.
Leer es sacar por dirección,
escribir es poner por dirección.
Estas dos
son todo lo que hace la memoria.
Prueba a poner uno tú mismo.
Elige una dirección y pon un valor.
Leer por dirección, escribir por dirección.
Simple, ¿no?
Pero estas dos acciones simples
son la base de todo programa.
Variables, fotos, lo que sea
al final entran y salen
por dirección así.
La CPU pide por dirección
Ahora el panorama completo.
Cuando la CPU que calcula
necesita un valor,
le pide a la memoria por dirección.
"Dame el valor de la 3,
pon este resultado en la 7."
La CPU y la memoria
intercambian direcciones
para sacar el trabajo adelante.
Intercambian por dirección.
Con esto, el cuerpo de una computadora,
sus bases, ya dimos una vuelta completa.
Desde el 0 y el 1,
hasta calcular, recordar,
y llegar por dirección.
De aquí en adelante
veremos cómo estas partes
siguen comandos de verdad.