¿Cómo puede RAM acceder a cualquier lugar en la memoria a velocidad O (1)?
Se nos enseña que la abstracción de la memoria RAM es una larga serie de bytes. Y que para la CPU lleva la misma cantidad de tiempo acceder a cualquier parte de ella. ¿Cuál es el dispositivo que tiene la capacidad de acceder a cualquier byte de los 4 gigabytes (en mi computadora) al mismo tiempo? Como esto no me parece una tarea trivial.
He preguntado a colegas y a mis profesores, pero nadie puede señalar cómo se puede lograr esta tarea con puertas lógicas simples, y si no es solo una combinación difícil de puertas lógicas, ¿qué es eso?
Mi opinión personal es que podría lograr el acceso de cualquier memoria en velocidad O (log (n)), donde n sería el tamaño de la memoria. Debido a que cada puerta dividiría la memoria en dos y le enviaría instrucciones de acceso a la memoria a la siguiente división de la memoria en dos puertas. Pero eso requiere un montón de puertas. No se me ocurre ninguna otra conjetura, y ni siquiera sé el nombre del dispositivo que debería buscar en Google.
Por favor ayuda a mi angustiada curiosidad, y gracias de antemano.
editar <¡Esto es lo que aprendí!
cita de la suya "la RAM puede enviar el valor desde la celda direccionada X a algunos pines de salida", aquí es donde todos omiten (otra vez) lo que no es trivial para mí. De la forma en que lo veo, para construir una compuerta que a partir de 64 pines decide qué byte de 2 ^ 64 se obtiene, cada pin debe dividir el rango de memoria general posible en dos. Si el bit en el índice 0 es 0 -> entonces la dirección está en la memoria 0-2 ^ 64/2, o la dirección está en la memoria 2 ^ 64 / 2-2 ^ 64. Y así sucesivamente, Sin embargo, la cantidad de puertas (llamémoslas) por las que pasará la recuperación de memoria será de 64, (una constante). Sin embargo, la cantidad de puertas necesarias es N, donde N es el número de bytes de memoria que hay.
El hecho de que haya 64 pines, no significa que aún pueda decodificarlo en una única captura de un rango de 2 ^ 64. ¿La memoria de 4 gigabytes viene con una puerta de 4 gigabytes en el control de memoria?
ahora esto puede mejorarse, porque a medida que leo con furia cada vez más cómo se diseña esta memoria, si coloca la memoria en una matriz con filas sqrt (N) y columnas sqrt (N), la cantidad de puertas que una memoria de recuperación Tendrá que pasar por O (log (sqrt (N) * 2) y la cantidad de puertas que se requerirán será 2 * sqrt (N), que es mucho mejor, y creo que es probablemente un secreto comercial).
/ editar <