Cómo funciona una dirección de memoria
En la lección anterior dijimos que, al juntar muchas celdas de memoria, se obtiene la memoria. Pero entre tantas celdas, ¿cómo se llega de una vez a la única celda que quieres?
Demasiadas celdas para encontrar una
Hay miles de millones de celdas de memoria.
Entonces, ¿cómo se encuentra en cuál de ellas está "ese valor que guardé antes"?
No tienen nombre y todas se ven exactamente iguales.
Todas las celdas se ven iguales, así que no hay forma de señalar solo una.
Imagina una biblioteca con decenas de miles de libros metidos en los estantes sin ningún número.
Encontrar el libro que buscas sería casi imposible.
La memoria tiene el mismo problema, así que necesita una solución.
Dar un número a cada celda
La solución funciona igual que los casilleros de una piscina.
Cada casillero, idéntico a los demás, lleva un número: 0, 1, 2, etcétera.
La memoria numera todas sus celdas en orden de la misma manera.
Arriba, el número de la celda (dirección); abajo, el valor guardado en ella.
Este número se llama dirección.
Igual que la dirección de una casa permite que el correo llegue a la puerta correcta, una dirección en cada celda permite ir justo a la celda que se busca.
Si dices una dirección, vas a esa celda
Con direcciones, encontrar algo es instantáneo.
Si dices "trae el valor de la celda 3", la memoria va directo a la celda 3 y saca el valor que hay dentro.
Aunque haya miles de millones de celdas, con saber el número llegas de una vez.
Escribe una dirección abajo y pulsa leer: aparecerá el valor de esa celda.
Escribe una dirección y ve a esa celda.
Ir directo a una celda con un solo número es el secreto de que la memoria sea rápida.
No cuenta desde el principio; señala directamente la dirección.
Guardar un valor en la celda que quieras
No solo sirve para sacar cosas.
Si dices "guarda este valor en la celda 5", el valor queda guardado en esa celda.
Leer es sacar por dirección; escribir es guardar por dirección.
Esas dos acciones son todo lo que hace la memoria.
Elige una dirección y guarda un valor.
Leer por dirección, escribir por dirección. Sencillo.
Pero estas dos acciones tan simples son la base de todo programa.
Variables, fotos, lo que sea: al final, todo entra y sale por dirección de esta forma.
La CPU pide las cosas por dirección
Ahora, el panorama completo.
Cuando la CPU, que es la que calcula, necesita un valor, se lo pide a la memoria por dirección.
Algo así: "Dame el valor de la 3 y guarda este resultado en la 7".
La CPU y la memoria sacan el trabajo adelante pasándose direcciones.
Se pasan las cosas por dirección.
Con esto hemos dado una vuelta completa a los cimientos del cuerpo de una computadora.
Empezando por el 0 y el 1, hemos llegado a calcular, recordar y encontrar cosas por dirección.
A partir de la próxima lección veremos cómo estas piezas siguen instrucciones de verdad.