He estado tratando de entender el funcionamiento de los chips DRAM pero aparentemente con mucha confusión. Suponga que hay 8 bancos en un solo chip en un módulo. ¿Es solo un bit lo que sale de un solo banco y un byte de un chip en total? Y de los 8 bytes que salen de un canal, ¿cómo accede el controlador de memoria a solo un byte?
La DRAM está organizada en una jerarquía de varios niveles, y conocer la terminología correcta para las distintas capas es clave para entenderla, así que las recapitularé brevemente para asegurarme de que estamos en la misma página. (Obviamente, esto solo se refiere al caso sencillo del libro de texto, y no considera cosas como ECC).
En el nivel más bajo, está el banco , que es la matriz física 2D de celdas (condensadores/transistores de acceso) y las líneas de palabras y líneas de bits que las conectan. Hay un búfer de fila por banco, al que sigue un decodificador de columna para seleccionar, de hecho, solo un bit de la fila.
Ocho bancos por chip generan ocho pines de salida de datos por chip. Luego, ocho de estos chips se combinarían para formar un rango con 64 bits de salida. En el caso de los DIMM , cada módulo de memoria física consta de al menos uno de esos rangos. Para módulos DIMM de varios rangos, los chips que componen los diferentes rangos comparten las mismas líneas de comando y datos, por lo que solo un rango puede usar el bus en cualquier momento (hay líneas de selección de chips para abordarlos).
Finalmente, un canal describe el sistema completo de uno o más rangos y los buses de comando/datos que los conectan. En lo que respecta a la señalización de bajo nivel, cada canal es un bus completamente independiente, por lo que los diferentes accesos nunca entran en conflicto, etc.
En cuanto a su pregunta sobre la selección de un solo byte: el controlador de memoria es libre de manejar esos fragmentos de datos de 64 bits de la forma más apropiada. En teoría, solo podría incluir un mux para seleccionar el byte de datos apropiado para leer. Sin embargo, en los procesadores modernos, todos los accesos a la memoria se realizan típicamente en unidades de ancho de línea de caché (64 bytes), por lo que todos los bits se reenviarían al subsistema de caché. Incluso si solo se lee un byte en un registro, primero se recuperaría toda la línea de caché.
Rajat
Rajat
alex.forencich
alex.forencich