¿Qué tan grande es una sola celda RAM?

Estoy estudiando por mi cuenta cómo funciona la PC y no puedo entender una cosa. Un procesador de 32 o 64 bits se diferencia por su capacidad de asignar 2 ^ 32 o 2 ^ 64 direcciones para las celdas de la RAM. Lo que no entiendo es qué tan grande es una sola célula. ¿Una sola celda contiene solo un 0 o un 1 o es más grande (como 1 byte)? Y también, ¿la "dimensión" de la palabra está relacionada con la arquitectura de la CPU?

Respuestas (5)

Un procesador de 32 o 64 bits se diferencia por su capacidad de asignar 2 ^ 32 o 2 ^ 64 direcciones para las celdas de la RAM.

La suposición básica es incorrecta allí. Una CPU de 32 bits funciona de forma nativa con 32 bits de datos a la vez. Es decir, los registros internos y las rutas de datos están en bloques de 32, por lo que cada registro tiene 32 bits y los datos se mueven en fragmentos de 32 bits. Con una CPU de 64 bits, son 64 bits por registro y los datos se mueven en fragmentos de 64 bits.

A menudo sucede que el bus de direcciones tiene el mismo tamaño que la arquitectura nativa interna simplemente porque es conveniente. Sin embargo, no siempre es así. Tome la CPU Z80. Es una CPU de 8 bits, pero tiene un bus de direcciones de 16 bits.

Una "celda" de memoria contiene un 1 o un 0. Es un bit. Se agrupan en palabras de cualquier interfaz de memoria, y usted accede a la memoria como palabras completas o, en el caso de varios chips, como porciones de palabras (muchos chips tienen la capacidad de "enmascarar" los datos para que funcionen). con solo un byte superior o inferior, digamos).

Visto desde la perspectiva de la CPU, una palabra es el ancho de su arquitectura interna, por lo que una CPU de 32 bits funciona con palabras de 32 bits. Desde la perspectiva del chip RAM, una palabra es del tamaño de su interfaz de datos, por lo que un chip RAM de 16 bits tiene palabras de 16 bits.

Para obtener la mejor eficiencia, desea hacer coincidir el tamaño de la arquitectura de la CPU y el ancho del bus de la RAM. Eso podría hacerse con una CPU de 32 bits y una RAM de 32 bits, o más comúnmente, agregando varios chips de RAM en paralelo, por ejemplo, una CPU de 64 bits y cuatro chips de RAM de 16 bits; cada chip de RAM maneja una cuarta parte de las líneas de datos. Por supuesto, eso no siempre es posible. Tome la buena y vieja CPU 68000. Internamente es un procesador de 32 bits; sin embargo, solo tiene un bus de datos de 16 bits, por lo que solo puede leer o escribir 16 bits de datos a la vez. Esto a menudo se denomina procesador de 16/32 bits.

Gran respuesta. Por ejemplo, el x86 de 32 bits puede direccionar una memoria de 48 bits utilizando PAE ( en.wikipedia.org/wiki/Physical_Address_Extension ).

Se entiende que una sola celda de RAM contiene un solo bit, independientemente de la tecnología que utilice (DRAM, SRAM, FRAM, etc.). Esto es diferente del flash en el que una celda puede contener varios bits gracias a los avances tecnológicos como MLC .

En las CPU modernas, una dirección se refiere a un byte, es decir, 8 bits. (Las cosas han sido diferentes en la historia, pero esto ya está más o menos arreglado).

Una vez más, en las CPU modernas de 32 y 64 bits, los buses de dirección y datos tienen el mismo tamaño, por lo que una CPU de 32 bits puede direccionar "de forma nativa" 2^32 bytes, y una CPU de 64 bits puede direccionar 2^64 bytes. (Una CPU siempre puede usar trucos de hardware como la banca o la segmentación para abordar más memoria, pero usar un esquema de este tipo es más torpe que usar solo el tamaño de dirección 'nativo').

La pregunta combina/fusiona varios conceptos diferentes.

El espacio de direcciones de una unidad de procesamiento central (CPU) de 32 bits y 64 bits suele ser 2 32  y  2 64 bytes Aunque algunas máquinas han usado cada dirección para acceder a palabras , que no son bytes, eso es mucho menos común en las CPU modernas. Un significado temprano de 'byte' era 'la unidad de memoria direccionable más pequeña', aunque hoy en día todo el mundo quiere decir 8 bits.

Una característica clave es que la dirección de memoria en sí será de 32 bits o 64 bits y, por lo tanto, podría acceder hasta 2 32  y  2 64 unidades de memoria, bytes.

Una vista simple es que un procesador de bits de 32 bits generalmente opera con datos de 32 bits, y una CPU de 64 bits actúa con datos de 64 bits. Eso no es exactamente cierto en las CPU modernas. Por ejemplo, todas las CPU de 32 bits de gama alta pueden operar con números de punto flotante de 64 bits, y algunas admiten 64 bits o más para operar en una sola operación. Además, la mayoría de las CPU pueden actuar sobre unidades más pequeñas, como 8 o 16 bits. Entonces es algo más sutil, pero el modelo simple es conveniente.

