Actualmente estoy leyendo sobre los módulos de memoria RAM. Los módulos DRAM más grandes están dispuestos en una matriz. Cuando se recuperan datos, primero se recupera la fila y luego la columna. Una de las ventajas de la disposición en matriz es que las direcciones de las filas y las columnas se multiplexan en los mismos pines, por lo que sólo se necesitan 2^(n/2) pines para las direcciones. Utilizando una matriz, el número de pines puede reducirse fácilmente, así que ¿por qué no se hace esto con los módulos SRAM?
Respuestas
¿Demasiados anuncios?En primer lugar, no hay que confundir la interfaz (multiplexación de las líneas de dirección) con la disposición interna (disposición de las cosas en una matriz).
Todos los chips de RAM utilizan una matriz en el nivel más bajo (celda de un solo bit), la mayoría utiliza una disposición menos regular en el nivel superior (por ejemplo, dos bancos separados).
La multiplexación de las líneas de dirección reduce el número de pines, pero tiene un coste: suministrar las dos mitades de la dirección con las señales de reloj asociadas requiere tiempo . Cuando este tiempo se puede ajustar a las cosas que deben hacerse dentro del chip de la RAM de todos modos esto está bien, pero cuando se ralentizaría el chip esto es un gran problema de rendimiento.
La SRAM se puede "direccionar directamente": la dirección de N bits se decodifica en 2^N señales de selección, que activan cada una una palabra de celdas de bits. (AFAIK esto no es como funciona realmente la SRAM moderna, pero era cierto hace algún tiempo).
La DRAM se direcciona por filas/columnas, porque facilita el refresco necesario: cuando se direcciona una fila (¿o era una columna?) se leen todas las celdas de esa fila y se le respondió por escrito . A continuación, puede (aunque no es necesario) seleccionar una columna y obtendrá los valores de la(s) celda(s) seleccionada(s). Así que la distinción fila/columna se corresponde muy bien con el hardware de actualización y el proceso que debe estar presente de todos modos.
La arquitectura es diferente. Los dispositivos dinámicos almacenan un bit por dispositivo, por lo que se ven 8 o 16 chips en una línea (o en un SIMM) para almacenar un byte o una palabra. (Los dispositivos estáticos almacenan un byte completo, por lo que normalmente se ven uno o dos de ellos en una placa. Sólo si el bus de datos es ancho (16 o 32 bits) se ve obligado a tener más de un chip SRAM.
El Apple ][ era un diseño clásico. Contaba con ambos tipos de dispositivos y aprovechaba sus puntos fuertes. La memoria dinámica era cara, por lo que se podía elegir cuántas filas se querían poblar en la matriz de 3x8 dispositivos de 16Kbit. El ciclo de refresco de la DRAM se hacía coincidir con la actualización de la pantalla de vídeo: cada vez que se leía el cuadro de vídeo, también se refrescaban todos los dispositivos de la DRAM. Luego había seis zócalos ROM/EPROM de 2Kbytes que almacenaban la parte residente del bootstrap y el SO en la parte superior del mapa de memoria. Las EPROMs y las SRAMs tienen pinouts muy similares. Los diseños embebidos pueden aprovechar esto para permitirte diseñar/programar con una SRAM, y enviar una EPROM en el mismo zócalo para el producto terminado.