tag name keywords etiquetas ejemplos description content 32bit-64bit ram cpu-architecture

32bit 64bit - name - ¿Cuánta memoria se puede acceder con una máquina de 32 bits?



meta tags seo (7)

¿Qué se entiende por máquina de 32 bits o 64 bits?

Es la arquitectura del procesador ... una máquina de 32 bits puede leer y escribir datos de 32 bits al mismo tiempo con la máquina de 64 bits ....

¿Cuál es la memoria máxima a la que puede acceder una máquina de 32 bits?

Es 2^32=4Gb Gb (4 Gigabit = 0.5 GigaByte)

Eso significa 4Gb ram?

Si considero lo mismo para una máquina de 64 bits, entonces puedo tener un RAM de 16ExbiBytes ... ¿es posible?

¿Son mis conceptos correctos?


Básicamente, el término "máquina x-bit" no depende de su máquina. Es por eso que no necesitamos cambiar nuestros procesadores u otro hardware para migrar de un sistema de 32 bits a uno de 64 bits (o viceversa).

32 bits y 64 bits representan la capacidad de direccionamiento del SO que se ejecuta en su máquina.

Sin embargo, todavía no significa que un sistema operativo de x bits sea capaz de abordar 2 ^ x GB de memoria. Porque la ''B'' en "GB" significa "byte" y no "bit". 1 byte equivale a 8 bits.

En realidad, un sistema de 32 bits ni siquiera puede ocupar 2 ^ 32/8 = 2 ^ 29 GB de espacio de memoria, mientras que debería haber algo de memoria reservada para el sistema operativo.

Es algo justo debajo de 3 GB.


Lo que típicamente se entiende por máquina de 32 o 64 bits es el tamaño de los registros enteros de propósito general visibles ("diseñados").

Sin embargo, esto tiene muy poco que ver con la forma en que se construye el hardware. Por ejemplo, consideremos el (mucho obsoleto) Intel Pentium Pro. Normalmente se considera un procesador de "32 bits", aunque admite direcciones físicas de hasta 36 bits, tiene un bus de datos de 64 bits de ancho, y los cómputos internos en todos los tipos de operandos soportados se llevan a cabo en un solo conjunto de registros ( que son por lo tanto de 80 bits de ancho, para soportar el tipo de punto flotante más grande).

Al menos en el caso de los procesadores Intel, aunque el direccionamiento físico más grande ha estado disponible durante mucho tiempo, la mayor cantidad de memoria directamente visible dentro del espacio de direcciones de cualquier proceso en un procesador de 32 bits también está limitada a 4 gigabytes ( Direccionamiento de 32 bits). El direccionamiento físico de 36 bits permite direccionar hasta 64 gigabytes de RAM, pero solo 4 gigabytes de eso pueden ser visibles directamente en un momento dado.

El cambio a las máquinas de 64 bits implica principalmente el cambio de lo que se hizo visible para el usuario (o el código en el nivel de lenguaje ensamblador). De nuevo, lo que ves rara vez es idéntico a lo que es real. Por ejemplo, la mayoría de los códigos de 64 bits consideran que los punteros / direcciones son 64 bits, pero los procesadores reales no admiten esa gran cantidad de direcciones. Las CPU actuales admiten direcciones virtuales de 48 bits y (al menos hasta donde he notado) un máximo de 40 bits de direcciones físicas. Por otro lado, están diseñados para que en el futuro, cuando la memoria más grande se vuelva práctica, puedan extender el direccionamiento físico a 48 bits sin afectar el software en absoluto. Incluso cuando aumentan el direccionamiento virtual de 48 bits, en un caso típico solo afectará a una pequeña cantidad del kernel del sistema operativo (el código normal no se ve afectado, porque ya asumió que las direcciones son de 64 bits).

Entonces, no: una máquina de 64 bits realmente no soporta hasta 64 bits de direccionamiento físico, pero la mayoría del software típico de 64 bits debe seguir siendo compatible con un procesador futuro que admitió directamente el direccionamiento de esa cantidad de RAM.


No, tus conceptos no son correctos Y para solucionarlo, necesita la respuesta a la pregunta que respondió incorrectamente:

¿Qué se entiende por máquina de 32 bits o 64 bits?