Otra aproximación es que una CPU de 32 bits recupera 32 bits de datos a la vez, y una CPU de 64 bits recupera 64 bits de datos a la vez, de la memoria. Eso es un poco demasiado simple por varias razones. La más simple es que los sistemas de memoria están desacoplados de la CPU por un controlador de memoria, que puede recuperar la memoria en unidades más grandes. Entonces, el controlador de memoria de una CPU podría recuperar 128 bits en una lectura de la memoria. Incluso los MCU como el Cortex-M de 32 bits de ARM (casi tan simple como el diseño ARM) pueden implementarse con lecturas amplias, digamos 64 o 128 bits, desde la memoria del programa.

Finalmente, una CPU de 64 bits puede manejar direcciones de 64 bits; sin embargo, es posible que no implementen un bus de direcciones de 64 bits. 2 64 es 1.8 10 19 unidades de memoria direccionable (bytes) que es poco probable que sea práctico, por lo que, en cambio, el bus de direcciones físicas puede ser mucho más pequeño, es decir, solo más de 40 bits.

Entonces, como una 'simplificación', una CPU de 32 bits maneja direcciones y datos de 32 bits, y una CPU de 64 bits maneja direcciones y datos de 64 bits, sin embargo, la realidad es más sutil y sofisticada.

Por cierto, una 'celda' generalmente se interpreta como una unidad de almacenamiento y es un bit en la mayoría de las tecnologías de almacenamiento. Estos se organizan en unidades más grandes, por ejemplo, bytes, porque es más conveniente abordar y recuperar unidades de datos más grandes.

En 2018, una sola celda de memoria (1/0) tiene alrededor de 40 nm ^ 2, pero este tamaño varía según el fabricante y la tecnología utilizada.

Bienvenido a EE.SE :-) Aunque el título de la pregunta es ambiguo, creo que no entendiste los detalles de la pregunta. El OP no estaba preguntando por su tamaño físico . En cambio, estaban preguntando qué puede contener una sola celda RAM . Citando de la pregunta: " Lo que no entiendo es qué tan grande es una sola celda. ¿Una sola celda contiene solo un 0 o 1 o es más grande (como 1 byte). Y también, es la "dimensión" de la palabra relacionado con la arquitectura de la CPU? " Como puede ver, esos puntos no se abordan en su respuesta, pero se han abordado en las otras respuestas.
Sin embargo, le daré un +1 por el esfuerzo, ya que respondió la pregunta y OP no tenía claro el tamaño .

El tamaño de la celda depende de la tecnología. Hay dos tipos principales que se utilizan en los procesadores modernos:

Tamaños y tipos

El primero es SRAM, requiere más transistores (y solo está hecho de transistores), por lo tanto, requiere más tamaño y más potencia. También apaga más el calor. La ventaja es que mantiene su estado siempre que tenga energía y no necesite actualizarse. También es mucho más rápido que otros tipos de ram. Por esta razón se usa principalmente en procesadores y buffers.

El segundo es DRAM, está hecho de un capacitor y un transistor, menos tamaño, menos potencia. El problema con esto es que el condensador sangra una cantidad muy pequeña de corriente y pierde su estado después de un período de tiempo determinado.

ingrese la descripción de la imagen aquíFuente: Descripción general de las tecnologías emergentes de memoria no volátil

Esto muestra los tamaños relativos de las RAM, una sola celda de bits de SRAM a partir de 2014 y un proceso de 10 nm puede ser 0.014um ^ 2, una celda DRAM para el mismo proceso sería aproximadamente 6 veces más pequeña.

ingrese la descripción de la imagen aquí
Fuente: https://www.quora.com/Will-CPU-chips-contain-the-entire-RAM-in-the-future

Direccionamiento y Control

El hardware para DRAM y SRAM es de naturaleza similar, ambos necesitan direccionamiento de fila y columna para seleccionar los bits, cada bit se lee en un búfer. Luego, todo el búfer se puede leer donde sea necesario. La diferencia es que el control DRAM detiene las operaciones y actualiza una celda completa leyendo el contenido y luego reescribiéndolo para evitar la pérdida de información debido a la fuga en los capacitores.

ingrese la descripción de la imagen aquí
Fuente: http://www.primrosebank.net/computers/mtx/components/memory/dram/dram.htm

ingrese la descripción de la imagen aquíFuente: Diseño de memoria 8T-SRAM de baja potencia y alta estabilidad de lectura basada en la entrada de difusión de puerta modificada (m-GDI) en tecnología CNTFET de 32 nm

Tipos de memoria futura

También hay otros tipos de memoria que no son convencionales que tienen ventajas de tamaño y velocidad sobre las tecnologías actuales y algunas compensaciones. ingrese la descripción de la imagen aquíFuente: Diapositiva 20