Memoria
Parte de la sección Fundamentos del Journey de Assembly de Coddy — lección 2 de 45.
En la lección anterior, aprendiste que la CPU ejecuta las instrucciones una por una. ¿Pero dónde se almacenan esas instrucciones? ¿Dónde guarda la CPU los datos que necesita para trabajar?
La respuesta es memoria (también llamada RAM — Random Access Memory).
La memoria es como una cuadrícula gigante de ranuras numeradas. Cada ranura tiene una dirección única (como el número de una casa) y puede contener un byte de datos (un número del 0 al 255). Cuando guardas algo en la memoria, lo colocas en una ranura específica con una dirección específica. Cuando lo necesitas de nuevo, pides los datos en esa dirección.
Piense en la memoria como una oficina de correos con apartados postales numerados:
- Cada casilla tiene un número único (la dirección)
- Cada casilla puede contener una carta (un byte de datos)
- Puede poner una carta en cualquier casilla
- Puede abrir cualquier casilla y leer lo que hay dentro
La CPU puede solicitar los datos en la dirección 1000, y la memoria se los devolverá. La CPU también puede escribir nuevos datos en la dirección 1000, reemplazando lo que había antes.
Datos clave sobre la memoria:
| Dato | Explicación |
|---|---|
| Cada byte tiene una dirección | Las direcciones comienzan en 0 y llegan hasta millones o miles de millones |
| La memoria es volátil | Cuando apagas la computadora, todo lo que hay en la RAM desaparece |
| La lectura no destruye los datos | Puedes leer la dirección 1000 un millón de veces y seguirá teniendo el mismo valor |
| La escritura sobrescribe los datos antiguos | Si escribes nuevos datos en la dirección 1000, los datos antiguos desaparecen para siempre |
Pruébalo tú mismo
Esta lección no incluye un desafío de código.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
1La máquina
¿Qué es la CPU?MemoriaRegistros vs. MemoriaCómo funcionan las instruccionesPatrón de dos archivosLa arquitectura x86-64