La respuesta a la pregunta es "algo significativo en la CPU es de 32 bits o 64 bits". Entonces la pregunta es, ¿qué es eso algo significativo? Mucha gente dice que el ancho del bus de datos determina si la máquina tiene 32 bits o 64 bits. Pero ninguno de los últimos procesadores de 32 bits tiene buses de datos de 32 bits o 64 bits de ancho. la mayoría de los sistemas de 32 bits tendrán al menos 36 bits para admitir más RAM. La mayoría de los procesadores de 64 bits no tienen más de 48 bits de bus de datos ancho, porque eso ya es mucha memoria.

Entonces, según yo, una máquina de 32 o 64 bits está determinada por el tamaño de sus registros de uso general utilizados en computación o "el tamaño de palabra natural" utilizado por la computadora.

Tenga en cuenta que un sistema operativo de 32 bits es algo diferente. Puede tener un sistema operativo de 32 bits ejecutándose en una computadora de 64 bits. Además, puede tener una aplicación de 32 bits ejecutándose en un sistema operativo de 64 bits. Si no comprende la diferencia, publique otra pregunta.

Por lo tanto, la cantidad máxima de RAM que un procesador puede tratar es de 2 ^ (ancho del bus de datos en bits), dado que el modo de direccionamiento correcto está activado en el procesador.

Además, no hay nada que impida que alguien introduzca un múltiplex entre el bus de datos y los bancos de memoria, que seleccionará un banco y luego se dirigirá a la RAM (en dos pasos). De esta forma puede abordar aún más RAM. Pero eso es poco práctico y altamente ineficiente.


Sí, en una máquina de 32 bits, la cantidad máxima de memoria utilizable es de alrededor de 4 GB. De hecho, dependiendo del sistema operativo, podría ser menor debido a que algunas partes del espacio de direcciones están reservadas: en Windows, solo puede usar 3.5GB por ejemplo.

En 64 bits, puede abordar 2 ^ 64 bytes de memoria. No es que alguna vez los tengas, pero luego, hace mucho tiempo, se dijo lo mismo acerca de necesitar más de 640kb de memoria ...


Sí, una arquitectura de 32 bits está limitada a un máximo de 4 gigabytes de memoria. Dependiendo del sistema operativo, este número puede reducirse aún más debido al espacio de direcciones reservado.

Esta limitación se puede eliminar en ciertas arquitecturas de 32 bits mediante el uso de PAE (extensión de direcciones físicas) , pero debe ser compatible con el procesador. PAE amplía el procesador para acceder a más de 4 GB de memoria, pero no cambia la cantidad de espacio de direcciones virtuales disponible para un solo proceso: cada proceso aún estaría limitado a un máximo de 4 GB de espacio de direcciones.

Y sí, en teoría, una arquitectura de 64 bits puede abordar 16,8 millones de terabytes de memoria, o 2 ^ 64 bytes. Pero no creo que las implementaciones populares actuales lo soporten completamente; por ejemplo, la arquitectura AMD64 solo puede tratar hasta 1 terabyte de memoria. Además, su sistema operativo también impondrá limitaciones a la cantidad de memoria direccionable admitida. Muchas versiones de Windows (especialmente las versiones diseñadas para uso doméstico u otro que no sea servidor) son arbitrariamente limitadas.


Volviendo a una idea realmente básica, tenemos 32 bits para nuestras direcciones de memoria. Eso funciona con 2 ^ 32 combinaciones únicas de direcciones. Por convención, cada dirección apunta a 1 byte de datos. Por lo tanto, podemos acceder a un total de 2 ^ 32 bytes de datos.

En un sistema operativo de 32 bits, cada registro almacena 32 bits o 4 bytes. 32 bits (1 palabra) de información se procesan por ciclo de reloj. Si desea acceder a un byte 1 en particular, conceptualmente, podemos "extraer" los bytes individuales (por ejemplo, byte 0, byte 1, byte 2, byte 3, etc.) realizando operaciones lógicas a nivel de bit.

Por ejemplo, para obtener "dddddddd", tome "aaaaaaaabbbbbbbbccccccccdddddddd" y AND lógico con "00000000000000000000000011111111".


básicamente, la arquitectura de 32 bits puede abordar 4 GB como esperaba. Existen algunas técnicas que permiten al procesador abordar más datos como AWE o PAE .