Pregunta

Estoy teniendo problemas para entender la diferencia entre un procesador de 32 bits y un procesador de 64 bits. Sé que un procesador de 32 bits puede acceder a 32 bits a la vez, mientras que un procesador de 64 bits puede acceder a 64 bits a la vez. Pero, ¿qué significa para acceder a un cierto número de bits a la vez?

¿Fue útil?

Solución

supongo que la verdadera respuesta es que es complicado. La metáfora es la única cosa aparte de estudio dedicado que te dará una idea básica. Wallyk está en el camino correcto.

Algunas cosas conducen un procesador. Uno de ellos es el número de operaciones que puede hacer por segundo (medida en hercios). Mientras que la arquitectura previene una respuesta simple, un procesador de 1GHz de un solo núcleo de procesador realiza los 1.000.000.000 de operaciones por segundo. Aproximadamente. Si bien es posible obtener una respuesta más concreta, no sería aclarar este caso.

Un procesador es también otras cosas, como un controlador de memoria (en i7), ALU y FPU, y otra circuitería especializada, que es lo que hace incluso que una cuestión difícil de responder.

En sus intentos y propósitos, sin embargo, cada procesador tiene registros. Los registros son como espacio de uso temporal (más rápido que la memoria) para un procesador para almacenar pequeñas cantidades de datos mientras se trabaja en ella. Estos están respaldados por L1 y L2 (a veces L3) caches, que también son ridículamente rápido. Básicamente, de 64 bits se refiere al tamaño del espacio cero (y por proxy, el tubo que conecta el registro a la memoria caché, como los datos son cargados en y fuera todo a la vez).

más grande significa más espacio de desecho se puede hacer sin necesidad de leer la nueva información de la memoria caché o memoria. Sin embargo, sólo porque se puede hacer, no significa que siempre lo hará. Un programa generalmente tiene que ser compilado con soporte de 64 bits para aprovechar la aceleración, e incluso entonces por lo general no va a ver una diferencia a menos que esté manipulando los datos de más de 32 bits pueden almacenar. Eso es más una cuestión de un programador de sistemas embargo.

Un procesador también tiene que mantener control sobre lo que está en la memoria (como en, lo que está en uso y lo que no.) Para ello, utiliza un registro especial. La razón por la cual un procesador de 32 bits no puede normalmente hacer frente a más de 4 GB de RAM tiene que ver con el tamaño de este registro. Mientras que las extensiones de procesamiento, tales como PAE permiten que los sistemas operativos de 32 bits en procesadores de 32 bits a la dirección tanto como 64 gigabytes de memoria RAM, la mayoría de los sistemas operativos por lo general no lo soportan.

TL; DR, procesadores de 64 bits dan la posibilidad con la programación correcta de realizar operaciones en trozos más grandes de datos a la vez, y la dirección más memoria. Aparte de eso, no hay una gran diferencia.

EDIT: Lest la gente tiene la idea equivocada, por "operaciones" no me refiero específicamente a las operaciones (suma, multiplicación, etc.). Mi mal, que se centra en responder a la pregunta en lugar de dar una introducción completa a la arquitectura del microprocesador.

Otros consejos

Básicamente significa ser capaz de hacer operaciones sobre el número de tales tamaño (la adición de ellos, por ejemplo). Aunque hay más diferencias entre las arquitecturas de 32 y 64 bits que esto.

Me he dado cuenta que la memoria etiquetado, así que voy con esa respuesta:

En un procesador de 32 bits, el procesador puede utilizar solamente 32 bits en la memoria de direcciones. Esto significa que hay 2 ^ 32 combinaciones únicas, por lo tanto, el procesador sólo puede dirección 2 ^ 32 bytes. (4 GB)

En un procesador de 64 bits, el procesador puede (en teoría) usar 64 bits en la memoria de direcciones, o 2 ^ 64 bytes de memoria direccionable. Creo que asciende a 16 Exo bytes, que es una cantidad enorme que es casi hasta el punto de contar la cantidad de moléculas en su máquina. En la práctica, sin embargo, la mayoría de las CPU en la línea de hoy en día sólo permiten abordar 42 bits de memoria física y 48 bits de memoria virtual debido a las limitaciones de hardware días actuales.

No es una expresión muy precisa, pero me lo tomo en el sentido de la longitud de las direcciones de memoria. Por ejemplo, los 32 medios de bit 4 GiB (2 32 bytes) está disponible a los programas.

(Para una Lark, visita la arquitectura IBM s390 que es 31 bits .)

Además, no siempre es la cantidad máxima de datos que la CPU puede leer u operar a una hora. Por ejemplo, los procesadores AMD / Intel de 64 bits tienen una serie de memorias caché en chip que se pueden extraer datos de la memoria principal en trozos grandes. También tienen registros SSE de 128 bits.

El entrada de Wikipedia para 64 bits brilla una luz agradable sobre el tema

Es una medida de la potencia de procesamiento. Más bien como un vehículo que puede transportar 4 pasajeros, o 12, para aproximadamente la misma cantidad de energía.

Por ejemplo, 32 bits tiene 4 bytes, o 4 caracteres ordinarios, y 64 bits es de 8 bytes y para idiomas de ocho románticas caracteres. Aquellos pueden ser manipulados a la vez para muchos tipos de operaciones de la anchura de los datos de arquitectura correspondiente.

Sin embargo, otra manera de mirar es qué tan grande un número entero se una arquitectura directamente con el trabajo. Para cada una de estas anchuras, el intervalo correspondiente es

8 bits: 0 a 255 / -128 a 127
16 bits: 0 a 65.535 / -32768 a 32767
32 bits: 0 a 4294967295/2147483647 -2147483648 a
64 bits: 0 a 18,446,744,073,709,551,615 / -9,223,372,036,854,775,808 a 9.223.372.036.854.775.807

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top