¿Cómo funciona una RAM con una CPU?

8

Estoy leyendo un libro de lenguaje ensamblador. El problema con este libro es que trata de explicar cómo funciona un RAM con una CPU, pero no explica en profundidad.

Me gustaría saber cómo funcionan una celda de memoria, una línea de dirección y un pin de datos al almacenar o recuperar datos.

Luna
fuente

Respuestas:

9

Todas las celdas de memoria tienen su nivel, ya sea 0o 1. La CPU le dice al dispositivo de memoria de qué celdas necesita los valores binarios y proporciona esta dirección al dispositivo de memoria. Dentro del dispositivo de memoria, la dirección se decodifica en una dirección de fila y columna, y la celda en esa posición en la matriz puede llevar sus datos al bus de datos, es decir, el pin de datos.

Digamos que tenemos una dirección de 8 bits 01100101. Esto se dividirá en una dirección de fila 0110(el mordisco de orden superior) y una dirección de columna 0101(el mordisco de orden inferior). La dirección de la fila selecciona la fila # 06, por lo que todas las celdas conectadas a esta fila tendrán sus datos listos. La dirección de la columna selecciona la celda en la columna # 05 de esta fila, de modo que finalmente solo una celda puede colocar sus datos en el pin de salida.

El almacenamiento de datos sigue el mismo patrón: solo se selecciona una fila, y la celda en la columna dada en esa fila obtendrá los datos presentes en el pin almacenado.

Esto es por 1 bit. La operación se produce para el ancho completo de la palabra de datos simultáneamente, por lo que si tiene una memoria de bytes, se recuperan 8 bits y su valor se coloca en 8 pines del bus de datos.

editar
Esta imagen debería ayudarte a ver mejor las cosas:

matriz de memoria

Esta es una representación de una matriz DRAM , donde los datos se almacenan en la carga de los condensadores , cada condensador es de un bit. La parte de la fila de la dirección (aquí A1..A0) selecciona una fila, lo que significa que activan todos los FET en esa fila, de modo que los niveles de los condensadores para esa fila estén disponibles en su columna correspondiente. Luego, el bloque de selección de dirección de columna, controlado por la otra parte de la dirección, A3..A2, selecciona el bit del que queremos los datos.

DRAM es fácil de construir, pero tiene una desventaja desagradable: leer los datos descarga el condensador, por lo que los datos se pierden. Para contrarrestar esta DRAM tiene amplificadores de detección, que detectan el estado actual de la celda de memoria y lo actualizan cuando se leen. Además, esta actualización debe realizarse periódicamente porque la carga de los condensadores se escapará incluso cuando no se lea la memoria. La necesidad de actualizar los circuitos se compensa fácilmente gracias a la compacidad de las células DRAM.

SRAM usa un par de transistores para almacenar los datos, y no es volátil en la forma en que lo es la DRAM (aunque los datos aún desaparecen cuando apaga la unidad). Con EEPROM y Flash, los datos se almacenan en la puerta flotante (aislada) de un FET y, por lo tanto, no perderán sus datos cuando se desconecte la alimentación.


Lectura adicional:
esta respuesta sobre la retención de datos en la memoria Flash.

stevenvh
fuente
// Realmente aprecio tu respuesta. ¿Puedo hacer una nueva pregunta? ¿Donde lo aprendiste? Todavía no lo entiendo completamente ... puede ser porque no puedo visualizarlo. ¿Tienes una imagen o libro al que me pueda referir?
Luna
@Moon: lo aprendí hace mucho tiempo en la universidad. Creo que mi curso habrá tenido fotos, pero ya no tengo ese curso (¡era el momento de todo en papel!). Veré si puedo encontrar una buena imagen y la agregaré a mi respuesta si encuentro una.
stevenvh
1
no es necesario que la universidad lo comprenda, pero sí es necesario que comprenda los fundamentos de las resistencias, las tapas y las redes, y una comprensión funcional de cómo funcionan los diversos tipos de transitores. Me pregunto si vale la pena hojearlo en una biblioteca o librería, y cómo el código del libro de Petzold cubre el tema.
old_timer
1
Recomiendo encarecidamente pasar por "de nand a tetris" si desea asimilar los aspectos internos de la informática. Para cuando esté a la mitad del libro, habrá construido una CPU y RAM en funcionamiento. Es una lectura rápida si ya tiene algún conocimiento requerido, pero no deja un paso si no lo tiene.
James M. Lay