¿Accediendo a una matriz SRAM?

1

A medida que estoy aprendiendo sobre Arquitectura de Computadoras, estoy tratando de entenderlo desde cero (en particular, los Transistores en CMOS)

Encontré el sencillo esquema 6T para SRAM (2 inversores)

En su mayoría tiene sentido, pero tengo algunas preguntas. ¿Qué se está haciendo exactamente con lo que se almacena aquí? ¿Se está enviando a la CPU? un decodificador? .... etc ...? Supongo que usamos algún tipo de decodificador / codificador para escribir en celdas específicas?

Y si bien entiendo cómo funciona la celda de memoria (mantiene sus datos de los comentarios), ¿estamos leyendo el contenido de las celdas con las líneas de palabras o las líneas de bits? ¿Qué hay de escribirles? ¿La línea ~ Bit (~ BL) es completamente inútil para nosotros?

¿Cómo me gustaría leer y escribir en una matriz como esta?

    
pregunta

2 respuestas

3

La memoria se direcciona utilizando las líneas de palabras, y los datos se transfieren dentro o fuera de la matriz mediante las líneas de bits.

Las líneas de palabras se manejan desde un decodificador cuya entrada es el bus de direcciones. Para cualquier dirección binaria en particular, se activa exactamente una línea de palabra. Esto enciende todos los transistores de paso para una fila completa de celdas de memoria, conectando cada par de inversores conectados a su par de líneas de bits. Todas las demás filas de la matriz de memoria están desconectadas de las líneas de bits y no participan en el ciclo de lectura o escritura.

Al leer una celda, los inversores controlan las líneas de bits (una alta y otra baja) y los circuitos no mostrados comparan los voltajes en las dos líneas de bits y deciden si el bit es cero o uno. Los bits obtenidos de esta manera se agrupan para formar una "palabra" de datos, que luego se pasa a cualquier lógica externa (CPU, controlador de video o cualquier otra cosa) que pueda estar conectada al bus de datos.

Al escribir una celda, otro conjunto de circuitos, que tampoco se muestra, controla las líneas de bits, una vez más, una alta y otra baja para cada celda. La clave aquí es que el controlador de escritura es más fuerte que los inversores en la celda de memoria y puede imponer un nuevo estado en la celda de la memoria, independientemente de cuál haya sido su estado anterior.

Al final del ciclo, la línea de palabra se desactiva y las celdas conservan su estado.

    
respondido por el Dave Tweed
3

Para escribir en una o más celdas en una sola fila de SRAM, uno debe controlar fuertemente las líneas de bits invertidas y no invertidas para las columnas apropiadas con valores complementarios, flotar todas las demás columnas y luego conducir las apropiadas fila de selección de cable de alta. Las columnas que están fuertemente impulsadas externamente mantendrán los estados forzados por esos controladores externos, mientras que otras se acomodarán a los estados almacenados en las celdas de memoria en la fila seleccionada. Todas las celdas de memoria en la fila seleccionada encerrarán los datos en sus columnas apropiadas, que serán los datos controlados externamente (para las filas controladas), o los datos que ya contenían las celdas de memoria (para las no controladas). / p>

Para leer una o más celdas, haga flotar todas las columnas y coloque el cable de selección de fila apropiado. Todas las columnas se adaptarán a los estados de las celdas de memoria apropiadas. Al leer, uno podría usar una línea de bit de cada columna e ignorar la otra, o podría alimentar ambas líneas en un circuito comparador de voltaje. Aunque este último enfoque requeriría más circuitos, podría ofrecer un mejor rendimiento, ya que la salida del comparador podría cambiar antes de que los cables de la columna hayan alcanzado niveles lógicos válidos.

Vale la pena notar que si uno usa dos cables de selección para cada fila, uno de los cuales opera el transistor del lado izquierdo en cada columna y el otro opera el lado derecho, uno puede implementar una memoria que puede acomodar con bastante facilidad dos lecturas simultáneas o bien una escritura (la escritura confiable en muchos casos requerirá la conducción de ambos cables asociados con una columna, pero la lectura solo requiere una).

    
respondido por el supercat

Lea otras preguntas en las etiquetas