¿Cómo se distribuye físicamente la memoria de la computadora en un chip?

Como de costumbre, “depende”. Las celdas de memoria generalmente están dispuestas en filas a través de la matriz (es decir, el chip de silicio) con circuitos adicionales en uno o ambos extremos de cada fila. El chip admitirá solicitudes de lectura / escritura provenientes de cables de señal en la placa a la que están conectados. Pero hay capas y capas de circuitos y lógica entre lo que pide la CPU y lo que implementan físicamente los chips de memoria.

La CPU solicita una lectura o escritura de datos en alguna dirección. Suponiendo que eso no se satisface con alguna memoria caché integrada, la unidad de administración de memoria (MMU) traduce la dirección a una dirección física y la envía al chip controlador de memoria en la placa (o placas) de memoria. El controlador de memoria determina a qué chips enviar la solicitud. Múltiples chips estarán involucrados en cada solicitud y la interpretación de filas / columnas de bits dentro de un chip individual depende del diseño de todo el subsistema de memoria.

Los subsistemas de memoria están formados por múltiples chips individuales y están dispuestos en una o más placas para adaptarse al diseño y al precio que el fabricante intenta alcanzar. Podría pensar en la matriz de memoria como una secuencia muy larga de “Bits” donde cada bit está representado por un condensador y un transistor con algunos cables interconectados y el controlador de memoria como la cosa que superpone la idea de las direcciones por encima de eso.

Cada chip individual es algo así internamente, pero en realidad es MUCHO más complicado que eso.

Cada chip de memoria tiene circuitos lógicos adicionales integrados porque la memoria tiene que leerse y reescribirse continuamente para que esos condensadores se recarguen. De lo contrario, perderían su memoria cuando se descargara el condensador. Algunos chips también tendrán bits adicionales para los códigos de verificación de paridad o error (ECC), así como cualquier lógica de control que requieran. Incluso si solo va a leer o escribir un byte, el hardware va a leer / escribir una porción mucho más grande de datos en buffers internos. La primera solicitud se denomina “conjunto de direcciones de fila” (RAS) para elegir la línea que contiene los datos. Esa “línea” se lee en un búfer. Después de eso, hay una solicitud llamada “conjunto de direcciones de columna” (CAS) para elegir la dirección del byte que desea. También hay consideraciones de alineación. La CPU pretende que puede direccionar cualquier byte en la matriz, pero en realidad el hardware admite fragmentos más grandes como palabras (generalmente 4 u 8 bytes, en un límite de dirección de 4 u 8 bytes) y líneas de caché alineadas en un límite de línea de caché.

Pan comido. ¿Correcto?

La memoria definitivamente se presenta en matrices. Pero el “tamaño de palabra” en el chip puede ser mucho mayor que el utilizado por la CPU que lo dirige. Cuando lee 32 bits de la memoria (directamente), o tal vez 256 bits (cuando lee una línea de caché), el chip de memoria puede leer internamente 4096 bits, luego solo le dará los que solicitó. Un chip de memoria puede dividirse en 4 o 9 sub-matrices, pero la arquitectura básica es de una gran variedad de bits.